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

developerWorks 中国  >  SOA and Web services | Architecture  >

SOA 案例研究:构建适应经济环境变化的 SOA 解决方案

本文摘自 IBM Redpaper《Case Study: Architecting SOA Solutions for Changing Economic Environments》

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


developerWorks 中国, 编辑团队, IBM

2008 年 9 月 22 日

本红皮书是面向服务的体系结构 (SOA) 系列之一,主要通过名为 JKHL Enterprises (JKHLE) 的虚构公司阐述一个案例研究。 本将从 IT 体系结构的角度描述 SOA 解决方案如何在业务需求发生变化时提供帮助,并且是为 IT 架构师受众而编写的。

系列文章以一个虚拟的公司(JKHL)为示例,向您讲述了在 SOA 整个生命周期中各个方面需要进行的工作以及可能用到的概念、技术以及工具,让您对如何实现 SOA 有一个更形象、更具体的了解。

SOA 解决方案的敏捷性和灵活性使它们适合于几乎任何经济环境。SOA 解决方案给正在增长的组织甚至正在经历减速的组织都带来了重要的价值。

使用来自 IBM 的 SOA 场景,本文说明一家名为 JKHL Enterprises (JKHLE) 的虚构公司如何使用 SOA 来适应其组织中不断变化的经济条件,包括增长和减速。虽然许多公司可能不希望在经济减速期间投资于 SOA 计划,但是在这些周期中,SOA实际上可以提供战术和战略投资回报。SOA 使公司可以高效地处理业务和 IT 挑战,从而使组织能够积极面对现在和将来。

案例研究简介

JKHL Enterprises (JKHLE) 已决定采用 SOA 原则来解决其面临的业务和 IT 挑战。

JKHLE 团队的工作重点是在各个销售渠道中以一致的方式解决因创建新客户帐户而带来的难题。该团队提供的解决方案导致了称为“帐户开立项目”的 SOA 采用计划。使用 SOA 方法有利于在适应未来业务变化时进行更快的实现和提供更大的灵活性。

JKHLE 在多个市场领域具有客户。每个市场领域正在经历不同级别的需求。目前,中小企业 (SMB) 市场领域正在经历快速的活动增长。JKHLE 需要快速调整以适应这种显著的需求增长。相反,JKHLE 的零售领域正在经历减速,JKHLE 必须迅速适应这种变化。JKHLE 还在最近收购了一个组织,从而获得了在公司市场领域的份额。

本文包含了您所需了解的有关 JKHLE 的所有信息。我们在本文中介绍的案例研究包括以下关键人员和角色:

  • Sandy Ostrich-Archer,首席技术架构师
  • Frank Adams,首席信息官 (CIO)




回页首


正在经历快速增长的 SMB 市场领域

JKHLE 的首席信息官 (CIO) Frank Adams 向首席技术架构师 Sandy Ostrich-Archer 询问,他们实现用于开立客户帐户的 SOA 解决方案将如何应对 SMB 市场不断变化的客户需求:

Sandy,我们的 SMB 领域已经历了重大增长,我们预期它将在未来的几个季度中进一步增长。越来越多的新客户正在注册,并且现有的客户正在开立新帐户。我们的基础结构是否能够足够迅速地跟上,以满足这种日益增加的需求?我们需要在不添加新员工的情况下扩展我们当前的业务。我们能够应对吗?

Sandy 向 Frank 保证说,JKHLE 已投资开发的 SOA 解决方案非常敏捷和灵活,足以适应这种级别的增长。通过定义良好的标准、最佳实践和治理模型,JKHLE 可以与许多合作伙伴服务建立连接。通过引入新的合作伙伴来帮助处理新帐户开立流程,或者通过进一步利用现有合作伙伴的能力,附加的工作负载可以得到处理。此外,通过采用 SOA,整个企业中的 IT 系统将得到很好地集成,从而使 JKHLE 中具有空闲容量的其他部门可以为 SMB 市场领域的帐户开立流程做出贡献。我们将在后面的“将案例研究应用于 SOA 场景”中讨论如何将 SOA 场景示例应用于快速增长。





回页首


正在经历减速的零售市场领域

Frank 与 Sandy 讨论他对 JKHLE 的零售市场领域的担心:

