21 March 2015

WebSphere是应用程序服务器,是电子商务基础结构的核心。WebSphere服务器支持J2EE规范。


Websphere的架构

Websphere采用三层架构来平衡工作负载,病最大化对资源的访问,从而提高了吞吐量和性能。

  1. 表示层:支持网络上的客户端计算机,向其展示信息,并且处理用户操作。

  2. 应用程序逻辑层:包含用于管理连接和处理数据的应用程序组建,包括servlet,EJB组建,applet等。

  3. 资源层:包含数据库和其他数据存储设备。该层中的服务位于安全网络中,客户端不能直接访问。

Websphere的组件

WAS包含多个组件,每个组件都向平台提供特定的功能:

EJB容器

安装在服务器上的EJB不直接与应用程序服务器交互。EJB容器就是服务器与EJB之间的接口。这是支持线程、事务处理和数据管理的服务器进程,处理进入和出自EJB的所有请求。

WEB容器

WEB容器支持用于处理HTTP客户端请求的servlet和JSP文件,然后向其他应用程序组件提供数据,必要时还生成XML。

应用程序客户端容器

处理客户端一侧的Java程序,管理与应用服务器上承载的J2EE组件之间的交互,并在客户机上配置器执行环境。

Applet容器

WEB服务器可以把生成WEB页时涉及的某些处理负荷转移到客户端,这是通过与普通HTML一起向其发送Java applet来实现的。这些applet是在客户端浏览器中运行的Java类,在客户端机器上安装的applet通过applet容器可以访问应用程序服务器上的EJB。

嵌入式HTTP服务器

WEB客户端通过HTTP服务器上的HTTP插件连接到应用程序服务器。嵌入式HTTP服务器是提供替代方案的Websphere内部组件,它使得客户端可以直接连接到应用程序服务器。

虚拟主机

在多台机器上运行Websphere的优点之一是可以隔离数据,使得只有同一台机器上安装的资源才能访问。你可以通过创建虚拟主机在一台机器上复制该功能,也就是说,让一台机器看起来仿佛是多台机器在运行。这样就可以限制对数据的访问,在虚拟机上运行具有自定义配置的应用程序。

J2EE功能

Java 2 Enterprise Edition平台是在开发和部署企业应用程序中使用的一项标准。它也为J2EE应用程序提供运行库环境。

J2EE标准定义的架构包含

  • 开发多层应用程序的标准应用程序模型
  • 承载应用程序的标准平台
  • 保证达到J2EE标准的兼容性测试套件
  • 提供J2EE平台运行定义的引用实现

J2EE平台规范为J2EE应用程序定义运行库环境,包括:

  • 应用程序组件
  • 容器
  • 资源管理器驱动程序

这些元素与一组也是由J2EE标准规定的标准设备进行通信。

J2EE平台定义在应用程序开发和部署期间执行的一系列角色。理解这些角色可以更有效的开发和部署应用程序。

产品提供商 & 工具提供商 –》 产品

应用程序组件提供商 & 应用程序汇编器 –》 应用程序

部署者 & 系统管理员 –》 运行库

在J2EE架构中部署应用程序有多项优点:

  • 简化的结构:因为J2EE规范是以标准的Java组件和服务为基础的,所以企业应用程序只需编写一次,在任何地方都可以运行。
  • 选择工具:开发人员可以从一系列应用程序开发工具和现成的组件和解决方案中选择。
  • 集成服务:你可以把J2EE应用程序与当前多种系统集成到一起,包括Java数据库互联(JDBC)、Java消息服务(JMS)、Java接口定义语言(Java Interface Definition Language,Java IDL)和JavaMail及Java事务处理API。
  • 缩放能力:例如,你可以向上扩展J2EE架构来满足需求,把容器在多个系统上分布并使用数据库连接池。
  • 安全性:应用程序组件安全机制是统一而灵活的,你可以把它与集成安全系统集成到一起。

J2EE编程模型有四种类型的应用程序组件,每种都在应用程序服务器中不同类型的容器内。

  • EJB (在EJB容器中)
  • servlet和JSP页面文件 (在WEB容器中)
  • 应用程序客户端 (在应用程序客户端容器中)
  • applet (在applet容器中)

每种类型的组件都有自己的容器。容器能够位组件提供运行库支持,为访问服务提供API,还能够处理安全机制、资源共享和其他问题。

