关于本系列
本系列文章描述如何利用WebSphere Business Services Fabric V 6.0.2 来构建使用组合业务服务的SOA 应用程序。本系列包括以下部分:
第 1 部分:Business Services Fabric 概述:此部分将提供 Business Services Fabric 及其主要组件的概述。我们将研究业务服务和 组合业务服务的概念,以及 Business Services Fabric 如何帮助您管理业务级别的服务的生命周期, 并使得这些服务的开发和部署更加简单、更加快速和更加灵活。
第 2 部分:扩展本体模型:此 部分提供我们将要在本系列中构建的 SOA 应用程序的概述和需求。其中将描述如何使用 Business Services Tool Pack 来组装业务服务,以及使用 Business Services Foundation Pack 来部署这些业 务服务。
此应用程序将模拟一个汽车贷款处理系统,该系统将接受用户详细信息,并使用贷款请求 的批准或拒绝结果做出响应。我们将研究使用静态、硬编码的服务绑定和流程流控制逻辑实现汽车贷款 处理系统的传统方法,并将该方法与 Business Services Fabric 方法做对比,在后一种方法中,您将 使用泛化的流程模型和策略驱动的动态业务服务组装。您还将研究 Business Services Fabric 元模型 ,并了解如何扩展该元模型以向 Business Services Fabric 提供用于进行动态组装的业务上下文。
第 3 部分:设计和实现业务服务:在此部分中,我们将使用 Business Services Tool Pack 和 Integration Developer 来设计一个 BPEL 流程并实现所需的服务,从而实现该汽车贷款处理用例。您 还将了解如何使用服务组件体系结构(Service Component Architecture,SCA)来利用 Business Services Fabric 的动态组装功能。
第 4 部分:组装组合业务服务:在此部分中,您将了解如 何创建组合业务服务项目,该项目使用第 3 部分中创建的 SCA 构件创建业务服务元数据。您将了解如 何创建动态组装策略,并使用 Business Services Fabric Policy Simulator 对其进行测试。您还将了 解如何在 Business Services Fabric 中对服务进行编目和管理,以及如何导出服务元数据以推广到不 同的部署环境。
第 5 部分:使用 Business Services Fabric 部署和管理组合业务服务:最后 一部分描述如何使用 Business Services Fabric 部署和测试组合业务服务。您将了解如何创建和管理 订阅者的业务服务授权,并查看与业务服务相关联的性能报告。第 5 部分描述如何使用 Business Services Fabric 部署和测试组合业务服务。您将了解如何创建和管理订阅者的业务服务授权,并查看 与业务服务相关联的性能报告。
什么是业务服务和组合业务服务?
可以将业务服务看作 是业务级别的构件,当充分发挥其潜力时,业务服务可以促进业务预期与 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 的治理和管理挑战。