What is WebSphere?


The WebSphere brand represents a platform for today's e-business applications. The WebSphere vision and direction represent an ongoing strategy and vision about how software will evolve and meet future application needs.

WebSphere is an application server that runs business applications and supports the J2EE and web services standards. It is a place to host business and presentation logic, which can integrate into the existing computing infrastructure of small as well as large organizations. The following figure provides an overview of where an application server fits into a typical computing environment:

click to expand

As you can see from the diagram, the application server is the hub of the e-business computing infrastructure. Application servers provide a place to execute policies, to enforce terms and conditions, and to apply business rules. Global clients commonly access these engines using browsers and pervasive devices that operate on both static and dynamic content. The web server sits between the browser and the application server in the most common topologies. Static content is normally served directly from the web server while dynamic content requests are passed on to the application server. Content can be cached at the edge of the network to drastically reduce both network traffic and system load. "Edge Services" refers to the WebSphere capabilities that work in conjunction with the web server to provide this caching at the edge of the network.

Of course, the application servers are not islands, as they typically need to access persistent information stored in one or more databases. In addition, existing systems and applications often need to be leveraged as part of an e-business solution; messaging technology and message brokering are frequently used to drive such legacy system interactions. We complete the picture by showing that developers need an easy way to create and update the applications that are hosted by the application server. Similarly, business analysts need a way to model, monitor, and maintain the various business processes and policies that run there.

How does the application server perform these tasks? The application server, through the services that it provides, handles the presentation and business logic. As the J2EE standards have matured and web services standards have quickly emerged, more services are inherently part of the application server.

Application servers also contain messaging capabilities via the Java Messaging Service (JMS). JMS and the additional messaging features of WebSphere 5.0 provide further evidence for the fact that the asynchronous and synchronous programming models are both required to build next generation applications. The application server provides these features and functions for environments where existing infrastructure is not in place, or where the features need to be more tightly integrated and managed by the application server.

Interoperability, co-existence, and plugability are important themes in the WebSphere Application Server. A first glance at how these themes are leveraged is provided in the next section, where details on the various application server offerings are described.

The WebSphere Application Server

WebSphere Application Server (WAS) represents a set of application server offerings each having its own specific capabilities and functions. This allows WebSphere Application Server to address a broad spectrum of solutions, ranging from the most rudimentary web application to transactional and scaleable e-business applications.

In Version 5.0, WebSphere Application Server has a variety of packages:

  • WebSphere Application Server – Express
    This is a new entry-level offering, which will support servlets and JSP pages. It is targeted to rapid application development and building applications based on associated application-development tooling.

  • WebSphere Application Server
    The generic name, WebSphere Application Server, applies to the J2EE 1.3 certified version of WebSphere that is configured and managed on a single machine. This is similar to the version 4.0 package known as the WebSphere Application Server – Single-Server edition.

  • WebSphere Application Server Network Deployment
    This package is similar to the version 4.0 package, known as WebSphere Advanced or WebSphere Application Server, Advanced Edition. It adds the ability to manage multiple application servers and handle clustered environments. This package comes with a basic WebSphere Application Server.

  • WebSphere Application Server Extended Deployment
    The edition of WebSphere that extends the WebSphere Application Server Network Deployment, with additional features for scalability and manageability. This is a new package for version 5.0.

  • WebSphere Application Server Enterprise
    The high-end package for WebSphere Application Server. It introduces additional programming interfaces and supporting run time capabilities referred to as the programming model extensions. All of the possible capabilities and configurations for WebSphere Application Server are enabled by this package.

  • WebSphere Application Server for z/OS
    The application server package delivered for the z/OS environment. The packages described so far apply to all operating system environments except for the z/OS. WebSphere Application Server for z/OS is a special packaging optimized for the z/OS environment that encompasses basically all of the functions described by those packages listed previously that are appropriate for the z/OS environment.

The following diagram positions the various editions of the application server:

click to expand

Now let's look at the features provided by these various editions on more detail.

WebSphere Application Server – Express

WebSphere Application Server Express provides a J2EE and web services subset application server. This is the extension of the Standard Edition concept that was part of WebSphere Application Server 3.5 package. It does not support EJBs; however, there is application development tooling provided as part of the package. WebSphere Studio Site Developer code is provided with the runtime in a single integrated offering. The emphasis is on integrated tooling, with a full Java, servlet/JSP page building, and support for JavaScript and tag libraries. You do not need to be a Java programmer. The secondary focus will be on JSP pages and servlets (but not EJBs). Ease of use, small footprint, and pre-canned applications are all included here.

WebSphere Studio Site Developer is available separately as a tool-only environment. However, even in this configuration, there is an instance of WebSphere Application Server – Express provided as the unit test environment.