J2EE平台为实现组件之间的交互而提供了一组标准服务

其中包括HTTP和HTTPS、Java事务处理API和远程方法调用/Internet ORB间协议(Remote Method Invocation/Internet Inter-ORB Protocol, RMI/IIOP)。

J2EE平台的一项重要特点是它打包应用程序进行部署的方式。

它把组件汇编到模块中,然后打包到应用程序。叫做部署描述符的XML文件控制每个模块和应用程序的部署

应用程序和EJB的新功能

WebSphere包含针对应用程序和EJB模块的新功能。EJB持久化管理器支持EJB2.0容器管理的持久化(container-managed persistence,CMP)方案,这与EJB1.1方案不同,这是对模块性、易维护性和性能的进一步完善。

EJB2.0的规范支持包括:

  • 本地、远程和消息驱动的Bean
  • 容器管理的关系和关联关系
  • 便携式查找着查询语言
  • 编程模式
  • 抽象和具体实体bean
  • 本地家庭和本地实体接口
  • EJB查询语言

WebSphere5.0中提供的超过EJB2.0规范的高性能的持久化功能包括:

  • 修改语义行为
  • 实体bean的集成
  • 乐观的并发控制
  • 提前读取
  • 密切的机制支持
  • 后端访问支持
  • SQL
  • 数据高速缓冲

在WebSphere中完善CMP实体bean性能的新功能包括:

  • bean数据高速缓存
  • 长生存期高速缓冲
  • 乐观的并发控制
  • 提前读取

活动对话是WebSphere企业版的一项新功能,用户可以通过该对话把事务处理分组到个工作单位。你可以在各种属性和配置与活动对话之间建立关联。

CMP bean和bean管理的持久化(bean-managed persistence,BMP)bean可以通过共享数据存储连接在同一事务处理中访问数据。

CMP bean之间可以互相集成,或互为子集。在关系数据存储中,可以在单张表格或根叶布局中定义。应用程序服务器在部署时认可继承。


确定WebSphere平台基础结构

Base版

在基本版本的运行库架构中有多个组件,与管理相关的组件包括:

  • 节点:WebSphere管理的服务器进程的逻辑安排,这些进程工作在公共配置和运行功能之外。
  • 配置存储库:配置库在XML文件中保存每个组件配置文档的副本。应用程序服务器的管理服务管理配置,并保证运行期间的连贯性。
  • 虚拟主机:通过虚拟主机可以把独立的一台主机当做多台主机使用。采用这项技术,一台物理机器可以支持一系列的唯一配置并管理的应用程序。虚拟主机不连接到特定节点上。是可以被创建但不能被启动和停止的组件。
  • 管理服务:管理服务运行在每台服务器JVM上,也运行在基本配置的应用程序服务器中。管理服务提供一些关键功能,这些功能可以操纵用于服务器及其组件的配置数据。配置在存储库中保存,也就是在服务器文件系统中保存一组XML文件。
  • 会话数据库:会话详细资料可以保存在中央会话数据库中,保证多用户环境下的会话持久化。承载特定应用程序的多个应用程序服务器共享数据库信息来运行状态组件的会话状态。
  • 脚本客户端:脚本客户端wsadmin增强对基于WEB的管理控制台的调节。这样管理员就可以使用命令行接口了。脚本客户端使用脚本帮助自动完成对多台应用服务器和节点的管理。

应用服务器是WebSphere的主要组件。他是在JVM上运行的,为应用程序代码提供运行库环境。

应用程序服务器包含执行特定Java应用程序组件的容器。应用程序服务器有三个容器:

  • WEB容器:WEB容器处理servlet和JSP文件。它默认有一个会话管理器,在处理servlet时创建请求对象和响应对象。然后它访问servlet服务的方法。WEB容器处理嵌入式HTTP服务器、外部WEB服务器插件或WEB浏览器的HTTP请求。
  • EJB容器:EJB容器为EJB提供运行库服务,处理对会话和实体bean的请求。企业bean位于EJB模块中。加载在应用服务器上的bean不直接与服务器交互。EJB容器提供EJB与服务器之间的接口。容器和服务器提供bean运行库环境。
  • JCA容器:Java连接器结构(Java Connector Architecture,JCA)容器是WAS提供的组件。可以把从EIS提供商处购买的JCA资源适配器查到Java连接器结构上,用兼容JCA的应用程序来配置和使用。

