信息化 频道

如何深入浅出理解SOA?

SOA解决方案堆栈

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

     如图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。

0
相关文章