WebSphere Application Server (WAS)

The WebSphere Application Server provides a run time and management environment that can host applications that fully leverage the J2EE 1.3 and web services programming models. This environment is managed through a built-in management capability driven by a web browser. WebSphere Application Server is a single machine execution environment. WebSphere Application Server 4.0 supported J2EE 1.2. The major additions in J2EE 1.3, and thus WebSphere Application Server 5.0, include support for EJB 2.0 and Servlet 2.3. Additional details on each of these are provided in upcoming chapters.

In WebSphere Application Server version 4.0, the environment similar to the WebSphere Application Server (WAS) was known as the WAS Single Server (meant for single machine or single server production applications). The same server is in the test environment of the application development tools offering named WebSphere Studio Application Developer.

WebSphere Application Server Network Deployment (WAS-ND)

This package of WebSphere Application Server is focused on providing a deployment environment for multi-node and multi-server environments. It provides the same programming model support as the base WebSphere Application Server, but adds support for a variety of topologies and architectures consisting of multiple machines and multiple application servers managed under a single umbrella.

WAS-ND provides deployment optimizations mainly in the form of clustering, workload management, and administration. These features allow larger scale deployment than is possible in the base WAS configuration. A deployment manager is introduced as key new concept in an environment that is capable of managing a set of applications from a single console that run across multiple server and multiple machines. More details on this are in upcoming chapters.

WebSphere Studio Application Developer is the associated application development tooling used to construct applications for this execution environment.

WebSphere Application Server Extended Deployment (WAS-XD)

WebSphere Application Server Extended Deployment provides additional optimizations, extending the base and objectives established by WAS-ND. It does this by adding capabilities such as cross-domain failure bypass and dynamic load balancing, in support of enterprise class deployments. Optimizations in WebSphere Application Server Extended Deployment are actually broken into three categories, as follows:

Performance Optimization

This enables the same number of machines to do more work by using a series of workload balancing features. Application server instances will be able to detect variable run time conditions, and then redirect work dynamically to the machines that are the least busy. These and other examples of performance optimizations will be explained in later chapters.

Availability Optimization

Highly available systems often need to have at least two instances of key run time components, such as configuration repositories and workload controllers. This allows work to continue in the event of component failure. The more failure bypass that a system offers, including for the failure of internal components, the less that an end user will be disrupted when something goes wrong. Additional features relating to workload management and systems management extend those available in the Network Deployment configuration.

Scalability

Scalability means many things in the context of application serving and WAS-XD addresses all of them. Most traditionally, it means that more work can be handled easily. Effective scaling ensures that all customers receive the service that they request. Effective scaling lets your business expand beyond its traditional boundaries to embrace new partners and suppliers. Features and functions, which support these capabilities, are described in later chapters.

Scaling also means that you can deploy new applications into large environments easily and automatically. This includes applications that extend out to the edge of the network. You can effectively manage those environments, and through plugability, you can leverage the investments that you have made in existing management and security software, as well as operational skills. There is obviously more to come on these topics as well.

Applications that run in a WAS-XD environment will be created with the WSAD tooling. Additional configuration and deployment activity, specific to the XD-enabled runtime will be performed at deployment and installation time.

To summarize, it is expected that WAS-XD configurations, when compared to WAS-ND configurations, will:

  • Run applications faster based on additional run time optimizations

  • Support high availability configurations more directly

  • Readily handle more machines and more servers in a distributed topology

WebSphere Application Server Enterprise (WAS-EE)

The WebSphere Application Server Enterprise is the next generation of the WebSphere Application Server Enterprise Edition of Version 4.0. The Enterprise product offers some new programming model extensions. A programming model extension is an application programming interface and the association run time and management features. The application programming interfaces are used by application developers, and these interfaces generally complement the standard interfaces and are used in conjunction with them.

With reference to the packaging described earlier, WAS-EE contains the combined content of WAS, WAS-ND, and WAS-XD, in addition to the programming model extensions. This makes it the most comprehensive WebSphere Application Server offering available. WAS-EE also includes a WebSphere MQ license, enabling construction of applications that leverage WebSphere MQ and WebSphere Application Server.

Note

WebSphere MQ is IBM's flagship messaging product, providing middleware to enable asynchronous communication between various environments, including application servers.

The first set of capabilities provided by the programming model extensions, center on extending and leveraging the EJB 2.0 component model that is part of the J2EE 1.3 specification. The Dynamic Query Service extends EJBQL, enabling query statements to be processed at runtime. This provides a great deal of flexibility and lets applications start dynamic e-business.