嵌入式WebSphere JMS提供者依靠JMS服务器来实现集成的消息传递功能。它适合点到点和发布/注册类型的消息传递,是事务处理管理服务的一部分。JMS服务器支持消息驱动的bean以及WebSphere单元中的消息传递。在Base版本中,JMS服务器在与应用服务器相同的JVM中运行。

应用程序服务器JVM拥有名称服务,它提供Java命名和目录接口(JNDI)名称空间。该服务注册应用程序服务器所承载的所有EJB和J2EE资源(JMS、J2C、JDBC、URL和JavaMail)

应用程序服务器JVM也承载依赖配置库中安全设置的安全服务,以提供验证和授权功能。

在讨论WAS Base中,需要考虑有关应用程序的三个基本组件:

  • 客户端应用程序容器:是在客户端计算机上单独安装的组件。它使客户端能够在与EJB兼容的J2EE环境中运行应用程序。可以用可执行的命令行工具(launchClient)来启动客户端应用程序及其客户端容器运行库。
  • 应用程序:是唯一设计的,是由应用程序服务器承载并运行的。应用程序在存储到企业应用程序档案(EAR)之后,可以有一个或多个应用程序服务器共享应用程序。
  • 应用程序数据库:是在一个企业系统中的数据库服务器上运行的,在那里,堕胎应用程序服务器可以共享同一数据库。

WAS Base版包含若干个基于WEB的或与WEB相关的组件:

  • WEB服务器和WEB服务器插件
  • 嵌入式HTTP服务器
  • WEB管理控制台和应用程序
  • WEB服务引擎:WEB服务引擎不能作为单独的物理组件存在。应用程序服务器为附加服务引进了一系列的API。WEB服务是作为配合J2EE应用程序的一组API提供的。WebSphere WEB服务引擎是机遇AXIS的,使用SOAP、WSDL、UDDL和WSIF规范。

ND版

WAS ND配置支持多个节点,每个节点都有一个节点代理组件和多个应用程序服务器。都是在叫做单元的管理单元中运行的,单元在Deployment Manager中。你可以用Network Deployment单元配置负载平衡的应用程序服务器集群。DM管理单元中组件的配置和应用程序二进制文件都被分配给每个节点上的本地副本。

ND运行库结构包含多个组件:

  • 单元:单元是管理域中节点的集合。为了进行配置,每个节点都有名称。单元住配置库保存单元中每个节点的配置和应用程序二进制文件。存储库是通过DM管理的。
  • Deployment Manager:DM组件是管理单元所有部分的唯一位置。DM承载基于WEB的管理控制台应用程序。它负责每个节点的存储库内容(配置和应用程序二进制文件)。
  • 主配置库:主配置库保存单元的配置数据。DM执行对它的更新。每个节点的配置库是主库的同步子集。节点库针对应用程序服务器的访问是只读的。
  • 节点代理:节点代理是执行下列功能的管理组件:文件传输服务、配置同步和性能监控。节点代理通过与DM的交互管理可管理的组件。节点代理配置同步化,位DM执行管理操作。它还与应用程序服务器和JMS服务器交互来管理每台服务器并更新其配置和应用程序二进制文件。
  • UDDI注册表:WAS提供专用的UDDI注册表,这样企业就可以在组织内管理其自身的WEB服务了。也可以向其他组织或企业提供代理服务。管理员把UDDI注册表作为符合J2EE规范的WEB应用安装到利用起服务的没太应用程序服务器上。

WEB服务网关是在WEB服务调用期间链接Internet和企业内部网的中间组件。它管理:

  • WEB服务
  • WEB服务触发的过滤器
  • 承载进出WEB服务的请求的通道
  • 对在其中可以注册WEB服务的UDDI注册表的引用

    网关运行在WEB服务定义语言(WSDL)和WEB服务调用框架(WSIF)智商,以进行部署和调用。

Edge组件是承载WEB易访问的内容并提供Internet访问的一种有效而经济的方式。该软件一般是在邻近企业内部网和Internet之间边界的机器上运行的。Edge组件包含告诉缓冲代理器和负载平衡器,它们帮助管理员提高服务级别,以便具有访问权限的内部和外部用户能够更好地访问企业服务器计算机上的文档。

