IBM WebSphere Application Server explained

IBM WebSphere Application Server
Developer:IBM
Released:1.0 [1]
Latest Release Version:9.0
Programming Language:Java
Operating System:AIX, Windows, Solaris, Linux, HP-UX, z/OS, IBM i, VMWare ESXi
Platform:x86, x86-64, PowerPC, SPARC, IA-64, zSeries
Language:English, French, German, Brazilian-Portuguese, Czech, Hungarian, Italian, Japanese, Korean, Polish, Russian, Spanish, Simplified Chinese, Traditional Chinese[2]
Genre:Java EE Container
License:Proprietary
Website:https://www.ibm.com/cloud/websphere-application-server

WebSphere Application Server (WAS) is a software product that performs the role of a web application server. More specifically, it is a software framework and middleware that hosts Java-based web applications. It is the flagship product within IBM's WebSphere software suite. It was initially created by Donald F. Ferguson, who later became CTO of Software for Dell. The first version was launched in 1998. This project was an offshoot from IBM HTTP Server team starting with the Domino Go web server.

Architecture

WebSphere Application Server (WAS) is built using open standards such as Java EE, XML, and Web Services. It runs on the following platforms: Windows, AIX, Linux, Solaris, IBM i and z/OS. Beginning with Version 6.1 and now into Version 9.0, the open standard specifications are aligned and common across all the platforms. Platform exploitation, to the extent it takes place, is done below the open standard specification line.

It works with a number of Web servers including Apache HTTP Server, Netscape Enterprise Server, Microsoft Internet Information Services (IIS), IBM HTTP Server for i5/OS, IBM HTTP Server for z/OS, and IBM HTTP Server for AIX/Linux/Microsoft Windows/Solaris. It uses port 9060 for connection as the default administration port and port 9080 as the default website publication port.

The "traditional" (as opposed to the Liberty variant) WebSphere Application Server platform is architected as a distributed computing platform that could be installed on multiple operating system instances, collectively referred to as a WebSphere cell. Management of all the instances could be done from a management node – called the Deployment Manager – within the cell, and deployment of applications – including the ability to perform rolling updates – could be pushed out to a subset of the cell nodes. The configuration information for the entire cell (how many nodes there are, what applications are deployed to each, how the applications are configured, session management and details of other resources, etc) are tracked in XML configuration files that are distributed throughout the cell to every node. Over the product lifetime, the implementation of these configuration details went from files, to database-based (around v3.5), and back again to files (around v5).

Given the distributed install, and given also that management of the entire cell required management of local effects (such as deployment, logging configuration, etc), the overall effect was that WAS security could often override local security if not configured properly. For example, in earlier versions of the management console, there was an option that was available to specify the location of a log file on a remote node. This could be used to read/write to an arbitrary file on that remote node. For this reason, it was not advisable to run the application server / node agent processes with root privileges, and starting with v6, security configuration defaulted out of the box to a secure state (even if this meant that enabling desired functions required manual changing of the defaults). Originally, all nodes of the cell were in a single domain for management as well as application security. However, starting with v6.1, there can be multiple security domains and administrative and application security can be separate.

Many IBM products (such as IBM InfoSphere DataStage) use WebSphere Application Server as the base platform for their infrastructure.

Version history

This table is derived from the IBM Knowledge Center: Programming model APIs and specifications[3] and the WebSphere product lifecycle dates[4]
WebSphere versionWebSphere Liberty (Continuous Delivery)9.08.5.58.5 Liberty Profile8.58.07.06.16.05.15.04.03.5
Latest Fix Pack22.0.0.79.0.5.208.5.5.248.5.5.9 (the next is 16.0.0.2)8.5.0.28.0.0.157.0.0.456.1.0.476.0.2.435.1.1.195.0.24.0.73.5.7
Release date5 July 2022July 5, 2024July 31, 2023June 15, 2012June 15, 2012[5] June 17, 2011October 17, 2008June 30, 2006December 31, 2004January 16, 2004January 3, 2003August 15, 2001August 31, 2000
End of supportJune 24, 2016 (with the release of 16.0.0.2)[6] April 30, 2018[7] April 30, 2018[8] September 30, 2013[9] September 30, 2010September 30, 2008September 30, 2006April 30, 2005November 30, 2003
Java SE6 (until 17.0.0.2), 7, 7.1, 8 and 11 (since 19.0.0.1)[10] 86 (until 8.5.5.13), 7, 7.1 (since 8.5.5.2) and 8 (since 8.5.5.9)[11] 6, 7, 7.1 (since 8.5.5.2) and 8 (since 8.5.5.5)6 and 7[12] 6651.41.41.31.31.2
Java EE6 (web profile) and 7[13] 766 (web profile) and 7 (since 8.5.5.6)6651.41.41.31.31.21.2 (not fully compliant)
Servlet3.0, 3.1, 4.03.13.03.13.03.02.52.42.42.32.32.22.1&2.2
JSP2.2, 2.32.32.22.32.22.22.12.02.01.21.21.10.91 and 1.0&1.1
JSF2.0, 2.2, 2.32.22.02.22.02.01.21.11.0
EJB3.1 (lite), 3.23.23.13.23.13.13.03.0[14] 2.12.02.01.11.0
JMS1.0, 2.02.01.11.11.11.11.11.11.11.02
JDBC4.0, 4.14.14.14.14.04.04.03.03.0
JPA2.0, 2.12.0, 2.1[15] 2.02.12.02.01.01.01.0

