IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  SOA and Web services  >

基于事件的 SOA 治理解决方案

developerWorks
文档选项

未显示需要 JavaScript 的文档选项

英文原文

英文原文


级别: 中级

Xue Wang, SOA 架构师, IBM
JingAn Ren, SOA 架构师, IBM
John Falkl, 知名工程师兼总架构师,SOA 治理, IBM
Robert Laird, 高级架构师, IBM

2009 年 10 月 09 日

随着更多 SOA 解决方案得到部署,对自动化的、事件驱动的 SOA 治理解决方案的需求也在增加。本文介绍了可基于治理事件自动处理治理流程的解决方案。

简介

随着越来越多的 SOA 解决方案得到部署,对自动化的、事件驱动的 SOA 治理模型和解决方案的需求也在增加。当前,IBM 已开发了一种 SOA 治理方法 —— SOA Governance and Management Method (SGMM),和数种与 SOA 治理相关的产品,例如 WebSphere Service Registry and Repository (WSRR) 和 Rational Method Composer (RMC)。然而,在客户项目中,仍然存在一些问题:

  • 如何基于治理事件自动处理治理流程?
  • 是否存在基于行业的治理解决方案?

为解决这些问题,我们开发了基于保险业的 SOA 治理解决方案。此解决方案包含 IBM WebSphere Service Registry and Repository,和一种新近采用的业务事件处理产品 WebSphere Business Event (WBE)。本文将详细介绍此解决方案。





回页首


解决方案架构

在一些项目中,客户需要监控服务生命周期,并需要一种方法以根据事件而触发服务生命周期变更。这些事件可以是业务事件(如新经营战略公告)或 IT 时间(例如其他独立服务的生命周期变更)。图 1 描述了解决方案架构。


图 1. 解决方案架构
解决方案架构

WebSphere Service Registry and Repository

WebSphere Service Registry and Repository (WSRR) 是面向服务描述的主元数据存储库。其概念有二:注册表 (Registry) 和存储库 (Repository)。注册表支持元数据发布,而存储库提供存储、管理元数据的功能。除了基本功能之外,WSRR 还通过以下能力而支持服务生命周期管理:

  • 服务工件的模型生命周期;
  • 在多种开发环境中管理服务在生命周期各阶段的提升;
  • 执行影响分析,将变更传达至受到治理的服务元数据。

业务模型

为了促进业务的表示和管理,WSRR 支持与下例相似的业务模型配置,下例表示了与业务角色有关的实体的类型。这里定义了 5 个基本业务模型概念:业务应用程序、流程、服务、组织和合同。用户能够创建和更新基于 Web Ontology Language (WOL) 文件的业务模型。

  1. 业务应用程序:“业务应用程序” 表示可满足直接业务需求的高级业务应用程序。“应用程序” 支持将业务应用程序映射到 IT 设备。
  2. 业务流程:“流程” 表示公共的(由多个应用程序共享的)业务流程。“流程” 依赖于其他流程和服务,通常由那些相关服务的组合通过例如 WebSphere Integration Developer (WID) 等工具而执行,并通过 WebSphere Process Server (WPS) 而实现。
  3. 业务服务:“业务服务” 表示公共的(共享的)业务级服务。这是 SOA 中有效的 “编目” 项目。WSDL 接口和端点将从这里引用。
  4. 组织:“组织” 表示一个业务级的组织单元 —— 有效的业务线。SOA 中通常需要这种高级表示,以识别服务的提供者或使用者,以及组织观念上的主要 “所有者”。“组织” 也可能用于对应 UDDI “businessEntity”,尽管治理档案中不包含与 UDDI 的同步。
  5. 合同:“合同” 表示两个组织之间的协议,涉及所提供的服务以及提供者和使用者组织之间认可的策略。

技术模型

除了业务模型,WSRR 还基于 WSDL 和 XSD 中表示的服务定义而维护一种服务注册表。例如,对于一个实际 WSDL 文件而言,如果它载入到 WSRR 中,就会生成相关的 WSRR 元数据:WSDLDocument 表示文档本身,相应地,WSDLService、WSDLPort、WSDLBinding 和 WSDLPorttype 是从 WSDLDocument 中分析的逻辑对象。还存在技术层,物理对象和逻辑对象(例如 Service、ServiceEndpoint、ServiceBinding 和 ServiceInterface 对象)都与之链接。