与 SMB 市场领域相反,我们的零售领域正在经历较艰难的时期。我们所在行业的零售部门存在周期性减速,坦率地讲,我怀疑这种情况将在未来几个月持续下去。尽管有这些困难,我们也需要向客户交付高价值的服务,并将我们自身在行业内做好强有力的定位。我们需要控制成本,并找到快速的投资回报机会。我担心的是,在这场衰退中,我们的固定成本将超过我们的收入。我们为适应这些需求波动所做的定位情况如何呢?

Sandy 告诉 Frank,JKHLE 为帐户开立流程而投资开发的 SOA 解决方案也具备适应这种情况的所有必需属性。

帐户开立流程高度灵活,并且易于更改。该流程可供改进以消除非必需的活动。此外,可以在流程流中引入较低成本的服务提供者。

Sandy 解释说,通过修改帐户开立流程,可以通过外包该流程中某些步骤的交付,从而将固定成本转换为可变成本。由于帐户开立流程基于 SOA 原则,这些更改实现起来非常快速和廉价,从而允许 JKHLE 迅速满足市场需要。

我们将在后面的“将案例研究应用于 SOA 场景”中讨论如何将 SOA 场景示例应用于增长减速的情况。





回页首


正在经历 IT 成本上升的公司市场领域

JKHLE 最近收购了 Jensen Inc.,从而使 JKHLE 在公司市场领域占有一席之地。Frank 与 Sandy 讨论了他对此收购的担心:

我担心与收购 Jensen 相关联的 IT 成本上升。我们从 Jensen 获取的 IT 系统主要是大型机企业信息系统,我们现有的 IT 部门在这方面的经验非常少。目前,Jensen 系统与我们的其他 IT 系统并存,但它们没有真正实现集成。这证明成本非常高昂,并且我们需要更好的方法。公司市场领域对我们来说最终可能是非常有利可图的,但是目前,我们的公司客户非常谨慎,并且我们没有看到有多少客户开立新帐户。我们需要快速集成 Jensen 系统,但是由于公司市场领域还没有很好地建立,我没有多大的预算来投资在这方面。我们能够做什么呢?

Sandy 知道 SOA 是解决这种情况的答案。她告诉 Frank,需要将 Jensen Inc. 企业信息系统应用程序作为 SOA 服务公开。这些公开的服务将实现与现有 JKHLE 基础结构更容易的集成。它还将使得由 Jensen Inc. 获取的应用程序对企业的其他部分更加可访问,从而促进所获取的 Jensen Inc. 应用程序在整个 JKHLE 中的重用。这个解决方案通过实现基础结构的现代化,以很好地适应增长波动和不断变化的客户需求,从而提供了业务敏捷性。这种服务公开实现起来非常快速,能够以最低的成本执行,并且是将 Jensen Inc. 应用程序集成到更大的 SOA 基础结构中的第一步。

我们将在后面的“服务创建”中讨论如何将 SOA 场景示例应用于具有有限 IT 预算的部门。





回页首


将案例研究应用于 SOA 场景

IBM 提供了一组 SOA 场景,可帮助组织实现业务和 IT 目标。这些 SOA 场景中的实现模式描述了使用这些 SOA 场景的特定方式。本部分讨论每个 SOA 场景,并说明如何使用每个 SOA 场景中的实现模式来帮助 JKHLE 的 SMB、零售和公司部门。

第一个 SOA 场景是“服务创建”,并应用于还没有采用 SOA 的公司部门。其余的 SOA 场景说明了零售和 SMB 部门如何能够利用现有的 SOA 解决方案来处理不断变化的经济环境。

注意:每个 SOA 场景包含许多实现模式,可帮助 JKHLE 部门处理客户需求和经济环境方面的变化。在本文中,我们仅将每个 SOA 场景中的一种实现模式应用于各个 JKHLE 部门。

服务创建

服务创建涉及到创建灵活、基于服务的业务组件。它允许组织确定高价值的现有 IT 资产,并使这些资产能够支持服务以便重用。

将现有的应用程序作为服务公开

通过收购 Jensen Inc.,JKHLE 拥有了许多每天运行无数业务应用程序的后端 EIS 系统。特别是,记帐应用程序是采用 COBOL 编写的,并由 CICS ® Transaction Server v3.1 承载。记帐应用程序虽然很旧,但是功能不错,并且不存在替换该系统的计划。

帐户开立流程应用程序需要使用记帐系统的 CICS 事务。这需要公开该应用程序的功能,以便让新的帐户开立流程应用程序使用,以及由其他应用程序和系统重用或使用。

