级别: 中级 Matt Sanchez, 高级技术人员, IBM Naveen Balani, 软件架构师, IBM
2008 年 11 月 13 日 WebSphere® Business Services Fabric 提供一个 SOA 平台,以支持新型的面向服务的业务解决方案。Business Services Fabric 提供了一个集成的环境,以对组合业务服务进行建模、组装、部署、管理和治理。本系列文章向您介绍 WebSphere Business Services Fabric,并说明如何将其用于构建组合业务服务。
关于本系列
本系列文章描述如何利用 WebSphere Business Services Fabric V 6.0.2 来构建使用组合业务服务的 SOA 应用程序。本系列包括以下部分:
什么是业务服务和组合业务服务?
可以将业务服务看作是业务级别的构件,当充分发挥其潜力时,业务服务可以促进业务预期与 IT 执行之间的一致性。业务服务表示与业务一致的功能,在运行时可以基于业务策略和用户上下文调整该功能的执行。业务服务的主要特征包括:
- 与服务的业务透视图保持一致,服务通常表示离散的业务功能(例如,检查信用、开立帐户)
- 基于业务策略和用户上下文提供灵活的自适应行为。
- 在现有(并且通常是异构)的 IT 资源的基础上派生而来。
- 使用技术和行业标准进行构建。
- 通过多种通信通道来提供。
- 可以组合起来创建松散耦合的 SOA 应用程序。
组合业务服务
组合业务服务(以下称为 CBS)是相关业务服务的集合,这些业务服务增量地实例化以支持面向服务的业务解决方案。
SOA 中的 CBS 可以帮助组织在现有系统、业务合作伙伴和第三方 IT 资产的基础上,增量地自动化和集成业务服务。CBS 通过将复杂的多方面决策逻辑外部化为策略,从而可以帮助降低业务流程的复杂性。策略在运行时加以强制以调整业务服务的行为,从而匹配各个服务使用者的需求。对候选服务提供者功能的评估在运行时进行,并选择最佳的提供者以基于业务上下文和数据语义交付所请求的服务。CBS 利用预构建的 SOA 服务和资产库实现多种客户合作项目中的部署。CBS 方法支持基于资产的开发模型,此模型在传统上与打包应用程序或基于自定义的应用程序模型相当不同,在后一类模型中,重复的解决方案往往在一段时间后发展演变。传统方法导致非常繁琐的变更管理流程和僵化的业务流程,对不断变化的业务需求的反应非常迟钝。
CBS 方法使您能够使用动态业务服务将僵化的业务流程转换为更敏捷的解决方案。
组合业务服务的一些主要特征包括:
-
可描述它们可以拥有通过元数据描述的自己的业务上下文、策略和服务,可以对元数据进行注释并在目录中发布,以便于搜索、发现和虚拟化。
-
可组合可以使用从 ISV、遗留、第三方或自定义资产公开的服务对它们进行组合,以表示某个业务流程。
-
可订阅可以作为个性化的服务组合提供给使用者。
-
动态可以在运行时基于上下文、内容和契约对它们进行组装和执行,以向使用者交付个性化的体验。
-
可互操作它们可以使用公共的行业语义集与异构的系统和技术进行互操作。
-
可治理可以在从创建到升级直至使用寿命结束的整个生命周期中对它们进行管理和版本控制。
-
可见它们可以提供业务级别的使用数据,以根据不断变化的需求对解决方案做进一步优化和调整。
图 1 概括了如何能够调整 CBS 以提供正确的业务服务功能,并基于服务请求的上下文、内容和契约通过首选的通信通道交付该功能。
图 1. 示例 CBS 体系结构
在图 1 中,上下文包括用户、通道和在其中访问 CBS 的业务流程。内容是通过服务请求的有效负载得出的(例如,保险报价请求)。契约是需要基于服务请求的上下文和内容进行应用的业务策略。例如,如果用户是代理,并且正在使用浏览器发出住宅报价请求,则需要应用业务策略来确保服务在 500 毫秒内得到执行;倘若将通道更改为电子邮件,则服务可以在 1000 毫秒内交付。可以使用同样的基础技术服务;但是 SOA 基础结构现在可以更智能地调整其行为来处理请求,因为请求的业务上下文是已知的,并自动附加了策略来描述处理该请求的要求和约束。
虽然 SOA 和 CBS 从概念上听起来似乎简单易懂,但是在实践中,实现 SOA 并具体实现其主要业务好处对大多数企业来说都是非常复杂和困难的。与所有的传统应用程序类似,必须在整个生命周期中对 CBS 进行管理。如果没有正确的 SOA 平台来管理 CBS 生命周期,组织将继续疲命于处理 SOA 的治理和管理挑战。
关于 Business Services Fabric
WebSphere Business Services Fabric 提供一个支持对组合业务服务进行建模、组装、部署、管理和治理的 SOA 平台。它提供了设计和部署工具、运行时执行环境、行业参考模型和预构建的 SOA 资产,以支持松散耦合、以行业为中心的组合业务服务的快速开发。使用 WebSphere Business Services Fabric,可以将业务级别的服务组装为扩展的跨企业业务流程和解决方案,而且可以基于服务请求的业务上下文对这些流程和解决方案进行动态个性化和交付。Business Services Fabric 使您可以:
- 使用业务级别的策略和元数据调整僵化的业务流程的行为,从而将其转换为更加敏捷的解决方案。
- 交付适当的功能,以基于服务请求的上下文、内容和契约为使用者提供服务。
- 增量地转换核心业务流程,使其更加高效,只需更少的手动处理。
- 开发高度个性化的合作伙伴协作解决方案,简化业务活动并减少异常和延迟。
- 快速支持多通道服务交付,从而提供更高的服务级别和更低的客户支持成本。
- 通过让新的组合业务服务大量重用 IT 资产,从而实现成本节约。
- 配置和自定义预构建的 SOA 服务和资产库,从而在多种客户合作项目中进行部署。
- 使用自动化的服务授权功能快速部署新产品,以提高可伸缩性和降低支持成本。
- 使用、扩展或创建行业内容包 (Industry Content Pack),以快速启动行业 SOA 解决方案的设计和开发。
Business Services Fabric 组件
Business Services Fabric 包括两个互补的软件包:Business Services Foundation Pack 和 Business Services Tool Pack,以及若干行业内容包。这些包协同工作以简化与 SOA 中的业务服务相关联的业务、技术、安全、治理和流程互操作性问题。为了帮助确保可靠和可扩展的 SOA 平台,Business Services Fabric 扩展了 WebSphere Process Server 和 WebSphere Integration Developer 以实现灵活、面向服务的业务流程的组合和部署。
图 2 演示了 Business Services Fabric 的产品和解决方案体系结构:
图 2. Business Services Fabric、行业内容包和组合业务服务之间的关系
Business Services Foundation Pack
Business Services Foundation Pack 提供用于 CBS 部署的集成运行时和管理环境。
Business Services Tool Pack
Business Services Tool Pack 提供用于 CBS 开发的集成设计和组装环境。
在本系列文章中,您将详细了解这些组件,以及它们如何作为组合业务服务的 SOA 平台协同工作。
行业内容包
为了缩短新的行业 SOA 解决方案的上市时间,Business Services Fabric 提供了可选的行业内容包(Industry Content Pack,ICP)。这些包当前可用于卫生保健、保险、银行和电信行业,由特定于行业的可配置 SOA 资产组成,这些资产可改进面向服务的业务解决方案的价值实现时间。
ICP 提供了一组基于 SOA 的模式、模板和代码资产,这些资产可以跨多种行业流程和解决方案实现重用,并加速面向服务的业务解决方案的部署。图 3 显示了行业内容包中包含的资产类型。
图 3. 行业内容包中的资产类型
参考业务服务模板用作在业务流程中实例化业务服务的起点。您可以扩展或修改这些模板以满足特定的业务需求,从而减少实现时间和成本,并实现更简单的业务流程。特定于行业的服务接口用于促进与常用行业应用程序的互操作性,而行业业务术语表(基于行业标准和模型)提供了用于定义订阅者、通道和业务策略的框架,您可以基于自己的业务流程对该框架进行扩展。特定于行业的公共服务提供了消息和文档处理及转换的基于标准的实现,您可以在自己的 SOA 应用程序中利用这些实现。例如,Heath Care Payer Pack 包提供的 HL7 验证服务为 HL7 消息提供了基于规则的验证服务。总而言之,这些资产可帮助您加速业务服务部署,并促进跨多种行业流程和解决方案的重用。
图 4. 行业内容包提供了参考业务服务模板以加速特定于行业的业务流程的实例化
本系列中的后续文章将描述如何使用 ICP 来加速业务服务部署。
在下一个部分中,我们将研究 Business Services Fabric 提供的 CBS 生命周期管理功能。
使用 Business Services Fabric 管理 CBS 生命周期
图 5 显示了如何在 SOA 生命周期的每个阶段中使用 Business Services Fabric。在本系列的后续文章中,您将详细地逐步完成其中的每个阶段。
图 5. 使用 Business Services Fabric 进行 CBS 生命周期管理
-
建模:建模阶段包括业务流程、服务和消息的分析和设计。行业内容包提供了公共行业服务、参考模型和业务服务模板,您可以在建模阶段中利用这些资产。
使用 WebSphere Business Modeler,业务分析人员可以对业务流程建模,然后将其导入 BPEL 并使用 Business Services Tool Pack 进行部署。还可以使用 Rational Software Architect 对服务(接口和消息)建模,并在以后用于在 Business Services Tool Pack 中进行组装和部署。作为建模阶段的一部分,您将确定需要对 Business Services Fabric 元模型做出的任何扩展,例如添加特定于行业或客户的策略断言,或者基于业务和技术需求扩展内置的角色分类。在本系列的第 2 和第 3 部分中,我们将更详细地研究建模阶段。
-
组装:在组装阶段,您将创建或重用 CBS 项目,组装服务,创建业务服务元数据,定义业务策略和订阅者,以及在部署之前测试策略。
Business Services Tool Pack 用于创建在建模阶段中创建或来自诸如 WebSphere Service Registry and Repository 或 UDDI 等其他注册中心的组合和原子服务(SCA 构件和 WSDL),并对其进行组装以创建 CBS。在第 4 部分中,我们将更详细地研究组装阶段。
-
部署:部署阶段涉及到类似如下的活动:创建部署环境、注册端点、部署业务服务、为组织和订阅者提供业务服务,以及基于服务请求的上下文、内容和契约,使用 Dynamic Assembler 动态地向多个使用者交付 CBS。
-
管理:管理阶段涉及到使用 Business Services Foundation Pack 来管理组织和用户的 CBS 授权和订阅。Business Service Fabric 提供了组合业务服务的业务上下文可见性。例如,您可以确定不同的使用者如何在各个通道上利用某个业务服务,以及确定不同的端点针对特定的业务上下文的执行情况如何。
-
治理:从图 5 中可以看到,Business Services Fabric 的治理功能用于管理对 CBS 项目、服务元数据和策略的更改,以及强制服务元数据的一致性和内聚性。您将在本系列的全过程中更详细地了解 Business Services Fabric 的治理功能,以及该功能如何在整个 SOA 生命周期中执行治理。
在本系列的后续文章中,您将了解有关所有这些阶段以及如何使用 Business Services Fabric 实现 CBS 解决方案的更多信息。
总结
在本文中,您了解了业务服务和组合业务服务的概念,以及 Business Services Fabric 如何提供 SOA 平台来对组合业务服务进行建模、组装、部署、管理和治理。使用 WebSphere Business Services Fabric,您可以将业务服务组装为扩展的跨企业业务流程和解决方案,而且可以基于服务请求的业务上下文,动态地个性化和交付这些流程和解决方案。在本系列的后续文章中,我们将研究如何使用 Business Services Fabric 构建组合业务服务,并使用一个汽车贷款流程用例逐步地完成 CBS 生命周期管理的各个阶段。
参考资料
作者简介  | 
|  | Matt Sanchez 是 IBM 高级技术人员和 WebSphere Business Services Fabric 的首席架构师。Matt 负责 IBM 的行业 SOA 加速器的体系结构和技术指导,其中包括 WebSphere Business Services Fabric 和行业内容包。他与整个 IBM 中的技术负责人和客户密切合作,以帮助指引 IBM 的 SOA 产品和解决方案的未来发展方向。 |
对本文的评价
|