2007年5月25日星期五

转载 ---我对SOA的反思:SOA架构的本质

我对SOA的反思:SOA架构的本质

年初的时候,写过一篇名为“国内EAI正当时,BPM为时尚早,Workflow持续增长,SOA依然概念”的Blog日志。那个时候,我认为SOA还依然是个很“虚”的概念。而现在,我只能说:Sorry,那时候的我,错了。SOA已经不再是概念,而是一个实实在在的构架了。

在写完那篇帖子之后,我一直在反思SOA到底是什么,是一种什么样的架构。因为在在TIBCO中国研发中心工作的原因,可以接触到TIBCO的一些最新的SOA产品。

虽然了解到一些基于SOA构架的产品,但总觉得依然“隔着一层纸”,并不清楚什么才是真正的SOA架构。
很多时候,我依然会认为SOA构架只是满足把应用暴露成Service(或者说是WebService),以SOAP等之类的消息进行信息的传输,以及基于Service之间的一些业务逻辑的整合应用(比如BPEL)等。
我相信,这样的困惑,在国内很多中间件产品、应用产品中都存在,在很多国内的开发人员、架构师心中也存在。

昨天,有幸参加了CSDN主办的“SOA产业链及未来企业软件趋势”研讨会,收获不小。参见昨天写的blog随感“参加“SOA产业链及企业软件趋势研讨会”的感想”。经过那些专家们(毛新生、Tiger、李勇、梁耀文等)的解惑,对SOA是一种什么样的构架,有了一些更深刻的认识。
但说真的,如果不是目前在TIBCO中国研发中心工作的经历,以及所接触到一些国外最新产品构架的巨变,仅凭昨天的听讲,也很难把握毛先生他们所说的那些SOA理念。
具体昨天有哪些重要的理念就不在重复的叙述了,参看“参加“SOA产业链及企业软件趋势研讨会”的感想”,里面有详细的叙述。

今天只谈反思:SOA架构的本质。

刚刚看到一篇新闻,讲的是SAP代号为A1S的新产品软件设计方法,参见“新闻分析:解密代号A1S”。这和昨天研讨会上,SAP的李勇先生,所阐述的一些观点很类似:SAP的产品在往SOA架构迁移中,经历了三个大的步骤:第一步,提供更好的服务层面的容器或平台的支持;第二步,把业务抽象成服务,确切地说,是抽象业务对象(Business Object);第三步,把面向垂直或水平层面的各个产品,基于业务对象进行整合。

事实上,这就包含了昨天各个专家所阐述的SOA架构的本质:一切围绕业务对象(Business Object)或业务模型(Business Model),至于“服务”,只是这些业务模型暴露出来的形式,因为以统一的服务形式暴露出来,更便于不同供应商和客户之间的信息交互。
在Gartner十年前提出SOA概念的时候(1996年),尚没有web service技术。SOA架构的本质,并不是说把你的应用或者组件包装成Service就是SOA,而是说,你需要基于一种构架,能够让你的产品能够更适应“业务敏捷性(Business Agility)”。但是这种业务敏捷性仅仅是一家提供商或产品是很难满足的,肯定需要各个不同的供应商协助完成,不同的产品之间能够比较容易的进行消息交互。这样的灵活度肯定不是传统的基于消息的EAI产品所能够满足的,需要一种新的协议或标准来支撑。—— 当Web Service诞生之后,所有的大厂商都发现这是一种非常符合他们需求的技术。

但是服务的本质,是在后端能够提供一套“业务模型”。而制成这种业务模型或业务对象构建的技术,正好就是前几年所热炒的“模型驱动构架(Model-Driven-Architecture)”。事实上,现在各大厂商都在基于这个构架在转变自己的产品构架,BEA,IBM,TIBCO都在进行着这样的巨变。