JKHLE 可以使用“将现有应用程序作为服务直接公开”实现模式来公开此后端应用程序。CICS Transaction Server v3.1 提供了本机 Web 服务支持,可以使用 SOAP 请求和响应编程模型来公开记帐系统(图 1)。


图 1 将现有的 CICS 应用程序作为服务直接公开

公司部门可以按如下方式利用此体系结构:

  • 手动将 Jensen 企业信息系统集成到 JKHLE 的 IT 基础结构中的成本非常高昂。将诸如记帐系统等应用程序作为服务来公开使得此集成相当容易和节省成本。
  • 公司部门具有控制成本的要求,并且无法对新硬件和软件做出重大投资。此解决方案使 JKHLE 能够以最小的成本执行集成。现有的硬件和应用程序逻辑得以重用,因此,JKHLE 能够利用现有的系统和资产。将这些应用程序作为服务来公开是成本低廉的。对现有 Jensen 应用程序和企业信息系统具有很少了解的开发人员,也可以使用向导来容易地将现有的应用程序功能作为 Web 服务来公开。
  • 这推进到了允许 JKHLE 公司部门在将来预算允许时进行 SOA 增强的 SOA 基础结构定位。例如,他们可以容易地将新创建的服务整合到 ESB 体系结构中。

进一步的信息

有关“服务创建”SOA 场景、该场景的每种实现模式和它们如何与 JKHLE 案例研究相关的更多信息,请参阅“案例研究:服务创建 SOA 场景”。

服务连接性

服务连接性通过网关或企业服务总线(Enterprise Service Bus,ESB)将业务和扩展企业中的人员、流程和信息联系在一起。

到服务提供者的动态路由

JKHLE 使用外部服务提供者来实现帐户开立流程所需要的信用验证服务。JKHLE 使用了“业务价值驱动的服务可用性”实现模式来实现了此解决方案。JKHLE 利用了两个服务提供者:CVCo 提供低成本但低吞吐量的选项,Verity 提供的服务吞吐量较高、响应时间更好,但是成本较高。JKHLE 使用图 2 中所示的解决方案,基于服务可用性来动态地选择服务提供者。


图 2 使用 ESB 的动态路由

正在快速增长的 SMB 部门可以利用此体系结构,因为此体系结构是围绕不断变化的客户需求和满足服务水平协议而设计的。当需求较低时,大多数请求将发送到廉价的 CVCo 服务提供者。当需求较高,并且 CVCo 服务提供者无法跟上步伐时,工作将路由到 Verity 服务提供者。因此,增加的需求将通过征募第二个服务提供者来满足。随着 SMB 市场领域的需求继续增加,可以向 ESB 网关增添附加的服务提供者,并且其工作负载和响应时间可由系统管理组件进行测量。

正在减速的零售部门可以利用此体系结构,因为在需求下降的情况下,此体系结构自动配置为将较大百分比的工作路由到较廉价的 CVCo 服务提供者。平均来讲,这应该会导致每客户请求的成本节省。此外,此体系结构还为 JKHLE 提供了机会,以便为外包的信用验证服务功能确定新的和较廉价的服务提供者。使用 ESB 和 ESB 网关允许添加这些新的服务提供者,而不需要帐户开立流程模型中的任何更改。

进一步的信息

有关“服务连接性”SOA 场景、该场景的每种实现模式和它们如何与 JKHLE 案例研究相关的更多信息,请参阅“案例研究:服务连接性 SOA 场景”。

流程

业务流程是以特定顺序调用以实现业务目标的一组业务相关的活动。业务流程由任务组成,任务包含人工交互和自动化的工作流。

流程自动化

JKHLE 使用“流程自动化和人工工作流”实现模式,将帐户开立流程建模为业务流程。基于此流程模型,他们构造了该业务流程的 WS-BPEL 实现,并在运行时监视该流程。

此业务流程包括现有的服务和公开为服务的资产,以及新创建的服务和需要人工交互的手动任务。用于构造此业务流程的产品如图 3 所示。


图 3 产品和 SOA 生命周期阶段

正在快速增长的 SMB 部门可以利用此体系结构,因为随着需求继续增加,JKHLE 可以通过业务流程监视,确保帐户开立业务流程继续以最优的方式执行。业务流程监视提供了有关 JKHLE 帐户开立解决方案状态和结果的实时信息,从而可以迅速处理流程中由更高的需求导致的问题领域或瓶颈。业务流程监视还可以通过分析业务流程监视数据,从而突出新出现的机会。

