级别: 中级 Balraj D. Goulikar, 助理 IT 架构师,
IBM
K.L.P. Srinivas, 系统工程师,
IBM
Umadevi Srinivas, 系统工程师,
IBM
2008 年 11 月 17 日 当从头交付新的解决方案时,面向服务的体系架构(Service-Oriented Architecture,SOA)开发的建模、组装、部署、管理和治理活动会非常耗时,开销巨大。对行业标准的遵循也充满了挑战。本系列文章将介绍如何利用 IBM® WebSphere® Business Services Fabric 的行业内容包中的资产进行端到端的组合业务服务(composite business service,CBS)开发。在本系列的这第一篇文章中,使用一个来自医疗行业的案例研究,详细地逐步完成涉及到使用 IBM 医疗付款人内容包 (IBM Healthcare Payor Content Pack) 的开发过程。了解该内容包的资产如何加速 CBS 的开发,从而缩短构建时间。
引言
重用现有的资产可以加速高质量业务解决方案的开发,并降低构建高度可自定义和自适应的 CBS 所涉及到的成本和时间。WebSphere Business Services Fabric 提供了一个平台,用于对业务服务进行建模、组装、部署、管理和治理,以及为企业交付动态和灵活的业务流程管理(business process management,BPM)功能。它提供了设计时工具、运行时环境和预构建的可选行业 SOA 内容,以构建更加灵活和响应更快速的基于 BPM 的业务解决方案。WebSphere Business Services Fabric 还支持将业务流程中的业务策略和元数据外部化,并将它们与易于发布、发现和修改的可重用业务服务关联起来。
WebSphere Business Services Fabric 的主要组件之一是由预构建的资产组成的行业内容包,您可以按原样使用这些资产,或者将其用于构建解决方案或资产。使用这些资产可以促进重用,并充当开发、部署和管理业务服务的加速器。此外,这些资产是基于行业标准和行业最佳实践进行构建的。它们提供了用于构建特定于行业和与标准兼容的 SOA 解决方案的框架。行业内容包的主要资产类型包括:
- 功能和流程映射
- 业务服务模板
- 服务接口
- 业务术语表
- 公共服务
- 业务对象模型
- 知识资产
存在针对不同行业和领域的内容包,其中包括:
所有这些行业内容包都遵循它们各自的行业标准(在此例中,遵循的标准分别为 ACORD、HL7、ISO 20022 和 NGOSS SID)。
案例研究
本文中使用的案例研究来自医疗行业。SABU Health Corporation 是一家领先的医疗保险公司。它拥有提交索赔申请的提供者网络。在 SABU Health Corporation 部署的现有遗留系统执行索赔处理,响应索赔状态查询,并为索赔生成汇款通知。本文将重点放在索赔状态查询流程方面。
由于当前的索赔状态应用程序是一个遗留系统,它需要某种转换,以便允许提供者通过不同的渠道(Web、FTP、电子邮件)提交索赔申请并检查索赔状态。医疗保险行业迫切需要为索赔提交者提供用于了解索赔状态的接口。必须尽快开发与业务目标保持一致的解决方案。
解决方案
简单的 CBS(针对索赔状态)可以为此问题提供解决方案。该 CBS 使用 SOA 构建而成,并满足以下业务需求:
- 该 CBS 可以接收和处理来自不同渠道的索赔状态请求。
- 该 CBS 可以通过重用现有的资源,以分阶段的方式推出新系统。
- 该系统足够灵活,能够容易地添加新的提供者。
- 该 CBS 符合 Health Insurance Portability and Accountability (HIPAA) 标准。
IBM SOA 生命周期
下面的列表描述了 SOA 生命周期的不同阶段中涉及到的任务(如图 1 所示)。在此例中,将在 CBS 开发中应用以下阶段:
- 建模:收集和分析业务需求。设计、模拟和优化业务流程。
- 组装:组装新的和现有的服务,以形成业务流程并对其进行优化。
- 部署:部署业务流程。
- 管理:同时从 IT 和业务的角度管理和监视这些业务流程。
- 治理:将管理阶段中收集的信息反馈到该生命周期中,以支持持续的流程改进。
(请参见图 1 的大图。)
图 1. SOA 生命周期
本系列文章分为三个部分,每个部分详细介绍该生命周期的各个阶段:
- 第 1 部分介绍建模阶段
- 第 2 部分介绍组装和部署阶段
- 第 3 部分介绍管理和治理阶段
索赔状态 CBS:资产开发
本部分详细介绍使用 WebSphere Business Services Fabric 中的医疗付款人内容包的资产开发索赔状态 CBS 所涉及到的步骤。
在该用例中,为不同的阶段确定了以下任务。
建模阶段
- 确定业务的各种能力,并使用组件业务建模(Component Business Modeling,CBM)方法从热图(Heat Map)中捕获热组件。
- 确定热图中的热组件的业务流程。
- 使用 IBM WebSphere Business Modeler 为所确定的流程定义流程流。
- 探索医疗付款人内容包提供的功能映射和流程映射资产。
- 采用面向服务的建模和体系架构(Service Oriented Modeling and Architecture,SOMA)方法,确定用于实现该业务流程的所有业务服务。
组装和部署阶段
- 探索建模阶段中确定的业务服务模板(Business Service Template,BST),并对其进行扩展以实现索赔状态 CBS。
- 实现 BST 中的服务接口。
- 创建 WebSphere Business Services Fabric 项目并导入相关的命名空间。
- 部署索赔状态 CBS。
- 使用 IBM WebSphere Integration Developer 的测试组件测试该业务流程。
- 使用 WebSphere Business Services Fabric 动态组装组件进行动态路由。
- 使用基于内容的断言来路由索赔请求。
管理和治理阶段
- 在 WebSphere Business Services Fabric 中创建订阅以控制对不同业务服务的访问,并提供必要的注册和角色分配。
- 演示所开发的示例 CBS 的治理功能。
正如前面提到的,本系列中的这第一篇文章将详细介绍建模阶段。
建模阶段
基于 IBM 的 SOA 实现方法,在 SOA 实现的建模阶段中将使用CBM 和 SOMA 方法。
CBM 方法
IBM 的 CBM 方法提供了一个将业务视为连接各个组件的网络的框架。将企业分解为边界分明的离散业务组件可以简化对复杂企业的了解,并有利于通过信息技术实现业务意图。了解与每个组件关联的业务价值使得设置转换优先级变得更加容易。
通过确定 SABU Health Corporation 的所有业务能力,并将业务活动映射到离散的可管理组件,这些组件在适当的业务能力和责任级别(直接、控制 和执行)下进行分组,从而确定该组织的 CBM 映射。对所有组件应用诸如成本、收入潜力和业务一致性等评估标准,并确定竞争差别化和优先级领域(热组件)。对于 SABU Health Corporation,索赔管理和索赔处理归类为热组件。
图 2. CBM 映射
所确定的热组件具有以下与之相关的流程:
现在,让我们将重点放在 InquireClaims (ClaimStatusAndVisibility) 上。下面是实现流程 ClaimStatusAndVisibility 所要满足的要求。
- 在整个索赔生命周期中跟踪索赔。
- 在付款人已接受索赔以待裁定后,发起对索赔状态的查询。
- 请求支持该索赔的附加文档。
使用 IBM WebSphere Business Monitor 定义业务流程
下一步是确定满足上述要求的 ClaimStatusAndVisibility 的业务流程流。该业务流程应该验证电子数据交换(electronic data interchange,EDI)请求,并向提供者发回索赔状态。图 3 说明了该流程流。
图 3. 流程流
探索功能和流程映射
IT 目标与业务目标的一致性使您的业务能够以高效和经济合算的方式满足其目标。IBM 医疗付款人内容包的医疗付款人功能和流程映射资产允许完成以下任务:
- 将流程映射到功能
- 将医疗付款人流程映射到业务服务。
此映射:
- 提供了适当的业务与 IT 策略一致性。
- 提供了建模阶段中确定的业务目标的可跟踪性。
- 为业务主管提供了对有关 IT 在做什么的更清楚了解。
- 使所开发的业务服务与业务目标一致。
- 确保对行业标准的遵循。
医疗付款人功能映射 提供了医疗行业在整个医疗行业价值链中执行的所需业务功能的基本层。医疗流程映射 用作医疗行业的业务流程的分类,以帮助与业务服务保持一致。通常存在特定于行业的功能映射和流程映射,并且它们基于行业标准和最佳实践。功能和流程映射的模型是在建模工具(例如 IBM Rational® Software Architect)中使用统一建模语言(Unified Modeling Language,UML)符号来表示的。
在功能映射中,将确定满足要实现的解决方案需求的功能,并在流程映射中将其映射到适当的业务流程。然后,将确定并相应地映射用于实现该流程的所需业务服务。
下面的步骤将详细地描述此过程。本示例使用 Rational Software Architect 和安装了 WebSphere Business Services Fabric Tool Pack 的 IBM WebSphere Integration Developer。
- 打开 Rational Software Architect 并进入建模透视图。
- 导入项目交换 <Fabric 安装路径>\HealthCare\Payor\models\cpm\healthcare-payor-cpm-model-project-interchange.zip(请参见图 4)。
图 4. 导入项目交换
- 将项目 Healthcare Payor Capability Process Model V6.1 导入工作区。其中包括业务功能和流程映射。
- 打开上述项目中的 Healthcare-Payor-Capabilites::Capability Map。
在该案例研究中,需要实现的解决方案位于 ClaimsManagement 功能下,其父功能为 ClaimsOperations。这两个功能之间的关系已经在功能映射中存在。如果存在任何新功能,您可以在此功能映射中添加它们,并按照各自的业务需求对其进行扩展。图 5 显示了功能和子功能之间的关系。
图 5. 功能映射
- 打开 Healthcare-Payor-Processes::Process Map
ProcessClaims 是其下包含子流程 AdjudicateClaim、FileClaim、InquireClaims 和 ManageFraudulentClaims 的流程之一。流程映射中显示了这种关系。InquireClaims 流程执行用于该示例 CBS 的索赔状态检查。
图 6. 流程映射
- 现在 ProcessClaims 流程已映射到 ClaimsManagement 子功能(请参见图 7)。
图 7. 功能和流程映射
本系列的第 2 部分将介绍业务服务到业务流程的映射。流程和功能之间的这种映射提供了一种方法,可用于跟踪由于更改而受到影响的领域。例如,如果业务功能级别存在任何更改,您可以容易地对其进行跟踪,以了解受到影响的子功能和流程是什么,反之亦然。这种可跟踪性已扩展到业务服务和端点级别,本系列的下一个部分将对此进行讨论。
SOMA 方法
CBS 的建模阶段中的下一步是创建实现业务流程的服务模型。我们将按照 SOMA 方法创建服务模型。
SOMA 是一种用于 SOA 解决方案实现的端到端方法。它是用于 SOA 设计和构造以支持目标业务流程的分析和设计方法,。
将执行的 SOMA 活动如下:
下面几个部分将介绍这些活动。
SOMA 标识
在 SOMA 标识阶段,确定了以下服务来实现 ClaimsStatusAndVisibility 流程:
- Validation
- Debulking
- Error extraction
- Send to payor
- Display EDI
ClaimsStatusAndVisibility process interface
在 SOMA 标识的现有资产分析阶段,将检查存在的任何现有资产,以确定是否可以按原样对它们进行重用。对 WebSphere Business Services Fabric 资产进行分析,并从 IBM 医疗付款人内容包的资产中确定了以下服务的实现已经提供,可以按原样使用它们。表 1 说明了这一点。
表 1. 现有资产分析
| 接口名称 | 操作名称 | 输入参数 | 输出参数 | 在哪个现有资产中找到 | 实现 |
|---|
| DebulkPT | debulk | debulkRequest | debulkReponse | HealthCarePayorCommonServices | 从资产中按原样使用 |
|---|
| ExtractPT | process | extractRequest | extractResponse | HealthCarePayorCommonServices | 从资产中按原样使用 |
|---|
| ValidationPT | process | validationRequest | validationResponse | HealthcarePayorCommonServices | 为该 CBS 进行自定义 |
|---|
| ClaimStatusInquiryPT | query | claimsStatusInquiryRequest | claimsStatusInquiryResponse | ClaimsManagement SCA library | 待实现 |
|---|
要查看 HealthCarePayorCommonServices 的内容,可以导入项目交换 HealthcarePayorCommonServices.zip,此项目交换位于 <IBM Healthcare Payor Content Pack 安装路径>/Payor/projects/libraries 目录中。
图 8 显示了该库中的 Web 服务描述语言(Web Services Description Language,WSDL)文件。本案例研究使用 edi_debulking、edi_error_extractor 和 edi_validation 的接口。存在的所有服务均具有由该内容包提供的实现。
图 8. 公共服务
现在已经确定了服务模型。SOMA 的下一个阶段是服务规范。
SOMA 规范
在本部分中,将为在 SOMA 标识阶段中确定的服务提供服务规范。表 2 指定了其中每个服务的操作名称、输入参数和输出参数。已确定为现有资产的服务不参与本阶段。
表 2. SOMA 规范
| 服务名称 | 操作名称 | 输入参数 | 输出参数 |
|---|
| Display EDI | displayData | Document | String |
|---|
| ClaimsStatusAndVisibility process interface | submit276 | ClaimStatusInquiryRequest | String |
|---|
SOMA 实现
SOMA 方法的实现阶段确定是将服务实现为功能还是技术组件。
表 3. SOMA 实现
| 服务名称 | 组件类型 |
|---|
| Validation 服务 | 功能 |
|---|
| Send to payor | 功能 |
|---|
| Display EDI | 技术 |
|---|
| ClaimsStatusAndVisibility process interface | 功能 |
|---|
| Debulking 服务 | 功能 |
|---|
| Error extraction 服务 | 功能 |
|---|
结束语
本文总结了 IBM SOA 生命周期的不同阶段,并详细介绍了建模阶段。本文将重点集中在各种业务能力上,捕获了热组件,确定了业务流程,并定义了流程流。您了解了功能和流程映射如何加速 CBS 的开发。请继续阅读本系列中的下一篇文章,其中将介绍组装和部署阶段。您将探索属于内容包一部分的业务服务模板和服务接口。
参考资料 学习
获得产品和技术
讨论
作者简介  | 
|  | Balraj D. Goulikar 是位于印度海得拉巴的 IBM Global Business Solutions Center (GBSC) 的一名助理 IT 架构师,GBSC 负责开发基于 SOA 的解决方案资产。过去两年来,他一直使用 IBM WebSphere Business Services Fabric 参与医疗领域的 SOA 资产开发。 |
 | 
|  | K.L.P Srinivas 是位于印度海得拉巴的 IBM Global Business Solutions Center 的医疗 CBS 的技术负责人。他拥有三年的 SOA 技术开发经验。他一直使用 IBM WebSphere Business Services Fabric 和医疗行业内容包进行 CBS 开发。他的核心专业技术涉及基于 J2EE 的企业应用程序和可重用的 SOA 资产的建模、设计和开发。他的主要兴趣领域包括软件建模及学习 SOA 方面的新技术和新产品。 |
 | 
|  | Umadevi Samudrala 是位于印度海得拉巴的 IBM Global Business Solutions Center 的一名应用程序开发人员。她擅长于 J2EE 应用程序和可重用的 SOA 资产的开发,并且一直在为 Provider Collaboration Suite of Healthcare CBS 交付资产。 |
对本文的评价
|