|S.No ||Requirement ||Priority || Comments|
| 1 || When Java EE SDK 5.1, Application SDK is installed, users will have option to install "JBI Components" || P0 || || |
| 2 || After installing SJSAS 9.1 / Glassfish 9.1 users can download the add-on from update center and say "asadmin install-addon jbi_components_installer.jar" || P0 || |
| 3 || After installing SJSAS 9.1 / Glassfish 9.1 users can download the add-on from update center and say "java -jar jbi_components_installer.jar" || P0 || |
| 4 || jbi_components_installer.jar, jbi-core-installer.jar will be available for download from open-esb.dev.java.net || P0 || involves Karl || |
| 5 || After add-on installation, newly created instances have add-on components pre-installed. This means JBI registry is updated, install_root is created || P0 || || |
| 6 || At the end of add-on installation/configuration, the components should be Started state || P0 || IEP SE will be in Shutdown state, because it needs derby to be started. Other than IEP SE all components will be in Started state || |
Add-on in Application SDK
In JavaEE Application SDK UR3 (that contains Glassfish V2), some JBI components will be available as an add-on. This add-on will be called as jbi_components_installer.jar.
There will be no JBI add-on for Core SDK.
This add-on will implement the installer and configurator plugin interfaces defined in http://blrshare.india/~bp122320/addon-javadoc/javadoc/
This add-on will not be compatible with appserver 9.0 / SDK 5.0
In Java EE SDK UR3, this add-on will be bundled and will be installed by the SDK GUI installer.
SJSAS 9.1 / Glassfish 9.1, will provide a swing based client that downloads the add-on from the update center on demand. After downloading, this tool (a.k.a network installer) will use asadmin install-addon to install the add-on.
Scope of jbi_components_installer.jar
List of components in this add-on:
- BPEL Engine
- BAM Engine
- XSLT Engine
- SQL Engine
- File Binding
- FTP Binding
- JMS Binding
- JDBC Binding
- MQ Series Binding
- SMTP Binding
- Encoder Shared Library
Structure of jbi_components_installer.jar
- This add-on will contain JBI_COMPONENTS.zip, the installer class and jbi_components_configurator.jar.
- jbi_components_configurator.jar will contain the configurator class.
- JBI_COMPONENTS.zip will contain the component binaries for the components.
jbi_components_installer.jar installer actions
- The add-on installer will be invoked only in DAS (either by asadmin install-addon / SDK installer).
- When the installer class of jbi_components_installer.jar is invoked it will extract JBI_COMPONENTS.zip into AS_INSTALL/addons/jbi-components.
Some directories that are created at this step would be
- It will copy jbi-components-configurator.jar to AS_INSTALL/lib/addons.
- When uninstall method of this installer is invoked, it will delete AS_INSTALL/addons/jbi-components.
- The configurator class will be invoked in DAS when the DAS starts up for the first time.
- The configurator class will be invoked in DAS when any instance starts up for the first time.
- When ConfigurationContext.ConfigurationType is DAS, the configurator class copies the JBI components from AS_INSTALL/addons to AS_INSTANCE_ROOT/jbi/components.
Some entries that are created at this step would be
- The configurator will edit the jbi registry in AS_INSTANCE_ROOT/jbi/config/jbi-registry.xml to add component-ref entries for all components that are in the add-on jar. When ConfigurationContext.ConfigurationType is DAS these entries are added under 'server'.
- When ConfigurationContext.ConfigurationType is INSTANCE, the configurator will parse the domain.xml using the AMX DomainRoot Object to get all the instances and will configure the instances that are not yet configured.
- After an instance is configured the name of the instance will be stored in AS_DOMAIN_ROOT/jbi/config/addon-registry file. For example, instance1.configured=true.
- When Configurator is invoked again, it would check with this file before configuring an instance. An instance will be configured only if there is no entry in this file for that instance or if the entry is instance1.configured=false.
- No support will be available to unconfigure the add-on in instance level. If user wishes to uninstall these components from particular instances, users will use admin console/asadmin to uninstall these components.
- When AS_DOMAIN_ROOT/config/domain-registry file is changed from jbi_components_configurator.?=unconfigure and the server is restarted all the add-on components will be uninstalled from all the instances including the DAS.
- JBI Synchronization will take care of moving the component binaries and also the JBI registry changes to remote instances.
Some points of interest
- A simpler add-on installer would be just bundling the components and will leave the installation task to the user. For example jbi-components.zip will bundle all the components and when invoked unzip them and keep them in AS_INSTALL/domains/domain1/addons/kenai. Users will use asant, asadmin to install these components.
- jbi_components_installer.jar is doing all the additional steps described in this document to let the users get these components pre-installed.
- The components inside jbi_components_installer.jar are added as normal components and not as system components.
- The other option that was considered was to extract the components into AS_INSTANCE_ROOT/addons/kenai, but this was not chosen because letting appserver sync. the component bits and JBI sync. the registry is not clean. Instead now both the bits and the registry will be synchronnized by JBI itself.
1)Should BAM report, CAM be deployed on all instances in a EE domain or only in the DAS?
2)Will this add-on includes web applications. If so Configurator will add definition for the BAM, CAM web applications in domain.xml. This in effect creates directory-deployment of the web-app.