集群是为工作负载平衡而设计的应用程序服务器进程的逻辑排列。构成集群一部分的应用程序服务器是该集群的成员,在其上应部署相同的应用程序组件。不要求集群成员共享任何配置数据。

集群成员可以位于一个节点上(垂直群集),可以在多个节点上(水平群集),也可以是两种类型的混合。

被管理的服务器或被管理的进程是指构成WebSphere产品组件的所有系统进程。所有服务器都在管理域中占有一席之地。JMX支持是所有被管理进程的一部分。这些进程能够接收管理命令,在这些进程内分布有关被管理资源条件的管理信息。

WebSphere提供多项被管理的服务器或进程:

  • Deployment Manager(ND)

    Deployment Manager是一个单元的所有配置信息和控制的单个访问点。

  • 节点代理(ND)

    节点代理聚集并管理节点上所有WebSphere管理进程。

  • 应用程序服务器(Base and ND)

    应用程序服务器是承载J2EE应用程序的托管服务器。

  • JMS服务器(ND)

    JMS服务器是为节点承载嵌入式消息传递服务的托管服务器

WebSphere组件共存

ND为实现多个WAS安装在一台机器上的共存而支持一系列的场景。

多个WAS实例

WAS在一台机器上支持两种特定类型的运行库实例:

  • 应用程序服务器,是WAS一个安装版本的多个实例。
  • DM,是ND的一个安装版本的多个实例

来自单一安装版本的多个服务器实例

WebSphere支持采用一个安装版本运行多个数据库实例。例如,你可以从一个WAS安装版本中开发并运行多个WAS实例。你也可以从独立的ND安装版本中创建并运行多个DM。

可以为耽搁ND安装版本配置多个DM,但是这些DM不能提供相互的故障转换,也不支持群集。

WAS和ND共存

你可以在与WAS相同的机器上安装ND软件。这样做有明显的优点。例如,你不需要专门的机器来承载单元DM和它的主单元存储库。这还能够重新使用为节点机器提供的当前备份工具。

但这样做也有缺点,如果WAS或DM出现了任何问题,则需要重建节点,需要重新部署其他组件。

单个Web服务器与多个Web服务器

除了多个实例以外,当独立机器上有多个应用程序服务器共存时WAS提供Web服务器选项。这些选项包括:

  • 在一台机器上共享多个版本的应用程序服务器的一台Web服务器
  • 用于WAS的多个实例的一台Web服务器
  • 在运行WAS多个实例时用于每个应用服务器实例的独立Web服务器

Websphere拓扑结构考虑因素

