内容


WebSphere Process Server:IBM 为 SOA 提供的新基础

Comments

什么是 WebSphere Process Server?

面向服务的体系结构向您提供了动态开发和修改集成应用程序的功能。通过面向服务的体系结构,您还可以将现有应用程序与更新的应用程序相集成,以便它们透明地协同工作。

IBM® WebSphere® Process Server V6 是一个基于 WebSphere Application Server V6 的全面的面向服务的体系结构的集成平台。

可以使用 WebSphere Process Server 在面向服务的体系结构中开发和执行基于标准的、基于组件的业务集成应用程序。因为它是基于 WebSphere Application Server V6 提供的 J2EE 1.4 基础设施和平台服务的,WebSphere Process Server 包括诸如业务流程自动化之类的功能。

您可以使用 WebSphere Integration Developer 开发运行于 WebSphere Process Server V6 的应用程序。基于 Eclipse 3.0 平台的 WebSphere Integration Developer 为集成项目提供了基于角色的开发。可以将 WebSphere Integration Developer 和 WebSphere Business Modeler V6 与 IBM Rational Application Developer V6 或者 IBM Rational Software Architect V6 一起作为集成开发平台。J2EE 开发人员、业务分析师或者集成开发人员可以基于其独特角色来选用工具,这样每一个开发人员都可以将注意力集中在这些角色所需的编辑器和工具上,从而最大程度地提高工作效率。

为什么要在 WebSphere Process Server 中使用服务组件体系结构和业务对象?

什么是服务组件体系结构 (SCA)?

WebSphere Process Server 支持有效的面向服务的体系结构所需的两种功能:作为服务组件体系结构 (SCA) 实现的通用调用模型和作为业务对象 (BOs) 实现的通用数据表示。

从概念上讲,SCA 将所有的集成构件都描述为具有定义明确的接口的服务组件。SCA 还引入了模块的概念,它将服务组件集中到一起,并提供服务的进一步说明和封装。集成开发人员可以使用 WebSphere Integration Developer 中的 Assembly Editor 将服务组件组合到模块,并指定您需要模块向外面的使用者公开哪些服务接口。

您可以使用包括导入组件的服务,如 Java Bean 或 Web 服务,也可以使用 WebSphere Process Server 提供的服务组件。可以将模块连接到一起构成完整的集成解决方案。SCA 概念使您能够封装模块内的集成逻辑。这意味着只要您更改的模块的接口保持不变,就可以在不影响整个解决方案中的任何其他模块的情况下更改模块内的服务组件。这一概念适用于整个 WebSphere Process Server。WebSphere Process Server 中的所有集成构件——流程、业务规则、人工任务等等都是以 SCA 服务组件表示的。

这就创建了一个非常灵活的环境,例如,可以通过这一环境,使用包含业务规则的模块替换包含人工任务的审批模块。只要模块的接口是相同的,就可以部署更新的模块,并且所有正在使用的模块将自动获得更新的模块,而不会发生任何改变。

可以通过同步和异步编程方式使用 SCA 调用服务组件。这组选项使您能够将模块组装到整个解决方案中,这样服务组件和模块之间的异步通道可以增加总吞吐量和系统的灵活性。

什么是业务对象 (BO)?

可以使用业务对象(服务数据对象 (SDO) 的扩展)为数据访问提供抽象层。虽然 SDO 提供了描述完全不同的数据(例如 JDBC ResultSet 和 XML Schema 描述的数据等)的通用方式,但是业务对象包括一些对于集成解决方案非常重要的扩展;可以使用它们进一步描述在 SCA 服务之间进行交换的数据。这包括数据上下文中类似元数据的更改历史或者诸如更新、创建、删除等信息。

虽然服务组件体系结构和业务对象的概念是新的,但是实现是以标准为基础的。例如,任何 SCA 服务组件的接口都是通过 Web 服务定义语言(Web Service Definition Language,WSDL)或者 Java 接口描述的,而业务对象是通过 XML Schema (XSD) 描述的。