IBM has shipped several versions and editions of WebSphere Application Server.

In the first beta versions, WebSphere had been called Servlet Express.[16]

Although the versioning scheme x.1 and x.5 would usually indicate a minor release in the software industry, WebSphere v6.1 and v5.1 are major releases, just like WebSphere v8.5 and v3.5.[17]

WebSphere Liberty Versions

WebSphere Liberty was introduced into WebSphere Application Server V8.5, originally referred to as the WebSphere Liberty Profile, with the same version numbering scheme as the rest of WAS. In 2016 IBM introduced a new fix pack numbering scheme for Liberty to reflect a move to continuous delivery of Liberty in a single support stream – after V8.5.5.9, the Liberty numbering scheme was rebased starting at 16.0.0.2 to reflect Year and Quarter of the Liberty fixpack release. A common level of WebSphere Liberty is distributed as part of the both Version 8.5 and Version 9.0 of WebSphere Application Server. The Liberty continuous delivery model was introduced to allow new capabilities and features to be delivered on a more frequent basis.[18]

Version 9.0

WebSphere Application Server V9.0[19] adds Java EE 7 and Java SE 8. This brought WAS Application Server traditional up to the same level of Java EE as WebSphere Liberty had offered since 2015. This was the first release of WAS to be made simultaneously available as both an on-premises offering and through WebSphere as a Service on IBM Cloud.[20]

WebSphere Liberty is increasingly the focus for new cloud native applications, with Liberty 16.0.0.2 being the version of Liberty included with WAS Version 9.0.0.0. Liberty 16.0.0.3 adds support for the new MicroProfile programming model[21] that simplifies cloud native application development using standard Java EE technologies. Flexible access to WebSphere Liberty is provided through additional distributions as a docker image[22] and Cloud Foundry buildpack.[23] In September 2017 IBM moved ongoing development of Liberty into a new Open Source project called Open Liberty.[24] Open Liberty is the source for the Liberty runtime in WebSphere Application Server. Distributions of Open Liberty are supported by the OpenLiberty.io community;[25] IBM provides commercial support for Liberty through WebSphere Application Server.

Version 8.5.5

WebSphere Application Server V8.5.5 includes significant enhancements to the Liberty profile including support for Java SE 8, full Java EE 7 compliance since V8.5.5.6, and WebSphere's intelligent management capabilities. WebSphere Liberty's support for Java EE is enabled through the configuration of sets of features, with different sets of Library features available in each edition of WAS. The WAS Liberty Core edition includes the Liberty features required for Java EE WebProfile; all other editions of WAS add Liberty features for full Java EE 7. The WAS Network Deployment Edition adds Liberty features for intelligent management. Beyond this the WAS z/OS edition adds Liberty features to enable z/OS platform capabilities.

Version 8.5.0

WebSphere Application Server V8.5 offers the same Java EE 6 and Java SE 6 (by default) as V8.0 and also provides – and can be configured to run on – Java SE 7. The primary new capabilities in V8.5 are the Liberty profile of WebSphere Application Server and the intelligent management features.

The Liberty profile of WebSphere Application Server is included with all the commercial editions of the server, providing a lightweight profile of the server for web, mobile and OSGi applications. In this release it is a functional subset of the full profile of WebSphere Application Server, for both development and production use, with an install size of under 50 MB, a startup time of around 3 seconds and a new XML-based server configuration which can be treated as a development artifact to aid developer productivity. Server capabilities are engaged through the set of features defined in the server configuration; features are added and removed dynamically through internal use of OSGi services. A new model is provided for moving applications through the pipeline from development to production as a packaged server; this is a complete archive of the server, server configuration and application for unzip deploy. A centralized managed install is optionally available through the Job Manager component of WebSphere Application Server Network Deployment edition.

