首页 >> 通信技术 >> 技术滚动 >> 正文
SOA 采纳步骤和价值分析(组图)
2007年11月8日 11:45    比特网    评论()    
作 者:金戈 姚辉 赵勇

    1.SOA实施步骤总结

    SOA是一个既简单又复杂的技术。简单地说,SOA就是一组设计原则,这些设计原则既有SOA特有的,如服务是第一概念[CBDI],业务和IT对齐,为灵活而构建;也有被早已被业界广泛接受和使用的,如松散耦合、隔离关注、模块化、可重用性等。复杂地说,SOA是由这些设计原则衍生出的各种技术,如SOA成熟度模型、服务建模方法学、SOA编程模型、企业服务总线、服务注册库等。

2007年中国通信业百个成功解决方案评选_通信世界网

    同样,对SOA的采纳(Adoption)形式也具有从简单到复杂各种形式。一个分布式企业IT系统全面向SOA转型固然是SOA,而像HousingMap.com这样将GoogleMap提供的Web服务和Craiglist提供的Web服务集成起来提供全新的业务模式也不能不算SOA。笔者作为主要的技术人员主导或参加了若干SOA的实施案例,这里面有短暂的SOA试点项目,也有大跨度的SOA实施。从实践的角度而言,笔者认为一般的SOA的实施项目应该包含如下步骤:

    0.SOA采纳步骤和价值分析:由于客户现有IT环境和业务环境的不同,采纳SOA的价值和采纳的步骤也会相应不同。对任何一个企业或者是应用提供商,在采纳SOA之前最好深刻理解SOA的内涵和外延,并客观分析采纳SOA的好处以及带来的风险,并实际情况规划SOA实施的步骤。

    1.SOA监管:和传统技术不同的是,SOA是一个横向的技术,它不仅影响IT系统的设计者和开发者,它更需要改变业务部门对IT系统的看法,也需要运营部门改变系统运营的方式。几乎所有的相关人的活动都会围绕着服务模型和服务元数据。因此服务模型和服务元数据质量直接决定着企业向SOA转型的效果。简单的说,SOA监管通过建立适当组织和流程保证服务模型和服务元数据在创建时和运行时的质量。可以预见的是,一个企业采纳了SOA后,SOA监管会成为企业IT部门的重要任务之一。

    2.服务建模:如何根据服务建模方法学创建符合SOA设计原则的服务模型是实施SOA中及其重要的一步。发现服务候选、决定服务暴露和进行服务规约是这一步的重要内容。

    3.服务实现和架构设计:根据确定的服务模型,结合现有IT环境确定服务和服务组件的实现策略,并设计用于实现服务的基础架构(如ESB、流程服务引擎、人工服务容器等)是也是实施SOA过程中及其重要的一步。服务组件划分、服务实现决策和服务基础设施设计是这一步的重要内容。

    4.以服务为中心的开发和集成:在SOA的实施项目中,开发和集成的模式都会发生相应的变化,服务会成为开发阶段的中心概念。服务模型映射到编程模型,逐步实现服务,并在服务层次上进行持续的集成是这一阶段的主要内容。

    5.服务管理:以上的步骤主要侧重在功能层次上如何一步步实现SOA,而服务管理则侧重于在SOA实施中如何实现非功能性需求,这包括服务性能、服务安全等。

    本系列文章将围绕SOA的实施步骤组织,但是SOA监管和服务管理不在本系列文章的范围内。

    2.示例场景介绍

    本系列文章所涉及的场景是一个汽车贷款审批业务流程,从申请人提交申请到汽车销售商接受贷款并发货(或者申请人接收拒绝通知)。

    从银行的业务角度,该业务流程的外部参与者包括最终用户(申请人、汽车销售商)和合作伙伴(保险公司),内部参与者包括业务执行人员(信贷员)以及风险管理人员(信贷经理)。从技术实现的角度,该业务流程既包含自动化的内部功能(查询存贷款记录)和外部功能(保险公司提供担保),也包括人工活动(信贷经理审批)。因此,该场景具备一般业务流程的典型性,基于该场景的SOA实施示例具备更大的借鉴意义。

    图1:汽车贷款审批流程

    图2:现有业务环境

    从图2可以看出,信贷员是整个业务流程的枢纽,负责与客户、信贷经理、相关应用系统打交道。这种业务模式既增大了信贷员的工作强度,也增加了过程中的操作风险以及道德风险。

    图3:现有 IT 环境

    从图3可以看出,在业务流程中起到枢纽作用的信贷员,通过不同的方式访问不同的系统,获取申请人的相关信息,同时通过电子办公系统向信贷经理提交贷款审批申请。多样化的人机界面既增加了对信贷员的IT技能要求,也极大的降低了信贷员的工作效率。

    3.SOA评估框架和SOA 成熟度模型简介

    如上所述,SOA是由一些设计原则衍生出的一系列技术。和传统的方法不同的是,SOA的这些衍生技术遍布企业IT生命周期,以及企业IT系统的各个层次。为了评估一个企业的实施SOA的程度,我们需要一个覆盖全面的评估标准和一种对成熟度的划分。SOA评估框架就是这里说的评估标准,而SOA成熟度模型就是一种对SOA成熟度的划分。SOA的评估框架和SOA成熟度模型是了解企业IT和业务环境现状,分析企业采纳SOA的步骤和价值的重要工具。这里我们以IBM的SOA评估框架和SOA成熟度模型为例进行介绍。

    IBM的SOA评估框架主要分析企业IT系统在如下四个方面的特性:

    1.组织和流程:企业是否有实施SOA的经验,实施SOA的范围多大,企业是否规划过需要实现的SOA的能力,业务部门是否理解SOA实施的价值和过程,特别是业务部门参与重要性,是否有系统的方法指导服务的发现和设计,业务部门在服务的发现和设计中参与的程度如何;

    2.应用:目前应用如何暴露可重用的逻辑?应用间连通的实时和异构特性如何?企业开始在多大构建复合应用?

    3.架构:目前企业应用集成现状?企业应用的组件化程度如何?是否存在服务模型?范围多大?

    4.基础架构:基础架构如何保持可扩展性和灵活性保证满足业务部门的需要?基础设施如何响应业务流程性能的变化?是否存在统一的安全架构和规范?

    同时,IBM的SOA成熟度模型将SOA成熟度划分为7个层次:

    L1.孤立的:大多数为孤立应用,存在集成也基本上以数据集成为主;当需求发生变化时,需要大量的琐碎的架构调整;

    L2.集成的:应用间存在大量集成,但是以点到点的连接方式为主,应用程序的重构主要通过数据集成完成;

    L3.组件化的:将主要的或关键的应用从功能角度进行了组件划分,原有的J2EE/.Net等应用通过重构实现这些组件,组件间的集成通过组件接口和相互间的契约完成;

    L4.简单服务:存在业务部门内的服务模型和构建在服务上的业务流程集成;

    L5.组合服务:存在企业范围内和企业间的服务模型,已经在服务模型基础上完成价值链集成;

[1]  [2]  编 辑:张翀
关键字搜索:SOA  
  [ 发 表 评 论 ]     用户昵称:   会员注册
 
 
  推 荐 新 闻
  技 术 动 态
  通 信 圈