【IT168 SOA文档】
SOA已经成为实现各种IT业务价值的规范。基于SOA的方案可以提供很好的敏捷性、松耦合性和基于组件的方法(composition-based),这些优势使方案对业务需求有更好的适应性、更少的操作成本,并使标准设备有更好的可插入性(pluggability)。服务只是实现某种功能的业务单元的抽象,比如定购、收集客户信息,或者修改个人信息等功能。理论上,可以通过任何含有请求/应答参数或自组网(ad-hoc)数据的绑定/协议/接口对这些服务进行访问。基于标准的服务将以XML格式构建有效负载(payload)。
在传统的老式结构中,业务功能是以封包或有预定义的用户接口的应用程序实现。在SOA中,如果将这些传统的“封闭式”业务功能放在相当大的实体中,并使用更现代化的交互机制,它们将发挥更大的价值。要实现这些业务功能的真正解放,需要将传统的信息技术基础设施以新的技术成份为基础进行转换。新的服务基础结构有两个主要作用:服务代理(service brokering)和网守(gatekeeping)。当然,还有一些其它辅助作用,包括知识储存库(repository)、终端管理,以及诸如流程编排的高层次运用。本文将详细讨论服务代理和网守这两个主要作用,以及实现这些作用的各种技术部分。
服务基础架构的主要作用
1. 服务代理
服务代理是SOA成功的关键。服务代理的作用是将访问转移到相应的业务功能,并且可以实现复杂的集成模式,比如外部服务(service fa?ade),消息聚集(message enrichment),消息过滤(message filter),内容路由(content-based routing),动态路由(dynamic routing)和分离-聚合器(splitter-aggregator)。服务代理还负责协议桥接、消息传输,以及各种消息模式的桥接等任务。它也可以根据消息或请求的内容进行访问授权。
2. 网守
网守的功能类似于网络安全中的防火墙,有时也称为XML防火墙,主要用来阻止恶意请求以保护业务服务。在安全方面,只要认证请求是显式传入的,网守就是第一道防护线。另外,网守还可以验证(定义的XML模式)请求、限制对服务的访问,以及阻止可能导致阻断服务(denial of sevice)的攻击。