崔晓栋:从360度看SOA
下面我们简单看一看各个层次。访问与集成服务层,最早这个概念来自于BEI,企业应用集成的概念,企业应用集成的项目,
我做了二三十个,包括我这个团队,是一个非常老的概念。但是现在变成非常成熟的技术,这在三年前不可想象的。所有的JAVA的开发人员,想到自己要去写一个非常复杂。
另外,在上一个层次,就是数据服务,这个数据服务,我本人来说,就是最喜欢的方向,因为在五年前,我们BEA的创始人,他说的有点极端七年之后(英文)就没有了,会被一些新的理念所取代的,他当时看好两个方向,就是企业信息集成,我们率先推出了这个产品,统一数据试图这样的工具,当时在国内推非常困难因为我们当时做几个试点。
举个例子,北京移动,我相信在座有很多北京移动的用户,您最开始你会发现,你们打电话去查询你的花费信息的时候,原来要晚一天的,因为完全是两个分离的数据库,每天晚上更新一次。
所以就会存在这个问题。当时我们试图用这种实时,数据视图的方式来解决,当时这个试验比较失败,因为当时确实量比较大,超乎想象。而且当时经验也不够,但是后来两年之后,我们在山西移动做同样的项目,同样的需求非常成功。所以在这个过程中,在这里边也是有很多学问,讲究数据怎么去做,包括一些架构怎么去设计,然后怎么尽量去降低它的耦合程度等等。
界面服务,可能是另外一个概念,因为我们可以找一个时间去探讨一下,ESB,这两年也是在SOA项目里边不可缺少的部分,实际上整个SOA项目的心脏,一个最核心的组件,因为它要去定义所有的业务服务,甚至要编排业务服务,对它要进行管理。
另外,就是一些附属设施,就是一种服务的目录,服务库的管理等等。所有这一切,然后就构成了参考架构,就是你去设计,真正要在企业级去设计SOA实施架构,这些都要考虑。我们通过不同的组合,可以形成符合应用,就是业务流程再造的项目。比如企业信息门户的项目,我们是通过不同的架构组合而形成的。这是一个非常简单的例子,可能当我们按照这样的参考架构实施这个系统,每一个层面对下一个层面,相对都是透明的,而且是耦合的结构。我录入一个订单,通过门户里边一个组件,我可以去调用那个订单的业务流程,但是这个业务流程,符合应用的业务流程,因为它相对来说,是人工要去参与的业务流程。总会有一些员工代表,客户人员参与到这个流程当中,所以这种应用,在企业里面都不存在。
然后业务流程和业务流程之间,可以通过标准SOA的方式,从技术的角度,也许是其他,然后可以互相去调用。然后业务流程,在相关的节点上,可以处理它的数据,也是通过这种服务的方式来调研,我并不关心服务真正存在哪个系统里边,我只关心我要这个服务,这就是高层的设计。我可能在应用节点里边,软件和数据库做操作。今天不会涉及任何产品的内容,这张图大家看看的就好了,前面一张图是电力公司的实施架构,这是我们在BEA产品的映射关系,大家有兴趣,会后可以下载到这个4S。
前边我们所倡导的架构到底是什么样,后面我们简单谈一谈,SOA演进路线规划的方法。我觉得国内,这一点我感觉特别强烈,国内和国外很大的不同,国内做一个比较大型的项目,总是想在一个项目里边,把所有的问题解决掉。在国外做项目最通行的理念,特别是做SOA项目过程中,我做这个项目不是为了一次性解决这个问题,我只是为了两年后有解决这个问题的基础。在国内,你要把这个系统,举个例子,可能又要举北京的。因为我两年前在做北京通信的企业应用集成,以及后面的SOA项目。实际上它规划有56个系统,当时我记得请埃森哲做咨询,做整个接口分析,就花了一千多万人民币,当时就要做一个项目,把56个系统全部整合在一起,这是典型国内的现状。
我们从第一个情况来看,我们必须要确立起点,这个起点,必须要遵循小步快跑的方式,把它纳入到SOA管控范畴来,然后我们再指定一个愿景,我们再设计一个SOA的架构。此外,我们必须是为了大家去定义这种演进路线的方便,我们总结了一些模式,六大维度,我们在定义演进路线的时候,我们可以去考虑这六个方面。
第一,我们必须要确定SOA建设的目标和范围,往往不要太大。当时北京通信的项目,第一期就是计费大客户,以及一个97系统,就是你们去申请电话的系统,这是它的第一步,必须压缩在可以实现的目标下。第二个,你一定要评估你的业务需求,因为你的IT业务和业务系统,所去服务的,所以你必须评估业务系统。业务需求,因为我看中国电信,在这方面做的比较好,我上这套系统,我的详细时间要到多少秒,后面我觉得就不做详细的论述了。
这个我简单谈一下,其实现在实现SOA,通常想到两种方法,一种是自底向上,一种是自顶向下,发现各有缺点。对你企业要求特别高,有很强的IT管控能力,成本特别高,投入相当大,自下而上,往往你做一些项目就迷失了,要做一个多宏大的目标,没有一个公司级别的东西,知道你很快就做偏了,中间相遇的方式。
我这边举一个例子,这也是实际的例子,客户的名字我就不说了。首先我先选取两个应用,在整个SOA架构有代表性的应用,这两个应用自己做自己的,同时在公司层面会有一些SOA参考架构,以及演进路线来指导它,在做的过程中,就会考虑怎么去按照企业总体规划,来完成企业的目标。往往你做这个项目,你会有一些新的需求上来,产生第三个项目,叫应用3,当时也是整个IT规划中。应用3,由于你应用1和应用2,按照企业总体目标去设计,你很难得到公司决策层的认可,你真的把应用三,按照总体SOA设计的项目。
我可能说的简单,但是大家在做项目过程中,细细去体会一下,必须要这么去做。所以通过以上的这些SOA参考架构,以及逐步演进的实施路线,我们实际上取得的是一种渐进式的项目,可能我翻译不太准,可能叫项目成果,这是我们的一个理念
0
相关文章