ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 基于事件的 SOA 治理解决方案

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

原创 Linux操作系统 作者:isoa 时间:2010-02-01 14:19:48 0 删除 编辑

转自:http://www.ibm.com/developerworks/cn/webservices/ws-eventbasedsoagovernance/index.html

随着更多 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 描述了解决方案架构。



解决方案架构

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 例示了完整服务生命周期以及控制点和可交付成果。



完整服务生命周期示例

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、计算可选保险费以及评估是否需要再保险。

业务模型和技术模型

其业务模型如下图所示。



P&C 业务模型

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

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

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



P and C 业务模型生命周期


业务状态和转换

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



P&C 技术模型生命周期


技术状态和转换

事件互操作集合

在本例中,因为 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”。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14780828/viewspace-626566/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-07-07

  • 博文量
    251
  • 访问量
    329990