SOA是一种粗粒度、松耦合的服务架构,服务之间通过简单、精确的定义接口进行通信,不涉及底层编程接口和通信模型。SOA可以看作是B/S模型、XMLS/Web Service技术之后的自然延伸,Web Service即Web服务。
Web服务中的WSDL(Web Service Description Language,Web服务描述语言),它是一个与SOA配套的接口定义标准,这是Web服务和SOA的根本联系。Web服务是实现SOA的方式之一。
在Web Service模型的解决方案中共有3种工作角色,其中服务提供者和服务请求者是必需的,服务注册中心是一个可选的角色。它们之间的交互和操作构成了Web Service的体系结构。服务提供者定义并实现Web Service,然后将服务描述发布到服务请求者或服务注册中心;服务请求者使用查找操作从本地或服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用Web Service。
- XML(Extensible Markup Language,可扩展标记语言):规定了服务之间以及服务内部数据交换的格式和结构,通过XML可以将任何文档转换成XML格式,然后跨越Internet协议传输。XML是Web Service表示数据的基本格式。
Web Serveice就是用XSD来作为其数据类型系统的。
- SOAP(Simple Object Access Protocol,简单对象访问协议):它提供了标准的RPC方法来调用Web Service。SOAP规范定义SOAP消息的格式,以及如何通过HTTP协议来使用SOAP。SOAP也是基于XMLtXSD的,XML是SOAP的数据编码方式。
- WSDL(Web Service Description Language,Web服务描述语言):它主要描述Web Service有什么功能、调用的函数参数的数据类型是什么、有几个参数等,这些描述就需要一种语言。而WSDL本身主不是一个标准的XML文档,用于描述Web Service及其函数、参数和返回值。
- UDDI(Universal Description,Discovery and INtegration,通用描述、发现与集成服务):它是一种目录服务,可以使用它对Web Service进行注册和搜索。UDDI是一个分布式的互联网服务注册机制,它集描述、检索与集成为一体,其核心是注册机制。UDDI实现了一组可公开访问的接口,通过这些接口,网络服务可以向服务信息库注册其服务信息,服务需求者可以找到分散在世界各地的网络服务。