SOA方法学(一)

 
   | |

导读:介绍SOA方法学,主要介绍面向服务的分析和设计。是SOA理论和实践中最令人感兴趣方面。介绍SOA方法学和其他方法学的联系和区别,然后介绍IBM的SOMA方法学的过程和步骤。

关键词:SOA 面向服务 SOA方法学 SOMA

 
正在加载数据...

  这是《SOA:原理方法实践》的第4章。本章介绍SOA的方法学,主要介绍面向服务的分析和设计。这应该是SOA理论和实践中最令人感兴趣的一个方面。本章首先将介绍SOA方法学和其他方法学的联系和区别,然后介绍IBM的SOMA方法学的过程和步骤。

  引言

  《SOA:原理方法实践》是一本全面探讨SOA理念、SOA方法学、设计模式和案例分析的书籍。这本书由IBM新技术研究院Web 2.0首席架构师毛新生领衔执笔,汇集了IBM软件开发中心众多SOA专家们的经验和智慧。

  本书首先从作者的实际经验出发,分析SOA产生的根源,然后分析SOA的相关开发技术,最后结合实例讲述完整SOA项目的开发过程。我们将陆续推出此书的第1、4、10章。

  第4章:SOA方法学

  这是《SOA:原理方法实践》的第4章。在第3章我们已经详细阐述了作为一种新的方法,SOA使用哪些原理和方法去构建IT系统,并使得构建的IT系统更加灵活,更加和业务对齐。那么如何在实践的层面上,在IT的生命周期中贯彻SOA的原理和思想,一步步构建出符合SOA设计原则的IT系统呢?这个问题的答案属于SOA方法学的范畴。

  广义上讲,SOA方法学贯穿于IT生命周期的各个阶段和各个方面:IT系统项目的规划,系统分析和设计,系统的实施,系统的部署和维护,以及整个过程中的监控和管理等。从实践的角度说,已经出现如下SOA方法学。

  (1)面向服务的分析和设计(SOAD)。以服务为中心,根据业务需求发现服务、描述服务,并设计服务的实现。

  (2)面向服务的开发过程。结合现有开发过程,规划以服务为中心的开发过程中的角色、职责、活动和工件。

  (3)SOA的成熟度分析和迁移路线图。以服务为中心,分析现有或目标系统的成熟度,并设计从现有成熟度迁移到目标成熟度的路线图。

  (4)SOA监管。设计组织和流程,确保SOA的设计原则在IT生命周期中得以贯彻,管理服务生命周期中的各种迁移的合理性等。

  本章对SOA方法学的阐述主要集中在面向服务的分析和设计。首先介绍SOA方法学和主要的几种方法学的区别和联系,其次以IBM的SOMA(Service Oriented Modeling and Architecture,面向服务的建模与架构)为例,介绍SOA分析和设计中的主要内容和方法。

  4.1 SOA方法学和其他方法学的比较

  与SOA的设计原则类似,SOA方法学并不是全新的方法学,它是现有方法学的继承和发展。一方面,原有的方法学并不能解决由于服务概念的引入带来的问题,如怎样发现服务,怎样定义服务;另一方面,服务是一个水平的概念,而不是一个垂直的概念,在服务分析和设计的过程中,需要处理服务和现有方法学产物的关系,如业务流程和服务,企业架构和SOA,服务和对象等。因此服务的分析和设计最主要的职责在于发现服务、定义服务和实现服务,并指导如何和其他方法学结合完成这些职责。

  如图4-1所示揭示了现有几种方法学的定位。图的横坐标将项目周期分为分析、设计和开发三个阶段,纵坐标将域分为应用、架构和业务。流程建模(BPM)用于业务领域的分析和设计,如业务流程的定义、业务数据的定义等;企业架构(EA)和方案架构(SA)侧重在架构领域的分析和设计,如根据业务需求确定目前目标业务系统和IT系统,根据目标系统需求设计主要架构元素和它们之间的关系;面向对象的分析和设计(OOAD)则贯穿分析、设计和开发三个阶段,它主要分析细粒度的业务需求,如用例,分析和设计实现这些需求的类和对象,以及它们之间的关系。


 
  图4-1 传统的方法学
 
  如图4-2所示,面向服务的分析和设计贯穿项目周期的三个阶段和IT系统的三个域。这暗示着,在操作层面上,面向服务的分析和设计会和其他方法学紧密相联。

  图4-2 SOA和传统的方法学
 
  1.BPM和SOA

  业务流程建模是一个相当零散的领域,存在各种各样的方法和技术,有效的方法可以帮助企业对业务进行合理的划分,从而求得业务层面的灵活性。有些方法则侧重于流程建模本身,例如如何确定和定义业务流程中的业务活动、业务数据、业务规则、业务指标和业务事件等,但是BPM并不会帮助我们去发现和定义服务。从SOA的方法学来看,各种BPM的结果是面向服务的分析和设计的重要输入,如业务组件、业务流程和业务目标是服务发现的重要依据,而业务指标、业务数据、业务规则等是服务暴露的分析的重要依据。

  2.EA和SOA

  尽管和BPM一样,EA是一个零散的领域,但是当前的EA主要侧重于定义跨越业务单元边界的系统框架,企业范围内系统的主要构成元素,这些元素间的关系,以及将这些元素有机组合在一起的参考架构。但是,各种EA技术都缺乏业务领域的蓝图指导企业架构的设计。从SOA方法学来看,一方面,面向服务的分析和设计通过和BPM结合将业务分解为各种类型的服务,可以作为企业业务的蓝图指导企业架构的设计;另一方面,企业架构设计的结果,如参考架构,又是服务实现的重要依据。

  3.OOAD和SOA

  面向对象的分析和设计告诉我们使用Use Case捕获需求,并设计类、对象及对象间交互来满足Use Case定义的需求。但是面向对象的分析和设计往往只是局限在单个应用内部,它不会缺乏业务蓝图和企业架构蓝图的指导。从SOA方法学看,在原理层面上,OOAD中的很多设计原则,如抽象、隔离关注等被SOA继承和发扬,并应用于服务的定义和实现中。而在操作层面上,服务模型为OOAD进行类和对象设计提供了业务蓝图和企业架构蓝图,与此同时,Use Case作为对业务流程的补充说明被用于服务的发现和定义中。

  4.2 面向服务的分析和设计概述

  本章以下小节将以IBM的SOMA为例,说明面向服务的分析和设计的主要任务和方法。 IBM的SOMA将面向服务的分析和设计分为服务发现、服务规约和服务实现。服务的实现包括服务、组件和服务组装的实现。

  为了开始面向服务的分析和设计,如下的输入需要被用在分析和设计的过程中。

  (1)业务领域(Business Domain)和业务功能域(Business Function Area)。业务领域和业务功能域的划分勾勒了目标企业的业务结构,它一方面帮助我们从全局的角度来理解目标企业的业务,另一方面也是我们进行组织服务层次结构的重要依据。

  (2)业务流程(Business Process)。业务流程,尤其是第一级的业务流程,对企业经营全局至关重要。通常,通过第一级的业务流程可以追溯到企业中最为重要的业务活动,因此第一级业务流程是我们进行服务分析和设计的主要入口点。

  (3)业务目标(Business Goal)。组织和业务流程都是为业务目标服务的,为了完成业务目标,组织和业务流程都有可能进行适当的调整。分析业务目标在有些时候可以帮助我们发现一些通过业务流程分析遗漏的服务;与此同时,业务目标也是服务描述中一部分重要的内容。

  (4)现有系统(Existing System)。现有系统是目前业务活动和业务流程的写照,通过分析现有系统模块和功能,能够帮助发现服务。与此同时,对于现有系统的分析和理解是进行服务实现设计的重要前提。


