soa案例:SOA 案例研究第 2 部分:服务创建

JKHL Enterprises (JKHLE) 正在进行一系列的基本业务变更,期望最终能够获得最大收益。JKHLE 已决定采用 SOA 来解决其面临的业务和 IT 挑战。

JKHLE 团队的工作重点是,如何在各个销售渠道中以一致的方式解决因创建新客户帐户而带来的难题。此 SOA 采用计划被称为帐户开立项目 (Account Open Project)。使用 SOA 方法有利于在未来业务发生变化时进行更快的实现和提供更大的灵活性。

注意:有关该案例研究的详细信息,请参考案例研究:SOA 案例研究,第 1 部分:项目启动。

我们在本文中介绍的案例研究包括以下人员和角色:

Sandy Osbourne-Archer,首席技术架构师
Edmund Smythe-Barrett,企业架构师
Kai Buser,集成架构师
Willy Sheng Duo Li(也叫 Willy Li),应用程序开发员
Ursula DeBarry,软件架构师和服务设计主管
Eugene Testrite,质量工程师经理
帐户开立项目的挑战

我们在本文中定义的帐户开立项目挑战与重用作为服务公开的现有应用程序组件、创建新服务和使用服务相关。

Willy Li 是一位应用程序开发员,在其职业生涯之初的前一份工作中,积累了大约两年的 COBOL 编程经验。后来,Willy Li 继续着他的事业,并在 C、C++、Microsoft® C# 和 .Net 方面锤炼了自己的编程技巧。最近,他又开始了 Java™ 编程工作。他从未想到以前的 COBOL 经验会对他当前的工作大有帮助。

在 Willy Li 以前的工作中,他完成了对 Java Web 服务的试验并研究过 SOA 的基本原理。Willy Li 深信,在今后的几年中,整个行业将转向 SOA,所以他准备将职业重点放在 SOA 上。遗憾的是,由于政治原因,他以前雇主那里的 SOA 开发搁浅了,因此,他又去寻找其他的机会。在了解到 JKHLE 中 SOA 的采用情况后,Willy Li 加入了 JKHLE。

Willy Li 被分配到了新组建的帐户开立项目中,该项目由首席技术架构师 Sandy Osbourne-Archer 领导。Sandy 最近派 Willy Li 主持工作,负责服务创建的开发和对现有应用程序的重用。

JKHLE 有许多应用程序运行在现有的系统上,如 CICS® 和 IMS™。因此有必要利用现有系统中的这些资产,以便缩短时间、降低成本。

Wily 当时非常担心对他的工作要求。Willy Li 坦言,“我对 CICS 和 IMS 一窍不通,对 COBOL 的了解也是很久以前的事”。Sandy 劝他说:“别担心,大多数情况下,我们不需要修改 COBOL。在某些情况下,当现有的代码与业务功能不匹配时,这时我们才需要重构代码”。

在重构现有代码方面,可以使用 IBM® WebSphere Studio Asset Analyzer 加强对现有应用程序和资产的理解。当进行重构时,可以像我们在以下部分中介绍的那样,启用应用程序的业务功能。

IBM 将为 CICS 和 IMS 同时提供适配器,并且新版本支持将现有的应用程序作为服务公开。这些访问方法可以在一定程度上提供屏蔽,使您不受 COBOL 和后端系统的影响。Sandy 向 Willy Li 解释说,Willy Li 对 SOA 的背景和理解对该项目非常有用。此外,企业架构师 Edmund Smythe-Barrett 和其他架构师还将提供有关 SOA 采用的全局方案。

在 初次会面之后,各团队领导以非正式方式讨论了他们新分配的任务。Edmund 将讨论他针对企业服务总线 (ESB) 和服务注册中心的计划,并提供对整个基础结构中已计划服务的访问。由于 Willy Li 曾经在前一雇主那里做过 Web 服务试验方面的工作,因此他能够很快看出,与直接链接这些服务的刻板方法相比,使用 ESB 的服务可以提高灵活性。

Ursula DeBarry 是一名软件架构师和服务设计主管,负责设计用于访问和处理信息的服务接口。Ursula 解释,服务设计团队需要一些时间为所需的服务定义准备规范。根据帐户开立项目制定的计划,Willy Li 已经急切希望尽快开始工作,并能做出一些成果出来。

Willy Li 决定,他将通过为后端系统所需的每个访问方法开发服务原型来缩短学习过程。Willy Li 知道,当服务设计团队公布其服务设计规范时,需要更改其原型服务。

帐户开立项目的要求

Willy Li 安排与 Edmund 会面,以审核和讨论该原型实现的要求。Willy Li 尽力确保这些要求体现出公开和使用帐户开立项目服务所需的访问方法。

REQ-01:使用外部服务

帐户开立应用包括的流程需要使用外部第三方服务(如地址验证服务)。

REQ-02:创建新服务

这些服务接口将以 Web 服务描述语言 (WSDL) 文件的形式提供。WSDL 将为所有服务提供一个通用描述形式,实质上对服务使用者隐藏了实现细节。Willy Li 计划根据 WSDL 文档创建一些新服务。

REQ-03:将 CICS 应用直接作为服务公开

将 CICS Transaction Server v3.1 托管的 COBOL 应用程序作为服务公开。Willy Li 了解到 CICS v3.1 包括对 Web 服务的本机支持和工具,这简化了该要求,因此,将很少需要甚至不需要编程。

REQ-04:将 CICS 应用间接作为服务组件公开

Willy Li 了解到,一些旧的 COBOL 应用程序仍由 CICSTransaction Server v2.3 托管,它不包括直接启用 Web 服务的本机功能。此外,JKHLE 需要通过 Java 代码、CICS 适配器和 CICS Transaction Gateway (CTG) 来公开由 CICS Transaction Server v2.3 托管的 COBOL 应用程序还有其他一些原因。这将使 JKHLE 内部系统和外部合作伙伴能够将该应用程序作为一项服务来使用。

REQ-05:使 WebSphere Message Broker 流支持服务

作 为支持电子业务的一部分,JKHLE 在WebSphere® Message Broker上进行了一些投资。它是一个企业应用程序集成基础架构,用于连接 IMS、SAP® 和 Siebel® 应用程序。JKHLE 想通过使 WebSphere Message Broker流(该流提供与基础结构相关的服务)支持服务来使用和重用在 WebSphere Message Broker 中进行的投资。

REQ-06:使 IMS 事务支持服务

使 IMS 事务支持服务可将这些事务作为服务使用。JKHLE 公司想利用他们在 WebSphere Application Server 和 WebSphere Message Broker 中的现有投资。

中间层服务将用来与 IMS 后端系统通信。

本文转自IBM Developerworks中国
请点击此处查看全文
http://ibm.csdn.net/ISN_J.aspx?action=JMP&pointid=2995
Tags:  soa案例

延伸阅读

最新评论

发表评论