Complementing the EJB 2.0 component model is the support for Access Intent via Application Profiles. An example of access intent would be concurrency. The concurrency access intent, for example, can be set to optimistic or pessimistic, depending on the desired behavior of a transaction. Once again, this will make higher performing applications and enable more advanced reuse of components. As this function has both a programming implication and a deployment aspect, portions of this may appear in the Extended Deployment package of the server as well.

WebSphere Enterprise provides strong support for accessing and leveraging existing assets. The WebSphere Studio Application Developer Integration Edition development environment and the WebSphere Application Server Enterprise run time, work together to provide a service-oriented architecture from which advanced solutions can be constructed. These solutions use services, which represent and encapsulate a variety of resources both within and outside the organization, as the building blocks for complex compositions and choreographies.

The concept of business process choreography is introduced in the enterprise server. This provides for a variety of workflow patterns, including interruptible flows, compensated flows, and micro-flows all to be created with development tools and executed in the runtime. These capabilities are supported by the tool using a Service-Oriented Architecture (SOA). Workflows can drive any service, including intra-enterprise calls to components and connectors and external calls to web services.

For example, you could create basic service definitions through "adapter tooling" that visually connects your Java applications to Enterprise Information Systems. You could then choreograph these basic services into "composed services" that perform higher-level business activities. Wiring these interactions together in a visual fashion makes it easier for developers to create applications, and to preserve the flow structure of the application when underlying service implementations change over time.

Other productivity gains come from the close integration of components and messaging systems. This includes the automated transformation and mappings required between message flows and components to satisfy application needs.

The ideas of messaging and JMS are built upon through the introduction of Extended Messaging Support. These tool-supported APIs are used to program various patterns that are common when dealing with messaging-based interactions to WebSphere and non-WebSphere systems.

Transactions provide a unit of work scoping mechanism for short duration activities, and the compensation support that complements workflow provides a long running unit of work concept. The Activity Session Service and the Last Participant Support service both provide intermediate unit of work and resource management options. The combination of these features offers a comprehensive set of capabilities for properly scoping business activities and handling exceptional conditions that may arise.

Services such as WorkArea and Internationalization allow more flexible and adaptive applications to be constructed. There is a CORBA C++ SDK, to enable C++ clients to EJBs and to provide a basic C++ CORBA Server capability. There is a Scheduler service and Asynchronous Beans delivered as part of WebSphere Application Server Enterprise. These capabilities to allow parallel and asynchronous work to be spawned and managed in the system under prescribed environments.

WebSphere Application Server for z/OS

The z/OS edition of WebSphere is specially optimized to provide scalability and reliability, consistent with that of the z/OS environment. Some of the core application server features have optimized implementations on the z/OS platform, taking advantage of the rich and mature systems services, which are available. Special affinity is provided for the resource managers such as IMS, DB/2, and CICS that reside on the z/OS platform.

WebSphere Application Server applications are portable from a source code perspective and can be easily moved from one of the other application server editions onto the z/OS environment.

Additional information on the vision for WAS 5.0 and beyond can be acquired at ftp://ftp.software.ibm.com/software/websphere/partners/TheVisionForWASV5AndBeyond.pdf.

WebSphere is a Platform

WebSphere Application Server is actually just one set of the many offerings that are associated with the WebSphere name. In fact, the WebSphere brand includes a number of products. IBM WebSphere Portal is a label for a set of offerings in the portal market. The WebSphere brand also includes the IBM WebSphere Commerce set of products, IBM WebSphere Host On Demand and Host Publisher IBM WebSphere Translation Server, the IBM WebSphere Voice products, IBM WebSphere EveryPlace products, IBM Transcoding Publisher, and so on. These are complemented by the IBM WebSphere MQ run time products and the IBM WebSphere Studio set of application development tools.

WebSphere as a platform is essentially about providing three things for users and solution providers who choose this platform:

  • Reach and User Experience
    Personalized and streamlined access to content and collaborative services on any variety of devices (including pervasive devices). Note that this also includes the ability to conduct electronic commerce.

  • Business Integration
    Integration services both within and between enterprises to promote business agility and to strongly support business-to-business initiatives.

  • Foundation and Tools
    An infrastructural underpinning for a whole range of e-business solutions. Application serving and integrated development environments are some of the key elements here.

The WebSphere Application Server provides a fundamental role in the platform. All of the run time products that are in the platform depend upon the WebSphere Application Server to provide basic services. The Portal server, for example, depends upon servlets and business rules which come from various applications server packages. The Commerce products make heavy use of the J2EE programming model and of many of the extensions introduced in the application server. The consistent usage of the application server by the platform products provides a more manageable solution and a better overall user experience for customers.




Professional IBM WebSphere 5. 0 Applicationa Server
Professional IBM WebSphere 5. 0 Applicationa Server
ISBN: N/A
EAN: N/A
Year: 2001
Pages: 135

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net