J2EE Connector Architecture migration tips
Previous WebSphere Application Server versions provided an initial implementation of the J2EE Connector Architecture (JCA) specification, V1.0. This implementation provided basic run time support based on the final JCA 1.0 Specification, but it was not a complete implementation.
The product now provides a complete implementation of the JCA 1.0 Specification, which supports:
- Connection sharing (res-sharing-scope).
- Get/use/close programming model for connection handles.
- Get/use/cache programming model for connection handles.
- XA, Local, and No Transaction models of resource adapters, including XA recovery.
- Security options A and C per the specification.
If you move from one of the earlier implementations of the J2EE Connector Architecture to the current implementation, be aware of the following:
- This version supports the res-sharing-scope tag within the resource reference (resource-ref) element. This tag was not available in previous versions and defaulted to shareable connections. V5.0 supports both shareable and unshareable connections.
- The current product supports the Web container. Both enterprise bean and Web components can utilize the J2EE Connector Architecture.
- Both connection handle usage patterns (get/use/close and get/use/cache) are supported. The get/use/close pattern indicates that a connection is retrieved, used, and closed all within the same transaction or method boundary. The get/use/cache pattern indicates that you can cache a connection across transaction or method boundaries.
- The current version supports additional authentication mechanisms. The capability to support Options A and C per the JCA specification is provided, as well as support for res-auth settings of either Application or Container. In previous versions, the res-auth setting was basically ignored, therefore it was treated as if res-auth was set to Application. If your existing applications had res-auth set to Container, they might behavior differently if you install them into a current environment without any changes.
- You can no longer specify pool and subpool names. The pool name is based on the data source or connection factory's Java Naming and Directory Interface (JNDI) name. Subpools were eliminated to provide better performance.
For applications that use WebServices and JCA Connectors, there are some additional points to be aware of:
This limitation is because of the wsd14j.jar file. As delivered in WebSphere Application Server Enterprise V4.1, the file is not fully compliant with JSR 110 (JSR 110 was not final at the time that 4.1 shipped). The wsd14j.jar file shipped with WebSphere Application Server Version 5.0 is compliant. However, because most of the classes have the same package names and interfaces, BUT NOT ALL, the two wsd14j.jar files cannot co-exist in the same WebSphere Application Server installation.
- Applications generated on WebSphere Studio Application Developer -- Integration Edition V4.1.1 can run on WebSphere Application Server V4.0.4 and WebSphere Application Server Enterprise V4.1.
- Applications generated on WebSphere Studio Application Developer -- Integration Edition V5.0 can run on WebSphere Application Server V5.0 and WebSphere Application Server Enterprise V5.0.
- Applications generated on WebSphere Studio Application Developer -- Integration Edition V4.1.1 can run unchanged on WebSphere Application Server Enterprise V5.0, but can only run on WebSphere Application Server V5.0 if the applications are regenerated using WebSphere Studio Application Developer -- Integration Edition V5.0 tools.
Resource adapter
Connection factory
Data sources
Unshareable and shareable connections
Connection handles