WAS v7 deprecated features
- Overview
- Features deprecated in V7.0
- Features deprecated in V6.1
- Features deprecated in V6.0.2
- Features deprecated in V6.0
- Features deprecated in V5.1.1
- Features deprecated in V5.1
Deprecated features may be removed subsequent releases of WAS ND.
Generally, features are removed until at least two major releases or three full years, whichever time period is longer, after the release in which that feature is deprecated.
Features that are deprecated in major releases V6.0, V6.0.1, and V6.0.2 are not removed from WAS until after V7.0.
Features deprecated in V7.0
Application model
registerSynchronizationCallbackForCurrentTran method in the com.ibm.websphere.jtaextensions.ExtendedJTATransaction interface
Use the registerInterposedSynchronization method of the TransactionSynchronizationRegistry interface instead.
com.ibm.ws.extensionhelper.TransactionControl interface
Use the com.ibm.wsspi.uow.UOWManager interface instead.
HttpServletRequestProxy class in the com.ibm.websphere.servlet.request package
Use the HttpServletRequestWrapper class instead of the HttpServletRequestProxy class. Use the subclasses of this class to overload or enhance the functionality of a server-provided HttpServletRequest.
HttpServletResponseProxy class in the com.ibm.websphere.servlet.response package
Use the HttpServletResponseWrapper class instead of the HttpServletResponseProxy class. Use the subclasses of this class to overload or enhance the functionality of a server-provided HttpServletResponse.
The following classes, interfaces, methods, and fields of the WebSphere relational resource adapter:
- Classes:
- com.ibm.websphere.rsadapter.JdbcAccessorImpl
- com.ibm.websphere.rsadapter.OracleDataStoreHelper
- Interfaces:
- com.ibm.websphere.rsadapter.Beginnable
- com.ibm.websphere.rsadapter.HandleStates
- com.ibm.websphere.rsadapter.Reassociateable
- com.ibm.websphere.rsadapter.WSNativeConnectionAccessor
- Methods:
- com.ibm.websphere.rsadapter.WSCallHelper.setConnectionError (Object conn)
- com.ibm.websphere.rsadapter.WSCallHelper.call
- com.ibm.websphere.rsadapter.WSConnection.getClientInformation
- com.ibm.websphere.rsadapter.WSConnection.setClientInformation
- com.ibm.ws.rsadapter.cci.WSResourceAdapterBase.getNativeConnection (javax.resource.cci.Connection)
- com.ibm.ws.rsadapter.cci.WSResourceAdapterBase.getNativeConnection (com.ibm.ws.rsadapter.jdbc.WSJdbcConnection)
- com.ibm.ws.rsadapter.jdbc.WSJdbcUtil.getNativeConnection (com.ibm.ws.rsadapter.jdbc.WSJdbcConnection)
- Fields:
- com.ibm.websphere.rsadapter.WSConnection.CLIENT_ACCOUNTING_INFO
- com.ibm.websphere.rsadapter.WSConnection.CLIENT_APPLICATION_NAME
- com.ibm.websphere.rsadapter.WSConnection.CLIENT_ID
- com.ibm.websphere.rsadapter.WSConnection.CLIENT_LOCATION
- com.ibm.websphere.rsadapter.WSConnection.CLIENT_OTHER_INFO
- com.ibm.websphere.rsadapter.WSConnection.CLIENT_TYPE
If using...
OracleDataStoreHelper
...switch to Oracle 10g or 11g and use...
Oracle10gDataStoreHelper
Oracle11gDataStoreHelperInstead of using getNativeConnection, use the JDBC 4.0 wrapper pattern.
Instead of WSConnection client information, use JDBC 4.0 client-information APIs.
Instead of...
com.ibm.websphere.rsadapter.WSCallHelper.setConnectionError (Object conn)...use...
com.ibm.websphere.rsadapter.WSCallHelper.setConnectionError (Object conn, boolean logEvent)The boolean parameter controls whether connection error events are logged to system out.
Instead of...
WSCallHelper.call
...use standard Java reflections APIs
session-management functions
- Sharing sessions across Web modules within an enterprise application (shared session context)
- Global session sharing through the Servlet21SessionCompatibility property
- Session tracking using the SSL ID (rather than cookies or URL-rewriting)
- Support for any session-manager properties as system properties
- Support for any session-manager properties as Web container custom properties
For session sharing, redesign the applications so that the session is appropriately scoped at the Web module as specified in the Java Servlet Specification V2.2 and later. If data must be shared across the Web-module boundary, the IBMApplicationSession should be used.
For session tracking using the SSL ID, re-configure to use cookies or else modify the application and re-configure it to use URL rewriting.
Rather than specifying session manager properties as system or Web container custom properties, use session-manager custom properties.
Connection validation by SQL query
Use the timeout-based validation introduced with JDBC 4.0.
Classes:
SERV1/ws/code/admin.thinclient/build/classes/com/ibm/ws/management/cmdframework/impl/RemoteCommandMgr*.class
SERV1/ws/code/admin.thinclient/build/classes/com/ibm/ws/management/cmdframework/impl/RemoteCommandMgrImpl*.class
SERV1/ws/code/admin.thinclient/src/com/ibm/ws/management/cmdframework/impl/RemoteCommandMgr.java
All methods in the RemoteCommandMgr interface
SERV1/ws/code/admin.jmx/src/com/ibm/ws/management/descriptor/xml/RemoteCommandMgr.xml
RemoteCommandMgrImpl()No migration action is necessary.
The following proprietary classes that are used to represent and manipulate WS-Addressing endpoint references in JAX-WS 2.0:
- com.ibm.websphere.wsaddressing.jaxws.W3CEndpointReference
- com.ibm.websphere.wsaddressing.jaxws.SubmissionEndpointReference
- com.ibm.websphere.wsaddressing.jaxws.EndpointReferenceConverter
Use the following classes instead:
- javax.xml.ws.wsaddressing.W3CEndpointReference
- com.ibm.websphere.wsaddressing.jaxws21.SubmissionEndpointReference
- com.ibm.websphere.wsaddressing.jaxws21.EndpointReferenceConverter
The following Websphere Common Configuration Model (WCCM) types:
- SIBJMSProvider
- SIBJMSConnectionFactory
- SIBJMSQueueConnectionFactory
- SIBJMSTopicConnectionFactory
- SIBJMSQueue
- SIBJMSTopic
If one of the Jython or Jacl wsadmin scripts uses any of these types, modify the script to use the correct AdminTask command to complete the equivalent function. For example:
AdminTask.listSIBJMSQueues()
Environment
IBM HTTP Server (IHS) mod_file_cache module
Migrate the IHS configuration directives from mod_file_cache to the appropriate provided cache mechanism—either mod_mem_cache or mod_cache.
IHS mod_ibm_ldap module
Migrate the mod_ibm_ldap configuration directives to the equivalent mod_ldap directives.
IHS mod_mime_magic module
Remove any IHS configuration directives associated with this module.
IHS mod_proxy_ftp module
Remove any IHS configuration directives associated with this module.
IHS mod_afpa_cache module
Adaptive Fast Path Architecture (AFPA) is being deprecated for both AIX and Windows operating systems for both static and dynamically generated content caching.
Remove any IHS configuration directives associated with this module.
Installation and maintenance tools
Support for using Update Installer for WebSphere Software V6.x to apply maintenance on WAS Version 6.0.2.21+ and V6.1.0.x
Use Update Installer for WebSphere Software Version 7.0.
Update Installer V7.0 supports applying maintenance on WAS V6.0.2.21+, V6.1.0.x, and V 7.0.
Support for using IBM WebSphere Installation Factory Version 6.1 to create installation packages for WAS Version 6.1
Use IBM WebSphere Installation Factory V7.0.
WebSphere Installation Factory V7.0 supports creating installation packages for WAS V6.1 and V7.0.
J2EE resources
The following features:
- Support for using JMS providers that are not compliant with the J2EE Connector Architecture 1.5 spec is deprecated.
The WAS V 5 default messaging provider was deprecated in V6.1.
- The WebSphere MQ messaging provider was updated in V7.0 to support the J2EE Connector Architecture 1.5. Support for other usages of this provider are deprecated.
- Support for configuring and using message-driven beans (MDBs) through JMS listener ports is deprecated.
- The commands and message beans used to configure and administer listener ports are deprecated.
Perform the following actions:
- Change from using listener ports to using activation specifications by performing the following actions:
- Create a JMS activation spec to replace the listener port.
- Modify the configuration of the MDB application's Message Driven Bean listener bindings to use the activation spec instead of the listener port.
Because an JMS activation spec can be defined at a wider scope than a listener-port definition (which is restricted to server scope), we might be able to replace multiple listener-port definitions with a single activation specification.
- Update any admin scripts that define or administer listener ports to define or administer JMS activation specifications instead.
If the admin scripts start or stop listener ports, update these commands to use the pause and resume operations on the Message Endpoint message bean.
Data access
disablePK54589 system property
Set the data source custom property isConnectionSharingBasedOnCurrentState.
If using disablePK54589=true, we can replace it with isConnectionSharingBasedOnCurrentState=false.
Programming
Shipment of Java Server Faces widget library (JWL) with WAS
Manually create a shared library for JWL using the jar from Rational Application Developer.
Servers
Shipment of Apache Struts 1.1, 1.2.4, and 1.2.7 as optional libraries within WAS
If we would like to continue using these versions of Apache Struts, they are available from the Apache Struts Web site.
For core group transport, the following configuration options:
- Unicast
- Multicast
Move to channel framework transport.
System administration
Option to install the Pluggable application client feature for the IBM Application Client for WAS
Use the new EJB Thin Application Client feature instead.
The following service integration bus (SIBus) security features:
- -secure flag on the createSIBus and the modifySIBus commands
- listInheritSenderForTopic, listInheritReceiverForTopic, and listInheritDefaultsForDestination commands
- Inter-engine authentication alias
Perform the following actions:
- Use the -busSecurity flag instead of the -secure flag.
- Replace usages of the listInheritSenderForTopic, listInheritReceiverForTopic, and listInheritDefaultsForDestination commands with the isInheritSenderForTopic, isInheritReceiverForTopic, and isInheritDefaultsForDestinaton commands respectively.
- Remove any usage of the -interEngineAuthenticationAlias option on the createSIBus and modifySIBus commands.
Collector tool (collector.bat or collector.sh)
Gathers information about the WAS installation and packages it in a JAR file that we can send to IBM Software Support
Use AutoPD.
Protocol-based proxy server templates
Use the admin console or the wsadmin commands in the ServerManagement command group to select one or multiple protocols for proxy servers.
WebSphere Touchpoint (WAS.admin.wstp component—all classes and methods)
Use the other standard management interfaces in WAS.
Commands in the SecureConversation command group for AdminTask
Use the commands in the WSSCacheManagement command group to manage WS-Security distributed-cache configurations.
The following LDAP configuration names in the virtual member manager (VMM) federated repository:
- SECUREWAY, IDS4, IDS51, and IDS6
- DOMINO5, DOMINO6, and DOMINO65
- AD2000 and AD2003
Use the following configuration names:
- IDS rather than SECUREWAY, IDS4, IDS51, or IDS6
- DOMINO rather than DOMINO5, DOMINO6, or DOMINO65
- AD rather than AD2000 or AD2003
Web services
Support for the '2006/02' WS-Addressing WSDL binding namespace
Replace any uses of the '2006/02' namespace in WSDL files with uses of the '2006/05' namespace
Web Services Distributed Management (WSDM) interface
Use the other standard management interfaces in WAS.
IBM proprietary SOAP over JMS protocol for JAX-WS or JAX-RPC applications
Use the standard SOAP over JMS protocol.
See:
Restriction: If the client application invokes enterprise-bean based Web services that are supported by a release of WAS that is earlier than V7.0, continue to use the IBM proprietary SOAP over JMS protocol to access those Web services.
Features deprecated in V6.1
Application model
setDatabaseDefaultIsolationLevel(int) method in the com.ibm.websphere.rsadapter.DataStoreHelperMetaData class
Start using the following instead:
public final void setDatabaseDefaultIsolationLevel ( int helperDefaultLevel, int cusDefinedWasDefaultIsoLevel )
The following class and interface in the Mediation Framework runtime:
- com.ibm.websphere.sib.mediation.handler.SIMessageContextException class
- com.ibm.websphere.sib.mediation.messagecontext.SIMediationBean MessageContext interface
Replace all uses of the com.ibm.websphere.sib,.mediation.handler.SIMessageContextException class with the com.ibm.websphere.sib.mediation.handler.MessageContextException class.
Read Writing a routing mediation for an example.
Replace all uses of the com.ibm.websphere.sib.mediation.messagecontext.SIMediationBean MessageContext interface with an equivalent interface. WAS does not provide an implementation of this interface.
The following Web container message bean functions:
- startTransports
- stopTransports
- restartWebApplication
Begin moving to the channel framework.
The channel framework provides the TransportChannelService message bean, which is more flexible and has more methods than the current Web container transport-related methods.
Support for deploying container-managed entity beans to a generic SQL database
If an application uses SQL92 or SQL99 because the application has to run with different relational databases, use the IBM tooling to generate deployed code for each database vendor or version that the application might use. At installation time, specify the database vendor or version that will used with WAS.
IBM WebSphere Studio tools runtime support provided by the following classes (which were used to leverage Visual Age for Java tooling):
- com.ibm.webtools.runtime.AbstractStudioServlet
- com.ibm.webtools.runtime.BuildNumber
- com.ibm.webtools.runtime.NoDataException
- com.ibm.webtools.runtime.StudioPervasiveServlet
- com.ibm.webtools.runtime.TransactionFailureException
- com.ibm.webtools.runtime.WSUtilities
Rearchitect the applications to use standard J2EE coding conventions.
CUSTOM_HELPER constant field com.ibm.websphere.rsadapter.DataStoreHelper
If we create our own DataStoreHelper implementation class, do not invoke setHelperType(DataStoreHelper.CUSTOM_HELPER). Instead, let the HelperType value be set by the implementation class from which it inherits.
J2EE resources
Support for the ability to connect from either an application server or a J2EE application client to the JMS Server component of the embedded messaging feature in WAS V5This deprecation includes the following capabilities:
- Define JMS resource definitions for the V5 default messaging provider
- Establishing connections from client applications that are either running in a V5 environment or utilizing V5 default messaging provider resource definitions
Perform the following actions:
- Ensure that any JMS Server messaging providers that are hosted on WAS V5.1 appservers are moved onto V6.0 or later appservers. This task is handled automatically when you migrate a Version 5.x server to V6.0 or later.
- Change all JMS resource definitions to use the new V6 default messaging provider instead of the V5 default messaging provider.
System administration
setup command
Use the install command.
clientUpgrade command
No migration action is necessary.
wasprofile
wasprofile command
Use the manageprofiles command.
The following WASPostUpgrade command parameters:
- -import xmi_data_file
- -substitute "key1=value1[;key2=value2;[...]]"
No migration action is necessary.
Cloudscape datastore helper and Cloudscape Network Server datastore helper
Cloudscape datastore helper (com.ibm.websphere.rsadapter.CloudscapeDataStoreHelper) and Cloudscape Network Server datastore helper (com.ibm.websphere.rsadapter.CloudscapeNetworkServerDataStoreHelper)
As well as their types in DataStoreHelper
For existing configurations, no migration action is necessary. The migration utility changes the deprecated Cloudscape helpers to Derby helpers.
For new configurations, use the Derby datastore helpers and types instead of the Cloudscape datastore helpers.
See Data source minimum required settings, by vendor.
DB2 Legacy CLI-based Type 2 JDBC Driver provider
Start using the DB2 Universal JDBC Driver Provider.
Logical pool distribution support (com.ibm.websphere.csi.ThreadPoolStrategy.LogicalPoolDistribution)
No migration action is necessary.
When this function is removed, however, all custom Object Request Broker (ORB) properties that you specified for it will be ignored. The custom ORB properties of interest are com.ibm.websphere.threadpool.strategy.LogicalPoolDistribution.*.
See Logical pool distribution and Object Request Broker custom properties.
ORB thread pool configuration as part of the Server object in the server.xml file
Use the thread pool configuration that is part of the ServerIndex object in the serverindex.xml file.
JVM system property com.ibm.websphere.sendredirect.compatibility
Begin modifying the applications to redirect non-relative URLs, those starting with a forward slash ("/"), relative to the servlet container root (WEB_ROOT) instead of the web application context root.
Read the Java Servlet 2.4 Specification, which is available for download at http://jcp.org/aboutJava /communityprocess/final/jsr154/, for information on how sendRedirect should behave.
Web container PageList Servlet custom extension, including the following classes:
- com.ibm.servlet.ClientList
- com.ibm.servlet.ClientListElement
- com.ibm.servlet.MLNotFoundException
- com.ibm.servlet.PageListServlet
- com.ibm.servlet.PageNotFoundException
Rearchitect the applications to use javax.servlet.filter classes rather than com.ibm.servlet classes.
Starting with the Java Servlet 2.3 specification, javax.servlet.filter classes give you the capability to intercept requests and examine responses. They also allow provide chaining functionality as well as functionality for embellishing or truncating responses.
The following custom properties for a data source:
- validateNewConnection
- validateNewConnectionRetryCount
- validateNewConnectionRetryInterval
WAS ND v7.0 now offers these properties as pre-configured options, which are the replacement properties in the following list. To avoid runtime error messages, permanently disable the original custom properties by deleting them from the list of custom properties.
- validateNewConnection is replaced by Pretest new connection
- validateNewConnectionRetryCount is replaced by Number of retries
- validateNewConnectionRetryInterval is replaced by Retry interval
If the new properties and old properties coexist, the new properties take precedence.
DISABLE_FILE_LOCKING transaction service custom property
Clear the Enable file locking check box on the Transaction Service panel of the admin console.
For more information, read Disable file locking.
SWAM
Use the LTPA mechanism.
See Lightweight Third Party Authentication.
Security
LoginHelper CORBA authentication helper function (com.ibm.ws.security.util.LoginHelper)
Migrate to the JAAS model. For information on this migration, read Migrate Common Object Request Broker Architecture programmatic login to (CORBA and JAAS).
com.ibm.ws.security.web.WebSealTrustAssociationInterceptor TAI interface
This Tivoli TAI interceptor that implements the WAS TAI interface was provided to support WebSEAL V4.1.
If we plan to use WebSEAL 5.1 or later, you should migrate to use the com.ibm.ws.security.web.TAMTrustAssociationInterceptorPlus interceptor.
Support for the JVMPI is deprecated along with the following related JVM runtime counters:
- ObjectMovedCount
- ObjectFreedCount
- ObjectAllocateCount
Begin moving to the Java Virtual Machine Tool Interface (JVMTI).
For more information, read JVM Tool Interface (JVMTI).
Performance
Support for the Java Virtual Machine Debugger Interface (JVMDI)
Begin moving to the Java Virtual Machine Tool Interface (JVMTI).
For more information, read JVM Tool Interface (JVMTI).
Message ID format used in WAS V6.0.x and earlier
The message prefixes for log files were not previously registered with the primary message registry. WAS V6.1.x and later use compliant message prefixes in the output logs.
Use the convertlog command and the MessageConverter class to assist you in migrating tools that rely on the older message format.
See Converting log files to use IBM unique Message IDs.
Problem determination
The com.ibm.etools.logging.util plug-in, the logutil.jar file
- Logging facility
Logging facility used for logging Java primitives and complex objects to named loggers; configurable with predefined filtering levels, Logging Agent and file sinks, and output formats through an API, Eclipse plug-in manifest, or Eclipse preference panel
- Logging agent
XML-based messaging agent used in conjunction with the IBM Agent Controller to write log and trace XML records to a logging service remotely attachable through an API or Test and Performance Tools Platform (TPTP), formally Hyades, Eclipse workbench
- Problem determination artifacts and messages
Original implementation of the Manageability (M12) Model Problem Determination Architecture V 1.5 and Problem Determination Artifacts Common Data Model spec used for capturing and encoding log and trace data
- Distributed correlator service (DCS)
Distributed correlator service used for instrumenting correlation identifiers for correlating log and trace data across one or more hosts
- Java client bindings Java client bindings used to communicate with the IBM Agent Controller to launch local and remote processes, attach to running processes, and monitor active agents in a secure client environment
Begin moving plug-ins and application code using configuration files, classes, methods, or variables in the com.ibm.etools.logging.util plug-in to the following replacements:
- Logging facility
Replacement: Java Logging APIs in Java V 1.4.0+; Logging Agent support for the Java Logging APIs provided in TPTP and Common Logging (com.ibm.etools.common.logging/logging.jar)
- Logging agent
Replacement: TPTP Logging Agent (org.eclipse.hyades.logging.core/hlcore.jar)
- Problem determination artifacts and messages
Replacement: Common Base Event V1.0.1 spec and TPTP implementation (org.eclipse.hyades.logging.core/hlcbe101.jar)
- Distributed correlator service (DCS)
Replacement: TPTP Correlation Service (org.eclipse.hyades.execution.correlation/hcorrelation.jar)
- Java client bindings
Replacement: TPTP Java Client Bindings (org.eclipse.hyades.execution/hexl.jar)
See...
com.ibm.etools.logging.util/doc/IBM_Logging_Utilities_Migration_Guide.html
Edge component load balancer function that is associated with the following capabilities:
- Content-based routing (CBR) component
- Site Selector component
- Cisco CSS Controller component
- Nortel Alteon Controller component
- Generic routing encapsulation (GRE)
- Network address translation (NAT) forwarding method
- CBR forwarding method
- Remote administration
- Rules-based load balancing
- Wide-area load balancing
- Mutual high availability
- Simple Network Management Protocol (SNMP) subagent support
- UDP support
Use the Edge component load balancer with Media Access Control (MAC) forwarding in conjunction with one of the following:
- WAS ND proxy server
- IBM HTTP Server plug-in in WAS ND
See: Set up the proxy server.
Edge component
Edge component Caching Proxy function
Use the Edge component load balancer with Media Access Control (MAC) forwarding in conjunction with one of the following:
- WAS ND proxy server
- IBM HTTP Server plug-in in WAS ND
See Set up the proxy server and Set up caching in the proxy server.
Features deprecated in V6.0.2
Application model
The following methods from class com.ibm.websphere.runtime.ServerName:
initialize(java.lang.String*!ENTITY!*cell, java.lang.String node, java.lang.String server)was390Initialize(byte[] a_stoken, String a_printable_stoken, String a_jsabpref, int a_pid, int an_asid, String a_jsabjbnm)was390Initialize(byte[] a_stoken, java.lang.String a_printable_stoken, java.lang.String a_jsabpref, int a_pid, int an_asid, java.lang.String a_jsabjbnm, java.lang.String a_smcasid)These methods are for WAS runtime use only. Applications should not call these methods.
Support for HTTP transport configuration
Begin moving to channel-based transport.
Performance
com.ibm.websphere.cache.DistributedLockingMap interface
Do not use the com.ibm.websphere.cache.DistributedLockingMap interface because this interface is not supported by the WAS runtime.
TYPE_DISTRIBUTED_LOCKING_MAP constant that is defined in the com.ibm.websphere.cache.DistributedObjectCache class
Do not use the TYPE_DISTRIBUTED_LOCKING_MAP constant that is defined in the com.ibm.websphere.cache.DistributedObjectCache class because this constant is not supported by the WAS runtime.
System Administration
The following custom properties for a data source:
- dbFailOverEnabled
- connRetriesDuringDBFailover
- connRetryIntervalDuringDBFailover
Replace the properties with the following:
- Use validateNewConnection instead of dbFailOverEnabled.
- Use validateNewConnectionRetryCount instead of connRetriesDuringDBFailover.
- Use validateNewConnectionRetryInterval instead of connRetryIntervalDuringDBFailover.
If the new properties and old properties coexist, the new properties take precedence.
Features deprecated in V6.0
Application model and container support
Support for the following tsx tags in the JSP engine:
- repeat
- dbconnect
- dbquery
- getProperty
- userid
- passwd
- dbmodify
Instead of using the tsx tags, you should use equivalent tags from the JSPs Standard Tag Library (JSTL). JSTL is supported in WAS V6.0, and the tag library is included with WAS ND. Use this table as a guideline for converting tsx tags to JSTL tags:
tsx tag JSTL tag tsx:repeat c:forEach tsx:dbconnect sql:setDataSource tsx:dbquery sql:query tsx:getProperty Use standard EL syntax; c:out value="${book.title}" for example, where book is the current index in the result set tsx:userid Use the user attribute of the setDataSource tag tsx:passwd Use the password attribute of the setDataSource tag tsx:dbmodify sql:update
The following backend IDs:
- SQL92 (1992 SQL Standard)
- SQL99 (1999 SQL Standard)
Use other backend IDs.
Application services
JRas Extensions API
No further enhancements are planned for JRas support.
Use the equivalent function in the java.util.logging package (JSR47).
UDDI Version 2 EJB interface to the UDDI Registry
There is no replacement for the EJB interface. This interface is included in WAS V6.0 for compatibility with V5.x. Users do not need to take any specific actions and can continue to use the V2 EJB API; however, they should be aware that it does not include any UDDI functionality that is new to UDDI V3 and the interface might be removed in a subsequent release of WAS.
The UDDI4J V2 class library, the uddi4jv2.jar file
Start using the V3 UDDI APIs.
A client library is provided to construct UDDI V3 requests from Java.
This is the IBM UDDI Version 3 Client for Java, provided in uddiv3client.jar. The UDDI4J APIs can still be used; however, you should be aware that they do not provide access to any of the new UDDI V3 functionality and they might be removed in a subsequent release of WAS.
All of the low-level UDDI Utility Tools (UUT) APIs, such as BusinessStub, ServiceStub, and so on.
These APIs are all replaced with the high-level PromoterAPI interface in the com.ibm.uddi.promoter package.
Start using the PromoterAPI interface in the com.ibm.uddi.promoter package in place of these low-level APIs, which will be removed in a subsequent release of WAS. The PromoterAPI provides the same functionality at a higher level of abstraction.
The following methods in the J2EE Connector Architecture runtime:
- com.ibm.ws.management.descriptor.xml.ConnectionFactory.xml (getPoolContents and getAllPoolContents methods)
- com.ibm.websphere.j2c.ConnectionManager interface
- com.ibm.websphere.j2c.ConnectionEventListener interface
The methods are replaced as follows:
- getPoolContents and getAllPoolContents are replaced with showPoolContents and showAllPoolContents.
- ConnectionManager interface is replaced with J2EE Connector Architecture 1.5 LazyAssociatableConnectionManager interface.
- ConnectionEventListener interface is replaced with J2EE Connector Architecture 1.5 LazyEnlistableConnectionManager interface.
For container-managed authentication aliases, specify the container-managed credentials in the resource binding information for the application.
ApplicationProfile property on the Work manager panel in the admin console
Read the articles in the Application profiling section for the differences between application profiling in V5.x and V 6.0.x.
The following two items from the Data source panel in the admin console:
- Container-Managed Authentication Alias
- DefaultPrincipleMapping
Define the Container-Managed Authentication Alias and DefaultPrincipleMapping properties on the Resource Reference.
All classes in the com.ibm.websphere.servlet.filter package, including the following:
- ChainedRequest
- ChainedResponse
- ChainerServlet
- ServletChain
Rearchitect the applications to use javax.servlet.filter classes rather than com.ibm.websphere.servlet.filter classes. Starting from the Servlet 2.3 specification, javax.servlet.filter classes give you the capability to intercept requests and examine responses. They also allow us to achieve chaining functionality, as well as embellishing and truncating responses.
MIME filtering
MIME filters were first supported in WAS V 3.5 as a way for servlets to embellish, truncate, and modify the responses generated by other servlets, based on the MIME types of the output content.
The javax.servlet.filters, which were introduced in the Servlet 2.3 specification, allow users to plug in filters that can intercept requests to and responses from servlets. They also have the capability to modify content flowing in either direction.
The javax.servlet.filters maintain all of the functionality of MIME filters. javax.servlet.filters are standard APIs, and are supported by all compliant appservers.
Refer to the Servlet 2.3 spec or Servlet filtering for more information.
Container-managed persistence (CMP) entity beans configured
With method level access intent might run into data access problems, like deadlock. Therefore, the method level access intent is deprecated.Reconfigure CMP entity beans to use bean level access intent, or reconfigure application profiles with WAS Toolkit.
All of the methods and fields in the com.ibm.websphere.product.product and com.ibm.websphere.product.buildInfo classes
Therefore, the following methods from com.ibm.websphere.product.WASProduct class (which involves com.ibm.websphere.product.product and com.ibm.websphere.product.buildInfo objects) are deprecated:
- public product getProductByFilename(String basename)
- public product getProductById(String id)
- public boolean productPresent(String id)
- public boolean addProduct(product aProduct)
- public boolean removeProduct(product aProduct)
- public Iterator getProducts()
- public Iterator getProductNames()
- public String loadVersionInfoAsXMLString(String filename)
- public String getProductDirName()
- public static String computeProductDirName()
Use the following supported methods from com.ibm.websphere.product.WASDirectory:
- public WASProductInfo getWASProductInfo(String id)
- public boolean isThisProductInstalled(String id)
- public WASProductInfo[] getWASProductInfoInstances()
- public String getWasLocation()
Also, instead of getting product information (name, version, build level, build date) from the old WASProduct API (com.ibm.websphere.product.WASProduct), you should now use the following methods in the WASDirectory class to get that information:
- com.ibm.websphere.product.WASDirectory.getName(String)
- com.ibm.websphere.product.WASDirectory.getVersion(String)
- com.ibm.websphere.product.WASDirectory.getBuildLevel(String)
- com.ibm.websphere.product.WASDirectory.getBuildDate(String)
Data access beans, which are included with WAS in the databeans.jar file
Instead of using data access beans, you should use Service Data Objects (SDO).
Read Service Data Objects for additional details.
reloadInterval and reloadingEnabled
of the IBM deployment descriptor extensions, including both the WAR file extension (WEB-INF/ibm-web-ext.xmi) and the application extension (META-INF/ibm-application-ext.xmi).Instead of using deployment descriptor extensions, you should use the reload enable and interval options provided during application deployment.
Read Enterprise application settings for additional details.
com.ibm.websphere.servlet.session.UserTransactionWrapper API
There is no replacement for this API. The UserTransaction object can be placed directly into the HTTP session without using a wrapper.
Security
SOAP-Security (XML digital signature) based on Apache SOAP implementation
Instead of using SOAP-Security, you should migrate the application to JSR-109 implementation of Web service. Also, migrate (reconfigure the application) to use WSS (Web Service Security) 1.0 implementation.
Web Service Security (WSS) draft 13 specification-level support
Applications should be migrated to the supported WSS 1.0 standard. The draft-level support does not provide interoperability with some third-party vendors, as the message level has been changed between the draft and the WSS 1.0 implementation.
WSS 1.0 is only supported in J2EE 1.4 applications. Therefore, we need to migrate applications to J2EE 1.4 first. The next step is to use Application Server Toolkit or Rational Application Developer tooling to reconfigure WSS for the migrated application. There is no automatic migration of WSS in this release of Application Server Toolkit or Rational Application Developer tooling for V6.0; the migration has to be done manually.
The following SPI has also been deprecated:
com.ibm.wsspi.wssecurity.config.KeyLocator You need to migrate the implementation to the new SPI for WSS 1.0 support in Version 6.0:
com.ibm.wsspi.wssecurity.keyinfo.KeyLocator
Finally, the Java Authentication and Authorization Service (JAAS) LoginModule implementation needs to be migrated to the new model for JAAS LoginModule in V6.0.
Secure Authentication Service (SAS) IIOP security protocol
Use the CSIv2 protocols.
Secure Authentication Service (SAS) CORBA security programming APIs
Migrate from the SAS programming APIs to the Java Authentication and Authorization Service (JAAS). For information on this migration, read Migrate Common Object Request Broker Architecture programmatic login to (CORBA and JAAS).
System administration
Set resources under cell scope
You should configure resources under cluster scope instead. In previous releases, you configured cell scope resources to allow the cluster members to share the resource configuration definition. In V 6, cell scope resource configuration is discouraged because cell scope resources are visible to every node in the cell, even though not every node in the cell is able to support the resource.
depl.extension.reg and installdir options for the install command in the AdminApp scripting object
There is no replacement for the depl.extension.reg option. In V5.x, this option was a no-op. For the installdir option, use the installed.ear.destination option instead.
Performance
PMI Client API, which was introduced in V4.0 to programmatically gather performance data from WAS
The JMX interface, which is part of the J2EE specification, is the recommended way to gather WAS performance data. PMI data can be gathered from the J2EE-managed object message beans, or from the WebSphere PMI Perf message bean. While the J2EE message beans provide performance data about a specific component, the Perf message bean acts as a gateway to the PMI service, and provides access to the performance data for all of the components.
Features deprecated in V5.1.1
Application model and container support
Web services gateway customization API
Plan over time to replace the existing filters with a combination of JAX-RPC handlers and service integration bus mediations.
Application services
The following JDBC drivers:
- Microsoft SQL Server 2000 Driver for JDBC
- SequeLink JDBC driver for Microsoft SQL Server
If using either of these JDBC drivers and still want to use Microsoft SQL Server as the database, switch to the Connect JDBC driver. We can purchase the Connect JDBC driver from DataDirect Technologies; or we can use the Connect JDBC driver that is included with WAS, which is free for use with WAS.
Features deprecated in V5.1
Installation and migration tools
The Application Assembly Tool used for developing J2EE applications is replaced with the Assembly Tool component of the appserver Toolkit.
Instead of running the Application Assembly Tool, users will install and run the Assembly Toolkit component of the appserver Toolkit. The Application Server Toolkit is based on the Eclipse framework. On starting the appserver Toolkit, the J2EE function is found by opening the J2EE Perspective.
Business processes modeled with WebSphere Studio Application Developer Integration Edition V5.0 or earlier
Business processes modeled with WebSphere Studio Application Developer Integration Edition V5.0 or earlier need to be migrated to a BPEL-based process. Use the Migrate option provided with WebSphere Studio Application Developer Integration Edition V5.1.
Several process choreographer API interfaces and methods
Used for business processes created with WebSphere Studio Application Developer Integration Edition V5.0 or earlier. A list can be found in the API documentation provided with process choreographer.
Information on the recommended migration action for the deprecated APIs is available in the API documentation for the appropriate API.
JDOM (a Java representation of an XML document that provides an API for efficient reading, manipulating, and writing documentation)
The currently packaged version of JDOM in WAS will not be packaged in subsequent releases.
Go to the JDOM Web site, get the latest copy of JDOM, and bundle it inside the application.
Customers running WebSphere Studio Application Developer Integration Edition V4.1 applications will need to migrate them to WebSphere Studio Application Developer Integration Edition V5.0.
The C++ Object Request Broker (ORB), the C++ library for IDL value types and the WAS C++ security client
Support is no longer available for the CORBA C++ Developer Kit. The CORBA technology is a bridge for migration to a Java 2 Platform Enterprise Edition (J2EE) and WAS environment.
In addition to the preceding information, the CORBA C++ client feature will be removed from the Application Clients installation image in subsequent releases.
IBM recommends that customers migrate to the Object Request Broker (ORB) service for Java technology that ships with WAS. However, there is no equivalent J2EE functionality for the C++ security client or the C++ value-type library. Customers that require such functionality must provide or develop their own.
For information on the ORB service for Java technology, read Manage Object Request Brokers. The deprecation of the CORBA C++ Developer Kit does not affect support for CORBA interoperability with vendor software for CORBA services. View the following links for additional information about interoperability:
IBM Cloudscape V5.1.x
Use the Cloudscape Network Server JDBC driver.
Server
IBM HTTP Server (IHS) V1.3.x
If using IHS V1.3.x with modules that:
- Are included as part of IHS V1.3.x packages, you do not need to take any action to migrate those modules.
- Are supplied by a third party (including other IBM products), we need to obtain IHS/Apache 2 versions of these modules from the third party.
- Have been customized or are inhouse, we need to port these modules to the new IHS/Apache 2 API.
Application model and container support
Bean Scripting Framework (BSF) JSP execution and debugging functionality
The functionality will need to be rearchitected if we are using the Java Script™, Tcl, and Python languages. If using BSF scripting in our own custom applications, they will be unaffected. Custom scripts written for the WAS admin console will also be unaffected.
This functionality will continue to exist in WAS V5.1 and succeeding releases until V6.0. If debugging JSPs, we might have to restart the appserver during Java Script debugging sessions.
The following Business Rule Bean classes, methods, and attributes:
- Public classes:
- com.ibm.websphere.brb.RuleImporter
- com.ibm.websphere.brb.RuleExporter
- Public method:
- getLocalRuleManager() on class com.ibm.websphere.brb.TriggerPoint
- Protected attribute:
- ruleMgr on class com.ibm.websphere.brb.TriggerPoint
Users do not have to take any action.
Data access programming interfaces in com.ibm.websphere.rsadapter.
Relational resource adapter interface: (com.ibm.websphere.rsadapter).
Methods are deprecated in the following types:
com.ibm.websphere.rsadapter.OracleDataStoreHelper public void doSpecialBLobWork(ResultSet rset, InputStream[] data, String[] blobColumnNames) public String assembleSqlString(String[] blobColumnNames, StringBuffer whereClause, String[] varValues, String tableName)These relational resource adapter deprecated methods do not impact the application.
You will not need to implement these deprecated methods in their subclasses if we have the subclass of OracleDataStoreHelper class. Those deprecated methods will not be called by the WAS runtime.
Scheduler (com.ibm.websphere.scheduler) programming interfaces -- V5.x public types in:
- Interface methods
scheduler.Scheduler public BeanTaskInfo createBeanTaskInfo(); public MessageTaskInfo createMessageTaskInfo();
Use the following methods instead of the deprecated methods:
public Object createTaskInfo(Class taskInfoInterface) throws TaskInfoInvalid;To create a BeanTaskInfo object using the supported createTaskInfo methods:BeanTaskInfo ti = (BeanTaskInfo) Scheduler.createTaskInfo(BeanTaskInfo.class);
Web container API modifications:
There are no declared deprecations. The only changes are caused because of a Java API that changed between 1.3 and 1.4. The changed class is com.ibm.websphere.servlet.error.ServletErrorReport. The return signature for getStackTrace( ) is changed because java.lang.Throwable now defines the same method with a different return signature.
- Previous method signature
public String getStackTrace(); // returns a String representation of the exception stack- New method signature (Java Development Kit 1.4, WAS 5.1)
public StackTraceElement[] getStackTrace(); // returns an array of stack trace elements- Replacement method (WAS 5.1) (a replacement method that carries on the old functionality has been provided):
public String getStackTraceAsString(); // returns a String representation of the Exception Stack
If using com.ibm.websphere.servlet.error.ServletErrorReport.getStackTrace( ) and expecting a return type of String, we need to change the application to use the replacement method.
Application services
Data access binaries -- Common Connector Framework, including the following JAR files:
- ccf.jar
- ccf2.jar
- recjava.jar
- eablib.jar
The J2EE Connector Architecture solution should be used instead of the Common Connector Framework.
For more information on the usage (tools and runtime) of the J2EE Connector Architecture read Accessing data using Java EE Connector Architecture connectors.
Set the XA partner log directory using the TRANLOG_ROOT variable
The setting currently stored in the TRANLOG_ROOT variable (if any) will need to be added to the Transaction Service panel for all servers that need to use the XA partner log. If the default location is to be used, then no action is required. The Transaction Service panel can be found on the admin console by selecting Application Servers on the left, choosing the appserver to be modified, and selecting Transaction Service on the panel that is displayed. The directory currently in TRANLOG_ROOT should be entered in the Logging Directory box on the panel.
Security
API for com.ibm.websphere.security.auth.WSPrincipal.getCredential().
Instead of getting the WSCredential from the principal, you should now use one of the following methods to get the Subject that contains the WSCredential:
- The RunAs Subject is the Subject used for outbound requests.
- The Caller subject is the Subject that represents the authenticated caller for the current request.
- The methods to use to get the runAs and caller subjects are as follows:
com.ibm.websphere.security.auth.WSSubject.getRunAsSubject() and
com.ibm.websphere.security.auth.WSSubject.getCallerSubject() respectively.
The following elements in the security programming interface:
- The interface is deprecated in com.ibm.websphere.security.auth.WSSecurityContext.
- The exception is deprecated in com.ibm.websphere.security.auth.WSSecurityContextException.
- The class is deprecated in com.ibm.websphere.security.auth.WSSecurityContextResult.
Use JAAS for all authentication related functionality.
Integrated Cryptographic Services Facility (ICSF) authentication mechanism
Use the LTPA mechanism.
For more information, read Lightweight Third Party Authentication.
System administration
The following class:
com.ibm.websphere.rsadapter.DB2390DataStoreHelper
If we currently use the DB2390DataStoreHelper class for the DB2 Legacy CLI-based provider when we are accessing data, you should now use the DB2DataStoreHelper class.
If we currently use the DB2390DataStoreHelper class for the DB2 Universal JDBC provider when we are accessing data, you should now use the DB2UniversalDataStoreHelper class.
Related
Stabilized features
Removed features
Deprecated, stabilized, and removed features