组装阶段
- Rational Software Architect
- Rational Application Developer
- Rational Data Architect
- WebSphere Integration Developer
组装阶段可分为下列三种主要活动:
- 服务设计
- 服务构建
- 服务集成
如果您回顾过去几年的软件开发历程,您可能会想起使用 Visio 进行流程建模的经验并与人分享,而且会发现在建模和设计之间存在着空白。用 Visio 创建的构件与用来设计和开发组件和服务的下游工具不兼容。
WebSphere Business Modeler 是作为一种完美的解决方案出现的。使用这一工具设计的模型可以以至少三种格式导出:业务流程执行语言 (BPEL)、统一建模语言 (UML) 2.0 和 XML 模式定义 (XSD)。BPEL 被用来编排和组合服务,而符合 UML 2.0 的输出则在使用 Java? 2 Platform, Enterprise Edition (J2EE) 等技术进行设计和实现时会被用到。在业务的输入和输出步骤中确定的业务实体,其 XSD 定义对于逻辑数据模型和信息模型而言是一个较好的起始点。
业务流程的元素,即组成流程的活动,可以作为业务服务或可重用组件实现。无论采用何种实现方法,流程都需要使用 J2EE 等技术进行设计和实现。然后,已实现的服务可以进行组装,以实现业务流程,接下来业务流程将在运行时上执行。
服务设计、规范和构造
Rational Software Architect 和 Rational Data Architect 用来设计服务、数据元素和消息。Rational Application Developer 则使用 J2EE 技术实现服务。
Rational Software Architect
Rational Software Architect 是一个集成式的设计和开发工具,它利用了 UML 的模型驱动开发。版本 6.0.1 中新的 SOA 设计资源简化了从业务流程到面向服务的应用程序的转换。WebSphere Business Modeler 和 Rational Software Architect 之间的无缝集成,使软件架构师可以用 UML 2.0 符号使业务流程模型可视化,而无需手动导入流程模型。这一集成还提供业务模型和设计模型之间的直接映射。WebSphere Business Modeler 中的流程模型可以导出为 UML 2.0 格式,然后导入 Rational Software Architect,并在其中成为活动关系图。
UML 2.0 Profile for Software Services(由 Rational Software Architect 与 WebSphere Business Modeler 的集成提供支持)扩充了 UML,提供了一种用来描述服务的通用语言,使架构师们可以建立模型并生成 Web 服务。这一概要可以应用于任何新模型或现有模型,它还为 SOA 分析和设计添加了一些新概念和新符号。这一概要为架构师们提供了一些新功能,使他们可以使用描述整个企业级服务投资组合的逻辑分区对服务进行规划,开发出服务规范(包括结构和行为的),作为服务的客户与实现者之间的契约。因此,可以用 Rational Software Architect 设计和指定服务。图 4 显示了一个使用 Rational Software Architect 的 UML 建模示例。

图4 使用 Software Architect 的 UML 2.0 中的服务设计和规范
Rational Application Developer
当设计和指定服务后,需要对它们进行构造和实现。在服务的构造和实现过程中,可以使用 Rational Application Developer。该工具是一个面向服务的开发环境,使许多通常在 Web 服务的构造和使用过程中执行的任务实现了自动化。从 Web 服务描述语言 (WSDL) 文件和代码的生成,到测试客户机的产生和Web 服务互操作性 (WS-I) 的一致性验证,一切都由 Rational Application Developer 实现了自动化,开发人员可藉此将注意力放在业务逻辑代码的编写上。
您还可以使用 Rational Application Developer 创建、构建、使用、测试、部署和发布 Web 服务,您可以从头做起,也可以使现有的应用程序符合 WS-I。Rational Application Developer 根据需求规范和 UML 模型,采用自顶向下的方法简化 Web 服务的创建流程。它甚至能创建 Enterprise JavaBeans (EJB) 的框架,该框架能用来实现 Web 服务。Rational Application Developer 还在 Web 服务的创建中发挥协助作用,它采用自底向上的方法,由现有的 Java 类或 EJB 进行创建,它提供一个向导,根据现有的 Java 类和 EJB 自动生成 WSDL 定义。Rational Application Developer 还拥有 J2EE Connector Architecture 工具,它们可以使您轻松地将现有的企业信息系统 (EIS),如 IBM CICS? 或 IBM IMS?,集成到您的 SOA 解决方案中。使用这些工具,开发者可以根据某个现有的 EIS 事务,迅速创建一个 Web 服务。
Rational Data Architect
Rational Data Architect 是一个企业数据建模和集成设计工具,它的设计目的是帮助数据架构师设计关系型和联合数据库,理解数据资产和它们的关系,以及简化数据库项目。Rational Data Architect 使用 WebSphere Business Modeler 将 XSD 导出到关系型数据库 (RDB) 模式中。RDB 模式能帮助创建 RDB 数据的映射。在 Rational Data Architect 中执行的数据建模还可以在以后导出为 UML。
Rational Data Architect 被用来创建逻辑数据模型和数据映射,它们可以从 Rational Data Architect 中导出为 UML 格式,并导入 Rational Software Architect。这会对以 UML 2.0 格式从 WebSphere Business Modeler 中导出的业务流程模型进行扩充,然后导入 Rational Software Architect。Rational Software Architect 在其后会使用一个名为 UML 2.0 Profile for Software Services 的 RSA 插件设计和指定服务。之后,已经过设计和指定的服务将在使用 J2EE 技术的 Rational Application Developer 中进行构造。
服务组合与编排
在服务实现之后,需要用它们组合和编排业务流程。在 WebSphere Business Modeler 中创建的业务流程模型将使用 BPEL 进行优化和实际组装。组装阶段使用现有的和新建的服务,以实现业务流程中的每个活动。
WebSphere Integration Developer
IBM 的 WebSphere Integration Developer 为集成开发人员提供他们需要的可视化软件开发工具,用来指定、测试和部署可执行的业务流程。WebSphere Integration Developer 帮助确保流程将 Web 服务、企业应用程序、人工任务和其他服务组件有效地集成到基于 SOA 的业务解决方案中。
WebSphere Business Modeler 中的业务流程被导出为 BPEL,然后导入 WebSphere Integration Developer。之后 WebSphere Integration Developer 将按 WS-BPEL 表示业务流程。BPEL 流中的每个活动通过下列两种方式之一实现:
作为一个已经开发的服务(例如,使用 Rational Application Developer 预先构建的服务)或一个外部服务(例如,由企业对企业的合作伙伴提供的服务)
作为一个使用服务组件体系结构 (SCA) 的构造和功能的服务组件(WebSphere Integration Developer 支持 SCA);或作为 IBM 向 BPEL 的扩展
图 5 显示了 WebSphere Integration Developer 的 business integration 透视图,它被用来通过服务编排来细化和实现业务流程。

图5 WID 的 Business Integration 透视图
WebSphere Integration Developer 还可以帮助团队编排业务流程,方法是将原子连接在一起,并组合服务,以实现业务流程。此后您可以在一个运行时环境中执行这些流程。