IBM WebSphere Application Server(WAS)是 IBM WebSphere 软件平台的基础和面向服务的体系结构的关键构件。WebSphere Application Server 提供了一个丰富的应用程序部署环境,其中具有全套的应用程序服务,包括用于事务管理、安全性、群集、性能、可用性、连接性和可伸缩性的功能。它与 Java EE 兼容,并为可与数据库交互并提供动态 Web 内容的 Java 组件、XML 和 Web 服务提供了可移植的 Web 部署平台。
目前 IBM 推出的 WAS 版本是 V7,该产品是基于 Java EE 5 认证的,支持 EJB 3.0 技术的应用程序平台,它交付了安全、可伸缩、高性能的应用程序基础架构,这些基础架构是实现 SOA 所需要的,从而提高业务灵活性。
所有这些设计模型都集中于将应用程序逻辑与基本的基础设施分离;也就是说,物理拓扑和对信息系统的显式访问与应用程序的编程模型不同。通过使用高级接口和逻辑资源引用,以及促进通过组件中的声明式策略来进行服务处理,信息系统中的基础资源使用在编程模型被抽象化了。虽然提供了控件外观,但是 WebSphere Application Server 中的应用程序容器可以基于其管理策略来将这些外观映射到物理资源。利用 WebSphere Application Server 编程模型中定义的组件模型不仅可以提高程序员的工作效率,而且还使应用程序可由 WebSphere Application Server 进行管理。基于应用程序所需的资源(按基础计算设施的可用性和容量来测量)和基于应用程序与企业所使用的其他应用程序相比较而言的相对要求,可以在拓扑中对应用程序组件进行定位。
The main element is the application server, a Java process that encapsulates many services, including the containers, where business logic executes. If you are familiar with J2EE, you will recognize the Web Container and the EJB container. The Web Container executes Servlets and JavaServer Pages (JSPs), both of which are Java classes that generate markup to be viewed by a web browser. Traffic into and out of the Web Container travels through the embedded HTTP Server. While Servlets and JSPs can act independently, they most commonly make calls to Enterprise Java Beans (EJBs) to execute business logic or access data. EJBs, which run in the EJB container, are easily reusable Java classes. They most commonly communicate with a relational database or other external source of application data, either returning that data to the Web Container or making changes to the data on behalf of the Servlet/JSP.
As you may have noticed, the v6 application server now has a JMS messaging engine built into the application server. This is a pure-Java messaging engine, unlike the embedded version of WebSphere from MQ that was part of version 5. JMS destinations, known as queues and topics provide asynchronous messaging services to the code running inside the containers. JMS will be covered in more depth later in this course.
As you will see in more detail later on, the Web Services engine enables application components to be exposed as web services, which can be accessed using Simple Object Access Protocol (SOAP).
Several other services run within the application server, including the Dynamic Cache, Security, and others. These will be covered later in the class, as they are typically more advanced.
There are also some important components outside of the application server process.
The server’s configuration is stored in a set of XML files, often referred to as the configuration repository. These files define the server itself, as well as resources and services that it provides.
WebSphere Application Server also provides a plug-in for HTTP servers that determines what HTTP traffic is intended to be handled by WebSphere, and routes the requests to the appropriate server. The plug-in is also a critical player in workload management of HTTP requests, as it can distribute the load to multiple application servers, as well as steer traffic away from unavailable servers. It too reads its configuration from a special XML file.
node is a logical grouping of servers
Each node is managed by a single node agent process
A deployment manager process manages the node agents
Holds the configuration repository for the entire management domain, called a cell
Administrative Console runs inside the DMgr
A managed node is a node that contains a node agent
Node agent acts as proxy for Deployment Manager
An unmanaged node is defined in the topology, but does not have a node agent process
Useful for defining servers as part of the topology but outside of WebSphere’s management control
Lack of a node agent prohibits comprehensive management by WebSphere (except for the IBM HTTP Server v6.0)
AThe most common way to control an application server is via the web-based administrative console. This web interface enables you to configure and control all aspects of an application server, from installing and managing applications to configuring diagnostic tracing. The administrative console is a web application that runs inside the web container. This application makes calls to Management EJBs (MBeans), which communicate with the admin. service. The admin service then manipulates the XML configuration files to reflect the changes made by the web client.
Another common way to administer the server is using the command-line scripting client, wsadmin. Wsadmin is a command interpreter that can be used interactively or in batch mode. It can communicate with the MBeans directly (using RMI/IIOP) or via the web services engine (using SOAP/HTTP), to perform most of the functions that can be performed using the Administrative Console.
It is also possible to write your own custom administrative client with the JMX API if you have particular needs that are not filled by wsadmin or the web interface.