Intelligent management capability is added in the Network Deployment and z/OS editions of WebSphere Application server. This integrates operational features that were previously available in the separate WebSphere Virtual Enterprise (WVE) offering: application editioning, server health management, dynamic clustering and intelligent routing.

Compute Grid is also included in the Network Deployment and z/OS editions of WebSphere Application server. Previously this was the separately priced WebSphere XD Compute Grid feature for scheduling and managing Java batch workloads.[26]

Version 7.0

This version was released on September 9, 2008. It is a Java EE 5 compliant application server.

Following are the flagship features introduced by WebSphere Application Server Version 7:

Between the general availability of WebSphere Application Server V7 and WebSphere Application Server V8 (in 2011), a number of additional capabilities were made available for V7 in the form of feature packs which are optionally added to a V7 install. Feature Pack content has the same quality and support as main release content – the purpose of a feature pack is to deliver new innovation before the next major release. The following feature packs were provided for WebSphere Application Server V7:

Version 6.1

This version was released on June 30, 2006. On September 11, 2012, IBM extended the end of service for V6.1 by a full year, to September 30, 2013, and announced new version-to-version migration incentives and assistance.[27] It is a Java EE 1.4 compliant application server and includes the following function:

Support for the EJB 3.0 technology and support for some webservices standards were provided by the EJB feature pack and the webservices feature packs, respectively. These function in these feature packs has been folded into the main product in version 7. Functions in the webservices feature pack include:

Version 6.0

Many programming model extensions previously found in WebSphere Application Server V5.0 Enterprise Edition were moved out of enterprise and into Express and Base. These APIs included application profile, startup beans, the scheduler, and async beans.

The JMS engine, now called "WebSphere Platform Messaging," was rewritten in 100% Java and its functionality greatly enhanced. (WebSphere MQ is still supported as the JMS provider and is interoperable with WebSphere Platform Messaging.)

The clustering was rewritten to use the high availability manager. This manages all singletons in the WebSphere environment and can provide hot recovery for those singletons.

WebSphere was modified so that a shared file system can be used to store transaction logs and this meant that any cluster member with that shared file system mounted can hot recover in-doubt XA transactions with no external HA software.

The Deployment Manager's role was eliminated from all clustering runtime operations. It's only required for centralized JMX admin and config changes.

Now supports running mixed version cells (V5 to V6) in production.

Provides the same core functionality as Network Deployment, since it shares a common programming model, but still contains the platform advantages such as:

WAS XD as it is known increases the functionality of the application server in two main areas – Manageability and Performance. It also allows makes possible new configurations, such as dynamic virtualization between pools of application servers.

Under the performance header the ObjectGrid component was added, which is a standalone distributed cache that can be used with any application server (any version with a 1.4 JDK) or with any J2SE 1.4 runtime, including zLinux and z/OS support.

Code based on Apache Geronimo project

With Version 6, some of the functionality previously found in WebSphere Business Integration Server Foundation (WBISF) moved into the new IBM WebSphere Process Server. Other function moved into the other editions (Express and above).

Version 5.1

This version was released on January 16, 2004. It is a J2EE 1.4 compliant application server.

Version 5.1 for z/OS is the first to support zAAP engines.

This is the follow on product to WebSphere Application Server Enterprise Edition V5.0. The workflow engine was updated to support BPEL rather than the proprietary FDML format used in V5.0. The product was also repriced and available on all IBM platforms from the Intel environments to the mainframe.

Version 5.0

The version released on November 19, 2002. This was a J2EE 1.3 certified application server. It was a major rewrite of the V3/V4 codebase and was the first time WebSphere Application Server was coded from a common codebase. Now WAS across all deployment platforms, from Intel x86 to the mainframe, are substantially the same code. The database-based configuration repository was replaced with a replication XML file-based configuration repository. A service called the Deployment Manager had the master copy of the cell configuration, and nodes had the file(s) they needed copied from this master server whenever they changed. V5 also included a miniature version of MQ 5.3 called the embedded Java Message Service (JMS) server.

Version 4.0

This was a J2EE 1.2 certified application server. It inherited the database-based configuration model from V3.x for all but the single-server edition, which already used an XML datastore.

Version 3.5 (and 3.0)

WebSphere 3.5 is the first widely used version of WebSphere.Shown below is WAS v3.5 startup in a terminal on IBM AIX RS6000 system:

As shown in the figure, at the root of the processes is the main WAS bootstrap process:a Java JVM machine by itself, that is started first then followed by multiple JVM processes that are spawned underneath it, each of which represents an enterprise application with its own classloader. Since classes are loaded from multiple JVMs, then WAS providesconfiguration flags to manage the visibility of the loaded classes. In addition,the administrator or programmer needs to be aware of the hierarchy (the positionof the .ear or .war and what goes in the MANIFEST) to manage the visibility of the classes.[29] The following figure shows the class loading hierarchy in a concentric ring. Thevisibility of the classes is important, otherwise colliding classes may causetype casting error during runtime of the application server.