业务模型和技术模型并不完全分离。从业务模型可控制相应的技术模型,反之亦然。

治理生命周期和治理策略

WSRR 是 SOA 治理的主要产品之一。WSRR 具有默认生命周期,作为标准安装的一部分而安装。用户可定义服务生命周期模型,此模型能使用 IBM WebSphere Integration Developer 工具开发并载入到 WSRR 中。生命周期阶段、运营状态、服务定义状态都用于提供一种机制,以实现使用、重用、可视性和运营稳定性以及健康。

WSRR 提供了处理治理策略的功能。在这里我们利用这种特性来处理是否允许发生服务转换的条件。

图 2 例示了完整服务生命周期以及控制点和可交付成果。


图 2. 完整服务生命周期示例
完整服务生命周期示例

WebSphere Business Event

2008 年,IBM 公布了 WebSphere Business Event (WBE),此产品旨在管理系统和人员间流动的业务事件,目标是提供感知和响应不断变化的业务条件的能力。它在产品设计中采用了 Business Event Processing (BEP) 的重要概念。它允许业务用户以业务语言描述业务事件和模式,及时检测、评估和反应,以实现业务目标。

WBE 包括 3 个无缝整合的元素:设计环境、运行时环境和资产存储库。有两种设计工具,一种面向 IT 开发人员,另一种面向业务人员。IT 开发人员识别接触点和连接器以及业务对象,业务对象提供元数据定义层以允许数据在接触点之间通过 Design Data 无缝地移动。业务人员指定 Interaction Set,它确定了业务系统如何彼此互操作;一个 Interaction Set 包含一个 Event、一个或多个 Action,可能有 Filter。可选择应用 Filter 来确定是否应当采取某 Action,还能使用 Filter 来检查 Event 模式以确定评估当前 Event 的条件是否存在。下图为组成元素及其关系。


图 3. WebSphere Business Event 元素和关系
WebSphere Business Event 元素和关系

此解决方案中使用 WBE 来接收在 WSRR 或其他渠道中发放的服务治理事件并进行处理。使用预定义的治理流程模式,WBE 能帮助解决决策问题、动态地对 SOA 治理中人员、流程和信息之间简单或复杂的关系作出反应。

Event Handler

本解决方案中的 Event Handler 目标在于监听并处理 WSRR 中发生的服务转换。在这里,定义了一个治理通知插件,它编写为可实现 com.ibm.serviceregistry.governance.ServiceRegistryGovernanceNotifier2 接口的 Java Class。ServiceRegistryGovernanceNotifier2 接口扩展了原始 ServiceRegistryGovernanceNotifier 接口,提供更多功能。以下是类层次。从中我们能够看到 ServiceRegistryGovernanceNotifier2 相比 ServiceRegistryGovernanceNotifier 接口,多出三种方法:makeGovernable()removeGovernance()validate()

一旦服务转换事件被监听,事件处理程序就将之转换为 WBE 可接受的事件格式,并将事件发送到 WBE。


图 4. Event Handler 实现
Event Handler 实现




回页首


保险业 P&C Underwriting 业务

本解决方法的技术特性如上所述。下面使用一个行业示例来着重介绍用例。我们将使用保险业中 Property & Casualty (P & C) Underwriting 的典型业务。

P&C Underwriting 业务

Underwriting 将管理必要活动,以支持对合同(新合同和有效合同)的风险评估,从而确定接受、改变或拒绝所提出的风险。所以 P&C Underwriting 为 P&C 保险策略提供建议,描述了公司可接受的保证和条件,考虑了所有风险和客户状况。准备好提供信息,以便对公司可接受的保证和条件作出决议。这将构成与客户进行协商、建议接受或拒绝风险的根据。信息准备工作明显包括指定初步 Terms & Conditions、计算可选保险费以及评估是否需要再保险。

业务模型和技术模型

其业务模型如下图所示。


图 5. P&C 业务模型
P&C 业务模型

业务管理将其载入 WSRR。接下来,定义并开发相应的结束模型,例如 WSDL、XSD,并将这些文件发布到 WSRR 中。

同样,服务管理开发了业务模型生命周期和技术模型生命周期以治理流程。

