Network Deployment (Distributed operating systems), v8.0 > New features
What is new in WebSphere Application Server v8
Overview
See also:
- installers
- installers on IBM i
- installers on z/OS
- administrators
- security specialists
- developers
- troubleshooters
Broad programming model and standards support
WAS v8.0 supports the following for leading open standards and programming models:
- Java Batch programming model
- Communications Enabled Applications (CEA) programming model
- XML programming model
- Java Enterprise Edition 6.0 support
- OSGi applications programming model
- Service Component Architecture (SCA) programming model
- Session Initiation Protocol (SIP) programming model
See the Samples documentation to learn more about many of the capabilities that are available by using these programming models and standards.
Use the batch programming model to build robust batch applications to perform long running bulk transaction processing and computationally intensive work. This product provides two distinct programming model types, one for transactional batch applications and another for computationally intensive batch applications. Both jobs run as background jobs and these types are described by a job control language and are supported by infrastructure components specially designed to manage batch workloads. Key benefits include but are not limited to the following capabilities:
Batch Framework Class library that provides batch application artifacts, including generic job steps and batch data streams for many common data access technologies, such as files, data sets, JDBC, PureQuery, JPA, and others. XML Job Control Language (xJCL) Job steps that comprise batch jobs. Batch container checkpoint and restart Infrastructure engine that runs batch jobs defined by xJCL. Supports job checkpoint and restart for transactional batch jobs. The batch container runs inside designated WASs. Job scheduler with job management console Batch job manager. Input xJCL jobs to the job scheduler, which in turn selects the appropriate batch containers to use to run the jobs. The job scheduler runs inside a designated WAS, where it keeps job histories and supports job visibility and control through a job management console. Using the job management console, you can view job lists, job logs, and perform actions against jobs, such as cancel and restart.
Communications Enabled Applications (CEA) programming modelCEA support provides REST and Web Service interfaces to enable existing applications to quickly take advantage of communications features involving phone calls and web collaboration. Support includes several Dojo-based widgets for easy development of web and mobile browser-based, communication-enhanced applications.
Use the XML support provided with this product to work with web applications that process data using new standard XML technology like Extensible Stylesheet Language (XSLT 2.0), XML Path Language (XPath 2.0), and XML Query Language (XQuery 1.0). These new and updated W3C XML standards offer application developers numerous advanced capabilities for building applications that process XML data. Specific benefits delivered in the XPath 2.0, XSLT 2.0, and XQuery 1.0 standards include the following:
- XML application development and improved developer productivity
- Ability to query large amounts of data stored in XML outside of a database with XQuery 1.0
- XML-application performance through new features introduced in the W3C specifications to address previous shortcomings
- XML-application reliability with new support for XML schema-aware processing and validation
Java Enterprise Edition 6.0 supportUse continued programming model productivity and ease-of-use enhancements through support for portions of key Java EE 6.0, including the following:
- Support for the EJB 3.1 specification, which includes but is not limited to the following key capabilities:
- Calendar-based timers
- Singleton session beans
- Asynchronous EJB method invocation
- Unit test your EJB 3.1 application using a stand-alone Java 2 Platform Standard Edition (J2SE) environment
- Support for the Contexts and Dependency Injection (CDI) 1.0 specification at a runtime level that uses the Apache OpenWebBeans 1.x implementation. Using CDI, you are no longer required to write logic to maintain objects within a context. CDI provides integration between web application expression language beans and enterprise beans. We can declare an EJB to use within the context of an HTTP session and use in a scriptlet with a few lines of annotations.
Support for the CDI specification includes but is not limited to the following key capabilities:
- Typesafe dependency injection between components.
- Interceptors and decorators to extend the behavior of components using a typesafe interceptor bindings.
- An event notification model for loosely coupled components.
- A system programming interface (SPI) that enables portable extensions to integrate cleanly with the Java EE environment.
- A web conversation context in addition to the standard web contexts, request, session, and application.
- Integration with the Unified Expression Language (EL) enables you to use EJB 3.0 components as JavaServer Faces (JSF) managed beans; thereby unifying the JSF and EJB component models.
- The EJB component model is enhanced with contextual life cycle management.
- Support for the JCA v1.6 specification which includes but is not limited to the following key capabilities:
- Use annotation support in Resource Adapters (RA) to define and configure common elements. We can use annotations in conjunction with, or instead of, traditional XML deployment descriptors.
- Support for bean validation. Resource Adapters can also use constraint annotations to easily perform validation of bean fields.
- Support for generic work context to provide a standard means for systems to communicate with a resource adapter to associate context with work submission or message delivery.
- Support for security context provides end-to-end security for external systems to communicate with resource adapters including propagation of a security principal to a message endpoint and execution of work in the security context of an established identity.
- Support for the Java Persistence API (JPA) 2.0 specification. The JPA for WAS implementation is based on Apache OpenJPA 2.x and includes the type-safe Dynamic Criteria API and associated Metamodel API, integration with the new bean validation feature, and object relational mapping enhancements for associated JPQL updates. Runtime environment enhancements, such as pessimistic lock manager, second level (L2) cache, and performance are also included.
- Support for Dynamic cache JPA L2 cache provider for OpenJPA 2.0. A new OpenJPA plug-in is provided to enable you to use the dynamic cache service as an L2 cache provider for OpenJPA 2.0. The DynaCache OpenJPA plugin provides advanced monitoring and administration of the data and query caches along with multi-JVM caching that leverages the data replication service. All cache monitoring tools in the application server, such as the cache monitor and the DynaCache MBean, work with the OpenJPA L2 data and query caches.
- Support for key elements of Web Application Technologies, including:
- JavaServer Faces (JSF) 2.0 at a runtime level that uses the Apache MyFaces 2.0 implementation
- JSP 2.2 and Unified Expression Language (EL) 2.2 specifications
- Java Servlet 3.0 specification
- The dynamic cache service provides servlet caching support for the Java Servlet 3.0 specification.
- Support for the Web Services for Java EE (JSR 109) v1.3 specification.
- Support for the JAX-WS v2.2 specification, which includes but is not limited to the following key capabilities:
- Support for specifying transport-level security for WSDL data acquisitions on the client side.
- Support for specifying policy sets and bindings for a service reference that is different from the policy set attachment for the service.
- Support for enabling and configuring WS-Addressing support on a client or service by adding WS-Policy assertions into the WSDL document.
- Support for the JAXB v2.2 specification.
- Support for Java API for RESTful Web Services (JAX-RS) 1.1 for server-side REST applications.
- Support for the HTTP servlets profile aspects of JSR 196: Java Authentication SPI for Containers (JASPI) specification. This support enables third-party security providers to handle the Java EE authentication of HTTP request and response messages destined for web applications .
- Support for java:global, java:app, and java:module JNDI names in applications that are deployed on stand-alone servers or managed servers where the entire application is deployed on one server.
- Support for Bean Validation 1.0 enables you to place the validation logic in a single location and use it throughout the application.
OSGi applications programming modelThe OSGi applications programming model helps you develop and deploy modular applications that use both Java EE and OSGi technologies. We can design and build applications and suites of applications from coherent, multiversion, reusable OSGi bundles. Taking advantage of OSGi reduces complexity and provides control and flexibility to maintain and evolve the applications. Support for OSGi applications includes the following capabilities:
- Use the OSGi Enterprise Specification 4.2 Blueprint Container for declarative assembly of components. For unit test outside of the application server.
- Compose isolated enterprise applications using multiple, multiversion bundles that have dynamic life cycles.
- Deploy applications in archive files that contain only application-specific content and metadata that points to shared bundles. This means that application archive files can be smaller and that only one copy of each shared bundle is loaded into memory.
- Extend application asset life, and improve reuse by deploying existing web application archives (WAR files) as OSGi web application bundles (WABs).
- Support applications that use versions of common utility classes, distinct from the versions used internally by WAS, without having to configure Java EE application class loader policies.
- Use using OSGi to simultaneously load multiple versions of classes in the same application.
- Use an integrated bundle repository, and configure the locations of external repositories to support reuse through the provisioning of bundles to applications.
- Deploy web applications that use the Java Servlet 3.0 Specification.
- Extend and scale running applications, as business needs change, without changing the underlying application.
- Update a running application, only impacting those bundles affected by the update.
Service Component Architecture (SCA) programming modelUse the SCA support to increase reuse and accelerate innovative application delivery and management in Service-Oriented Architecture (SOA) environments. Key capabilities include:
- Extends existing application asset life and speed application delivery by creating service compositions using POJOs, EJB 2.1, EJB 3.0, EJB 3.1, OSGi applications and Spring components, Java Servlets, and JavaScript for AJAX.
- Speeds application integration efforts through binding support for Web Services, JMS, SCA and EJB 2.0, EJB 2.1, EJB 3.0, EJB 3.1 and OSGi applications components. SCA is the preferred approach for exposing OSGi applications for use with other programming models, such as JMS and EJB.
- Enables business logic to be exposed to Web 2.0 applications through JSON-RPC & ATOM web feeds.
- Speeds the integration of data across disparate systems through Java Architecture for XML Binding (JAXB) or Service Data Objects (SDO) 2.1.1 data representation.
- Deployment productivity through flexible service deployment as a standard Java Archive (JAR) .
- Separates business logic from implementation technology choices to enable flexible deployment options and ease future maintenance.
- Is derived from open SOA Collaboration (osoa.org) SCA 1.0 specifications.
- Is based on the open-source Apache Tuscany project with IBM and improves integration and ease of use.
Session Initiation Protocol (SIP) programming modelIntegrated SIP servlet support speeds development of converged communication-enhanced applications. This product includes support for SIP Servlet Specification 1.1, also referred to as JSR 289. Key benefits include but are not limited to the following capabilities:
- Support for advanced application routing to provide application developers control over how messages are routed between applications.
- Support for multihomed environments to simultaneously support multiple interfaces from one cluster of SIP containers.
- Support for converged web services in a SIP container.
- A new utility object is provided with JSR 289 that makes it easier to build back-to-back user agent applications (B2BUA Helper) .
- Support for SIP annotations and resource injection.
- Support for standard interfaces for building converged application that incorporate both HTTP and SIP.
- Support for the Asynchronous Invocation API that provides a mechanism to send work to a SIP application session that can reside on any server in the cluster.
- Support for the RFC 3327 (Path), and RFC 3581 (Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing) is included. Also, partial support for RFC 5626 (Managing Client-Initiated Connections in SIP) is provided.
Application foundation
Installation and maintenance
Use Installation Manager to install.
- Installation Manager is a single installation program that loads and installs product components from a structured collection of files called a repository.
- Determine available product and maintenance packages, install selected packages after prerequisite and interdependency checking, and uninstall or roll back previously installed packages.
- Use remote or local repositories to install, modify, or update WAS, WAS v8s and related components such as:
- Application Client for IBM WAS
- Pluggable Application Client for IBM WAS
- IBM HTTP Server v8.0
- WebSphere Customization Toolbox
- Edge Components
- WebSphere DMZ Secure Proxy Server
- Web Server Plug-ins
- Install and apply maintenance on remote computers using centralized installation manager (CIM).
In WAS v8.0, you can use CIM from either the administrative console or wsadmin.sh to install Installation Manager instances, update Installation Manager with a repository, and manage Installation Manager offerings. CIM functions for managing WAS v8.0 are integrated with and performed by the job manager as jobs.
Productivity
- Resource workload routing includes data source and connection factory fail over and subsequent fail back from a predefined alternate or backup resource. This function enables applications to easily recover from resource outages, such as database failures, without requiring you to embed alternate resource and configuration information. We can tailor the resource fail over and fail back flexible configuration options to meet the environment-specific and application needs.
- Support for connecting to multi-instance WebSphere MQ queue managers. We can provide host and port information in the form of a connection name list, which a connection factory or activation specification uses to connect to a multi-instance queue manager.
- Support for singleton session enterprise beans as Java API for XML Web Services (JAX-WS) endpoints
- Specify a policy set and bindings for a service reference that is different from the policy set attachment for the service.
- Specify CustomProperties policy and binding to set generic properties that are not supported in other policy types. The CustomProperties policy provides an alternative way to set a binding property instead of using JAX-WS to set the property on the BindingProvider object.
- Development of server-side REST applications using Java API for RESTful Web Services (JAX-RS).
- Support for using Java Contexts and Dependency Injection (JCDI) with JAX-RS. We can use JAX-RS root resources and providers in a JCDI-enabled web application archive. As part of Java EE 6, you can take advantage of the JCDI feature to make applications easier to develop while increasing maintainability.
- Extend the interactivity of Enterprise and Web commerce applications with Communications Enabled Applications (CEA) for integrated telephony and collaborative web services. Using a single core application, you can enable multiple modes of communication. The CEA capability delivers call control, notifications, and interactivity and provides the platform for more complex communications.
- Install, uninstall, and update enterprise application files by adding them to a monitored directory.
- Connect the applications to the latest versions of a wide array of industry-leading databases to enable maximum deployment flexibility. WAS v8.0 has been tested with the following new databases and JDBC drivers:
- Derby 10.5
- DataDirect Connect for JDBC driver V4.2
- Microsoft SQL Server Enterprise 2008 R2
- Microsoft SQL Server JDBC Driver, version 3.0
- Oracle 11g Standard Edition and Enterprise Release 2
- Oracle 11g Release 2 JDBC Driver
Security
We can securely build and deliver applications and environments that use new capabilities in WAS v8.0 including the following features:
- Support for OASIS Web Services Security SAML Token Profile 1.1 usage scenarios that use SAML Assertions as security tokens in web services SOAP security to exchange client identity and other security information across security domains.
- Support for JSR 196: Java Authentication SPI for Containers (JASPI) specification, which enables third-party security providers to handle the Java EE authentication of HTTP request and response messages destined for web applications .
- Support for configuring federated repositories at the domain level in a multiple security domain environment.
- Propagate an LtpaToken2 cookie to downstream web single sign-on applications using an API.
- Import a LTPA key set from a file and add it to the security runtime and configuration by using the importLTPAKeys command. We can also use the exportLTPAKeys command to export a LTPA key set that is currently being used by the runtime to a file.
- Generate SAML tokens and to propagate SAML tokens in SOAP messages using the Web Services Security application programming interfaces (WSS API). For web services clients, this is an alternative solution to using policy set attachments. Both SAML bearer subject confirmation method and SAML sender-vouches subject confirmation methods are supported.
- Request SAML tokens from an external Security Token Service (STS) and then propagate the SAML token in web services request messages from a web services client using WSS APIs. Both SAML bearer subject confirmation method and SAML sender-vouches subject confirmation methods are supported.
- Manage self-issue SAML token configuration using wsadmin commands .
- Support for all security updates as defined in the Java Servlet 3.0 specification (JSR-315), including the new servlet security annotations, use of new programmatic security APIs, and the dynamic updating of the servlet security configuration.
- Generate and consume tokens using WS-Trust Issue and WS-Trust Validate requests for JAX-WS web services that use Web Services Security. As a result of these requests, the login module issues, validates, or exchanges tokens with a WS-Trust Security Token Service, such as the service provided with the IBM Tivoli Federated Identity Manager.
- Enhancements to the security auditing service to assist with audit compliance.
- Security configuration report now includes information about session security, web attributes, and the HttpOnly setting to enable you to get a more complete view of your server security settings
- More security features for the server are enabled by default for enhanced security hardening including session security and requiring SSL for IIOP communications.
- New browser attribute for single sign-on (SSO) LTPA cookies to prevent client-side applications (such as Java scripts) from accessing cookies to mitigate some cross-site scripting vulnerability.
High performance
- Provide high availability for a WebSphere MQ queue manager that is connected to WAS by specifying multiple connection names in your WAS definition for the WebSphere MQ link sender channel. If the active gateway queue manager fails, the service integration bus can use this information to reconnect to a standby gateway queue manager.
- Enhance performance by disabling WebSphere MQ functionality in WAS, provided you do not need to take advantage of any WebSphere MQ functionality. By default, when a WAS process or an application client process starts, and while this process is running, an amount of processing is done to support WebSphere MQ-related function, regardless of whether any WebSphere MQ-related function is ever used.
- A unified clustering framework that brings workload balancing, dependability, and other benefits to the application servers in your heterogeneous environment.
Deployment Environments
Management
- Complete job manager actions and run jobs from a dmgr. The dmgr administrative console has Jobs navigation tree choices similar to those in the job manager administrative console.
- Collect Java dumps and core files to help diagnose memory-related or application server CPU utilization problems.
- Use the Reliability Availability and Serviceability (RAS) granularity capabilities to assign different RAS attribute values to different sets of requests within the same application server. This capability improves the reliability, availability, and serviceability of the application server and the requests it processes.
- Use batch processing capabilities provided in the application server to accommodate applications that must perform batch work alongside transactional applications.
- Store and access log, trace, System.err, and information produced by the application server or the applications quickly and conveniently using the High Performance Extensible Logging (HPEL) log and trace framework. HPEL logs can also be viewed with the new administrative console log viewing functionality, which uses Web 2.0 technology to provide a mechanisms to filter logs that are local or remote.
- Quickly recover a damaged node using the -asExistingNode parameter of the addNode command.
- Access data from multiple components without causing timeouts or other unwanted situations by sharing locks between transaction branches. We can share locks between transaction branches when accessing data where multiple DB2 JDBC connections exist between databases that are involved in the same transaction, from the same server, or from different servers.
- Define and register a remote host target with the job manager using the registerHost command. Unlike targets that are WAS profiles and are registered using the registerWithJobManager command at the dmgr or admin agent, a remote host target is not required to have any WAS products installed.
- Enhance the output of application properties files by running the AdminTask extractConfigProperties command with the SimpleOutputFormat option. The option enables you to easily locate and edit application property values.
- Use the new enableClientModule option to deploy client modules.
- View an SCA composite definition by exporting it to a file using scripting, in addition to viewing the SCA composite definition in the administrative console. By exporting an SCA composite definition, you can preserve information about the composite.
- Export WSDL and XSD documents that are used by an SCA composition unit , in addition to using wsadmin scripting.
- Submit a job to manage profiles using the manageprofiles job of the job manager to create, augment, or delete a WAS profile.
- Use the job manager to install and apply maintenance on remote machines from the administrative console or wsadmin.sh using centralized installation manager (CIM).
- Install Installation Manager so that it can be used by a group of users. We can install Installation Manager for use as a single user installation or a group installation.
- Create and manage target groups using the TargetGroup command with wsadmin.sh.
Migration
Migrate the application server environment using the WASPreUpgrade and WASPostUpgrade command-line tools or the Migration Management tool GUI. We can migrate from WAS v6.0, 6.1, and 7.0 to WAS v8.0.
Integrated tooling
WAS, v8.0 includes the following highlights to accelerate application developer productivity through samples, and integrated and optimized tooling:
Samples
WAS V8.0 samples are new and improved. Take advantage of the online samples to learn about many of the technologies that are available in this product, including Service Component Architecture (SCA), Communications Enabled Applications (CEA), OSGi applications, XML, and the Internationalization service . Even though you can continue to find key samples installed with the product, additional samples are available online, and you can access the samples in the information center.
Integrated and optimized developer tooling
Accelerate developer productivity through integrated and optimized developer tooling. Rational Application Developer v8.0.3 provides capabilities for you to develop applications, assemble, and deploy the applications to WAS v8.0, and includes a rapid-deployment feature for testing applications in the v8.0 runtime environment.
If you use Rational Application Developer tools, obtain compatible versions of both Rational Application Developer and WAS v8.0 from the following location: IBM Rational Application Developer for WebSphere Software .
Related
Overview and new features for administering applications and their environments
Overview and new features for securing applications and their environment
Overview and new features for developing and deploying applications
Overview and new features for monitoring
Overview and new features for tuning performance
Overview and new features for troubleshooting
Release notes
Guided activities for the administrative console
What is new for IBM HTTP Server
Samples documentation
Specifications and API documentation
Deprecated, stabilized, and removed features
What is new for installers
What is new for administrators
What is new for security specialists
What is new for developers
What is new for troubleshooters
Support site - Fixes by version
Web resources for learning
Rational Application Developer documentation Concept topic