正在减速的零售部门可以利用此体系结构,因为帐户开立业务流程中的活动序列很容易修改。JKHLE 可以选择删除或更改帐户开立流程的非必需元素,从而削减成本。例如,帐户开立业务流程目前包含一个在邮件中向客户发送硬拷贝报表的任务。可以修改该流程,以便客户能够选择通过电子邮件接收报表。对该业务流程的此更改实现起来非常容易和成本低廉,并且可能通过削减打印和邮寄成本,从而给 JKHLE 带来重大的成本节省。

进一步的信息

有关“流程”SOA 场景及其如何与 JKHLE 案例研究相关的更多信息,请参阅“案例研究:流程 SOA 场景”。

交互与协作服务

交互与协作服务旨在提高人员工作效率。该解决方案使不同销售渠道中的客户可以拥有基于统一门户的用户界面。

使用 Portlet 来访问服务

帐户开立业务流程作为 SOA 服务公开。JKHLE 根据“使用简单的 Portlet 聚合和调用服务”实现模式的描述,通过使用门户来公开了此业务流程的用户界面。

公共门户提供了 Web 应用程序界面,可供客户用于链接到帐户开立流程。客户服务代表和管理层使用帐户开立仪表板来监视帐户开立流程中的帐户状态。

正在快速增长的 SMB 部门可以利用此体系结构,因为客户目前通过运行在 Web 浏览器中的公共门户与帐户开立流程交互。JKHLE 相信他们可以通过增加用于开立帐户的渠道,从而继续进行业务扩展。可以扩展公共门户以支持诸如 PDA 等移动设备,从而为客户提供替代的帐户开立方法,并为 SMB 部门开辟新的市场。

正在减速的零售部门可以利用此体系结构,因为在正在减速的市场中,客户满意度变成了日益重要的因素。对于帮助改进客户满意度而又不引入重大成本的想法,JKHLE 零售部门非常感兴趣。其中一个这样的想法就是向公共门户添加一个 Chat Portlet。Chat Portlet 为客户提供了方便快捷并且廉价的协作功能,使客户能够快速从客户服务代表那里获得帮助。添加此 Portlet 的开发成本相对较为低廉,并且提供了快速投资回报和改进客户满意度的机会。

进一步的信息

有关“交互与协作服务”SOA 场景、该场景的每种实现模式和它们如何与 JKHLE 案例研究相关的更多信息,请参阅“案例研究:交互与协作服务 SOA 场景”。

作为服务的信息

“作为服务的信息”可以将企业中的复杂异类数据源作为可重用的服务进行访问。

保持数据清洁并对多个来源可用

帐户主管需要关于客户的一致而有效的数据。过去,客户错误地收到通知,并且在某些情况下,由于不准确的客户数据,数据库之间创建了重复的客户记录。JKHLE 使用“数据清理”实现模式来帮助管理此客户数据。当客户提交新帐户申请时,申请将发送到帐户验证业务流程,并在那里对数据进行清理。清理后的客户信息被公开为信息服务,使得数据对任何支持服务的应用程序可用。


图 4 数据清理服务器

正在快速增长的 SMB 部门可以利用此体系结构,因为随着 SMB 部门的增长和更多新客户的添加,不一致和不准确的数据也很可能会增加。通过使用数据清理服务器来自动清理数据,JKHLE 可以确保以一致和准确的格式来清理诸如客户名称和地址等数据。随着新客户帐户数量的增加,可以容易地向数据清理服务器添加容量。

正在减速的零售部门可以利用此体系结构,因为随着需求的减速,零售业正在成为 JKHLE 的竞争压力与日俱增的市场领域,许多公司竞争一个正在收缩的客户群。在此环境中,保持客户高度满意是至关重要的。通过使用数据清理服务器来确保一致和准确的客户数据,向客户发送不准确或不适当通知的可能性降低了,从而帮助保持客户的满意度。

此外,通过使用此体系结构,客户数据在整个企业中保持一致,并且很容易通过服务接口进行访问,从而使得在各个市场领域之间共享客户信息以进行交叉销售或加值销售 (up-sale) 变得更加容易。它还有助于确定整个企业的高价值和低价值客户。JKHLE 零售部门可以使用此数据来确定企业在其他领域的高价值客户,以及向这些客户交叉销售零售服务。这是一种低成本的活动,可以通过获取新的零售客户来产生快速的投资回报。