有哪些新功能?

WebSphere Application Server V6

作为 WebSphere Process Server 功能的基础,WebSphere Application Server V6 是一个本机 Java 消息传递服务提供程序,它包括与基于现有的 WebSphere MQ 的网络的完全互操作性以及对 Web 服务的支持。Java™ 2 Connector Architecture 1.5 为 WebSphere Process Server 提供了关键连接服务。

图 1. WebSphere Process Server 平台
WebSphere Process Server 体系结构
WebSphere Process Server 体系结构

面向服务的体系结构的核心

服务组件体系结构、业务对象和公共事件基础架构(Common Event Infrastructure,CEI)是 SOA 核心的一部分。此外,为了允许调用本机 SCA 服务组件,各种 SCA 绑定允许通过 WebSphere Adapters 与外部服务(如 Enterprise Java Bean、Web 服务、JMS 消息或者早期的应用程序)交互。

可以使用 CEI 捕获用于监视应用程序的事件(如在 IBM WebSphere Business Monitor 或者 IBM Tivoli 产品中)。WebSphere Process Server 是基于 CEI 构建的,并通过它为每一个 SCA 服务组件生成一组特定的事件。

支持服务

除运行时基础设施和 SOA 核心之外,WebSphere Process Server 还提供了多种服务组件。支持服务是所有集成解决方案中都需要的组件,其中包括数据转换和同步服务。

  • 接口映射: 现有组件的接口可以在语义上匹配,但是在语法上不匹配(例如,updateCustomer 和 updateCustomerInDB2)。对于已存在的组件和需要访问的服务更为如此。接口映射通过转换这些调用使您能够调用这些组件。此外,可以使用业务对象转换服务调用的实际业务对象参数。
  • 业务对象映射: 可以使用业务对象映射将某种类型的业务对象转换成另一种类型的业务对象。可以通过多种方式使用这些映射,例如,在接口映射中将某种类型的参数数据转换成另一种类型。
  • 关系:您可能需要在业务集成场景或者不同的后端系统(如 ERP 系统和 CRM 系统)中访问相同的数据(如客户记录)。保持业务对象同步的一个常见的问题就是不同的后端系统使用不同的关键字表示同一对象。可以使用 WebSphere Process Server 中的关系服务建立这些完全不同的后端系统中的对象之间的关系实例。通常在将一种业务对象格式转换成另一种格式时,从业务对象映射中访问这些关系。
  • 选择器:可以使用选择器组件动态选择和调用共享同一接口的不同服务。例如,客户支持流程在假日期间使用的人工任务实现可以与正常工作日中的不同。WebSphere Process Server 提供了一个基于 Web 的接口,以启用对选择标准和目标服务的动态更新,这意味着,如果启用对集成解决方案的动态更改,该选择器组件还可以调用随后部署的模块。
  • Java: 可以使用 Java 组件调用 Java 代码。

服务组件

