在这一点SOA频繁地以不同的方式被分类,经常依赖于构建服务所用的实现技术。早期的模型,主要从Web服务标准初始系列中得到灵感,将SOA定义为一个围绕三个基本的构件的架构模型:服务请求者,服务服务提供者与服务注册(图1)。
图1. SOA的早期形态第一代Web服务标准实现此模型的以下方面:
★ WSDL描述服务。
★ SOAP提供了用于服务及其请求者的通讯格式。
★ UDDI提供了标准化的服务注册格式。
从物理架构的角度,基于Web服务的SOA第一次变异实际上超越了原始SOA模型。你或许能回忆起原始SOA不需要使用服务注册。作为替代,发现被归类为当代SOA的一个特征,通过面向服务原则在服务层面被提倡。
我们的原始SOA模型在今天可轻易获得,因为它已被所有主要厂商的开发及运行平台所支持。这些相同厂商都有关于SOA的远大计划,其中许多现在已经能够自我证明。当代SOA的诸多特征,大都是过分主动的开发与协作的结果,已经产生了一系列第一代Web服务平台的扩展。知名的“第二代”或“WS-*”规范,这些扩展处理特殊的功能区域,Web服务技术平台全面提升至企业水平。
补充WS-*领域对于将面向服务概念引入业务分析的世界也很重要。通过面向服务,业务逻辑能够清晰地被封装,并从根本的自动化技术中抽象。这个愿景藉由业务流程定义语言的提升而得到进一步支持,最知名的是WS-BPEL。这不仅考虑到将传统的业务流程管理(BPM)模型解决成一系列的服务,更进一步提供具体的和可执行的格式充分表达业务逻辑的语言能力,填补了分析与实现间的空隙。
这些及其他工业影响已经扩大了SOA的潜在范围。如同更多的当代特征被增加,也很可能今天我们所归类的当代SOA,会形成未来原始SOA的基础。
SOA是一个真正的进化。今天的结果明显是被不同的相关标准组织和软件厂商主动驱动的结果。通过受协作与竞争的混合刺激的不稳定环境,扩展被作为战略定位,每个都定义了我们称为当代SOA技术平台一个特定部分。在第2节,我们近距离看看标准的开发过程。
1.4、SOA如何改造XML与Web服务
如同任何架构,SOA引入了边界和规则。尽管当代SOA可能由XML及Web服务技术平台所构成,但这些平台需要经历大量的变化,以便其各自的技术被适当定位并在面向服务架构范围内加以利用。
使用XML或Web服务的传统分布式应用环境因此肯定有一些重新实现,面向服务的设计原则需要在技术与心态方面都进行改变。以下是当你必须对现存实现翻工时,你可能面对的一些潜在问题示例。
★ SOA现在需要数据表达与服务建模标准表达保持一致。这个相当含糊的需求有许多含意,并主要促进内在协同性。
★ SOA依赖于负责所有服务间通信的SOAP通讯。结果,所有需要XML的地方,一般也会有SOAP消息,以照顾传输、临时处理与路由及最终交付。XML文档与关联的XSD schema现在经常需要有意地与SOAP通讯一起建模。
★ SOA使用标准化的文档风格的通讯。从RPC风格迁移到文档风格的消息给服务描述的设计强加了变化。特别地,接口特征需要以更普通的术语表示,并全面增加操作粒度。
★ 由于强调文档风格的SOAP消息,SOA促进内容及高智能模型。这个支持服务的无状态及自治,并使消息传输的频度最小化。然而先前的RPC风格的方法支持带有目标数据的小颗粒XML文档传输,在SOA内的XML文档经常需要代表不止一个数据语境的绑定数据。
★ 直到WS-*扩展的高阶信息能力普遍流行,许多应用都将需要配备SOAP报头来实现临时解决方案以管理复杂的消息交换。一些更急迫需求包括管理与关联。这些临时的设计有效地建立了转变模型,需要时可轻易地迁移到工业标准的实现。
要点总结
★ 核心XML技术集已成为分布式互联网架构的通用部分。现在也提供基础数据表达及SOA数据管理层。
★ 第一代Web服务架构来自关键标准开发:WSDL、SOAP与UDDI。然而UDDI对于多数据环境而言仍旧是一个可选的发现机制,WSDL与SOAP已经成为构建在XML层之上定义SOA基本通信框架的核心技术。
★ SOA充分利用XML与Web服务率先铺设的道路。它将久经考验的概念与先进技术的结合,已经被IT社团所充分接受。
★ 尽管当代SOA已经形成并有了对XML与Web服务的工业级接受度,SOA的到来对于已有XML及Web服务的传统应用还是带来了改变。
文章来源于领测软件测试网 https://www.ltesting.net/