[SOA资料整理]2、SOA的发展历程

    技术2022-05-11  39

    SOA的发展史伴随着IT计算环境的不断演进而产生的。计算环境是指由一组计算机、软件平台和相互联通的网络组成,这个环境能够处理和交换数字信息,允许外界访问其内信息资源。不同的计算环境有不同的计算风格和编程模型,由一些特定于该计算环境的技术来支撑。

    计算环境的演变经历了若干个阶段,在早期的主机时代,绝大多数的计算功能和系统的组成部分,都包括在一台机器里。在20世纪80年代,随着PC的繁荣,计算环境发生很大的变化。通过局域网相互连接的计算设备构成客户/服务器计算环境,计算资源和数据资源被适当地分割,客户和服务器通过网络协议、远程调用或消息等方式来相互协作,完成计算。

    为了满足更高的可伸缩性需求,多层架构出现,计算资源和数据资源的分布多样化,与企业中原来已经存在的计算环境,尤其是主机及其遗留系统之间的集成也变得越来越重要。中间件迅速发展,开始出现分布式对象、组件和接口等概念,用于在计算环境中更好地分割运算逻辑和数据资源。计算环境中不同部分之间的交互,也从原有相对低层的网络协议、远程调用和消息机制的基础上,发展到支持分布式对象、组件和接口之间的交互,这种交互在名字服务(Naming Service)等的支持下,通常是位置透明的。但由于缺乏普遍的标准化支持,很难做到技术透明,系统是紧耦合的。

    随着Internet的发展,开放和标准的网络协议被普遍支持,所有底层计算平台都开始支持这些标准和协议,这导致一个计算环境内部和各个计算环境之间交互的藩篱被打破。数据和功能的表示与交互在XML、WEB服务技术与标准的基础上,保证了通用性和最大的交互能力,这使得计算环境发展到一个全新的阶段—基于标准、开放的互联网技术的计算环境。在这样的计算环境中,各个部分可以采用异构的底层技术,它们使用XML来描述和表示自己的数据和功能,采用开放的网络协议(如HTTP)来握手,在此之上,基于Web服务来互操作和交换数据。Web服务开始流行以后,互联网迅速出现了大量的基于不同平台和语言开发的Web服务组件。为了能够有效地对这些为数众多的组件进行管理,人们迫切需要找到一种新的面向服务的分布式Web计算架构。该架构要能够使这些由不同组织开发的Web服务能够相互学习和交互,保障安全以及兼顾复用性和可管理性。由此,人们重新找回SOA,并赋予其时代的特征。需求推动技术进步,正是这种强烈的市场需求,使得SOA再次成为人们关注的焦点。回顾SOA发展历程,大致分为了三个阶段:

    1  孕育阶段这一阶段以XML(eXtensibl Markup Language,可扩展标记语言)技术为标志,时间大致从上世纪九十年代末到本世纪初。虽然这段时期很少提到SOA,但XML的出现无疑为SOA的兴起奠定了稳固的基石。XML是由W3C所创建,源自流行的SGML(Standard Generalised Markup Language,标准通用标记语言),它在上世纪60年代后期就已存在。这种广泛使用的元语言,允许组织定义文档的元数据,实现企业内部和企业之间的电子数据交换。由于SGML比较复杂,实施成本很高,因此很长时间里只用于大公司之间,限制了它的推广和普及。

    通过XML,开发人员摆脱了HTML语言的限制,可以将任何文档转换成XML格式,然后跨越互联网协议传输。借助XSLT(Extensible Stylesheet Language Transformation,XML转换语言),接受方可以很容易地解析和抽取XML的数据。这使得企业既能够将数据能够以一种统一的格式描述和交换,同时又不必负担SGML那样高的成本。事实上,XML实施成本几乎和HTML一样。

    XML是SOA的基石,XML规定了服务之间以及服务内部数据交换的格式和结构。XSD Schemas 保障了消息数据的完整性和有效性,而XSLT使得不同的数据表达能沟通过Schema映射而互相通信。

    2  发轫之初 2000年以后,人们普遍认识到基于公共-专有互联网之上的电子商务具有极大的发展潜力,因此需要创建一套全新的基于互联网的开放通信框架,以满足企业对电子商务中各分立系统之间通信的要求。于是人们提出了Web服务的概念,希望通过将企业对外服务封装为基于统一标准的Web服务,实现异构系统之间的简单交互。这一时期,出现了三个著名的Web服务标准和规范:SOAP(Simple Object Access Protocal,简单对象访问协议)、 WSDL(Web Services Description Language,Web服务描述语言)、UDDI(Universal Discovery Description and Integration,通用服务发现和集成协议) 。

    这三个标准可谓Web服务三剑客,极大地推动了Web服务的普及和发展。短短几年之间,互联网上出现了大量的Web服务,越来越多的网站和公司将其对外服务或业务接口封装成Web服务,有力地推动了电子商务和互联网的发展。Web服务也是互联网Web 2.0时代的一项重要特征。

    3  成长阶段 从2005年开始,SOA推广和普及工作开始加速。不仅专家学者,几乎所有关心软件行业发展的人士都开始把目光投向SOA。一时间,SOA频频出现在各种技术媒体、新产品发布会和技术交流会上。各大厂商也逐渐放弃成见,通过建立厂商间的协作组织共同努力制定中立的SOA标准。这一努力最重要的成果体现在3个重量级规范上:SCA (Service Component Architecture ,服务组件架构)、 SDO (Service Data Objects,服务数据对象)、WS-Policy。

    SCA和SDO构成了SOA编程模型的基础,而WS-Policy建立了SOA组件之间安全交互的规范。这三个规范的发布,标志着SOA进入了实施阶段。从整体架构角度看,人们已经把关注点从简单的Web服务拓展到面向服务体系架构的各个方面,包括安全、业务流程和事务处理等。


    最新回复(0)