首页 > Linux操作系统 > Linux操作系统 > 基于事件的 SOA 治理解决方案
转自: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) 文件的业务模型。
技术模型
除了业务模型,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 例示了完整服务生命周期以及控制点和可交付成果。
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 元素和关系
此解决方案中使用 WBE 来接收在 WSRR 或其他渠道中发放的服务治理事件并进行处理。使用预定义的治理流程模式,WBE 能帮助解决决策问题、动态地对 SOA 治理中人员、流程和信息之间简单或复杂的关系作出反应。
本解决方案中的 Event Handler 目标在于监听并处理 WSRR 中发生的服务转换。在这里,定义了一个治理通知插件,它编写为可实现 com.ibm.serviceregistry.governance.ServiceRegistryGovernanceNotifier2 接口的 Java Class。ServiceRegistryGovernanceNotifier2 接口扩展了原始 ServiceRegistryGovernanceNotifier 接口,提供更多功能。以下是类层次。从中我们能够看到 ServiceRegistryGovernanceNotifier2 相比 ServiceRegistryGovernanceNotifier 接口,多出三种方法:makeGovernable()、removeGovernance() 和 validate()。
一旦服务转换事件被监听,事件处理程序就将之转换为 WBE 可接受的事件格式,并将事件发送到 WBE。
本解决方法的技术特性如上所述。下面使用一个行业示例来着重介绍用例。我们将使用保险业中 Property & Casualty (P & C) Underwriting 的典型业务。
Underwriting 将管理必要活动,以支持对合同(新合同和有效合同)的风险评估,从而确定接受、改变或拒绝所提出的风险。所以 P&C Underwriting 为 P&C 保险策略提供建议,描述了公司可接受的保证和条件,考虑了所有风险和客户状况。准备好提供信息,以便对公司可接受的保证和条件作出决议。这将构成与客户进行协商、建议接受或拒绝风险的根据。信息准备工作明显包括指定初步 Terms & Conditions、计算可选保险费以及评估是否需要再保险。
其业务模型如下图所示。
业务管理将其载入 WSRR。接下来,定义并开发相应的结束模型,例如 WSDL、XSD,并将这些文件发布到 WSRR 中。
同样,服务管理开发了业务模型生命周期和技术模型生命周期以治理流程。
下图显示了业务模型生命周期和状态和转换:
下面的图 8 和图 9 显示了技术模型生命周期、状态和转换。
在本例中,因为 P&C Underwriting 业务流程包含多个在 WBE 中开发和成熟的业务服务和 IT 服务,所以可根据以下清单定义一个互操作集合:
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/ ,如需转载,请注明出处,否则将追究法律责任。