百科 教育 动画 游戏 博览 网址 金融 搜搜 资料
触屏版

在线: 1132   » [用户登录]   QQ   » [注册]
close ◇ 读取数据,请稍候 Loading...

.: Welcome to flymote.com [flymot.com] :.



  »

◆ 其它资料:.

SOA 案例研究:SOA 设计

2008-07-09 11:17:13   IBM      阅读: 890   【本类别其它资料】 【资料库首页
上一篇 收藏 打印 收藏夹 下一篇

本文是面向服务的体系结构 (SOA) 系列之一,主要通过名为 JKHL Enterprises (JKHLE) 的虚构公司阐述一个案例研究。本文的案例研究重点是与 SOA 设计(更具体地说是服务和流的设计)相关的挑战和解决方案。本文描述如何应用“SOA 设计场景”的实现和解决方案模式来解决与该案例研究相关的业务和 IT 挑战。
〖soa〗
  我们在本文中定义的帐户开立项目挑战与“SOA 设计场景”相关。该场景的重点包括用于 SOA 设计(更具体地说是服务和流的设计)的方法、构件和工具。

  软件架构师兼服务设计团队主管 Ursula DeBarry 从业之初担任的是 J2EE? 开发人员,后来成为了软件架构师。

  她拥有娴熟的设计技能,在应用诸如 Rational? Unified Process? (RUP?) 和面向服务的建模与体系结构 (Service Oriented Modeling and Architecture,SOMA) 之类的方法方面非常熟练。除了使用 IBM? Rational Software Architect 之类的工具对她所负责的项目进行应用程序建模和组装以外,她还为同事组织了多个关于方法和工具使用的研讨会,并在其中负责授课。 


  Ursula 对专门从事 SOA 设计方面的工作特别感兴趣。在 Ursula 之前担任的职位中,她完成了 Web 服务试验项目的设计和实现。不过,这个试验项目由于政治原因而取消了。

  她非常渴望寻找新的 SOA 机会。Ursula 从以前的同事——应用程序开发人员 Willy Li——那里了解到,JKHL Enterprises 正在寻找有经验的软件架构师和服务设计师来实施 SOA 计划。Ursula 前去 JKHL Enterprises 应聘。

  首席技术架构师 Sandy Osbourne-Archer 对 Ursula 进行了面试,由于她本身具有丰富的经验、娴熟的技能,并且有 Willy Li 推荐,因此当场就被录用了。Ursula 非常高兴能担任软件架构师兼服务设计团队主管。

  在与 Sandy 的首次会面中,Ursula 了解了帐户开立项目的目标和挑战。Sandy 表示,自己对业务和 IT 之间存在的语义差异和细节差异不甚满意,因为这些差异容易出现不同步或不完全一致的现象(请参见图 1)。

  Sandy 强调了保持业务设计和 IT 解决方案一致的需求,以便保持企业对新业务机会的敏捷性和响应能力。


  图 1 当前业务和 IT 不同步(不一致)


  Sandy 列出了帐户开立项目的高级业务目标:

  目标 1:降低成本:
  1.1: 降低创建和管理帐户的成本
  1.1.1: 降低帐户激活的成本 
  1.2: 减少纸质文档的数量
  1.2.1: 增加电子应用程序的数量 
  目标 2:提高每个客户拥有的产品数量 
  目标 3:提高可用性 
  目标 4:减少不遵从法律法规的风险 
  目标 5:增加客户自助服务 
  目标 6:加快上市时间 
  Sandy 总结了高级设计目标和挑战:

  业务设计:
  清楚地定义业务战略和目标 
  以业务驱动的方式对服务需求、设计和实现进行优先排序 
  提高服务重用,以加速上市时间并降低成本 
  IT 解决方案设计:
  为关键业务活动的服务提供显式的可跟踪性 
  可重复且可扩展的设计方法 
  能实现更好重用的服务组合 
  用于多通道访问的服务绑定策略 
  方便组装、部署和管理的解决方案

  SOA 设计场景的帐户开立计划

  通过一系列的会议,Ursula 和企业架构师 Edmund Smythe-Barrett 共同制定了 SOA 设计场景的帐户开立计划。

  他们与业务分析人员 Henry Lee 进行了讨论,对为帐户开立项目定义的关键业务需求有了更好的理解。图 2 描述了帐户开立高级流程,提供了该流程的关键元素的概念视图。



  图 2 帐户开立高级流程


  为了提高 SOA 设计的成熟度和改进帐户开立流程,Ursula 计划应用用于服务设计的 SOMA 并执行用于流程组合的业务服务设计。

  应用 SOMA 进行服务设计

  Ursula 指出,IBM Global Services 的架构师和专家开发的 SOMA 方法基于从客户合作项目中获得的知识。Ursula 希望能够利用经过验证的 SOMA 方法进行帐户开立服务设计。

  IBM 提供了两种应用 SOMA 进行服务设计的方法:

  用于服务设计的 SOMA 
  在此方法中,客户通过服务约定雇用 IBM,让他们的架构师和专家来应用 SOA 方法和 IBM 工具来代表客户进行服务设计。

  Ursula 和 Edmund 一致同意,对于该帐户开立项目,他们将参加与 IBM 的服务合作项目,以便在使用“用于服务设计的 SOMA 方法”来创建服务设计方面获得帮助。服务设计团队和 IBM 将应用 SOMA 方法来确定服务,指定服务和流,并实现该服务设计。与 IBM 的合作将帮助服务设计团队为将来的项目获得 SOAM 的实际应用知识。

  业务转换分析 (BTA) 和服务设计 
  在此方法中,客户通过应用 IBM Rational Method Composer 中包含的 RUP SOMA 方法直接创建服务设计。BTA 和服务设计的重点是通过应用自动化的设计工具和流程,以改进设计一致性和加速上市时间,从而提供正式的说明性服务设计方法。或者,客户可以雇请 IBM Services 代表他们应用 BTA 和服务设计。

  在旨在使将来的 SOA 变得更加自给自足的工作中,Ursula 领导的服务设计团队将开始培训 BTA 和服务设计的使用。

  用于流程组合的业务服务设计

  Ursula 将领导帐户开立项目的用于流程组合的业务服务设计。


  将 SOA 场景模式应用于该案例研究

  SOA 设计场景的重点是通过使用经过证明的 IBM 方法和工具,从而使业务设计与 IT 解决方案设计保持一致。诸如组件业务模型(Component Business Model,CBM)、SOMA 和 RUP for SOMA 等方法提供了概念框架,用于定义建模的方方面面以使业务与 IT 设计保持一致。使用 IBM 工具来支持设计方法,以对可跟踪性建模并创建整个生命周期中的设计构件。SOA 设计场景可应用于每个基本 SOA 场景。

  SOA 设计场景模型的基本构造包括流、服务和组件(请参见图 3)。

  流或流程表示完成某个业务流程所需要的活动流。流是旨在实现业务目标的相关和集成服务的组合。 
  服务是代表性的可重复业务任务。通过提供定义良好并且与实现无关的接口,从而将服务用于封装应用程序的功能单元。服务可由其他服务或客户端应用程序调用(使用)。 
  组件表示服务向服务使用者公开的功能,以及由实现服务的服务提供者提供的服务质量 (QoS)。 

 

 图 3 服务提供业务与 IT 之间的一致性


  注意:SOA 设计场景的关键元素是服务设计。

  服务设计以及最终的服务通过在业务流和目标与 IT 组件之间提供桥梁,从而提供一致性能力(如图 3 所示)。

  以下几个部分将详细描述该案例研究解决方案元素,这些元素映射到 SOA 设计场景实现:

  用于服务设计的 SOMA 
  业务转换分析和服务设计 
  用于流程组合的业务服务设计 
  用于服务设计的 SOMA

  注意: 用于服务设计的 SOMA 实现特别利用了 SOMA 标识、规范和实现阶段来交付所需的 SOA 设计成果。

  Ursula 和 IBM Services 合作项目团队开始通过应用用于服务设计的 SOMA 方法来处理帐户开立服务设计。该团队集中于服务设计的以下方面: 


  服务标识 
  服务规范 
  服务实现 
  SOMA 方法是用于 SOA 设计和构造以支持目标业务流程的分析和设计方法。SOMA 通过服务、组件和流的标识、规范和实现来完成此任务。SOMA v3.1 扩展了 SOMA,以提供同时还包括实现、测试、部署、监视和管理活动的端到端方法,如图 4 所示。


  图 4 SOMA 方法


  SOMA 方法提供了用于 SOA 设计的描述性指导,并且是 SOA 解决方案设计模式的基础(请参见图 5)。


  图 5 用于 SOA 参考体系结构分层解决方案的 SOMA 指导


  服务标识

  服务标识的目标是创建候选服务及其对业务有意义的关联操作的初始集合。服务标识主要由软件架构师来完成,并且通常包括业务分析人员以支持角色形式的参与。

  在服务标识期间,将创建服务模型工作产品,并移交给负责服务规范的软件架构师。服务标识与产生服务模型的分析级别同义,而服务规范则是设计级别。

  服务标识的关键输入包括:

  业务分析和建模 
  用于定义业务体系结构。CRM 通常用于业务分析,以帮助客户了解其业务和能力,并确定能力差距。也可以使用其他方法来进行业务分析。

  服务注册中心和存储库 
  现有的服务和有关它们的信息通常存储在服务注册中心和存储库中。该帐户开立项目是第一次采用 SOA;因此不存在现有的服务。

  让我们进一步了解三种用于确定候选服务的补充技术:

  目标-服务建模 
  领域分解 
  现有资产分析 
  目标-服务建模

  目标-服务建模的关键目标是证明服务的可跟踪性和与业务目标的一致性。目标-服务模型是一种由内向外 (middle-out) 的方法,在相应输出可用时迭代地用于验证通过领域分解和现有资产分析技术确定的候选服务列表的完整性。

  在开发目标-服务模型时,您通常与业务主管、业务分析人员和主题专家紧密合作,以确定范围内的业务目标和项目的阶段。对于每个目标和子目标,您将确定可用于评估业务性能的关键性能指标 (KPI) 和度量。

  JKHLE 销售管理业务组件中的服务标识重点目标是确定支持该业务组件的服务。表 1 提供了一个业务目标的摘要和支持 KPI,以说明目标-服务模型。

  表 1 目标-服务模型的业务目标和 KPI

  目标  目标的ROI  KPI/度量  服务  
  1.1 将创建和管理帐户的成本降低 10%  $1,000,000
   1.1.1 将帐户激活成本降低 50%  AccountActivation 组合
  ARSetup 
  AccountSetup 
  CreateAccount

 

  领域分解

  对于领域分解,我们采用自顶向下的方式工作,将业务领域分解为主要的功能区域和子系统。在下一个级别,我们进一步将功能区域分解为流程、子流程和高级业务用例。

  注意:高级业务用例通常是作为服务公开的理想候选者,并且可以提供初始的设计范围。

  领域分解使用并增强领域分析和领域工程方法的子集,包括:

  功能区域分析 
  将领域分解为功能区域可以为 IT 子系统及其实现服务的对应服务组件的设计提供业务边界。如果没有提供 CBM,则为 SOMA 合作项目执行领域分析。

  流程分解 
  执行业务流程建模以将流程分解为子流程和任务。对于初始的候选服务列表,三个级别的分解通常就足够了(请参见图 6)。

  面向变化的分析 
  全面观察流程、规则、策略和结构(数据),以确定候选共性。下一步,分离出流程、规则和结构的变化。


  图 6 流程分解


  分解集中于“帐户开立”流程以及“帐户激活”和“验证”功能区域,如图 7 所示。


  图 7 帐户开立流程和功能区域的领域分解输出


  现有资产分析

  现有资产分析的主要目标是最大限度地重用现有的应用程序事务、现有系统中的模块和打包的应用程序。在执行现有资产分析时,我们采用自底向上的方法以确定候选服务。可能会确定一些新服务,并且在其他情况下,该技术将确认前一项技术的标识结果。

  观察图 7,Ursula 与 Edmund 使用自底向上的方法,共同确定 JKHLE 环境中的现有应用程序和事务,以最大限度地实现重用。Edmund 让 Ursula 知道许多现有的中间件和后端应用程序,例如 CICS、IMS、SAP 和 Siebel。Ursula 评估每个现有的应用程序,以确定应该将哪些应用程序作为帐户开立流程应用程序的服务公开。他们可以使用 IBM WebSphere Studio Asset Analyzer 来扫描 IBM System z?(大型机)和分布式软件,以确定并在存储库中存储相关的应用程序信息,其目的是促进和了解哪些资产可以成为可重用组件并作为服务公开。

  现有资产分析并不只是将现有的应用程序接口作为 Web 服务公开。需要周密考虑以确定现有应用程序的接口是否允许良好的服务设计(请参见图 8)。


  图 8 将现有应用程序作为服务公开的选项


  如图 8 所示,存在几种公开现有应用程序的选项:

  将现有应用程序包装为服务 
  将功能保留原样,但是使用工具或中间件将现有功能作为服务公开。例如,将 CICS 应用程序作为 SOAP Web 服务公开(也称为直接公开)。

  将现有功能包装并替换为服务 
  按上述方式包装功能,但是在以后使用最终的服务规范来重新开发服务。然后,替换原始服务,并将客户端重定向到新的实现。

  使用更适合于服务调用的适配器 
  在某些情况下,无法包装某个功能并将其作为服务公开。

  但是,能够以更容易集成的形式包装该功能,例如消息队列接口或 Java 连接器体系结构(Java Connector Architecture,JCA),从而允许新服务就地访问该功能(也称为间接公开)。

  将功能集成到服务中 
  在某些情况下,只需将现有的功能用作服务实现中的一个逻辑组件,即可让新服务就地访问该功能。

  在执行每一项标识技术之后,将确定一个修订后的候选服务组合,这样就为制定规范做好了准备。

责任编辑: admin
下一页:soa »

【最近的搜索】:

上一篇 收藏 打印 收藏夹 下一篇
CopyRight(c) 2007 - 2017 All Rights Reserved  【赣ICP备12001042号】
触屏版 | Archiver 20191208 03:55 | 简介 | 帮助 | 留言 | 关于 | 360网站安全检测平台