在为Websphere不熟选择合适的拓扑结构或配置是,有七个重要因素需要考虑:

  1. 可用性

    拓扑结构需要有合适的进程冗余,以避免单个故障点,从而最大化系统可用性。水平缩放、垂直缩放和IP喷射器都可以提高可用性。通过在多台机器上共享关键功能,WAS ND可以管理可用性。

    结合这五中方法可以创建高度可用的系统:

    • 硬件和进程冗余度

      通过硬件和进程冗余度可以消除单故障点。采用水平缩放可在多台物理机器上分布应用程序服务器。针对数据库、IP喷射器和Web服务器可以采用备份服务器。你可以在多个单元中部署应用程序。

    • 进程隔离

      进程隔离保证了发生故障的服务器不影响配置中正常工作的服务器。多种配置都可以构成进程隔离元素。从应用程序服务器向其他一台不同机器部署Web服务器,可以保证应用程序服务器的问题不影响Web服务器。

      采用水平缩放可以把应用程序服务器进程隔离到不同机器上。在多个单元中发布应用程序可以保证任何问题都被局限在受影响的一个或多个单元中。

    • 负载平衡

      采用负载平衡技术保证了客户端请求不淹没每台服务器。可以采用的技术包括使用IP喷射器把请求散步道配置中的Web服务器上,把高交通量URL的请求转发到更强大的服务器上。ND中的Edge组件都具有这些功能。

    • 故障转移支持

      应用程序在服务器被停止或重新启动时继续处理客户端请求。你可以通过水平缩放和工作量管理支持故障转移,或采用HTTP传输共享客户端堆应用程序服务器的请求。

    • 基于硬件的高度可用性

      配置WebSphere与机遇硬件的高可用性产品(例如Sun Cluster或HACMP)一起工作没有多少优点。基于硬件的HA解决方案有益的唯一情形是当WebSphere作为分布式事务处理的协调者。

  2. 易维护性

    易维护性是指更新系统硬件和软件的内在考虑因素。易维护性可能与其他拓扑结构考虑因素发生冲突,导致通过量、性能和可用性方面的缺点。在决定拓扑结构采用垂直或水平缩放级之前需要考虑硬件升级。

  3. 性能

    性能是指为事务处理服务取得尽可能快的响应时间。提高性能一般采用两种技术:

    • 垂直缩放,是指提供软件/应用程序服务器在多台JVM进程上的故障转移和负载平衡,这样管理员就可以查看当前的应用程序服务器是否出现性能障碍了。
    • 水平缩放,是指在多台物理机器上创建另外的应用服务器进程,控制每台机器的附加处理能力,支持硬件故障转移,管理员可以吧实现成本分配到多台物理机器上。
  4. 安全性

    所建议的安全配置是采用两个防火墙创建安全区(demilitarized zone,DMZ)。DMZ中的信息皆有Internet和DMZ之间的过滤协议而受到某种程度的保护。Web服务器可以拦截请求并引导其通过下一个防火墙。

    易受攻击的应用程序和事务数据元素存在于第二个防火墙之后的空间中,通过IP地址或域来过滤。

  5. 会话管理

    HTTP客户端请求之间的会话状态维护是在选择拓扑结构时的主要考虑因素。在ND中,在应用程序服务器进程之间共享会话有两种不同的功能:数据持久性和内存到内存复制。

    数据库持久性是指会话数据被保存到所有应用程序服务器都可以访问的数据库中。

    内存到内存复制是指在单个应用程序服务器JVM的内存之间复制会话数据。WebSphere内部消息传递是JMS发布/订阅机制,保证了在JVM进程之间复制会话。他是通过平衡WAS所提供的内部JMS提供者实现的,所以数据库产品并不是保证持久性所必需的。

    犹豫WAS实现了高性能消息传递,所以内存到内存复制更为迅速。它只在ND环境中可用。

  6. 缩放能力

    你可以配置多台机器来提高处理能力,增强安全性,最大化可用性,并平衡工作量。

    通过三个组件实现配置缩放能力:

    • WAS集群支持

      通过集群可以开发服务器的逻辑群,他承载并运行相同的一个或多个应用程序。你可以在相同的机器(垂直缩放)或在多台机器(水平缩放)上安放集群。部署应用程序服务器集群可以提高服务器的性能,并能够对工作量进行管理。

    • WAS工作量管理(WLM)

      通过WebSphere工作量管理(Workload management,WLM),来自客户端的流入处理请求被透明地分配到集群应用程序服务器中。采用WLM可以实现负载平衡和故障转移,提高WAS应用程序的整体可靠性和缩放能力。

    • IP喷射器

      IP喷射器透明地把从Web客户端流入的HTTP请求重定向到Web服务器群。IP喷射器拦截所有请求,并把它们分散到服务器群中所有Web服务器上。Cisco Local Director等IP喷射器实现了Web服务器的缩放能力、负载平衡和故障转移。

  7. 通过量

    通过量与性能有关,包括开发服务于相同请求的一系列应用服务器实例。ND中的集群可能要求多台应用服务器,通过垂直或水平缩放添加。

