Container interoperability

 

+

Search Tips   |   Advanced Search

 

Overview

Container interoperability describes the ability of WAS (WAS) clients and servers at different versions to successfully negotiate differences in native EJB finder methods support and J2EE compliance.

WAS 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

...enables newer versions of the application server to turn off the interoperability classes, allowing 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:

  • Enumerations and collections returned by EJB 1.1 finder methods
  • EJBMetaData
  • Handles to:
    • Entity beans
    • Session beans
    • Home interfaces

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 V4.0.x client with V5 (and later) application server

Ideally, all 4.0.x clients that use Version 5 or later application servers should be at V4.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 V1.1 finder methods.

Although it is strongly discouraged, one can set com.ibm.websphere.container.portable to false on a V5 and later application server. This causes the application server to return the old class types, providing interoperability with clients at V4.0.2 and earlier. This is discouraged because:

  • The V5 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.

  • V5 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 V5 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 V4.0.2 and earlier with> V5 (and later) application server

Client at V4.0.2 and earlier, using this function Application server at V5 and later, property true (default) Application server at V5 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 V5 and later server uses the new Handle classes but returns the older enumeration and collection classes.

 

Interoperability of client at V4.0.3 and later with> V5 and later application server

Clients at V4.0.3 and later work well with V5 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 V4.0.3 and later, using this function Application server at V5 and later, property true (default) Application server at V5 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 V5 and later client with Version 4.0.x application server

Clients at V5 and later work well with V4.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 V4.0.3 server with com.ibm.websphere.container.portable at the default value, false. V5 client handles to application servers at V4.0.2 and earlier also have restrictions.

Client at V5 and later, using this function Application server at V4.0.3, property true Application server at V4.0.3, property false (default) Application server at V4.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 V4.0.x client with Version 5 and later application server

The only valid configuration for container interoperability with zSeries V4.0.x clients is the default configuration for the V5 application server.

 

Interoperability of V5 and later client with zSeries V4.0.x application server

V5 clients should work with a zSeries V4.0.x application server with the correct interoperability fixes described in the zSeries documentation. The interoperability characteristics should be the same as for a V4.0.3 distributed application server with the property set to true.

Client at V5 and later, using this function zSeries application server at V4.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


 

See Also

EJB containers

 

Related Tasks

Manage EJB containers

 

See Also

EJB container settings