|
|
|
|
SOA中的“ S ” 发布时间:2008-07-25 17:04:21 作者:焦烈焱 出处:银弹 语言:中文 阅读次数:441次 |
| 在SOA的整个生命周期中,最开始的便是服务的规划和设计过程,人们希望通过服务的规划和设计,得到SOA的设计蓝图以及服务的筛选。得到这样的结果以后,继续进行服务流程的构造,包括服务的构造。
对于规划和设计,是有一些输入和输出的。将SOA的业务蓝图,即服务规划设计的条件输入,然后进行流程梳理,通过服务筛选确定哪些是我们企业范围内的服务,再通过服务进行定义,最后进入服务设计过程,同时对于如何实现SOA的灵活性,流程重组的过程也尤为重要。实际上,通过这样的五个步骤(封闭的五个环节)我们就可以进入下一个环节,如何对流程和服务进行构造。
SOA业务蓝图
输入,也就是SOA的业务蓝图。我们需要了解一个企业到底包含哪些业务领域,业务领域当中到底有多少业务模块以及企业涉及的问题有哪些,我们叫做业务的构建。之后我们则需要找到企业的差异化竞争到底在哪里?我们要分析出企业的差异化业务和一般的业务到底有哪些关系?比如说招商银行在刚刚兴起的时候,一卡通是他的差异化业务,他的投资或者说他的优先投资一定是在差异化的业务上的。所以我们希望在SOA的规划当中,可以用一张业务蓝图来进行这样的一个规划,这种规划可以得到一个差异化的业务。我们建议企业能够从整个系统来做SOA,因为如果只做单一项目的话,可能对企业的作用并不大。
流程梳理
有了这样一个差异化的分析,我们就可以分析我们的业务流程,当然,进行SOA的规划一定是逐步的,所以差异形式的业务应该是首先的构件。我们对差异化的业务进行流程梳理,这其中有几个关键因素,一是流程的组织和角色,即由谁来完成这个流程;二是我们会把流程分为人工和自动的活动。每一个人工和自动的活动都可以变成对于一个服务规划的侯选服务。除了这些要素以外,流程的KPI和流程的服务质量服务水平也是非常重要的。比如说一个银行的贷款需要多长时间,发一张卡要多长时间,服务水平到底是怎样,质量怎样,在流程梳理的时候,都会成为一个业务需求,被梳理出来。在流程梳理的时候,最开始会得到一系列大的流程,为了得到这样的侯选服务,我们需要把这些流程分解成一个子流程,在子流程当中也会有人工活动的分解,同样包含自动活动的分解,最后都可以得到一系列的侯选的服务,下一部我们就要确定哪些是服务,哪些不是,即服务筛选的环节。
服务筛选
从服务筛选的角度来说是自上而下和自下而上的两种模式的筛选,我们会有一些具体的原则,比如说服务都是一些无状态的,如果和一些有状态的东西相关联的话,这样的东西就不是服务,那么状态哪里去了?这就是流程的重要性,我们必须要保护这样的一个状态,服务本身是没有状态的。包括服务的力度不宜过大也不宜过小,我们在服务的治理当中可以确定哪些服务是大的,哪些服务是小的,然后重新进行服务筛选。
服务定义
有了这样的筛选以后,我们可以看到哪些是企业需要重用的服务,我们需要对其进行定义。这里有几个关键的要素需要考虑,首先服务是标准化的,就要有一个需求规则的描述,比如说功能的描述服务,服务的优先级,同时会有一些接口的定义。当然光有这样的定义还不够,或者说WSDL的描述很不全面。
服务定义里第二重要的数据依赖,即在统一的数据视图中希望通过对总数据的管理,可以让我们在服务和服务之间,或者是系统和系统之间,业务模块和业务构件之间有统一的管理。各个系统中的数据需要保持一致,而不应该在同一个系统对同样的实体在不同的系统里有不同的定义。当然,这是一个比较理想化的情况,我们的企业当中毕竟有很多的遗留系统,这里面也会有数据的影射。
第三是服务契约的定义,目前对服务契约还没有一个非常明确的标准,但非常重要,比如说服务中的Qos、水平、安全性等技术指标,虽然都会有一些技术标准做,但是每一个技术标准都不很全面,而我们定义服务的时候,必须要把这些东西定义出来,在服务框架当中可以对这些企业进行监控、管理,这个契约实际上是服务的消费者和服务提供者提供的一个合同或者说契约的关系。如果企业环境当中,我们希望契约的描述要尽可能的一致一些。
服务设计
有了服务定义之后,我们就可以开始设计阶段。首先是要把服务分配到构件当中;第二是要将已有的服务组装成新的服务;第三需要定义一个访问协议,对那些访问的方式进行设计,比如说一般的情况下我们的服务都会作为一个Web服务器调用;最后一点,我们需要将服务的契约映射到策略框架当中。
流程重组
流程重组的重要意义在于我们的SOA是否灵活,是否可以适应变化的体系的结构。流程重组有几个重要的因素,即必须有已有的服务和流程。在流程重组之前,我们需要有一个规则才可以在已有的基础上,进行多个重组。比如说安徽电信,他们最初只有几百个流程,经过一个重组的定义,他们现在已经有几千个流程,每一个城市、县城的运行都不一样,但是他们都在一个规划下完成重组。这是流程重组中最重要的一个要素。
通过流程的梳理、筛选,我们可以得到一个列表,把服务提升出来。在服务的设计的过程中,得到实现服务的服务构建,协议的绑定和契约的影射。在流程重组时,可以针对已有的流行过程服务,针对制定的角色、组织制定一个重组的规则。之后我们就可以进入下一个阶段,即服务流程构造阶段。
在整个SOA的体系架构及实施过程中,标准化显得尤为重要。我们希望通过这样的一个服务设计的规划,达到目标。希望可以在服务进行规划时,打破系统机构,让我们看到的不再是一个个业务系统,而是一个个业务的模块,这样可以屏蔽技术的复杂性,降低复杂性,实现灵活和创新。
普元软件作为国际领先的面向构件的SOA厂商,一直积极的分享着我们的经验,同时也积极参与到国际标准的制定中,这里可以分为四个阶段:
早期是Web服务器的阶段,这个阶段我们解决的更多是系统和系统之间的互操作的问题。第二个阶段就是SCA的阶段,SDO,需要简化数据的实现、组装以及系统和系统之间进行数据交换的问题。第三个阶段是流程和建模管理。例如BPEM这样的标准就是在流程和建模过程当中需要的标准,但同时BPEM还不能完全做到这一点。第四个阶段则是标准的服务与治理,标准不是每天都可以造就的,需要一步一步的来,如果在没有统一标准的地方,我们则建议在企业内部先有自己的标准,再对这样的一些东西进行管理。
在最开始的时候,我们会有第一代Web服务器的标准和第二代的Web服务器的标准,他是互联互通的定义。到下一个阶段就是SCSDO的标准的时候,把软件分为几个部分,在SCA的编程模型下对服务进行组装的。这其实就是SCA要解决的问题。另外,这样的服务如何可以部署到SOA的中间件,这是标准解决的第二个问题。
SDO的标准实际上是跨越了SLL,让系统和系统之间的数据传输更加业务化,也有多种语言的绑定方式,让我们对数据的操作更加的方便和灵活。
普元软件作为一个国际领先的中间件厂商,会继续积极的参与标准的制定。作为最开始的OSOA的企业中的18家核心会员之一,我们试图希望把我们的经验可以体现在标准中去,包括SCA、SDO的标准等等。另外,普元软件不仅参与国际的标准制定,我们也会参与一些企业的标准制定当中。比如说我们和建设银行制定建设银行的标准,包括SOA在中国的标准制定,我们希望把类似的标准同时体现到中国的国家标准中。我们也将投入更大的力量支持开源项目,实现这样的标准,可以早日让客户应用。
同时,普元软件作为OSSOA的核心赞助商,我们还会跟其他厂商进行专利互换,并参加到五个技术小组里,和这些国际专家一起进行
|
|
| 声明:本栏目转载文字、造型、样式、图形及程序如有来自网络,版权归原作者或首发媒体所有,欢迎任何个人访问或者转载,若有作者及出处有误,请来信说明,我们将及时更正。 |
|