ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 深入浅出SOA(二)

深入浅出SOA(二)

原创 Linux操作系统 作者:rheet1978 时间:2008-12-09 22:20:56 0 删除 编辑
体系结构相比于传统应用,基于SOA的系统是针对业务随时会发生变化进行设计,而不再针对某一个固定的业务进行设计,各个业务组件之间通过松耦合的方式连接,而不是通过紧耦合的方式,通过原子服务、复合服务保证资产的可重用。

 

如果想构建一个SOA系统,就需要了解体系结构的概念,体系结构是成功构建IT系统和应用程序的最重要方面。关于体系结构知识的具体请参见软件体系结构。

 

体系结构中有一个重要的概念:抽象。抽象是指对要描述的对象隐藏无关的细节,在整体上提供简化的视图,以便更好的理解对象。通常来说,抽象的级别越高,细节信息越少,抽象的级别越低,细节信息越多。在设计面向服务的解决方案时,既可以使用自顶向下(从抽象级别高到低)的方法,也可以使用自底向上的方法。在企业级如果要构建一个SOA系统,通常使用自顶向下的方式,先分析整个企业的体系结构(包括业务和技术的战略、治理维护等)。但由于现在多数企业都是以项目为中心划拨资金和投入资源的,所以,自底向上的方式构建SOA项目也是切实可行的,先通过项目获得经验,在将其推广到整个企业体系结构(EA)级别。

 

SOA参考体系架构(SOA Reference Architecture)

图01 - 03 . SOA参考体系架构

SOA参考体系架构如图01-03所示,通过SOA参考体系架构我们可以很好的了解如何构建一个SOA系统,期间会用到什么服务。SOA参考体系架构通过使用非专有的、与具体产品无关的方式,清楚地说明了SOA系统架构中都需要用到那些服务和组件,描述了在企业范围内构建SOA系统所需要的关键能力。

 

在01-03图的中间部分,是企业服务总线(Enterprise Service Bus,ESB)。ESB作为SOA模型的连接入口点,是SOA参考架构的核心,为整个架构范围内所有服务提供相互通讯的能力。ESB可以提供很多服务,比如请求和响应服务、路由服务(中介服务)协议转换服务、数据转换服务、自定义的日志记录、优化和监视等。另外,ESB还提供了各种服务的通用连接和动态调用(虚拟化)功能,充分利用了服务组件体系结构(SCA)模型编程。

图01-03图的中间靠左上部分是交互服务(Interaction Services)。交互服务通过用户接口、用户交互界面等将将IT的功能和数据传递给最终用户,并满足用户特定的使用习惯。

图01-03图的中间靠中上部分是流程服务(Process Services)。流程服务主要用来满足业务流程的需要,通过将多个服务组合起来形成一个业务流程。

图01-03图的中间靠右上部分是信息服务(Information Services)。信息服务主要用来提供对同构或异构数据源的访问,解决不同数据源之间数据共享困难的问题。比较常用的技术有联邦、复制、ETL、元数据管理、主数据管理、动态数据仓库、XML等。

图01-03图的中间靠右下部分是访问服务(Access Services)。访问服务主要用来提供访问已有应用、打包应用的能力,使已有应用的功能以服务的形式对外暴露出来。

图01-03图的中间靠中下部分是业务应用服务(Business App Services)。业务应用服务主要用来构建一个强大、可伸缩、安全的服务环境,为新的应用组件提供运行时服务。

图01-03图的中间靠左下部分是伙伴服务(Partner Services)。伙伴服务提供将合作伙伴的应用系统集成到共同的企业体系结构中的功能。

SOA参考架构是一个完整的企业架构,可以覆盖整个企业范围内集成的需求。参考架构中的服务通过模块化的方式进行集成,因此SOA的实现可以从一个小的项目来启动,在新的项目实施的时候,新的功能能够轻松的加到架构中,通过渐进的方式在企业范围内扩大集成的范围。

 

SOA解决方案堆栈通过对重要概念和关注事项的抽象,SOA解决方案堆栈提供了 9 个层次(分离关注的事项:五个功能层和四个非功能层),以及它们的逻辑体系结构构建块(抽象),这些构建块可以用于在较高的抽象级别上表现面向服务的体系结构。

 

图01-04 . SOA解决方案堆栈

 

如图01-04所示,SOA解决方案堆栈的五个功能层分别是请求者层(Consumers Layer,消费者层)、业务流程层(Business Process Layer)、服务层(Services Layer)、服务组件层(Sevice Components Layer)和操作系统层(Operational Systems Layer),上方的功能层相是服务请求者更加关注的层次,下方的功能层是服务提供者更加关注的层次。下面我们分别来看一下这五个功能层:

Ø         请求者层(Consumers Layer,消费者层):

提供图形化界面或其它操作方式,方便服务请求者提出服务请求。

Ø         业务流程层(Business Process Layer):

业务流程层主要是根据业务流程的需要,对服务层中定义的服务进行相应的组合和编排。

Ø         服务层(Services Layer):

服务层是整个SOA解决方案堆栈的核心层,由所有的服务(Services)组成,其在五个功能层中起着承上启下的作用,当收到业务流程层的调用请求后,将调用服务组件层的相关组件单元完成业务请求,从而实现SOA业务驱动的理念。服务可以根据实际需要,按粒度进行分层,虽然细粒度的服务可以提供更多的灵活性,但其交互的模式以及治理也更为复杂。相反,粗粒度的服务可以有效降低交互的复杂性,但灵活性降低,大家可以根据自己的实际需要进行灵活选择。