在ND拓扑结构中有一些关键术语:

  • Web演示服务器节点

    Web演示服务器节点控制所有演示类型的行为,实现统一的用户接口。节点在基本级时服务于HTML页面,运行servlet和JSP。节点在更高级别时提供访问集成服务,并充当门户。通过与个性化服务器节点通信,可以根据用户的喜好或角色来定制演示。采用Web演示服务器,组织及其用户可以对应用程序和数据演示采用同意的方式,实现高级访问控制。

  • 数据库服务器节点

    数据库服务器节点提供持久化的数据存储和检索,支持用户到商家的事务处理交互。已存储的数据连接到每个商务事务处理上,例如当前用户采购。数据库访问是Web应用程序最关键的性能因素。建议把数据库访问先知道一个或很少的几个呼叫。

  • 域和协议防火墙节点

    防火墙可以把本地网络分隔为两个或多个部分,在各部分之间组织数据交换。过滤器和筛网控制特定交通类型的传输。高级安全系统采用防火墙和加密,并支持入侵检测登记书。公共防火墙包括筛网路由器、协议防火墙(通常是作为IP路由器实现的)、应用程序网关和域防火墙。采用两个防火墙节点提高了防护能力。

  • 目录和安全服务节点

    目录和安全服务节点提供有关该Web应用程序系统中用户的位置和能力等信息。该节点可以把验证和授权信息传送给一系列的安全服务,并执行安全处理。验证是批准对Web服务器的Web应用程序服务器部分的访问,但是该节点也验证对数据库服务器的访问。

  • Web应用程序服务器节点

    是包含HTTP服务器的应用程序服务器。它方便了HTTP客户端的访问,并包含演示和事务逻辑。节点是基于发布的Web服务器的附加组件,允许Web浏览器访问公共和针对特定用户的信息(包括共享的应用程序和数据库)。节点可以包含一系列的数据类型,例如HTML页面、企业bean、servlet、JavaServer页面和应用程序库。

  • Web服务器转向器节点和应用程序服务器节点

    在大部分的拓扑结构中,独立式Web服务器存在于DMZ中。Web应用程序服务器被分割为Web服务器转向器节点和应用程序服务器节点,进而分离Web服务器和Web应用程序服务器功能。应用程序服务器是对动态内容请求的目的地,这些请求要求由Servlet、JSP、企业bean和后端应用程序进行处理。Web林蓝旗请求被发送到Web服务器转向器节点中,该节点处理HTTP页面等固定内容。

  • 负载平衡器节点

    把HTTP分散到多个相同配置的Web服务器或Web服务器重定向节点上实现水平缩放能力。使用负载平衡器可能要求保证会话的紧密性。

  • Deployment Manager

    DM是ND环境中的关键配置和操作区域。在每种拓扑结构中,你都需要特定DM和主单元存储库的位置。可以把DM放在特定机器中,也可以与WAS安装版本一起使用。

