- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ESB解决方案汇
ESB解决方案
问题描述
在商业激烈竞争的今天,很多企业,特别是大型企业都应用了IT技术来提高企业竞争力,提高公司的运作效率与资源利用率等,而技术的更迭,业务变化等等造成了企业内部多种异构应用软件、平台、系统共存的局面。这些系统、平台可能使用不同的通信协议,或者是不同格式的数据,互相之间交换数据、通信显然十分困难。如果企业还需要与外部其他系统交互,则还面临着需要调查其他系统的结构,通信协议等等问题。这些都是企业系统集成所面临的问题与困境。
近年来,也出现了一些解决集成问题的技术,例如EAI(Enterprise Application Integration),B2B(Business-2-Business),SOA(Service Oriented Architecture)以及Web Service,这些解决方案能够解决一些问题,但是往往有以下诟病:或者有专利保护,需要支付昂贵费用,实现起来耗时费力,或者是一次性定制的,花费成本高,后期难以维护,系统扩展不灵活。
什么是ESB
ESB全称为Enterprise Service Bus,即企业服务总线。它是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢,是构筑企业神经系统的必要元素。
ESB的出现改变了传统的软件架构,可以提供比传统中间件产品更为廉价的解决方案,同时它还可以消除不同应用之间的技术差异,让不同的应用服务器协调运作,实现了不同服务之间的通信与整合。从功能上看,ESB提供了事件驱动和文档导向的处理模式,以及分布式的运行管理机制,它支持基于内容的路由和过滤,具备了复杂数据的传输能力,并可以提供一系列的标准接口。
ESB的五个基本功能:
1)服务的MetaDat管理:在总线范畴内对服务的注册命名及寻址管理功能。
2)传输服务:必须确保通过企业总线互连的业务流程间的消息的正确交付,传输还包括基于内容的路由功能。
3)中介:提供位置透明性的服务路由和定位服务;多种消息传递形式;支持广泛使用的传输协议。
4)多种服务集成方式:如JCA,Web服务,Messaging ,Adaptor等。
5)服务和事件管理支持:如服务调用的记录、测量和监控数据;提供事件检测、触发和分布功能。
ESB的八个扩展功能:
1)面向服务的元数据管理: 他必须了解被他中介的两端,即服务的请求以及请求者对服务的要求,以及服务的提供者和他所提供的服务的描述;
2) Mediation :它必须具有某种机制能够完成中介的作用,如协议转换;
3)通信:服务发布、订阅,响应 请求,同步异步消息,路由和寻址等;
4) 集成: 遗留系统适配器,服务编排和映射,协议转换,数据变换,企业应用集成中间件的连续等。
5)服务交互: 服务接口定义,服务实现的置换,服务消息模型,服务目录和发现等。
6)服务安全: 认证和授权、不可否认和机密性、安全标准的支持等;
7)服务质量: 事务,服务的可交付性等;
8)服务等级: 性能、可用性等。
ESB 中最常提到的两个功能是消息转换和消息路由。
解决方案选择
方案
目前实现了ESB的产品有很多,选取具有代表性的几种为例,如:
WebSphere Enterprise Service Bus(IBM的基于WebSphere的解决方案,基于Service component Architecture,SCA,商业产品);
Apache ServiceMix(Java Business Integration,JBI规范的一种实现,它包涵了许多JBI组件,这些组件支持多种协议,比如JMS,HTTP,FTP,FILE等。同时也实现了EIP,规则和调度。早在几年前,它就已经成为了Apache的顶级项目,开源);
Mule(一个基于ESB架构理念的消息平台,它是可升级的、高分布式的对象代理,可以通过异步传输消息技术来无缝的处理服务与应用之间的交互。目前分开源与商业两个版本)
Open ESB(Sun公司支持下的一个开源项目,其核心是基于JBI规范的实现。Open ESB可运行在Glassfish应用服务中,同时Netbeans IDE也为Open ESB提供了拖拽式的开发工具,这是其他开源ESB不可匹敌的。)
选型
考虑到有稳定社区维护的开源产品,如ServiceMix,具有高可靠性与低成本代价两个较大优势,以及在市场上的应用率以及呼声较高,最终将选择对象锁定到ServiceMix与Mule两个产品。在开源产品中,两者在网络上呼声最高,将两者对比的文章很多。下面摘选《Open Source ESB in Action作者谈开源ESB》一文中的书两位作者Tijs Rademakers,Jos Di
文档评论(0)