在回头想想我们常说的“SOA真理三角”:数据(Data)——组件架构(Component Architecture)——组合(Composition)。因为几乎所有的业务模型最终需要被“业务对象+业务组件”反映出来,而它们之间需要进行一系列的组合和交互,来满足业务的处理。
在SOA联盟组织的SDO和SCA标准,正是用于解决数据和组件模型描述的问题,这方面几乎所有的EAI厂商都加盟进来了,IBM、BEA、IONA、Oracle、SAP、Sybase、TIBCO、Software AG等等,这其中好包含国内的普元软件。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1606284
[收藏到我的网摘] 银狐999发表于 2007年05月12日 21:07:00 -->
function hide(){showComment();}
相关文章:
从题目分析中获得了一些对SOA的新理解 2006-06-19 mysoa
IBM软件技术开放日分会场二我老板的演讲 2006-04-21 wxpn
SOA新手入门 2004-08-19 CSDN_document
SOA之我见 2006-06-01 crazy4java
SOA将统领下一个十年 2004-11-30 huangkw007
特别推荐:
Architecture 文档库 想轻松查阅与架构相关的技术资源吗? 此文档库包括了体系结构相关的各方面内容:文章、教程 architecture
世界最大的公司怎么进GE公司专门服务全球最大客户的咨询顾问团队 sap
主机完全DIY,域名免费试用 时代互联100M主机 216元/年 sap
全面解读SOAIBM SOA SOA的内容,方法和意义 soa
2007年,SOA将如何发展权威分析和建议 soa
document.write("");

<<《SOA中国路线图》可圈可点之处 参加“SOA产业链及企业软件趋势研讨会”的感想 >>
# netpit 发表于2007-05-14 17:46:14 IP: 121.34.62.*
业务构件=业务对象+业务组件业务流程=流程+业务构件+人
# hanzi 发表于2007-05-15 09:04:45 IP: 218.56.61.*
还是不太明白。soa是为了满足业务敏捷性,那么它的表现形式是什么?是web services吗?它是基于业务对象、业务模型的,那么它在原来的模型驱动开发的理论上有什么创新?
# onemonth 发表于2007-05-15 09:11:29 IP: 222.183.17.*
一看SOA的内容就应该知道,它不过就是明确提出计算机只是个手段而已,需要写N篇牛叉标题党心得blog,反思这么久才明白吗?看来玩概念还是得看中国人啊。
# netpit 发表于2007-05-15 12:28:44 IP: 121.34.62.*
服务不一定就是web services,中国软件业这么多年被外国大公司的概念玩的快死掉了.人家老美,10几年前DOS下的系统现在还在用呢?低水平的重复开发,只是为了适应新的操作系统.而业务的把握上,越做越差. 技术先进(国外大厂商宣传的先进)了,对业务的支持力度反而下降了.中国的软件于是做不出满足本土用户满意的产品,而是不断地用所谓先进的工作和理念制造出一个个地软件垃圾.
# james999 发表于2007-05-15 13:04:46 IP: 124.42.38.*
to onemonth:其实所有的新概念,新技术,新标准,都是人们在探索如何更好的解决IT系统的应用性、服务性所作出的努力。SOA已经不仅仅是是概念了,web service,soap,wsdl,webserive-policy,sca,sdo,esb等等标准技术,都是在一步步的完善和探索。
# 软件业的流氓 发表于2007-05-16 09:39:12 IP: 60.208.111.*
当你去一个按摩店做按摩的时候,你选择了一个常规的保健服务,在服务过程中,你某一方面的欲望被激起,希望提供更特别的服务,跟不上趟的按摩店的按摩技师会告诉你,先生我们不提供这种服务,没有这个环节;随需应变的按摩店的技师会告诉你,先生我再帮你叫一个愿意提供特服的技师过来,如果这个店里面没有,老板甚至可以帮你从别的店里面调特服技师过来,等你爽完了之后,原先的按摩技师继续给你提供常规的保健服务。基于人提供的服务流程是铁板一块?还是可以灵活组装的?这也是一种SOA。
# SOA320 发表于2007-05-16 22:30:55 IP: 219.133.155.*
哈哈,说得太有意思了.SOA中的概念实在太多了,让人有时都搞不清方向,过于复杂的东西很难让人接受,谁会有兴趣去处学习另一个Corba呢? 也许SOA需要经过很长的一段时间才被人接受,当然能够了解SOA的全面那肯定是个天才了, 哈哈,不过这样的人肯定很难找的.

没有评论: