IBM WebSphere Application Server

Last updated

IBM WebSphere Application Server
Developer(s) IBM
Initial release1.0 June 22, 1998;26 years ago (1998-06-22) [1]
Stable release
9.0 / June 24, 2016;8 years ago (2016-06-24) [1]
Written in Java
Operating system AIX, Windows, Solaris, Linux, HP-UX, z/OS, IBM i, VMWare ESXi
Platform x86, x86-64, PowerPC, SPARC, IA-64, zSeries
Available inEnglish, French, German, Brazilian-Portuguese, Czech, Hungarian, Italian, Japanese, Korean, Polish, Russian, Spanish, Simplified Chinese, Traditional Chinese [2]
Type 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.

Contents

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.218.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 2022September 10 ,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

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.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:

WebSphere 3.5 Startup on IBM AIX RS6000 Websphere-3.5-startup-on-IBM-AIX-RS6000.png
WebSphere 3.5 Startup on IBM AIX RS6000

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 provides configuration flags to manage the visibility of the loaded classes. In addition, the administrator or programmer needs to be aware of the hierarchy (the position of 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. The visibility of the classes is important, otherwise colliding classes may cause type casting error during runtime of the application server.

Concentric Ring Showing Class Loaders Visibility: WebSphere Main Parent Bootstrapped JVM (center) and Its Nannies JVM (drawing coutersy by Bassem Jamaleddine) Websphere-loading-classes-ring.png
Concentric Ring Showing Class Loaders Visibility: WebSphere Main Parent Bootstrapped JVM (center) and Its Nannies JVM (drawing coutersy by Bassem Jamaleddine)

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:

Related Research Articles

<span class="mw-page-title-main">Jakarta EE</span> Set of specifications extending Java SE

Jakarta EE, formerly Java Platform, Enterprise Edition and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web services. Jakarta EE applications are run on reference runtimes, which can be microservices or application servers, which handle transactions, security, scalability, concurrency and management of the components they are deploying.

<span class="mw-page-title-main">HCL Notes</span> Collaborative software platform

HCL Notes is a proprietary collaborative software platform for Unix (AIX), IBM i, Windows, Linux, and macOS, sold by HCLTech. The client application is called Notes while the server component is branded HCL Domino.

<span class="mw-page-title-main">IBM Db2</span> Relational model database server

Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON and XML. The brand name was originally styled as DB2 until 2017, when it changed to its present form.

<span class="mw-page-title-main">WebObjects</span> Java web application server and framework originally developed by NeXT Software

WebObjects is a discontinued Java web application server and a server-based web application framework originally developed by NeXT Software, Inc.

<span class="mw-page-title-main">CICS</span> IBM mainframe transaction monitor

IBM CICS is a family of mixed-language application servers that provide online transaction management and connectivity for applications on IBM mainframe systems under z/OS and z/VSE.

VisualAge is a family of computer integrated development environments from IBM, which supports multiple programming languages. VisualAge was first released in October 1993. It was discontinued on April 30, 2007, and its web page was removed in September 2011. VisualAge was also marketed as VisualAge Smalltalk, and in 2005, Instantiations, Inc. acquired the worldwide rights to this product. IBM has stated that XL C/C++ is the followup product to VisualAge.

The IBM System z Application Assist Processor (zAAP), previously known as the zSeries Application Assist Processor, is a mainframe processor introduced by IBM in 2004. zAAP engines are dedicated to running specific Java and XML workloads under z/OS, accelerating performance. zAAPs are available for zSeries 990 and 890 servers and later zSeries and zEnterprise models. Beginning with the IBM z13, the zAAP functionality is integrated with zIIP processors.

<span class="mw-page-title-main">Apache Geronimo</span> Open-source web application server

Apache Geronimo is an open source application server developed by the Apache Software Foundation and distributed under the Apache license.

WebSphere Application Server Community Edition (WASCE) was a free-of-charge, certified Java EE 6 application server for building and managing Java applications. Until September 30, 2016, it was IBM's supported distribution of Apache Geronimo that usee Tomcat for servlet container and Axis 2 for web services. Another difference from Apache Geronimo is that WASCE came with Db2 and Informix database drivers, better XML parser libraries and contained the latest patches from unreleased upstream versions. Over 30 WASCE developers were committers in the Apache Geronimo project.

IBM Storage Protect is a data protection platform that gives enterprises a single point of control and administration for backup and recovery. It is the flagship product in the IBM Spectrum Protect family.

IBM App Connect Enterprise (abbreviated as IBM ACE, formerly known as IBM Integration Bus, WebSphere Message Broker, WebSphere Business Integration Message Broker, WebSphere MQSeries Integrator and started life as MQSeries Systems Integrator. App Connect IBM's integration software offering, allowing business information to flow between disparate applications across multiple hardware and software platforms. Rules can be applied to the data flowing through user-authored integrations to route and transform the information. The product can be used as an Enterprise Service Bus supplying a communication channel between applications and services in a service-oriented architecture. App Connect from V11 supports container native deployments with highly optimised container start-up times.

<span class="mw-page-title-main">IBM TXSeries</span>

IBM TXSeries for Multiplatforms is a distributed CICS online transaction processing (OLTP) environment for mixed language applications.

IBM Lotus Expeditor is a software framework by IBM's Lotus Software division for the construction, integration, and deployment of "managed client applications", which are client applications that are deployed from, configured, and managed onto a desktop, usually by a remote server. The goal is to allow developers to create applications that take advantage of running on a local client, while having the same ease of maintenance as web-based applications.

4690 Operating System is a specially designed point of sale (POS) operating system, originally sold by IBM. In 2012, IBM sold its retail business, including this product, to Toshiba, which assumed support. 4690 is widely used by IBM and Toshiba retail customers to run retail systems which run their own applications and others.

The wsadmin tool is a command shell for the purpose of performing systems administration on all the artifacts in an IBM WebSphere Application Server (WAS) cell. It gets its name from the name of the shell script that invokes this command shell. This command shell can execute connected to a WAS cell or completely disconnected from a WAS cell. The wsadmin tool can be used to execute scripts written in Jacl and Jython, or it can be used interactively to execute individual commands. These scripts and commands perform administrative tasks like application deployment, configuration changes and run-time monitoring and control of IBM WAS.

HCL Commerce Cloud is a software platform framework for e-commerce, including marketing, sales, customer and order processing functionalities. WebSphere Commerce is built on the Java - Java EE platform using open standards, such as XML, and Web services. Formerly a product of IBM, the product was sold to HCL Technologies in July 2019.

WebSphere Portal is an enterprise software used to build and manage web portals. It provides access to web content and applications, while delivering personalized experiences for users.

IBM WebSphere Application Server for z/OS is one of the platform implementations of IBM's WebSphere Application Server family. The latest version is Version 9.0.

IBM Operational Decision Manager (ODM) is IBM's Business Rule Management System (BRMS). IBM ODM also incorporates IBM's implementation of business event processing capabilities.

References

  1. 1 2 "IBM Support - WebSphere software lifecycle". www-01.ibm.com. September 27, 2017. Retrieved September 29, 2017.
  2. "WebSphere Application Server detailed system requirements" . Retrieved September 29, 2017.
  3. "Programming model APIs and specifications". www.ibm.com.
  4. "IBM software lifecycle - IBM Support". www.ibm.com. July 26, 2018.
  5. "IBM US Announcement Letter". www-01.ibm.com. April 24, 2012. Retrieved September 29, 2017.
  6. "To 16.0.0.2 and beyond: Liberty continuous, single-stream fix pack delivery" . Retrieved August 28, 2022.
  7. "IBM support - Software lifecycle - WebSphere Application Server 8.0.x". www-01.ibm.com. September 29, 2017. Retrieved September 29, 2017.
  8. "IBM support - Software lifecycle - WebSphere Application Server 7.0.x". www-01.ibm.com. September 29, 2017. Retrieved September 29, 2017.
  9. "Extension of end-of-service date: IBM WebSphere Application Server V6.1". www-01.ibm.com. September 11, 2012. Retrieved September 29, 2017.
  10. "IBM WebSphere Application Server V9.0.5 delivers enhancements for operational modernization and revised Support Lifecycle policies". www.ibm.com. April 2, 2019.
  11. "IBM 8.5.5.9: WebSphere Application Server V8.5.5 Fix Pack 9 - United States". www-01.ibm.com. September 8, 2017. Retrieved September 29, 2017.
  12. "IBM Knowledge Center". pic.dhe.ibm.com. Retrieved September 29, 2017.
  13. "IBM Knowledge Center". www.ibm.com. Retrieved August 10, 2017.
  14. "IBM Utility: Feature Pack for EJB 3.0 for WebSphere Application Server V6.1 - United States". www-01.ibm.com. December 3, 2007. Retrieved September 29, 2017.
  15. "IBM Knowledge Center". www.ibm.com. Retrieved August 10, 2017.
  16. "Whatever Happened to ... WebSphere?". www.serverwatch.com. November 28, 2007. Retrieved September 29, 2017.
  17. "IBM Update Strategy for WebSphere Application Server V6.1 - United States". www-01.ibm.com. September 14, 2007. Retrieved September 29, 2017.
  18. "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". IBM . April 22, 2014. Retrieved August 28, 2022.
  19. "Cloud".
  20. , WebSphere Application Server on Cloud
  21. , Eclipse MicroProfile
  22. , websphere-liberty docker image
  23. , Liberty for Java buildpack
  24. , IBM open sources WebSphere Liberty code to support Java microservices and cloud-native apps
  25. , OpenLiberty.io community]
  26. "Improve Your Availability, Scalability and z/OS Mobile Access With WebSphere Application Server V8.5". Archived from the original on October 20, 2015. Retrieved August 3, 2015.
  27. "IBM WebSphere Migration Knowledge Collection: Why Migrate? - United States". www-01.ibm.com. November 22, 2016. Retrieved September 29, 2017.
  28. SG24-7304-00 WebSphere Application Server V6.1: System Management and Configuration, p. 250
  29. Jamaleddine, Bassem (2002). IBM WebSphere Application Server Programming. McGraw Hill Professional. ISBN   9780072253160.
  30. IBM Redbooks - IBM WebSphere Application Server V6.1 Security Handbook. September 30, 2016. Retrieved September 29, 2017.{{cite book}}: |website= ignored (help)