As part of the IBM WebSphere InterChange Server installation, InterChange
Server Installer installs the files in the directories shown in Table 6.. These directory paths are relative to the
InterChange Server product directory.
Table 6. Installed file structure for WebSphere Access EJB
To install Server Access for EJB, run ICS Installer and select options as follows:
InterChange Server Installer automatically installs the WebSphere Access EJB jar file as part of the ICS installation process. You do not need expand the Development Kits for J2EE option of the Installer because the EJB option is automatically selected when you choose the Server option of InterChange Server Installer.
Expand the Development Kits for J2EE option, and select the EJB option.
When InterChange Server Installer installs Server Access for EJB, it copies to the machine the contents of the directories listed in Table 6. For information on ICS Installer, see the System Installation Guide for Windows or for UNIX.
The Enterprise JavaBeans specification 1.1 requires that an EJB provider define common EJB properties in an XML file named ejb-jar.xml. The WebSphere Access EJB jar file contains this deployment descriptor, which provides information that the EJB container needs to deploy WebSphere Access EJB in an application server. The deployment descriptor contains an <ejb-jar> element, which is the root element of the deployment descriptor. This element contains information about the WebSphere Access EJB. All general information is represented in string format.
Table 7 shows the elements in the deployment descriptor of the
WebSphere Access EJB.
Table 7. Contents of the WebSphere Access EJB deployment descriptor
Deployment descriptor element | Description |
---|---|
<enterprise-beans> | Marks the beginning of the subsection within the <ejb-jar> element that provides the structure of an enterprise bean. |
<session> | Marks the beginning of the subsection within the <enterprise-beans> section that provides the definition of a session bean. |
<ejb-name> | Local name of the enterprise bean; this name does not have to match
the JNDI name that the Deployer assigns to the enterprise bean:
com.crossworlds.access.business. cwsession.CwSession |
<home> | The fully qualified name of the Java class that implements the home
interface (
EJBHome) for the WebSphere Access EJB:
com.crossworlds.access.business. cwsession.CwSessionHome |
<remote> | The fully qualified name of the Java class that implements the remote
interface (
EJBObject) for the WebSphere Access EJB:
com.crossworlds.access.business. cwsession.CwSession |
<ejb-class> | The fully qualified name of the Java class that implements a WebSphere
Access EJB (
SessionBean):
com.crossworlds.access.business. cwsession.CwSessionBean |
<session-type> | Because a WebSphere Access EJB is a stateless session bean, this value is
set to:
Stateless |
<transaction-type> | Because the
transaction demarcation for a WebSphere Access EJB is performed by the
EJB container, this value is set to:
Container |
<env-entry> | These environment entries provide information for each ICS instance that a WebSphere Access EJB can access. For more information, see Configuring Server Access for EJB. |
<assembly-descriptor> | Marks the beginning of the subsection within the <ejb-jar> element that describes how the Enterprise JavaBeans in this deployment descriptor are assembled into a larger application deployment unit. |
<container-transaction> | Marks the beginning of the subsection within the <assembly-descriptor> section that provides declaration information about transaction attributes. |
<method> | Marks the beginning of the subsection within the <container-transaction> section that provides information about the methods in the WebSphere Access EJB remote interface that require transaction attributes. |
<trans-attribute> | Because a collaboration executes within its own
transaction context within ICS, this value is set to:
NotSupported If a client component calls with a transaction context, the EJB container suspends the association of the transaction context with the current thread before it invokes either the executeCollaborationExtended() or executeCollaborationExtendedWithLocale() methods. |
Figure 11 shows a deployment descriptor of the WebSphere Access EJB, which is contained in the ejb-jar.xml file. You do not usually need to edit this file. Most application servers provide tools that provide access to the deployment descriptor.
Figure 11. WebSphere Access EJB deployment descriptor
<ejb-jar> <enterprise-beans> <session> <ejb-name>com.crossworlds.access.business.cwsession.CwSession</ejb-name> <home>com.crossworlds.access.business.cwsession.CwSessionHome</home> <remote>com.crossworlds.access.business.cwsession.CwSession</remote> <ejb-class> com.crossworlds.access.business.cwsession.CwSessionBean </ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> <env-entry> <description> The list of interchange servers which this bean would access. It would be of the format ICServer1, ICServer2 </description> <env-entry-name>ICServers</env-entry-name> <env-entry-type>java.lang.String </env-entry-type> <env-entry-value>CrossWorlds,dexter</env-entry-value> </env-entry> <env-entry> <description>Trace Level for the bean </description> <env-entry-name>traceLevel</env-entry-name> <env-entry-type>java.lang.Integer </env-entry-type> <env-entry-value>5</env-entry-value> </env-entry> <!-- COMMENT: Now we will have entries for each of the InterChange Server instances listed above --> <!-- The First ICS instance: CrossWorlds --> <env-entry> <env-entry-name>CrossWorlds/userName</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>admin</env-entry-value> </env-entry> <env-entry> <env-entry-name>CrossWorlds/passWord </env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>null</env-entry-value> </env-entry> <env-entry> <env-entry-name>CrossWorlds/iorLocation </env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value> c:/CrossWorlds/CrossWorldsInterchangeServer.ior</env-entry-value> </env-entry> <env-entry> <env-entry-name>CrossWorlds/numAccessSessions </env-entry-name> <env-entry-type>java.lang.Integer</env-entry-type> <env-entry-value>10 </env-entry-value> </env-entry>
<!-- The Second ICS instance: dexter --> <env-entry> <env-entry-name>dexter/userName</env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>admin</env-entry-value> </env-entry> <env-entry> <env-entry-name>dexter/passWord </env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value>null</env-entry-value> </env-entry> <env-entry> <env-entry-name>dexter/iorLocation </env-entry-name> <env-entry-type>java.lang.String</env-entry-type> <env-entry-value> D:/CrossWorlds2k/dexterInterchangeServer.ior </env-entry-value> </env-entry> <env-entry> <env-entry-name>dexter/numAccessSessions </env-entry-name> <env-entry-type>java.lang.Integer</env-entry-type> <env-entry-value>10 </env-entry-value> </env-entry> </session> </enterprise-beans> <assembly-descriptor> <container-transaction> <method> <ejb-name> com.crossworlds.access.business.cwsession.CwSession </ejb-name> <method-intf>Remote</method-intf> <method-name>*</method-name> </method> <trans-attribute>NotSupported</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar>
For information on how to customize the <env-entry> elements, see Setting environment entries.