Version 2.0

IBM adds JavaBean, CORBA and Linux support. Comes in two editions: Standard Edition (SE) and Advanced Edition (AE).

Version 1.0

Initial release in June 1998. Was primarily a Java Servlet engine.

Security

The WebSphere Application Server security model is based on the services provided in the operating system and the Java EE security model. WebSphere Application Server provides implementations of user authentication and authorization mechanisms providing support for various user registries:

The authentication mechanisms supported by WebSphere are:[30]

See also

Other Java EE application servers:

External links

Notes and References

  1. Web site: IBM Support - WebSphere software lifecycle. September 27, 2017. www-01.ibm.com. September 29, 2017.
  2. Web site: WebSphere Application Server detailed system requirements. September 29, 2017.
  3. Web site: Programming model APIs and specifications. www.ibm.com.
  4. Web site: IBM software lifecycle - IBM Support. July 26, 2018. www.ibm.com.
  5. Web site: IBM US Announcement Letter. April 24, 2012. www-01.ibm.com. September 29, 2017.
  6. Web site: To 16.0.0.2 and beyond: Liberty continuous, single-stream fix pack delivery. 2022-08-28. en-US.
  7. Web site: IBM support - Software lifecycle - WebSphere Application Server 8.0.x. September 29, 2017. www-01.ibm.com. September 29, 2017.
  8. Web site: IBM support - Software lifecycle - WebSphere Application Server 7.0.x. September 29, 2017. www-01.ibm.com. September 29, 2017.
  9. Web site: Extension of end-of-service date: IBM WebSphere Application Server V6.1. September 11, 2012. www-01.ibm.com. September 29, 2017.
  10. Web site: IBM WebSphere Application Server V9.0.5 delivers enhancements for operational modernization and revised Support Lifecycle policies. April 2, 2019. www.ibm.com.
  11. Web site: IBM 8.5.5.9: WebSphere Application Server V8.5.5 Fix Pack 9 - United States. September 8, 2017. www-01.ibm.com. September 29, 2017.
  12. Web site: IBM Knowledge Center. pic.dhe.ibm.com. September 29, 2017.
  13. Web site: IBM Knowledge Center. www.ibm.com. en-US. August 10, 2017.
  14. Web site: IBM Utility: Feature Pack for EJB 3.0 for WebSphere Application Server V6.1 - United States. December 3, 2007. www-01.ibm.com. September 29, 2017.
  15. Web site: IBM Knowledge Center. www.ibm.com. en-US. August 10, 2017.
  16. Web site: Whatever Happened to ... WebSphere?. www.serverwatch.com. November 28, 2007 . September 29, 2017.
  17. Web site: IBM Update Strategy for WebSphere Application Server V6.1 - United States. September 14, 2007. www-01.ibm.com. September 29, 2017.
  18. Web site: IBM WebSphere Application Server now offers continuous delivery of new features and simplified administration to help you reduce application time to market and capitalize on new market opportunities. . April 22, 2014 . 2022-08-28.
  19. Web site: Cloud.
  20. https://console.bluemix.net/catalog/services/websphere-application-server/
  21. https://microprofile.io
  22. https://hub.docker.com/_/websphere-liberty/
  23. https://console.bluemix.net/docs/runtimes/liberty/index.html
  24. https://developer.ibm.com/dwblog/2017/websphere-liberty-java-open-source/
  25. https://www.openliberty.io/
  26. Web site: Improve Your Availability, Scalability and z/OS Mobile Access With WebSphere Application Server V8.5. August 3, 2015. October 20, 2015. https://web.archive.org/web/20151020151135/http://enterprisesystemsmedia.com/article/improve-your-availability-scalability-and-z-os-mobile-access-with-websphere. dead.
  27. Web site: IBM WebSphere Migration Knowledge Collection: Why Migrate? - United States. November 22, 2016. www-01.ibm.com. September 29, 2017.
  28. http://www.redbooks.ibm.com/abstracts/sg247304.html SG24-7304-00 WebSphere Application Server V6.1: System Management and Configuration
  29. Book: Jamaleddine, Bassem . IBM WebSphere Application Server Programming . McGraw Hill Professional . 2002 . 9780072253160.
  30. Book: IBM Redbooks - IBM WebSphere Application Server V6.1 Security Handbook. September 30, 2016. www.redbooks.ibm.com. September 29, 2017.