WAS ND支持一系列的普通拓扑结构

  • 垂直缩放

    在垂直缩放拓扑结构中,在一台机器上可以有多个应用程序服务器的实例。为此,你通常创建相关应用程序服务器的集群,都承载同一个应用程序。

    在这种拓扑结构中,在应用程序服务器节点上有多个集群成员。你可以在一个配置中的多台机器上实现垂直缩放,也可以与其他拓扑结构组合到一起,提高性能和通过量。

    垂直缩放的优点:

    • 平衡WebSphere工作量的管理
    • 支持集群中多台应用程序服务器的故障转移
    • 通过创建更多的JVM进程,最大程度地利用机器处理能力

    主要缺点:主机形成系统单故障点

  • HTTP服务器分隔

    HTTP服务器分离拓扑结构把HTTP服务器与应用程序服务器分离开来。这样就可以把HTTP服务器放置在DMZ中,在后端服务器和数据上增加了附加安全层。

    WAS把Web服务器插件添加到Web服务器机器上,采用HTTP或HTTPS协议把请求定向到远程机器上的应用程序服务器。

    优势:

    • 支持网络地址转换(NAT)防火墙

      NAT(Network Address Translation)防火墙降低了对公共访问的IP地址的要求,屏蔽了内部LAN上关键性任务服务器的地址。

    • 防止访问DMZ中的数据

      通过DMZ可以把公共Web站点与关键性任务的内部数据分离开来,例如把数据库和配置文件相分离。

    • 支持负载平衡和故障转移

      HTTP服务器分离通过消除单故障点支持负载平衡和故障转移。相互依赖的进程会形成影响整个基础机构的故障点。但DMZ配置把这些进程分离开来,意味着只有这些组件之间的连接才是故障点。

    • 简化管理

      HTTP服务器分离简化了管理,这是因为Web服务器插件采用单一的、便于理解的XML配置文件。在建立之后,某些解决方案要求最低程度的维护,而其他方案只要求才去非经常性的管理措施。

    • 减轻堵塞现象

      HTTP服务器通过在多个服务器上分配交通量,避免在一台服务器上出现瓶颈,从而减少了堵塞现象。

    • 支持安全套接层(Secure Sockets Layer,SSL)加密

      通过加密Web服务器和应用程序服务器之间的通信可以降低攻击者通过检测服务器之间发送的数据包而获得对安全信息的访问权限造成的风险。

    缺点:在配置每次修改之后需要重新生成Web服务器插件,必须配置域防火墙才能维持服务器之间的HTTP交通。

  • 反向代理

    其他常见的拓扑结构包括提供代理服务器的反向代理拓扑结构。这些结构拦截进出Web服务器的交通量,提供对基础结构的访问,而不向外部人员披露Web服务器的地址。

    位于DMZ中的反向代理转发去往和离开与应用程序服务器在同一台机器上的Web服务器的交通量。你可以采用DMZ中的反向代理服务器,加强Internet和处理请求的Web服务器之间的安全性。与WAS结合在一起时反向代理产品必须支持NAT。反向代理配置支持高性能的DMZ解决方案,这些方案取决于开放防火墙端口的最小数量。

    • 优点:

      这种配置很常用,经过了验证和测试,可避免用户混淆。所有被转发的请求都采用HTTP协议,从而避免了协议切换,是快速的解决方案。

    • 缺点:

      反向代理不参与WebSphere工作量管理,当安全机制针对出入防火墙的交通不使用同一端口或协议时这种配置不能工作,需要比没有代理服务器的拓扑结构中更多的硬件和软件。

  • 多层

    多层拓扑结构把应用程序服务器进程分配给Servlet应用程序服务器和EJB应用程序服务器。在安全和性能方面有优势。

    在多层拓扑结构中,运行servlet的应用程序服务器进程存在于前端节点上,几演示服务器节点上。这样,servlet执行更靠近HTTP服务器,从而缩短了对客户端请求的响应时间。

    应用程序服务器节点包含运行企业bean的应用程序服务器进程,更靠近应用程序数据。实体bean存储在数据库服务器中,代表应用程序中的应用程序数据。

    在多层拓扑结构中群集应用程序服务器可以提高每个节点的资源利用率,形成进程冗余,与只能部署应用程序服务器单个实例的类似拓扑结构对比,提高了内存利用率。

    • 优点:

      多层拓扑结构在复制应用程序服务器方面非常灵活。增加的机器资源提高了应用程序通过量和性能。在每两层之间引入了防火墙为实体bean和应用程序数据增加了安全性。

    • 缺点:

      采用多层拓扑结构时,不需要进行当Web容器和EJB容器在同一台应用程序服务器上工作时应执行的本地JVM优化。引入网络等待时间会降低系统性能,引入了冗余级会让维护更复杂。

  • 带集群的水平缩放

    当应用程序服务器群集的成员位于多台物理机器上时可以采用这种拓扑结构。通过这种方式,应用程序可以在多台机器上分布,同时仍维护单一的逻辑实体。

    Web服务器插件共享应用程序服务器节点上堆群集成员应用程序服务器的请求。你可以在群集上添加Edge组件中的Network Dispatcher组件,利用带去你记得水平缩放和带IP喷射器的水平缩放。

    • 优点:

      提高了垂直缩放拓扑结构的通过量

      支持故障转移

      适合处理应用程序服务器进程故障和硬件故障,对客户端服务没有任何重大破坏。

    • 缺点:

      增加了维护工作量。

  • 带IP喷射器的水平缩放

    在采用IP喷射器的水平缩放的拓扑结构中,可以采用负载平衡产品在多台物理机器上工作的应用程序服务器实例间分配HTTP请求。

    Edge组件中的Network Dispatcher组件是一种IP喷射器。它采用服务器可用性、能力和工作量等元素在Web服务器上运行智能负载平衡。

    既有简单的也有复杂的IP喷射器拓扑结构。

    简单的水平缩放配置采用负载平衡器节点上的IP喷射器在多台机器上的应用程序服务器之间分配请求。通常在负载平衡节点上配置备份节点以避免单故障点。

    在复杂的IP喷射器拓扑结构中,IP喷射器把请求分散到包含Web服务器和群集应用程序服务器的多个机器上。演示服务器节点承载基于servlet的应用程序。应用程序服务器节点包括访问应用程序数据和处理事务逻辑的企业bean。这样就可以再第一层中设置多个不太强大的机器,在第二层中设置少一些的但功能强大的机器。

    IP喷射器拓扑结构不论是简单的还是复杂的,都非常灵活,提供了多个工作量管理层。

  • 多个WebSphere单元
  • 单节点上多个集群
  • 组合