WebSphere Process Server 提供了四个服务组件:

  • 业务流程:WebSphere Process Server 中的业务流程组件实现了与 Web 服务业务流程执行语言(Web Services Business Process Execution Language,WS-BPEL)兼容的流程引擎。可以开发和部署业务流程,它支持长时间运行和短时间运行的业务流程以及可伸缩的基础设施中的补偿模型。您可以在 WebSphere Integration Developer 中创建 WS-BPEL 模型,也可以从在 WebSphere Business Modeler 中创建的业务模型导入。
  • 人工任务:人工任务是 WebSphere Process Server 中的独立组件,可以用来向员工分配任务或调用任何其他服务。此外,人工任务管理器还支持临时创建任务和跟踪任务。可以使用现有的 LDAP 目录(以及操作系统资源库和 WebSphere 用户注册表)访问员工信息。WebSphere Process Server 还支持人工任务的多级升级,其中包括电子邮件通知和优先级老化。WebSphere Process Server 包括可扩展的 Web 客户机,可以用于处理任务或者流程。该 Web 客户机基于一组可重用的 Java Server Faces (JSF) 组件,这些组件可以用于创建自定义客户机或者将人工任务功能嵌入其他的 Web 应用程序。
  • 业务状态机:业务状态机提供了建模业务流程的另一种方式。通过这种方式,可以根据状态和事件表示公司的业务流程,有时使用这种方式进行建模比采用面向图形的业务流程模型简单。订购流程就是这样一个例子,您可以在订单处理过程中的任何时刻修改或者取消订单,直到实际完成订单为止。
  • 业务规则:业务规则是一种通过外化业务功能实现和执行业务策略的方式。这为响应更快的业务环境启用了业务流程的动态更改。基于 Eclipse 的桌面工具支持业务规则的创建。在业务需求指示时,业务分析师可以使用 WebSphere Process Server 提供的基于 Web 的运行时工具更新业务规则,而不会影响其他服务。

可以通过 WebSphere Application Server 管理控制台和配置功能的扩展配置和管理 WebSphere Process Server 的所有功能。这就为管理整个应用程序堆栈提供了一席之地。

可以使用 WebSphere Process Server 做些什么?

事务、安全性、集群和工作负载管理:WebSphere Process Server 解决方案使用 WebSphere Application Server 功能,因而向您提供了一个可伸缩的、可靠的业务集成环境,可以用于事务、安全性、集群和工作负载管理。

完整的 ACID 事务支持:WebSphere Process Server 为业务流程提供了完整的 ACID 事务支持,既包括短时间运行的流程(端对端的一个事务)也包括长时间运行的流程(多个流程)。可以在工具中修改事务边界来将业务流程中的多个步骤集中到一个事务。此外,它还支持 WS-BPEL 规范中定义的业务流程的灵活补偿。

恢复管理器与恢复控制台:WebSphere Process Server 包括恢复管理器和恢复控制台。如果在执行业务集成应用程序期间出现故障,则服务器将检测该故障,并允许您(管理员)在恢复控制台管理出错的应用程序。

封装业务功能:WebSphere Process Server 中的唯一体系结构允许将业务功能封装到各个模块,然后单独进行更新。例如,您可以使用包含用于实际审批的人工任务的审批模块,随后使用包含业务规则的另一个审批模块替换它。这一更改对于该模块的使用者是完全透明的。此外,封装的概念确保了数据和接口定义在使用它们的位置封装。例如,可以隐藏如何在模块内的后端系统中表示使用者的细节,而模块本身将具有一般业务对象的通用接口作为数据公开。这一规范的数据表示还启用了任何给定集成应用程序中的高度重用。

WebSphere Process Server 如何处理现有系统和新的应用程序?

WebSphere Process Server 提供了许多选项,可以用于将公司的现有系统与新的集成应用程序相集成。

WebSphere Application Server 消息资源:WebSphere Process Server 使用 WebSphere Application Server 中的消息资源绑定到现有的 WebSphere MQ 网络。可以配置 WebSphere Application Server V6 附带的本机 Java JMS 提供程序,以连接到现有的 WebSphere MQ Queue Manager,这样您就可以创建 WebSphere MQ 网络的扩展。

本机 Web 服务互操作性:WebSphere Process Server 包含对 Web 服务的完整支持,其中包括通过 HTTP 对 SOAP 的支持或者通过 JMS 对 SOAP 的支持。WebSphere Process Server 还包括对导入和导出 WebSphere Process Server 组件、JMS 和 Enterprise Java Session Bean 的支持。

WebSphere Adapters:WebSphere Adapters 包括特定于应用程序的适配器(如用于 Siebel、SAP 或者 PeopleSoft 的适配器),以及技术适配器(如用于关系数据库或者平面文件的适配器)。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=95661
ArticleTitle=WebSphere Process Server:IBM 为 SOA 提供的新基础
publish-date=09122005