SOA:原理•方法•实践
 SOA的基本概念(二)
 SOA的基本概念(一)
 SOA三元组:策略与语义网的结合
 业务流程简述(二)
 业务流程简述(一)
 SOA方法学(一)
 SOA方法学(二)
 关于SOA架构的七个关键性问题的解答
 新老朋友 前沿议题 2009技术英雄会(上海站)即将召开
 企业如何建设基于SOA的企业IT架构(上)
 企业如何建设基于SOA的企业IT架构(下)
 HTML 5正在从三方面改变当前IT业
 SOA的核心在于架构而非技术

原文出处:http://www.ibm.com/developerworks/cn/webservices/0708_xinsheng/index2.html
 
来源:IBM    作者:毛新生    
 
 
 
 
 

IBM Web服务

 
上个月有很多关于BPM收购的新闻,最近聚光灯照耀在主数据管理(MDM)上。IBM宣布就收购Initiate Systems达成协议……
 
.NET到WebSphere的连接的新闻似乎比早些时候的Web服务更少地出现。但是对IBM的WebSphere eXtreme Scale服务器进行更新提供的就是一个连接。
 
IBM最近与松下电器签署了一项重要协议,即抛弃微软Exchange ,转向IBM的LotusLive协同SaaS产品。松下电器将为超过30万的员工部署LotusLive……
 
IBM在OSGi的行列中跳跃。上个月,该公司宣布的WebSphere Application Server V7 OSGi应用程序的阿尔法开放。这是对于OSGi……
 
IBM宣布IBM Mashup Center最新版本并且现提供新的服务:BM Cognos 8 Mashup Service。此外,IBM宣布一套新的客户端,它使用IBM Mashup……

热门技术手册排行

 

随着开源技术越来越成熟,一个稍有开发经验的人通过学习就可以用开源的产品和技术构建一套可用的系统。对于从事软件开发的人员,尤其是对Java或动态语言相关领域的人来说,“开源”也许是他们最喜爱的单词。但是,很多时候我们需要的不仅仅是一个可用的系统,而是希望这个系统开发更简易、性能更高和扩展性更好等。这确实是一个令人头痛的问题。本指南很多地方都是点到为止,要深入了解相关信息的读者请借助参考资料、网站等自行挖掘。

 

本专题分六部分探讨SOA设计模式,当初设计面向服务架构的一大初衷就是降低服务间耦合度,由此提高服务的灵活性和自由度。

 

业务流程管理(business process management,bpm)不是一个新概念,甚至不是一个新名词。它是从相关的业务流程变革领域,如业务流程改进(bpi)、业务流程重组(bpr)、业务流程革新中发展起来的。流程管理技术也是从早期的工作流管理、eai、流程自动化、流程集成、流程建模、流程优化等技术中发展起来的。

 

TOAGF是一个架构框架,简而言之,TOGAF是一种协助发展,验收,运行,使用,和维护架构的工具。它是基于一个迭代(Iterative)的过程模型,支持最佳实践和一套可重用的现有架构资产。

 

云计算的概念越来越流行,Amazon、Google和IBM是第一批将云计算引入公众视线的公司。云计算就是新的Web2.0,一种既有技术上的市场绽放。

 

Mashup是一个非常cool的新的应用程序种类。如果你想真正的了解它们,我们需要回过头来看看你现在的计算机,其实它就是一个非常好的帮助你理解mashup的模型。现在开源的操作系统无疑是非常好的apis的集合或应用程序编程接口,帮助开发者去构建其应用程序。计算机本身也是一个很好的为用户提供接口的例子,键盘和鼠标可以被理解为你通过计算机的接口而使用的不同的应用程序。本技术手册为读者提供了一些相关信息,如果需要深入了解mashup,读者可以借助其他参考资源。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录