Network Deployment (Distributed operating systems), v8.0 > New features > What has changed in this release
Transitioning notes for administration topics
When you upgrade the application server to a newer version, be aware of the following settings that you might want to change.
- Application Server property settings for a web server plug-in
The Use read/write timeout setting on the administrative console corresponds to the ServerIOTimeout attribute in the plugin-cfg.xml file. The default value for this setting is different from the default value in previous versions of the product.
- BLAManagement command group using wsadmin.sh
In the WAS v7 Feature Pack for OSGi Applications and Java Persistence API 2.0, bundle changes to the asset are applied by restarting the business-level application. In v8, these changes are applied by updating the composition unit. The new approach in v8 means that many bundle changes can be applied in place, without restarting the running business-level application.
To enable this new approach, the UpdateAppContentVersionsStep parameter has been replaced with the UpdateAppContentVersions parameter, and instead of restarting the business-level application you run the editCompUnit command with the CompUnitStatusStep parameter.
- ClusterConfigCommands command group
The default value for the -resourcesScope parameter has been changed to cluster for v8. The default value is both in Versions 7 and 6.1.
- Configure core group memory utilization
This property includes the functionality of the Transport buffer size property that exists for v6.x cells.
- Configure the service log
In WAS Version 7 and earlier, the service log is enabled by default. In WebSphere Application Server v8 and later, however, the service log is disabled by default. Configure your servers to use HPEL log and trace mode and use the HPEL API if be able to merge log file content from multiple servers. Use the HPEL log and trace mode and use the HPEL LogViewer command if be able to render log content in Common Base Event XML format.
- Create application-specific and trust service-specific bindings using wsadmin
In WAS v7.0 and later, the security model was enhanced to a domain-centric security model instead of a server-based security model. The configuration of the default global security (cell) level and default server level bindings has also changed in this version of the product. In the WAS v6.1 Feature Pack for Web Services, you can configure one set of default bindings for the cell and optionally configure one set of default bindings for each server. In v7.0 and later, you can configure one or more general service provider bindings and one or more general service client bindings. After we have configured general bindings, you can specify which of these bindings is the global default binding. We can also optionally specify general binding that are used as the default for an application server or a security domain.
- Custom property settings
The following list displays three custom properties that are no longer necessary in v6.1 and later. The product now offers these properties as pre-configured options to replace the properties in the following list:
- validateNewConnection -- replaced by Pretest new connection
- validateNewConnectionRetryCount -- replaced by Number of retries
- validateNewConnectionRetryInterval -- replaced by Retry interval
To avoid any configuration problems, set the properties through the console options, and do not enter them as custom properties.
To view the console panel with these options, click Data sources > data_source > WAS data source properties in the administrative console.
- Enable DB2 Performance Expert Extended Insight
The enableEndToEndMonitoringFeature custom property is deprecated in the WAS V7.0.0.1 environment, because PEEI feature is enabled by default. PEEI can be controlled by the disableEndToEndClientMonitoringFeature custom property, which has a default of false. If you use the enableEndToEndMonitoringFeature custom property, Application Server will issue an OBSOLETE_PROPERTY_SPECIFIED warning.
- Implement web services applications with JAX-WS
Starting with WAS v7.0 and later, Java EE 5 application modules (web application modules version 2.5 or above, or EJB modules version 3.0 or above) are scanned for annotations to identify JAX-WS services and clients. However, pre-Java EE 5 application modules (web application modules version 2.4 or before, or EJB modules version 2.1 or before) are not scanned for JAX-WS annotations, by default, for performance considerations. In the v6.1 Feature Pack for Web Services, the default behavior is to scan pre-Java EE 5 web application modules to identify JAX-WS services and to scan pre-Java EE 5 web application modules and EJB modules for service clients during application installation. Because the default behavior for WAS Version 7.0 and later is to not scan pre-Java EE 5 modules for annotations during application installation or server startup, to preserve backward compatability with the feature pack from previous releases, configure either the UseWSFEP61ScanPolicy property in the META-INF/MANIFEST.MF of a web application archive (WAR) file or EJB module or define the Java virtual machine custom property, com.ibm.websphere.webservices.UseWSFEP61ScanPolicy, on servers to request scanning during application installation and server startup.
To learn more about annotations scanning, see the JAX-WS annotations information.
- Configure web server plug-ins
In WAS v7 and earlier, you use the Plug-ins installation wizard to install the plug-in module, configure the web server for communicating with the application server, and create a web server configuration definition in the application server if possible. In WAS v8 and later, first install the Web Server Plug-ins, the web server, and the WebSphere Customization Toolbox; then, you run the Web Server Plug-ins Configuration Tool that is contained in the toolbox to configure the web server to communicate with the application server and, if possible, create a web server configuration definition in the application server. If you know how to set up your initial web server and plug-in configuration manually, you can do so in Version 7 and v8.
- JavaServer Faces migration
The default JavaServer Faces implementation is now MyFaces 2.0, which provides full compliance with the updated JSF 2.0 specification.
- JavaServer Pages specific web container custom properties
Most properties that are defined in a JSP property group apply to an entire translation unit, for example, the requested JSP file that is matched by its URL pattern and all the files it includes using the include directive. The exceptions are the page-encoding and is-xml properties, which apply separately to each JSP file that is matched by its URL pattern.
To revert the behavior to a setting before WAS v8.0, set the custom property to true to apply the two property values to the entire translation unit.
- Java virtual machine custom properties
- Start in WAS v8, the SOAP with Attachments API for Java (SAAJ) methods SOAPMessage.getSOAPHeader and getSOAPBody now throw a SOAPException if there is no corresponding element in the message. Previously these methods would return a null if there was no corresponding element in the message. A System property is provided to revert the behavior to return null rather than throw an exception. The property is com.ibm.websphere.webservices.soap.enable.legacy.get.behavior. The default value of the property is null which is interpreted as false.
To revert the behavior to returning a null, set the property to the String value true. Note that the previous behavior of returning null is not compliant with the SAAJ specification.
- In later versions, by default, the <required> attribute is evaluated along with all of the other attributes to determine if a cache ID is generated.
- Use the jaxws.soapfault.local.exceptions.disable property to prevent locally occurring exceptions on a JAX-WS client from being treated as a SOAPFault. By default, if a JAX-WS client encounters a local exception, a SOAPFault is created for the exception. An example of a local exception is a ConnectException caused by an invalid host or port. The relevant JAX-WS application handlers handleFault methods are called with the SOAPFault, then a SOAPFaultException is thrown back through the JAX-WS client's invoked method.
By setting this property to true, local exceptions create an empty message. The relevant JAX-WS application handlers handleMessage methods are called with the empty message, then a WebServiceException is thrown back through the JAX-WS client's invoked method. This was the behavior in previous releases.
The default value for this property is false.
- Use the webservices.unify.faults property to disable SOAP Fault unification for JAX-WS and JAX-RPC. By default, the web service runtime environments (both JAX-WS and JAX-RPC) unify all faults generated by the runtime environment to a single type of fault containing a faultcode of Server and a faultstring of Internal Error. The faults do not contain any additional information identifying the actual cause of the fault. The unification of faults results in a more secure system, preventing detailed information regarding why inbound message processing failed from being returned to message senders.
The default value for this property is true, which causes faults to be unified. If the applications require fault details, then you can set this property to false to disable fault unification, allowing detailed information to be returned in faults. Note that regardless of the property setting, checked exceptions defined in the WSDL and thrown by a service provider method implementation are not unified. Additionally, detailed information regarding the cause of the fault are logged if trace is enabled, regardless of the setting of this property.
This property and the associated behavior is new in v8 of the product.
- Java virtual machine settings
Version 7.0 and previous versions use the optthruput garbage collection algorithm. In Version 8.0, the default is set to the generational garbage collector. This garbage collection algorithm can increase performance. The following JVM option is added to the WAS startup command: -Xgcpolicy:gencon. If you prefer to use the optthruput garbage collection alogorithm, you can remove -Xgcpolicy:gencon and the default optthruput garbage collection algorithm is used.
- JCA life cycle management
When an application attempts a connection to a paused data source, the connection manager raises an SQLException with an error code of com.ibm.websphere.rsadapter.WSDataSource.ERROR_CONNECTION_POOL_IS_PAUSED.
- Log performance data with Tivoli Performance Viewer
In v8, the Tivoli Performance Viewer graph uses Dojo Technology for plotting the performance activity rather than the Scalable Vector Graphics (SVG) format. The Dojo format provides a better user experience and is more processor and memory efficient for the application server. The SVG format is still supported but is deprecated in v8 of this product.
To use the SVG format and image format, set the JVM property to false; for example: com.ibm.websphere.tpv.DojoGraph=false. If the property is set to false, Dojo is disabled and Tivoli Performance Viewer displays interactive graphics using the SVG format or non-interactive graphics using the JPG format. By default, this property is set to a value of true to use the Dojo format.
- Manage policy set attachments using wsadmin
The application and system/trust values for the -attachmentType parameter are deprecated. Specify the provider value in place of the application value. For system policy set attachments, specify the provider value for the attachmentType parameter. For a trust client attachment, or a WSNClient attachment, specify the client value for the attachmentType parameter.
- Migration scenario for the getHeaderNames method
To ensure the most successful migration, the return type of the StoredResponse getHeaderNames method was changed to com.ibm.websphere.servlet.response.CollectionEnumerationHybrid <String>. This type implements both Collection <String> and Enumeration.
- Object Request Broker custom properties
The default for the com.ibm.CORBA.ConnectTimeout property for v8 is 10. Before v8, the default is 0.
- SCA programming model support in OSGi applications
If the application previously used SDO version 1.0.0, change the Import-Package to:
Import-Package: commonj.sdo;version="[2.0.0,3.0.0)"- Secure web services using Security Markup Assertion Language (SAML)
In WAS Version 7.0.0.7 and later, to use the SAML default policy sets, sample SAML general bindings, and JAAS login configuration settings for SAML, you were required to set up the SAML configuration, which is stored in a profile. In WAS v8.0, the SAML feature is available in all profiles by default.
- Session Initiation Protocol overload protection
If you are migrating from a previous version of the product, the migration tools provided with the product do not migrate the setting for this custom property when they migrate the other configuration settings for the system. If you used migration tools to migrate the configuration settings, and need to have MTF enabled, use the administrative console to specify a value for the maxThroughputFactor custom property after you complete your migration.
- SIP container custom properties
The JSR 289 API requires that for any SIP URI that contains address parameters, enclose the SIP URI in angle brackets. The default behavior of the sip.jsr289.parse.address property is compliant with JSR 289 and correctly parses the address parameter as if it belongs to the SIP address. For example, when the property is set to false, the SIP address, sip:fred@acme.com;param1=1, is converted to <sip:fred@acme.com;param1=1>. When the property is set to true, the SIP address sip:fred@acme.com;param1=1, is converted to <sip:fred@acme.com;>param1=1.
- SIP proxy server custom properties
If you are migrating from a previous version of the product, the migration tools provided with the product do not migrate the setting for this custom property when they migrate the other configuration settings for the system. If you used migration tools to migrate the configuration settings, and need to have MTF enabled, use the administrative console to specify a value for the maxThroughputFactor custom property after you complete your migration.
- SOAP with Attachments API for Java interface
Start in WAS v8, the SOAPMessage.getSOAPHeader and getSOAPBody methods now throw a SOAPException if there is no corresponding element in the message. A System property is provided to revert the behavior to return null rather than throw an exception. The property is defined in com.ibm.websphere.webservices.soap.IBMSOAPMessage.ENABLE_LEGACY_GETSOAP_BEHAVIOR as a String value of com.ibm.websphere.webservices.soap.enable.legacy.get.behavior. The default value of the property is null which is interpreted as false. To revert the behavior to returning a null, set the property to the String value true. The previous behavior of returning null is not compliant with the specification.
- Tune the IBM virtual machine for Java
While each policy provides unique benefits, for WAS V8, gencon is the default garbage collection policy. Previous versions of the application server specify that optthruput is the default garbage collection policy.
- Use the Administration Thin Client
If you are using the Oracle JDK, set the com.ibm.websphere.thinclient JVM property to true.
- Web server plug-in request and response optimization properties
The Accept content for all requests setting on the administrative console corresponds to the AcceptAllContent attribute in the plugin-cfg.xml file. For v8, the default for the setting is checked and for the attribute is true. Before v8, the default for the setting is not checked and for the attribute is false.
- Web services migration best practices
Existing JAX-RPC applications wanting to use JAX-WS features must be rewritten using JAX-WS.
- Work manager settings
The work request queue is a buffer that holds scheduled work objects and can be a value of 1 or greater. The thread pool pulls work from this queue. If you do not specify a value or the value is 0, the queue size is managed automatically. When the queue size is managed automatically, it is computed as the larger of (maximum_number_of_threads) or 20. Large values can consume significant system resources.
Reference topic