进一步的信息

有关“作为服务的信息”SOA 场景、该场景的每种实现模式和它们如何与 JKHLE 案例研究相关的更多信息,请参阅“案例研究:作为服务的信息 SOA 场景”。





回页首


声明

本信息是为在美国提供的产品和服务而编写的。

IBM 可能在其他国家/地区不提供本文档中讨论的产品、服务或功能。有关您所在区域当前提供的产品和服务的信息,请向您当地的 IBM 代表咨询。

任何对 IBM 产品、程序或服务的引用都并非旨在明示或暗示只能使用 IBM 产品、程序或服务。只要不侵犯 IBM 的知识产权,可以用任何具有同等功能的产品、程序或服务代替 IBM 产品、程序或服务。但是,对任何非 IBM 产品、程序或服务的评估和验证应由用户自行负责。

IBM 公司可能已拥有或正在申请与本文档描述的内容有关的各项专利。

提供本文档并没有授予您对这些专利的任何许可。您可以通过书面方式将许可查询寄至:

IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A.

要了解 IBM 的完整声明,请参阅 IBM 声明的细节



参考资料

学习
  • 您可以参阅本文在 IBM 红皮书网站上的 英文原文

  • 本系列文章的第 1 部分:本文概括介绍了虚构的 JKHL Enterprises (JKHLE) 公司的情况,这个虚构的公司已在一系列面向服务的体系结构 (SOA) 场景文章及相关的工作产品中被引用,作案例研究之用。本案例研究介绍了如何借助 SOA 原则通过应用 SOA 场景实现模式来应对常见的业务和 IT 挑战。

  • 本系列文章的第 2 部分:本文中的案例研究重点是与 SOA 服务创建和重用相关的挑战和解决方案。在本文中,我们将介绍如何使用关键方法和选项来利用现有的 IT 资产并通过 SOA 接口加以重用,还将介绍如何为新的和现有的资产构建服务,以确保它们可以用于未来的 SOA 工作。本文描述了如何使用“面向服务的体系结构中的服务创建场景”的实现模式来解决与该案例研究相关的业务和 IT 挑战。

  • 本系列文章的第 3 部分:本文中的案例研究重点说明与开立新帐户服务的连接性相关的挑战和解决方案。其中描述如何使用“SOA 中的服务连接性场景”的实现模式来解决与该案例研究相关的业务和 IT 挑战。

  • 本系列文章的第 4 部分:本文中的案例研究重点说明与开立新帐户的业务流程相关的挑战和解决方案,主要向您讲解了如何通过各种 IBM 工具来解决相关的业务流程问题。

  • 本系列文章的第 5 部分:本文描述了如何使用交互与协作服务 SOA 场景的实现和解决方案模式来解决与该案例研究相关的业务和 IT 挑战。

  • 本系列文章的第 6 部分:本文中的案例研究重点说明在具有 SOA 服务接口的 JKHLE 中与公开信息相关的挑战和解决方案。通过本文的学习您将了解到可以通过许多不同的模式实现企业中数据信息的统一访问、验证和清理等功能。

  • 本系列文章的第 7 部分:本文描述了如何使用 IBM 的相关业务流程管理软件和方法,来解决与该案例研究相关的业务和 IT 挑战。

  • 本系列文章的第 8 部分:本文通过使用 RUPSOMA 等技术以及 Rational Software Architect 之类的工具来实现 SOA 的设计,其中会涉及如服务的实现、业务的转换等方面的内容。

  • 本系列文章的第 9 部分:本文中的案例研究重点说明与 SOA 安全性和管理相关的挑战和解决方案。

  • IBM developerWorks SOA and Web services 专区 提供了大量的文章,以及关于如何开发 Web 服务应用程序的初级、中级和高级教程。

  • 使用 IBM SOA Sandbox 进行试验!通过 IBM SOA 进行实际的亲手实践来提高您的 SOA 技能。

  • IBM SOA 网站 提供 SOA 的概述,并介绍 IBM 是如何帮助您实现 SOA 的。

  • 了解关于 developerWorks 技术事件和网络广播 的最新消息。请特别关注以下 SOA 和 Web 服务技术讲座:
  • 访问 Safari 书店 ,浏览有关这些技术主题以及其他方面的书籍。


获得产品和技术
  • 使用 IBM 试用软件 开发您的下一个项目,可下载或索取 DVD 光盘。


讨论


关于作者




对本文的评价










回页首


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