传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229
3服务调度机制
在SOA体系中,实现服务层的调度机制主要包括:服务注册与发现、服务调用、服务监控等。3.1服务注册与发现——UDDI
UDDI 提供了一组基于标准的规范用于描述和发现服务,还提供了一组基于因特网的实现。UDDI 构建于网络传输层和基于 SOAP 的 XML 消息传输层之上。诸如 Web 服务描述语言(Web Services Description Language,WSDL)之类的服务描述语言提供了统一的 XML 词汇(与交互式数据语言(Interactive Data Language,IDL)类似)供描述 Web 服务及其接口使用。系统通过添加分层的功能搭起整个基础,比如使用 Web 服务流程语言(Web Services Flow Language,WSFL)的 Web 服务业务流程描述、安全性、管理和服务质量功能,从而解决系统可靠性和可用性问题。
下图说明了 UDDI 消息的传输,通过 HTTP 从客户机的 SOAP 请求传到注册中心节点,然后再反向传输。注册中心服务器的 SOAP 服务器接收 UDDI SOAP 消息、进行处理,然后把 SOAP 响应返回给客户机。就注册中心条例而言,客户机发出的要修改数据的请求必须确保是安全的、经过验证的事务。
3.2服务调用过程
针对不同的服务模型,可以有下列两类调度方式:3.2.1Mashup--Ajax
Ajax(Asynchronous JavaScript and XML)是一个Web应用模型。它包括几种关注内容的异步加载和呈现的技术:XHTML和用于确定呈现风格的CSS;浏览器为动态显示和交互所提供的文档对象模型(DOM)API;异步数据交换,通常是XML数据;浏览器端的脚本,主要是JavaScript。将这些技术结合在一起使用时,它们的目标是通过与内容服务器交换少量的数据为用户创造平滑、良好的Web体验,而不用在用户执行某些操作之后重新加载并重新呈现整个页面。我们可以使用各种Ajax工具包和库为mashup构建Ajax引擎。
3.2.2UUDI查询API与发布API
查询API包含两类调用,使程序能快速地定位候选Web服务及其调用规范,然后在最初调用获得的初始信息的基础上,获得进一步的相关信息的细节。这类以find_xx命名的API提供了多种搜索标准,从而能对注册中心中的数据进行广泛地搜索。另一方面,如果事先已经知道所需数据的关键字,则可以通过直接调用get_xx API得到相应的结构数据(如:businessEntity、businessService、bindingTemplate、tModel)。发布API包括四个save_xx 函数和四个delete_xx 函数,每个对应于一个UDDI主要结构(businessEntity,binsinessService,bindingTemplate,tModel)。一旦得到授权,一个独立的机构可以注册任意数量的businessEntity 或tModel信息,也可以修改原先发布的信息。API 设计模型很简单:可以更改特定的相关信息,也可以使用save功能来保存新信息。要删除整个结构则可以调用delete功能。详细信息请参见程序员API 规范(Programmer's API Specification)。
3.3服务监控
UDDI注册服务中,利用WEB服务管理和安全来监控各项服务:Web服务管理为Web服务提供了可见性和管理。监控服务可用性,以确保服务质量、执行SLA(服务级别协议)。还负责处理负载均衡、故障替换及Web服务可靠消息传送。
Web服务安全为外部用户或者应用程序访问的Web服务提供了安全环境。包括加密、数字签名、验证、授权、机密性、数据完整性和不可否认性。