欢迎来到天天文库
浏览记录
ID:36409744
大小:39.50 KB
页数:6页
时间:2019-05-10
《SOA技术概论的探索》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SOA概论一、SOA发展史(从XML到Web服务再到SOA)a.XML简史扩展标记语言(XML)系W3C所创建,源自流行的标准通用标记语言(SGML),它在60年代后期就已存在。这是广泛使用的元语言,允许组织增加原始文档数据。XML在90年代后期的电子商务运动中声名鹊起,服务器端脚本语言可以经由互联网而处理业务。通过XML的使用,开发者能够给任何片段附加上意义和上下文,再跨越互联网协议传输XML表达架构代表了SOA的基础层。在其内部,XML建立了在服务各处流动的消息格式与结构。XSDschemas保持消息数据的完
2、整与有效性,而且XSLT使得不同的数据表达间通过schema映射而能够互相通信。换句话说,没有XML你在SOA内寸步难行。b.Web服务简史 在2000年,W3C接受了一项关于简单对象访问协议(SOAP)规范的提案。这个规范本来设计用于专有RPC通信。想法是对于在构件间传输参数数据可以序列化成XML传送,然后支序列化成其原生格式。很快,公司及软件厂商开始看到,对于推进通过构建于专有-免费的互联网通信框架之上的电子商务技术,存在日益巨大的潜力。这最后导致了创建一个纯粹的、基于Web的分布式技术能充分利用概念标准化的
3、通信框架,来桥接组织之间和组织内部所存在的巨大差异。这个概念被称为Web服务。Web服务最重要的部分是其公共接口。它是分配服务识别并使其激活的核心信息块。为了进一步的开放协同性的愿景,Web服务需要一个互联网友好的、XML兼容的通信格式,以便能够建立一个标准化的通讯框架。最终SOAP胜出,并保留了最初的通讯标准用于Web服务。开发定制的Web服务可适应变化的业务需求,并且第三方市场出现了促进各种实用服务的销售或租赁。现存的通讯平台,譬如面向消息的中间件(MOM)产品,结合Web服务可支持SOAP之外的其他消息协议
4、。一些组织可迅速合并Web服务,以促进B2B数据交换经常要转变为EDI替代品的需求。c.SOA简史不久前组织才开始意识到只需要缓和地替代现存的分布式应用,Web服务可成为独立的架构平台---可使用Web服务技术集的效益来实现企业中服务概念的平台。这样,面向服务架构开始进入IT的主流。在这一点SOA频繁地以不同的方式被分类,经常依赖于构建服务所用的实现技术。早期的模型,主要从Web服务标准初始系列中得到灵感,将SOA定义为一个围绕三个基本的构件的架构模型:服务请求者,服务服务提供者与服务注册。从物理架构的角度,基于
5、Web服务的SOA第一次变异实际上超越了原始SOA模型。作为替代,发现被归类为当代SOA的一个特征,通过面向服务原则在服务层面被提倡。当代SOA的诸多特征,大都是过分主动的开发与协作的结果,已经产生了一系列第一代Web服务平台的扩展。通过面向服务,业务逻辑能够清晰地被封装,并从根本的自动化技术中抽象。这个愿景藉由业务流程定义语言的提升而得到进一步支持,最知名的是WS-BPEL。这不仅考虑到将传统的业务流程管理(BPM)模型解决成一系列的服务,更进一步提供具体的和可执行的格式充分表达业务逻辑的语言能力,填补了分析与
6、实现间的空隙。这些及其他工业影响已经扩大了SOA的潜在范围。二、什么是SOA?Service-architecture.com将SOA定义为:“本质上是服务的集合。服务间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。服务间需要某些方法进行连接。”Looselycoupled.com将SOA定义为:“按需连接资源的系统。在SOA中,资源被作为可通过标准方式访问的独立服务,提供给网络中的其他成员。与传统的系统结构相比,SOA规定了资源间更为灵活的松散耦合关系。”所谓服务就是精确定义
7、、封装完善、独立于其他服务所处环境和状态的函数。” Gartner则将SOA描述为:“客户端/服务端的软件设计方法,一项应用由软件服务和软件服务使用者组成。SOA与大多数通用的客户端/服务器模型的不同之处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口。”Gartner相信BPM(即业务流程管理)和SOA的结合对所有类型的应用集成大有助益。综上,不难看出SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,使用独立的标准接口,根据服务端的请
8、求提供相应的独立服务,它可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。 我们可以从上述的定义中看到SOA的几个关键特性:一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。需要注意的是SOA并不是一种现成的技术,而是一种架构和组织IT基础结构及业务功能的方法。SOA是一种在计算环境中设计、开发、部署和管理
此文档下载收益归作者所有