1996年的美国,互联网已经很发达了。但是互联网技术并没有跟上。企业仍然封闭在自己的信息化世界。虽然有CORBA、COM+、RMI/EJB这些技术模型在支撑,但向互联网公众提供信息服务,而非上下游合作伙伴提供信息服务,CORBA、COM+、RIM/EJB仍然在穿透防火墙和通用数据格式传输上
SOA的应运而生
1996年,Gartner提出了SOA概念。Gartner还曾提出两个很著名的概念:
其一,ERP(Enterprise Resource Planning),企业资源计划。以企业资源的角度来组织企业的人、财、物、信息。此概念产生于大生产时代MRP之后,号召把企业的上下游也纳入到企业通盘战略考虑当中。因为社会已经变成了产业链,从原材料到生产到物流到销售到售后服务,每个环节都影响生产企业。生产已经变的不是第一重要了,供不应求时代已经结束。进入营销渠道的时代。
其二,CRM(Customer Relationship Management),客户关系管理。以客户服务的角度出发来重新组织企业的人、业务、流程、信息。此概念在ERP的基础上,把眼光从供应链上游和生产企业转移到了客户终端。生产时代结束,营销推销时代也快结束,不考虑客户感受,不和客户交互交流,一味生产和推销,是不可能获胜的。
从什么角度来组织资源和流程,颇像技术界的面向过程、面向对象、面向组件,如今面向服务了。
在这样的大背景下,Web2.0也是顺应这个概念产生的,口碑营销、精确分众、圈子、即时通信、短信、博客,各种交互工具顺应时代而产生。
ERP和CRM都是应用层面的产物。这样的应用,在信息化方面如何落地?于是,SOA概念随即而出。
SOA架构的真正成型
1996年的美国,互联网已经很发达了。但是互联网技术并没有跟上。企业仍然封闭在自己的信息化世界。虽然有CORBA、COM+、RMI/EJB这些技术模型在支撑,但向互联网公众提供信息服务,而非上下游合作伙伴提供信息服务,CORBA、COM+、RIM/EJB仍然在穿透防火墙和通用数据格式传输上仍然存在问题,三个体系都有自己的通讯协议和数据传输协议,普通消费者无法参与其中。
2000年,XML产生。随即基于HTTP的SOAP、WSDL、UDDI产生,WebService作为一个基于互联网通用技术基础上发展的数据通讯协议和数据传输访问协议体系产生了。
但是WebService只是定义了基于通用互联网技术的数据通讯和数据传输访问。就相当于底层通路通了,但是基于上面的应用呢,还是没有一个规范。就相当于路通了,但是在这条路上什么样规格的车跑起来最顺畅,还没有这个规范——当然你可以不要规范,自己造个自己的车,但以后在和拥有统一规格的车一起管理和运行时交互时就有了问题。这个描述也为了回答相当一部份人提出的那个问题:我们既然有了WebService,那干嘛还要SCA/SDO呢?SOA就是干这件事的。
但是,对于SOA,业界大佬太过于着急。就如同在.COM大潮中,每个企业都急于申明我们是一家.COM公司。于是,这个市场混淆了各种视听。
做工作流的、做OA(Office Automation,办公自动化)的、做业务基础平台的、做组件的、做中间件的、做EAI(EntERPrise Application Integration,企业应用集成)的,都号称自己已经是SOA了。
有的说SOA是为了业务敏捷,即可以灵活调整系统以适应快速发生变化的业务竞争。现摘录一段话:SOA通过把传统应用模块分解成更小的构件,并把这些构件当作可以重用的Web服务,CIO们就能通过选择和安排所需构件,来生成最贴合的系统。这和当年我们做WINDOWS DNA架构是多么相似。但当年SOA已经提出,但并没有人说WINDOWS DNA架构是SOA架构。有的说SOA是为了系统整合,有的说SOA是企业总线,有的说SOA是种业务分析设计思想,有的说SOA是技术架构模型,有的说SOA有类似UML的作用,可以使业务设计人员和技术设计人员有共同语言,有人更说SOA就和Web2.0一样,就是个概念。颇像当年微软急于把自己所有产品都打上.NET标志一样,最后弄的大家都搞不清楚什么是.NET了。直到2007年发布WPF、WCF、WF之后,.NET的技术走向才算基础架构定型。SOA和当时的.NET非常相似。
如今,SOA规范才真正落地为SCA(Service Component ArchITecture,服务组件架构)和SDO(Service Data Objects)。工作流规范业界已经成型,WF也符合业界工作流规范,所以SOA中并没有定义工作流规范。而对应WPF的SOA显然也不需要,毕竟SOA考虑的是业务接口服务层面,而非这个服务以什么样的图形界面规范来让客户存取,没有必要。但中国普元补上了这一环节。中国普元也是OSOA顶级成员之一。光有接口没有UI,还是需要程序员动手写这个UI,业务人员不可能没有UI去做灵活改变业务功能和流程,即使有BPEL和DSL也不行。别给业务人员任何技术的东西,别想着DSL和UML就能让业务人员用起来。所以,SCA和SDO已经够用了,SOA架构真正成型。
但SCA和SDO是2007年8月才定型的----虽然2005年已经有了草案。所以之前急于号称是SOA产品的厂商不知作何感想。
网友评论