Ubik Batch Server Advanced features

From UbikWiki

(Difference between revisions)
m (change $DATABASE_NAME.properties.log to $DATABASE_NAME.log)
(add cold deployment feature from other page)

Line 1:

Line 1:

= Features =
= Features =
 +
 +
== Cold deployment ==
 +
=== What is it ===
 +
This feature enables the (re)deployment at '''Server Startup''' of one or more BARs:
 +
* If BAR is already deployed the new version is deployed
 +
* If BAR is not deployed, it is deployed. If file called “<BAR_ID>-binding.xml” is present it is used to customize Pools binding otherwise default mapping is used
 +
 +
=== What it does exactly ===
 +
At Startup, the Batch Server will do the following:
 +
 +
* If BAR with another version exists, it will be undeployed
 +
* <nowiki>If file <BAR_ID>-binding.xml exists in </nowiki>batches-cold-deploy folder it will be used
 +
* <nowiki>If file <BAR_ID>-binding.xml does not exist in </nowiki>batches-cold-deploy but exists batches-deploy it will be used
 +
* Otherwise a default binding that maps logical to same physical name will be created
 +
* The BAR will be deployed
 +
* If it succeeds:
 +
 +
# It will appear in deployed BARs on BatchAdmin application
 +
# Success will appear in Deployment History on BatchAdmin application
 +
 +
* If it fails:
 +
 +
# old BAR (if there was one) will be undeployed
 +
# New BAR will not be deployed and moved to batches-deploy-failure <nowiki>and a file called <BAR File Name>.failure will be written that will contains the Failure</nowiki>
 +
# Failure will appear in Deployment History on BatchAdmin application
 +
 +
=== How To ===
 +
To do this:
 +
* <nowiki>Put the bar in folder “<INSTALL_DIRECTORY>\</nowiki>batches-cold-deploy”
 +
* <nowiki>Put a file called “<BAR_ID>-binding.xml” where BAR_ID is the <display-name > in bar.xml to customize JNDI Mapping (see next paragraph)</nowiki>
 +
 +
=== JNDI Mapping Customization ===
 +
<nowiki>If you have to customize the mapping of JNDI resources (Pools), example map jdbc/masterdatas to jdbc/masterdatas_beta, you must put in the folder “<INSTALL_DIRECTORY>\</nowiki>batches-cold-deploy<nowiki>” a file called “<BAR_ID>-binding.xml” where BAR_ID is the <display-name > in bar.xml.</nowiki>
 +
 +
Example:
 +
If you BAR_ID is “STCOM_BATCH”, you will put a file called STCOM_BATCH-binding.xml that contains:
 +
<source lang="xml" >
 +
<?xml version="1.0" encoding="UTF-8"?>
 +
<!DOCTYPE bar-resources
 +
PUBLIC "-//Ubik-Ingenierie //DTD BAR Binding Resource Configuration 1.0//EN"
 +
"http://www.ubik-ingenierie.com/consolebatch/config/bar-binding.dtd">
 +
<bar-resources>
 +
<bar-resource nameinbar="jdbc/masterdatas" boundname="jdbc/masterdatas_vbeta" />
 +
<bar-resource nameinbar="jdbc/stcom" boundname="jdbc/stcom" />
 +
</bar-resources></source>

Revision as of 11:24, 10 April 2009

Contents

Features

Cold deployment

What is it

This feature enables the (re)deployment at Server Startup of one or more BARs:

  • If BAR is already deployed the new version is deployed
  • If BAR is not deployed, it is deployed. If file called “<BAR_ID>-binding.xml” is present it is used to customize Pools binding otherwise default mapping is used

What it does exactly

At Startup, the Batch Server will do the following:

  • If BAR with another version exists, it will be undeployed
  • If file <BAR_ID>-binding.xml exists in batches-cold-deploy folder it will be used
  • If file <BAR_ID>-binding.xml does not exist in batches-cold-deploy but exists batches-deploy it will be used
  • Otherwise a default binding that maps logical to same physical name will be created
  • The BAR will be deployed
  • If it succeeds:
  1. It will appear in deployed BARs on BatchAdmin application
  2. Success will appear in Deployment History on BatchAdmin application
  • If it fails:
  1. old BAR (if there was one) will be undeployed
  2. New BAR will not be deployed and moved to batches-deploy-failure and a file called <BAR File Name>.failure will be written that will contains the Failure
  3. Failure will appear in Deployment History on BatchAdmin application

How To

To do this:

  • Put the bar in folder “<INSTALL_DIRECTORY>\batches-cold-deploy”
  • Put a file called “<BAR_ID>-binding.xml” where BAR_ID is the <display-name > in bar.xml to customize JNDI Mapping (see next paragraph)

JNDI Mapping Customization

If you have to customize the mapping of JNDI resources (Pools), example map jdbc/masterdatas to jdbc/masterdatas_beta, you must put in the folder “<INSTALL_DIRECTORY>\batches-cold-deploy” a file called “<BAR_ID>-binding.xml” where BAR_ID is the <display-name > in bar.xml.

Example: If you BAR_ID is “STCOM_BATCH”, you will put a file called STCOM_BATCH-binding.xml that contains:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE bar-resources 
     PUBLIC "-//Ubik-Ingenierie //DTD BAR Binding Resource Configuration 1.0//EN" 
     "http://www.ubik-ingenierie.com/consolebatch/config/bar-binding.dtd">
<bar-resources>
<bar-resource nameinbar="jdbc/masterdatas" boundname="jdbc/masterdatas_vbeta" />
<bar-resource nameinbar="jdbc/stcom" boundname="jdbc/stcom" />
</bar-resources>


Development Mode

Explanation:

When development mode is enabled, Batch Server can automatically create an HSQLDB database and all needed SQL tables by itself, so users don't have to create the database.

In development mode HSQL database files are created in a directory that you specify in configuration files. By deleting this files your batch server will recreate an empty database at startup. You can also save this files to make backups of a particular database state.

How to:

To enable the development mode in your batch server you just have to add the following line in your config.properties (see installation guide):

config.propertie:

...
DEVELOPMENT_MODE=true

This feature only works with an HSQLDB database, so you have to change the "username", "driverClassName" and "url" parameters in your datasource.xml like this:

Datasource.xml:

...
<ResourceParams name="jdbc/console">
   <parameter>
     <name>username</name>
     <value>sa</value>
   </parameter>
   <parameter>
     <name>isPasswordEncrypted</name>
     <value>false</value>
   </parameter>
   <parameter>
     <name>driverClassName</name>
     <value>org.hsqldb.jdbcDriver</value>
   </parameter>
   <parameter>
     <name>url</name>
     <value><![CDATA[jdbc:hsqldb:file:C:\jdbc\hsql\console\consoleHSQL2]]></value>
   </parameter>
   <parameter>
     <name>validationQuery</name>
     <value><![CDATA[select 1 from INFORMATION_SCHEMA.SYSTEM_USERS]]></value>
   </parameter>
   <parameter>
     <name>testOnBorrow</name>
     <value>true</value>
   </parameter>
...
  • username: you have to set this parameter with a "sa" default value
  • driverClassName: "org.hsqldb.jdbcDriver"
  • url: the jdbc url for development mode is formatted like this: "jdbc:hsqldb:file:$DIRECTORY_PATH/$DATABASE_NAME"

You just have to ensure that $DIRECTORY_PATH exists and is readable because the HSQL database will be created in it. A $DATABASE_NAME.properties and $DATABASE_NAME.log will be created by Batch server to store database.

Example of startup log in development mode:

...
starting naming service
naming service started
starting connector ...
connector started  ...
server started ...
Development mode actived...
Starting database creation script for development mode...
Database creation succeded for development mode
...
Personal tools