Ø         服务组件层(Sevice Components Layer):

服务组件层是由各个组件组成的,服务层的各种服务当接到请求后就是调用这些组件完成相应的工作的。服务组件层中的组件是平台相关的。

Ø         操作系统层(Operational Systems Layer):

操作系统层主要包括操作系统、数据库、管理系统、客户关系管理系统(CRM)、ERP、商业智能(BI)等各种同构或异构的系统,是所有应用程序、中间件以及操作系统的组合。

 

如图01-04右边部分所示,SOA解决方案堆栈的四个非功能层分别是:治理层(Governance Layer)、数据架构(元数据)和商业智能层(Data Architecture(meta-data) & Business Intelligence Layer)、Qos层(QoS Layer,Security, Management & Monitoring Infrastructure Services)和集成层(Integration Layer,Enterprise Service Bus)。下面分别来看一下这四个非功能层:

Ø         集成层(Integration Layer,Enterprise Service Bus):

集成层,也就是企业服务总线ESB主要实现服务代理者(Services Broker)的功能,在服务请求者和服务提供者之间提供正确、高效、安全的服务中介、路由和传输功能。

Ø         Qos层(QoS Layer,Security, Management & Monitoring Infrastructure Services):

Qos层主要为SOA提供要实现功能性需求 (NFR) 所需要的各种功能,比如安全、管理、监控等。

Ø         数据架构(元数据)和商业智能层(Data Architecture(meta-data) & Business Intelligence Layer):

该层主要提供元数据、商业智能相关的各种功能。

Ø         治理层(Governance Layer):

治理层包括对SOA中业务操作的整个生命周期的治理管控。

如何构建一个企业级SOA系统第一步:通过组件业务模型(Component Business Model,CBM)分析企业核心业务组件。

SOA是业务驱动的,我们需要根据业务的优先级来进行IT投资,而不能盲目的进行IT投资。通常我们使用IBM GBS的组件业务模型(Component Business Model,CBM)来评估企业的各种业务,分析该企业的核心竞争力在什么业务上。CBM解决方案的基础是组织内核心业务组件的定义,通过对企业的核心业务进行KPI分析、ROI分析,得出该业务是否具有足够的竞争力。

通常我们会从CBM中得出的重点区域作为SOA设计活动的输入,比如对某一银行,我们通过CBM认识到帐号管理是该行的一项核心竞争力,其同时也是客户满意度和减少客户大量流失方面的一个重要决定因素。那我们在进行SOA系统构建时就可以把帐户管理作为一个重点进行构建,通过加快帐户开立流程,增强这个功能从而提高客户满意度,减少客户大量流失。

 

       第二步,通过面向服务的成熟度模型(Service Integration Maturity Model , SIMM)确定当前系统的成熟度以及我们下一步要构建的SOA系统要达到的成熟度,这是个迭代的过程。

 

       第三步,成立SOA卓越中心(SOA Center of Excellence ,COE) 或类似该机构的小组,通过这个中心整合企业范围的技术与资产。成立该中心有助于理顺构建SOA系统过程中的各种跨部门问题,服务的生命周期管理等等。

 

       第四步,使用面向服务的建模和体系结构(Service-Oriented Modeling and Architecture,SOMA)进行服务建模,其对应的工具为Rational Unified Process (RUP)。SOMA是IBM端到端的SOA解决方案开发方法。SOMA 2.4中方法内容主要分成三部分,分别是:服务标识(Service Identification)、服务规范(Service Specification)和服务实现(Service Realization Decidions)。而SOMA3.0对服务实现部分做了细分,共分成四个部分:服务标识(Service Identification)、服务规范(Service Specification)、服务实现(Service Realization)和服务部署(Service Implementation)。服务标识主要是用来派生和定义候选服务,服务规范使用全面的技术来决定哪些服务需要暴露并指定相应的流程和服务组件来实现这些服务。服务实现主要包括解决方案模板和模式选择,技术可行性探索,SOA解决方案堆栈实例化。服务部署主要包括构建、组装、测试和部署服务。服务建模时可以使用IBM WebSphere Business Modeler,治理管控可以使用IBM WebSphere Service Registry & Repository。

      

 

参考资料

相关文章

Ø         SOAWebservice新手入门 - - SOA入门

Ø         SOAWebservice新手入门 - - Webservice入门

Ø         SOA 治理案例

Ø         SOA 治理简介

Ø         IBM SOA 治理页面

 

获得产品和技术

Ø         RUP for Service-Oriented Modeling and Architecture Plug-in V2.4

Ø         WebSphere Business Modeler

Ø         WebSphere Business Modeler Publishing Server

Ø         WebSphere Business Monitor

Ø         FileNet P8 Platform

Ø         WebSphere Process Server

Ø         WebSphere Integration Developer

Ø         SOA Foundation -- Business Process Management Scenario

Ø         推荐阅读清单: 面向服务的体系结构和 WebSphere Process Server

Ø         Tivoli Access Manager's GSO Lockbox

Ø         Tivoli Federated Identity Manager

Ø         IBM SOA 管理站点

Ø         IBM WebSphere Service Registry & Repository

讨论

Ø         参与ITPUB论坛讨论

Ø         IT168 DB2圈子

Ø         参与 developerWorks blog 并加入 developerWorks 社区。

Ø         IBM developerWorks: SOA and Web services 专区

Ø         IBM developerWorksWebSphere Extended Deployment 资源

 

 

image006.gif

image008.gif

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9524210/viewspace-509585/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 深入浅出SOA(一)
请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2008-06-09

  • 博文量
    84
  • 访问量
    529532