初探 SOA 架构模式(一)
什么叫SOA架构?
SOA架构,是一种 面向服务架构。
面向服务体系结构,将程序中不同的功能模块,通过服务定义的接口和契约关联起来。接口是采用中立的方式定义的,它独立于实现服务的硬件平台、操作系统和编程语言。
面向服务的体系结构是面向对象的模型的替代模型。面向对象是紧耦合的设计模型,而面向服务的是松耦合设计模型。在SOA架构模型中,并不排除在单个服务中使用面向对象的设计来构建整个服务,但是程序的整体设计确是面向服务的。
SOA的5大特性:
1、可重用
一个服务创建后能用于多个应用和业务流程。
2、松耦合
服务请求者到服务提供者的绑定与服务之间应该是松耦合的。因此,服务请求者不需要知道服务提供者实现的技术细节,例如程序语言、底层平台等等。
3、明确定义的接口
服务交互必须是明确定义的。Web服务描述语言(Web Services Description Language,WSDL)是用于描述服务请求者所要求的绑定到服务提供者的细节。WSDL不包括服务实现的任何技术细节。服务请求者不知道也不关心服务究竟是由哪种程序设计语言编写的。
4、无状态的服务设计
服务应该是独立的、自包含的请求,在实现时它不需要获取从一个请求到另一个请求的信息或状态。服务不应该依赖于其他服务的上下文和状态。当产生依赖时,它们可以定义成通用业务流程、函数和 数据模型。
5、基于开放标准
当前SOA的实现形式是Web服务,基于的是公开的W3C及其他公认标准.采用第一代Web服务定义的SOAP、WSDL和UDDI以及第二代Web服务定义的WS-*来实现SOA。
SOA基础结构:
UDDI,WSDL,SOAP
UDDI (UniversalDescription,Definition,andIntegration) 是用来注册和查找服务的。WSDL(Web Service Description Language)基于xml语言对服务进行描述。SOAP 服务传输层的通讯协议。
工作原理:当请求者对 soa平台发出请求,平台通过 UDDI 注册表查找服务,取得WSDL服务描述,然后通过SOAP协议来调用服务。