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.
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.
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