因为需要为模块中的每种组件类型以及组件间和模块间的每种交互类型提供专门支持,因此,将要部署的模块会影响到您的部署环境。模式文章包括一项“黄金级”或“参考级”模式,该项模式囊括了所有组件类型的需求。其他模式则包括针对组件类型子集的支持。参考模式还包括针对服务组件体系结构 (SCA) 迭代(异步和同步)、Web 服务交互(SOAP/HTTP 和 SOAP/JMS)和 JMS 交互的支持。其他模式则包括针对组件和模块交互类型的子集的支持。为了能够在这些不太复杂的拓扑模式中选择一项,您必须了解模块设计。具体说来,您必须了解以下内容:
- 导出类型(模块的入口点)。
- 与导出的连接以及与导出的交互(模块的使用方式)。
- 组件类型和组件间的交互(模块的组成部分)。
- 导入类型(模块的合作伙伴)。
- 与导入的连接以及与导入的交互(合作伙伴的使用方式)。
- 组件所需的资源,这些资源包括诸如在应用程序中直接调用的数据库或 JMS 资源之类的内容。
- 业务事件的生产和使用;也就是说,是否收集了业务事件,在收集它们时采用的是异步方式还是同步方式等等。
- 业务管理员与业务模块的交互,如,需要访问业务规则管理器,需要访问 BPC 资源管理器等等。
单个 WebSphere 计算单元至少可支持 J2EE 应用程序、Web 应用程序、Process Server 应用程序、Enterprise Service Bus 应用程序和 Portal 应用程序。在决定需要多少个计算单元以及在这些计算单元中分配应用程序时,应基于应用程序的隔离需求或其管理,或基于地理位置。文章所提供的部署模式只限于 IBM® WebSphere® Process Server(以下称为 Process Server)和 IBM WebSphere Enterprise Service Bus(以下称为 Enterprise Service Bus)应用程序。如果您的部署环境包括其他应用程序类型,因需要支持这些其他应用程序类型,您将需要对模式进行扩展或自定义。
Process Server 和 Enterprise Service Bus 均是 IBM 面向服务的体系结构 (SOA) 实现的一部分。本文不打算介绍了解哪些部分,或您的应用程序和解决方案在哪个产品中可以最好地实现。
非功能性需求在应用程序开发中的一些反映表现为:
- 晚期绑定需求通常要求应用程序中存在一个间接寻址级别。例如,查找在部署过程中设置的 JNDI 名称。
- 集群需求通常要求静态数据还存储在除内存之外的某个位置。例如,如果更新了下一个订单号,则每个集群成员都需要看到相同的值。
- 集群需求通常要求无状态行为。例如,客户端和特定的集群成员之间不存在任何关联。
在部署模式中,您将发现部署目标或其他 Process Server 或 Enterprise Service Bus 组件(CEI 服务器、消息传递引擎等等)的分离会影响应用程序的分配和故障转移属性。当您选择包括了这些资源的分离的模式时,您可以根据自己的需要将它们部署在同一计算机上或不同的计算机上。然而,您需要在内存和该计算机上运行的服务器进程(包括 dmgr、集群成员和节点代理)的数量之间制定出标准的折衷方案。需要普通工程折衷方案来权衡许可证、内存和计算机的需求。
在这一部分中,我们将提供所有部署的基本模式。
在开发中介模块时,您预期将该模块放置在企业服务和该服务的用户之间。作为一名开发人员,您还可能预期中介模块将提供一些数据以满足日志记录或监视需求。中介模块的开发视图如图 1 中所示。
图 1. 与 Enterprise Service Bus 环境的交互
在部署中介模块时,您需要设置与中介模块的导出和导入的连接,以及与模块已定义的任何其他资源的连接。一些中介模块基元(如日志记录基元)要求也设置一些额外的资源。由于我们将中介模块视为 Enterprise Service Bus 的一部分,因此,我们有时可以将导入和导出的连接视为与 Enterprise Service Bus 结构的连接。此部署环境如图 2 中所示。
图 2. WebSphere Enterprise Service Bus 中介部署
本文中提供的模式在此基本模式的基础上展开,并且是从对中介模块组合的分析中派生而来的。
在开发 Process Server 模块时,您预期会将模块用作服务,预期该模块会使用一些服务,或预期同时出现上述两种行为。作为一名开发人员,您还可能预期需要一些业务级别的管理,其中包括监视业务事件和配置业务策略。图 3 从开发人员的角度显示了业务模块的视图。
图 3. Enterprise Service 及其用户
在部署业务模块时,您需要设置与业务模块的导出和导入的连接,以及与模块已使用的任何其他资源的连接。您还将需要设置支持模块内的组件类型所需的资源。最后,您需要设置针对业务模块的业务管理员支持。此部署环境如图 4 中所示。
图 4. 支持 WebSphere Process Server Enterprise Service
本文中提供的模式在此基本模式的基础上展开,并且是从对企业服务(业务模块)组合的分析中派生而来的。
模块的部署拓扑取决于该模块的属性和模块的非功能性需求。本文中提供的模式可以支持某些模块。需要针对所创建的第一个集群拓扑进行实践。后续文章将提供可帮助您创建部署环境的参考和指南。
| 描述 | 名字 | 大小 | 下载方法 |
|---|---|---|---|
| Reference guide1 | 0611_redlin-deploypatterns.pdf | 800KB | HTTP |
注意:
- 包含 PDF 格式的参考指南文件。
- 您可以参阅本文在 developerWorks 全球站点上的 英文原文 。
-
WebSphere Application Server InfoCenter 包括了有关配置和管理集群的部分。
- 许多可用性概念和设置信息可以在以下红皮书中找到:
WebSphere Application Server Network Deployment V6: High Availability Solutions
。
- 创建参考拓扑的循序渐进的指南可以在以下集群文章中找到:
WebSphere Process Server 集群的基本步骤
。
-
WebSphere Business Integration 专区
-
IBM WebSphere Developer 技术期刊