WebSphere Application Server - Express, Version 6.0.x     Operating Systems: AIX, HP-UX, Linux, Solaris, Windows

Container interoperability

Container interoperability describes the ability of WebSphere Application Server clients and servers at different versions to successfully negotiate differences in native Enterprise JavaBeans (EJB) finder methods support and Java 2 Platform, Enterprise Edition (J2EE) compliance.

The product uses interoperable versions of some class types to enable interoperability. However, older 4.0.x client and application server versions do not support the interoperability classes, which makes them uninteroperable with versions that use the classes. The system property com.ibm.websphere.container.portable remedies this situation by enabling newer versions of the application server to turn off the interoperability classes. This lets a more recent application server return class types that are interoperable with an older client.

Depending on the value of com.ibm.websphere.container.portable, application servers at versions 5 and later, and 4.0.3 and later, return different classes for the following: If the property is set to false, application servers return the old class types, to enable interoperability with 4.0.2 and earlier. If the property is set to true, application servers return the new classes.

The following tables show interoperability characteristics for various version combinations of application servers and clients as well as default property values for each combination.

Interoperability of Version 4.0.x client with Version 5 (and later) application server

Ideally, all 4.0.x clients that use Version 5 or later application servers should be at Version 4.0.3 or later.

Version 5 and later application servers return the interoperability class types by default (true). This can cause interoperability problems for distributed clients at versions 4.0.1 or 4.0.2. In particular, problems can occur with collections and enumerations returned by Enterprise JavaBeans Version 1.1 finder methods.

Although it is strongly discouraged, you can set com.ibm.websphere.container.portable to false on a Version 5 and later application server. This causes the application server to return the old class types, providing interoperability with clients at Version 4.0.2 and earlier. This is discouraged because:
  • The Version 5 application server instance would become non-J2EE 1.3 (and later) compliant with regard to handles, home interface handles, and EJBMetaData.
  • EJB 1.x finder methods return collection and enumeration objects that do not originate from ejbportable.jar.
  • Interoperability restrictions still exist with the property set to false.
  • Version 5 and later client handles to entity beans and home interfaces do not work across domains for the server you set to false.

    If you would like to use updated Handle classes in EJB 2.x-compliant beans but have one of the older clients (versions 4.0.2 and earlier) installed, set the system property com.ibm.websphere.container.portable.finder to false. With this setting in place, the Version 5 and later application server uses the updated handles but returns the enumerations and collections that were used in the earlier clients.

Interoperability of client at Version 4.0.2 and earlier with Version 5 (and later) application server

Client at Version 4.0.2 and earlier, using this function Application server at Version 5 and later, property true (default) Application server at Version 5 and later, property false
EJBMetaData Does not work Works for 4.0.2 client
Handle to session bean Does not work Works
Handle to entity bean Does not work Does not work across cells
Enumeration returned by EJB 1.x finder method Does not work Works
Collection returned by EJB 1.x finder method Does not work Works
Handle to home interface Does not work Does not work across cells

If you would like to use updated Handle classes in EJB 2.x-compliant beans but have one of the older clients (versions 4.0.2 and earlier) installed, set the system property com.ibm.websphere.container.portable.finder to false. With this setting in place, the Version 5 and later server uses the new Handle classes but returns the older enumeration and collection classes.

Interoperability of client at Version 4.0.3 and later with Version 5 and later application server

Clients at Version 4.0.3 and later work well with Version 5 and later application servers. However, if you set the com.ibm.websphere.container.portable to false, client handles to entity beans and home interfaces do not work across domains for the server you set to false.

Client at Version 4.0.3 and later, using this function Application server at Version 5 and later, property true (default) Application server at Version 5 and later, property false
EJBMetaData Works Works
Handle to session bean Works Works
Handle to entity bean Works Does not work across cells
Enumeration returned by EJB 1.x finder method Works Works
Collection returned by EJB 1.x finder method Works Works
Handle to home interface Works Does not work across cells

Interoperability of Version 5 and later client with Version 4.0.x application server

Clients at Version 5 and later work well with Version 4.0.3 application servers if you set com.ibm.websphere.container.portable to true. Client handles to entity beans and home interfaces do not work across domains for any Version 4.0.3 server with com.ibm.websphere.container.portable at the default value, false. Version 5 client handles to application servers at Version 4.0.2 and earlier also have restrictions.

Client at Version 5 and later, using this function Application server at Version 4.0.3, property true Application server at Version 4.0.3, property false (default) Application server at Version 4.0.2 or earlier
EJBMetaData Works Works Works for 4.0.2 server only
Handle to session bean Works Works Works
Handle to entity bean Works Does not work across domains Does not work across domains
Enumeration returned by EJB 1.x finder method Works Works Works
Collection returned by EJB 1.x finder method Works Works Works
Handle to home interface Works Does not work across domains Does not work across domains

Interoperability of zSeries Version 4.0.x client with Version 5 and later application server

The only valid configuration for container interoperability with zSeries Version 4.0.x clients is the default configuration for the Version 5 application server.

Interoperability of Version 5 and later client with zSeries Version 4.0.x application server

Version 5 clients should work with a zSeries Version 4.0.x application server with the correct interoperability fixes described in the zSeries documentation. The interoperability characteristics should be the same as for a Version 4.0.3 distributed application server with the property set to true.

Client at Version 5 and later, using this function zSeries application server at Version 4.0.x
EJBMetaData Works
Handle to session bean Works
Handle to entity bean Works
Enumeration returned by EJB 1.x finder method Works
Collection returned by EJB 1.x finder method Works
Handle to home interface Works



Related concepts
EJB containers

Related tasks
Managing EJB containers

Related reference
EJB container settings

Reference topic    

Terms of Use | Feedback

Last updated: Jun 8, 2005 12:45:23 PM EDT
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/rejb_cntinterop.html

© Copyright IBM Corporation 2002, 2005. All Rights Reserved.
This information center is powered by Eclipse technology. (http://www.eclipse.org)