- IBM WebSphere Application Server
IBM WebSphere Application Server (WAS), a software
application server, is the flagship product within IBM's WebSpherebrand. WAS is built using open standards such as Java EE, XML, and Web Services. It works with a number of Web servers including Apache HTTP Server, Netscape Enterprise Server, Microsoft Internet Information Services(IIS), IBM HTTP Serverfor i5/OS, IBM HTTP Server for z/OS, and IBM HTTP Server for AIX/ Linux/ Microsoft Windows/Solaris.
IBM has shipped several versions and editions of WAS. In the first beta versions, WAS was called "Servlet Express".
What started it all in June, 1998. Really only a
servletengine at that point.
In this version IBM adds
JavaBeanand CORBAsupport. Now supports Linux. Comes in two editions: Standard Edition (SE) and Advanced Edition (AE).
This version of WAS was compatible with a
JDK1.2, J2EE 1.0 version. IBM provided many enhancements to the basic J2EE 1.0 spec. Support for OS/400(now i5/OS) and OS/390(now z/OS) was added, although the z/OS version maintained a substantially separate codebase until v5.x. Version 3 is distributed in three editions: Standard Edition (SE), Advanced Edition (AE), and Enterprise Edition (EE).
This version was shipped in following editions:
*SE (Standard Edition)
*AE (Advanced Edition)
*EE (Enterprise Edition)
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.
*AE (Advanced Edition)
*AEs (Advanced Edition single). Single-server edition that was not able to run in a cluster configuration.
*AEd (Developer Edition). Functionally equivalent to AEs, but intended only for non-production development use.
*EE (Enterprise Edition)
The version released on
19 November 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 x86to the mainframe, are substantially the same code. The database-based configuration repository was replaced with a replication XMLfile-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.
*"Express Edition" replaces the Standard Edition. "Express" now becomes the term to indicate SME-oriented offerings from IBM, across all its software brands.
*"Network Deployment". This version supports deployment of a cell configuration with cluster and J2EE failover support. It now also includes Edge Components, previously known as Edge Server. This provides a proxy server, load balancing, and content-based routing.
*"Enterprise Edition". This version added a workflow engine, called the Process Choreographer, for the first time but predates the
BPELstandard. It also added the first fully supported application threading model called WebSphere Asynchronous Beans.
*"WebSphere Application Server for z/OS". This version is essentially the same as the Network Deployment product but is optimized to take full advantage of z/OS features, such as Workload Manager, to leverage the key technologies that make the mainframe indispensable for mission-critical, scalable, and secure workloads.
Released 1 April 2004.
*The main change from V5.0 was a JDK upgrade to 1.4.2 and use of the
Jythonlanguage for wsadminscripting support instead of only supporting Java Tcl.
** WebSphere Application Server for z/OS
**:Version 5.1 for z/OS is the first to support
**WebSphere Business Integration Server Foundation V5.1
**: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
FDMLformat used in V5.0. The product was also repriced and available on all IBM platforms from the Intel environments to the mainframe.
**WebSphere eXtended Deployment (XD)
**:For more information please reference the
#WebSphere eXtended Deploymentsection below.
*This version was released on December 31, 2004. It is a
Java EE1.4 compliant application server. Security enhancements include support for JACC1.0 and WS-Security1.0.
** Support for Java Standard Edition 1.4
**Community Edition ( [http://www14.software.ibm.com/webapp/iwm/web/preLogin.do?lang=en_US&source=wsced free] , [http://www.ibm.com/software/webservers/appserv/community/support/ support] for fee)
**:Code based on
**Express (list price US$2,000 per CPU, licensed to use up to two CPUs)
**: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.)
**Base (list price US$10,000 per CPU)
**Network Deployment (list price US$16,000 per CPU)
**: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
JMXadmin and config changes.
**:Now supports running mixed version cells (V5 to V6) in production.
** WebSphere Application Server for z/OS
**: Provides the same core functionality as Network Deployment, since it shares a common programming model, but still contains the platform advantages such as:
*** z/OS Workload Manager for prioritized management of mixed workloads
*** Resource Recovery Services (added transactional integrity for complex, critical transactions)
*** Support for security mainframe products such a
*** Advanced vertical scaling for application server by featuring a unique control region (integrated control area) server region (where workloads are completed) separation which enables the control region to open and close server regions as needed by the volume of incoming requests
Sysplexsupport for full participation in the Sysplex, enabling advanced failover support and a geographically dispersed environment that seamlessly acts as one with a centralized logging and management facility
**eXtended Deployment (listprice: $16000 USD / cpu)
**: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.
With Version 6, some of the functionality previously found in WebSphere Business Integration Server Foundation (WBISF) moved into the new
WebSphere Process Server. Other function moved into the other editions (Express and above).
This version was released on June 30, 2006. It is a
Java EE1.4 compliant application server and includes the following function:
* Support for Java Standard Edition 1.5
* Support for running JSR 168
Portlets in the application server
Session Initiation Protocol(SIP) Servlets
* Enhancements to the WebSphere Install Factory
* IBM Support Assistant
* IBM JSF Widget Library
* Simplified Administration
* Improved Certificate and Key Management
* Security Enhancements
* Administration of
IBM HTTP Serverfrom WebSphere Admin Console
* Support for
Web Services Resource Frameworkand WS-BusinessActivity (WS-BA)
* Support for JSR160 JMX Remote Connections (From IBM Agents Only)
* Administrative Console
* Enhanced scripting. This version started the deprecation process for the Jacl syntax. [ [http://www.redbooks.ibm.com/abstracts/sg247304.html SG24-7304-00 WebSphere Application Server V6.1: System Management and Configuration] , p. 250]
64-bitservants and a new Apache-based IBM HTTP Server for z/OS
WebServices Feature Pack Beta
The WebServices Feature Pack was delivered as a beta in October 2006. A feature pack is an optionally installed piece of function that can be installed on a release of WebSphere that currently exists in customer shops. In this case the WebServices Feature Pack runs on WebSphere 6.1.
The Beta release of the Web Services Feature Pack is an early implementation that does not contain all of the functionality planned for the final version. Functionality that is delivered in this Beta release includes:
* Asynchronous programming model (Limited functional support)
* Multiple Payload structures
StAX(Streaming API for XML)
* WS-RM (Limited functional support)
WS-Addressing(Limited functional support)
* Policy Set (Limited functional support)
* Secured thin client (Limited functional support)
SOAPMessage Transmission Optimization Mechanism (MTOM)
The beta release can be found at http://www.software.ibm.com/iwm/web/cc/earlyprograms/websphere/wsvwas61/download.shtml.
WebSphere Extended Deployment
WebSphere Application Server V6 Extended Deployment Edition (WebSphere XD) was released in 2006 as an add-on for WebSphere 6. XD provides advanced features for both administrators who manage multiple Java EE-based applications and developers building advanced applications that require asymmetric clustering techniques. It also has a number of technologies to significantly increase the performance of running applications, including an in-memory database cache and a highly advanced load balancer called the "on demand router".
Many businesses run multiple server farms but wish to consolidate them into a single smaller
server farm. This is because most server farms are underutilizied or over provisioned. The boxes are typically running at 10% load which is quite costly and is not flexible. For example, one server farm goes hot and maxes out while the farm in the next room is still basically idle at 10%. XD allows administrators to define a single cluster (a node group) then monitor the workload and dynamically decide which boxes in the node group should host which application in order to meet these goals. If application A has a current response time of 1.5 seconds, XD will move resources away from applications B and C to increase the power dedicated to A and decrease its response time. XD can also predict that A will likely exceed its response time in 10 minutes based on a trend and react in anticipation of the event. This greatly simplifies the life of an administrator and allows the machines to be more efficiently used than a conventional multiple, independent farm of farms approach. XD also offers options to generate various email alerts when conditions are exceeded. It can also restart servers when they appear to have a memory leak, or after X requests.
WebSphere Partition Facility
Traditional Java EE applications work well for a large class of applications. The class can be broadly categorized as applications that run in a stateless
symmetric clusterin front of a database:
* All the cluster members can perform any task at any time.
* The application is stateless.
* The application is modal, such that it only performs work synchronously in response to a client request which can be received using HTTP/IIOP or JMS.
There are other applications that do not work well in such an environment, for example, an electronic trading system in a bank. Such applications typically use performance enhancing techniques such as as partitioning, multi-threading, and write-through caching. These are applications that can exploit asymmetric clustering. An asymmetric cluster is essentially the opposite of a symmetric cluster:
* Applications can declare named partitions at any point while they are running, partitions are highly available, mobile within the cluster, and usually only run on a single cluster member at a time.
* Incoming work for a partition is routed to the cluster member hosting the partition.
* The application is amodal. Partitions have a lifecycle of their own and can start background threads or alarms as well as respond to incoming events whether they are IIOP/HTTP or JMS/foreign messages.
WebSphere XD offers a new set of APIs called the
WebSphere Partition Facility(WPF). These APIs allow applications that require an asymmetric cluster to be deployed on a Java EE server.
The ObjectGrid is the first piece of the IBM distributed caching framework. V6 of XD shipped with support for local Java object caching as well as peer-to-peer caching with asynchronous data push/invalidation. It is designed as a small footprint, to install customer extensible framework for caching objects. All aspects of the core framework have plugin points. This allows customers to add function as well as allow IBM to extend it in future product levels. It is designed to run independent of WebSphere. This does not mean it won't integrate with WebSphere 6.0 XD -- it will. But it will also work on older versions of the application server, Tomcat servers, and competitive application servers. In a very limited sense,
memcachedperforms some of the same functions as ObjectGrid [ [http://www.devwebsphere.com/devwebsphere/2006/01/objectgrid_offe.html ObjectGrid offers developers more persistence choices] ]
ObjectGrid is intended to compete against the other distributed cache products on the market. It currently requires only a 1.4 level JDK from any vendor. Version 2 of the ObjectGrid is currently under development for shipping in XD 6.0.1. It will add significant function to the component as well as widen JDK level support.The intent is to allow customers to build large grids of
JVMs into which they can connect applications and store objects at various qualities of service. The grid is being designed to scale to thousands of JVMs and hold a large quantity of data.
Also known as WebSphere Batch, WebSphere XD also offers a Java batch processing system called Compute Grid. This was first introduced in XD version 6.1. Compute Grid is deployed as an additional feature of a WebSphere Network environment. It provides a number of features that help you create, execute and manage batch jobs. The features include: an XML-based job control language (xJCL), batch programming model, job scheduler, and batch container.
The WebSphere Application Server security model is based on the services provided in the operating system and the
Java EEsecurity model.WebSphere Application Server provides implementations of user authentication and authorization mechanisms providing support for various user registries:
* Local operating system user registry
* LDAP user registry
* Custom user registryThe authentication mechanisms supported by WebSphere are [ [http://www.redbooks.ibm.com/abstracts/sg246316.html SG24-6316-01 IBM WebSphere Application Server V6.1 Security Handbook] ]
* Lightweight Third Party Authentication (LTPA)
IBM HTTP Server
* Matrix of Application Servers
* zSeries Application Assist Processor
IBM Rational Application Developer
* [http://www.ibm.com/websphere WebSphere software brand site]
* [http://www.ibm.com/developerworks/websphere/zones/was WebSphere Application Server zone] -- WAS technical resources via IBM's developerWorks program
* [http://www-1.ibm.com/support/docview.wss?rs=180&context=SSEQTP&uid=swg27004980 WebSphere Release History]
* [http://publib.boulder.ibm.com/infocenter/ieduasst/v1r1m0/topic/com.ibm.iea.was_v6/was/6.1/Architecture/WASv61_Componentization.pdf?dmuid=20061227202131356645 IBM WebSphere Application Server V6.1, Componentization Overview] - Overview of the componentization of the WebSphere Application Server as a set of OSGi bundles.
* [http://www-306.ibm.com/software/webservers/appserv/doc/latest/prereq.html List of supported hardware and software]
* [http://www.billynewport.com Billy Newports blog] - one of the main architects for XD WPF and ObjectGrid as well as high availability for the WebSphere application server in general
* [http://www.wsug-nordic.org GSE Nordic WebSphere User Group] - large user group in the Nordics (Denmark, Sweden, Norway, Finland, Iceland and the Baltic countries
* [http://www.websphere.org World Wide WebSphere User Group]
* [http://www.ibm.com/developerworks/websphere/library/techarticles/0602_lurie/0602_lurie.html Hands-on guide to tuning, including using jython scripting]
* [http://www-128.ibm.com/developerworks/websphere/library/techarticles/0305_issw/recommendedreading.html Recommended Reading List]
* [http://www.youtube.com/watch?v=FNOn7r0yVjU Video on IBM WebSphere Application Server Installation]
* [http://www.youtube.com/watch?v=Oh6Smp7orSY Video about WebSphere Application Server Scripting and Automation]
* [http://www-306.ibm.com/software/websphere/education/curriculum/appserv/index.html?#wasv60ac WebSphere Training Courses]
* [http://www.objectarena.com IBM Business Partner - WebSphere Training Courses]
Wikimedia Foundation. 2010.