SOA是实现跨平台、跨技术的各种软件服务的整合。作为一个理想的SOA架构平台,应该有无限的
服务扩展性,任何新的服务都能以插件的方式加入此SOA架构平台,马上对外发布;另外它应该有无限的
服务兼容性,任何应用的传输协议,不管是J2EE RMI,.NET、CORBA、DCOM还是Web Servcie等,它都能够提供支持并进行相应的协议转换,不管是同步服务还是异步服务事件都能处理。
所以SOA需要一个对各种服务进行集成管理的核心架构,这就是ESB,其本质是一个架构。
ESB标准
1.能够在所管理的服务之间实现消息路由(转发传送)。
2.能够在请求者和服务提供者之间实现传输协议的转换。
3.能够在请求者和服务之间实现消息格式的转换。
4.能够处理不同来源的业务事件。
5.一个ESB应该使用户更加关注于核心业务,而不是关注如何各种程序连接在一起的
IT底层基础技术。
6.一个ESB应该使用户能够在现有的服务中加入新的服务,或者改变现有服务,而没
有对现有服务的使用产生影响。
以服务为导向的SOA架构体系是通过业务来驱动的,它通过业务来驱动服务,再通过
服务来驱动技术。业务服务独立于技术之上,技术处于从属地位。
BEA AquaLogic Service Bus是一个基于配置和策略驱动的服务总线。
ALSB的基本原理
整个服务总线的配置工作主要完成3件事:配置代理服务、配置Business服务和将
Business服务指向外部服务提供者。
SOA整合步骤:
l 创建服务总线的项目project。
l 在服务总线上导入WSDL资源。
l 配置服务总线。
l 导出代理服务的WSDL文件。
l 客户端调用代理服务WSDL生成的Java代码,实现整合应用。
IBM的SIBus比BEA的Aqulogic多个消息层。SIBus是通过消息队列Queue或Topic等来实现的。
SIBus服务总线的基本原理
一个SOA的实施主要包括以下几个方面:
l 对业务需求进行分析,将整个业务需求划分为松散耦合的子服务系统,实现SOA的第1个要点。
l 对服务接口方法进行粗粒度的接近业务实际服务操作的划分,实现SOA的第2个要点。
l 在进一个步细化业务需求的基础上对各个子服务系统进行数据库设计、建模、创建类图、创建时序图等设计工作。
l 在设计的基础上通过IDE工具实现各个子服务系统的编程开发。
l 通过服务总线将各个子服务系统进行集成,实现SOA的第3个要点,即服务的地址和传输协议的透明化。
l 将用户界面系统和服务总线进行集成。