下图显示了业务模型生命周期和状态和转换:


图 6. P&C 业务模型生命周期
P and C 业务模型生命周期

图 7. 业务状态和转换
业务状态和转换

下面的图 8 和图 9 显示了技术模型生命周期、状态和转换。


图 8. P&C 技术模型生命周期
P&C 技术模型生命周期

图 9. 技术状态和转换
技术状态和转换

事件互操作集合

在本例中,因为 P&C Underwriting 业务流程包含多个在 WBE 中开发和成熟的业务服务和 IT 服务,所以可根据以下清单定义一个互操作集合:


清单 1. 范例互操作集合定义
				
if Allof(P&CUnderwritingService.State = "Published")
then P&CUnderwritingBusinessProcess.State = "Realized"
			

当 WBE 检测到任何由 Event Handler 发出的、指定组成服务转换状态的事件时,将不会执行任何操作。当所有组成服务状态为 “Published” 时,WBE 采取措施,将 P&C Underwriting 业务流程状态转换为 “Realized”。





回页首


结束语

本文介绍了一种全新的 SOA 治理解决方案,它整合了 IBM WebSphere Service Registry and Repository,并最新采用 WebSphere Business Event (WBE) 处理治理。此解决方案以保险业务为基础,能够在相似业务情况下重用。



参考资料

学习

获得产品和技术


作者简介

Xue Wang

Xue Wang 是中国 SOA Advanced Technology 小组的一名 SOA 架构师。她在 SOA 产品开发、客户项目、应用程序架构设计等方面拥有超过 8 年的 IT 经验。当前,她主要研究银行业解决方案。


JingAn Ren

JingAn Ren 是中国 SOA Advanced Technology 小组的一名架构师。他主要在 FFS 中的电子商务和 SOA 解决方案开发、设计与架构方面有着多年经验,最近他重点研究行业解决方案的构建和重用。


Falkl

John Falkl 是 IBM 软件集团 SOA 治理方向的知名工程师兼总架构师。John 的职责包括推进整体技术战略和产品要求以实现 SOA 治理功能性,以及协调 IBM 组织内的 SOA 治理活动。John 作为 IBM 软件集团 CTO 领导 Governance Incubation Project(治理孵化项目)。通过此项目,John 领导关键 SOA 治理流程的确立,对照基准用例来协调软件产品战略。在 28 年 IBM 生涯中,John 在 IBM 全球服务部工作了 12 年,领导了许多影响力很大的项目,例如最近 IBM 全球商业服务组织 SOA 管理服务产品的定义和开发。John 拥有三个 IT 技术行业认证,拥有企业架构和开发的重要背景,以及 9 年的管理经验。John 在 IBM 还领导了许多高级技术研究。


Robert Laird

Bob 是 IBM SOA Advanced Technology 小组的高级架构师,自 2006 年 5 月以来在 SOA 治理和 SOA 架构领域担任 IBM 全球客户顾问。他是 IBM SGMM (SOA Governance & Management Method) 的合著者。他作为行业 TOGAF (The Open Group Architecture Framework) SOA Governance 工作组的成员,撰写过两本关于 SOA 的书 —— SOA Governance, Achieving and Sustaining Business and IT Agility 以及 Executing SOA, A Practical Guide for the Service Oriented Architect,而且拥有两个 SOA 治理领域的未决专利。Bob 在 MCI 和 Verizon Business 拥有超过 20 年的电信业经验。他是 MCI 总架构师,领导企业架构小组,监督应用程序套件兑现的整个流程。他领导基于单堆栈战略的 SOA 开发,以简化多个网络和应用程序筒仓。Bob 在联系中心、IP/VPN、VOIP、IMS 和托管服务领域中推动了 MCI 产品开发的战略、计划和执行。对于 OSS,他领导了成功实现,从而自动化网络部署、网络恢复和网络管理。在加入 MCI 之前,Bob 担当 American Management Systems (AMS) 和 Ideation, Inc. 的顾问。他拥有普渡大学计算机科学专业的学士和硕士学位,曾被授予两个电话领域的专利。他曾在各种专业论坛进行演讲,为 SOA Magazine 撰文,并且其言论多次为 CIO Insight、Telecommunications、Infoworld 和 Computerworld 所引用。




对本文的评价










回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款