给大家介绍一个好东东,在进行系统间集成时经常利用WebService,但是从建立WebService和调用的重复性和维护性的工作量都相当大,所以接下来我将宴请大家干看不吃一顿丰盛的WebService应用框架技术大餐。
首先简单介绍一下,ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。绝对的标准定义哦。。。
了解ESB大的方向上的东东了,在让我介绍一下它都能为我们干什么吧。。。
1、服务的MetaData管理:在总线范畴内对服务的注册命名及寻址管理功能。
2、传输服务: 必须确保通过企业总线互连的业务流程间的消息的正确交付,传输还包括基于内容的路由功能。
3、中介:提供位置透明性的服务路由和定位服务;多种消息传递形式;支持广泛使用的传输协议。
4、多种服务集成方式: 如JCA,Web服务,Messaging,Adaptor等.
5、服务和事件管理支持: 如调用服务的记录、测量和监控数据;提供事件检测、触发和分布功能;
6、面向服务的元数据管理: 他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所提供的服务的描述;
7、Mediation :它必须具有某种机制能够完成中介的作用,如协议转换;
8、通信:服务发布、订阅,响应 请求,同步异步消息,路由和寻址等;
9、集成: 遗留系统适配器,服务编排和映射,协议转换,数据变换,企业应用集成中间件的连续等。
10、服务交互: 服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等。
11、服务安全: 认证和授权、不可否认和机密性、安全标准的支持等;
12、服务质量: 事务,服务的可交付性等;
13、服务等级: 性能、可用性等
让我来具体介绍一个ESB框架吧
ESB 优点 ESB主要是解决"整合"问题。例如下图是较早系统架构。
ESB处理后
在一个多系统服务公司。系统一开始可能是这样来架构的。
ESB总线在中间加了这一层后,对异构系统的增加,提供很大的支撑。
相关开源ESB产品有如下这些
-
- OPEN ESB https://open-esb.dev.java.net JBI implementation provided by Open ESB Sun that provides great tool support with NetBeans
- APACHE SYNAPSE http://ws.apache.org/synapse
- JBOSS ESB http://labs.jboss.com/jbossesb/ The JBoss implementation of an ESB based on JBoss JBoss ESB messaging
- SPRING INTEGRATION http://www.springframework.org/ Spring Integration spring-integration An integration framework that is provided by the well-known Spring Framework
- Apache Tuscany http://tuscany.apache.org/ Implementation of the (SCA) specification
- ChainBuilder ESB http://www.chainforge.net/ A JBI-based ESB that focuses on providing graphical tools to ease the development effort
- FUSE ESB http://open.iona.com/products/ fuse-esb/
IONA's open source ESB offering based on Apache ServiceMix - OpenAdapter https://www.openadaptor.org/ EAI-based platform that provides a number of adaptors to implement integration solutions
- PEtALS http://petals.objectweb.org/ Another JBI-based ESB, hosted by OW2 (formerly ObjectWeb)
- WSO2 ESB http://wso2.com/products/esb/ WSO2's open source ESB offering based on Apache Synapse
Mule : http://www.mulesource.com 并没有完全按JBI规范产品。
APACHE SERVICEMIX http://servicemix.apache.org
- JSR 208 IBM BEA投了弃权,故他们产品也没按JBI规范