企业服务器总线解决方案

日期: 2010-08-17 来源:TechTarget中国 英文

  现代的系统架构有太多的软件技术、方法和工具,以至于达到几乎不可能跟上最新的更新的程度,更不用说使用所有这些技术。例如,我们现在有SOA、REST、SOAP、JASON、Rails、Seam、EJB3、.Net和J2EE等等。

  其中一项受到许多关注的技术是SOA。在大多数言过其实的宣传似乎平息下来之后,人们认识到了SOA并不是万灵药。但是,在设计企业系统的时候,SOA仍是一个可用的有价值的架构。把系统组件模块化并且添加到具体的服务实体中将使管理更加容易。分别提供技术支持将更有意义。

  但是,大多数大型企业环境都有许多不是采用最新的技术开发的老式的系统。这些系统通常非常接近业务的核心,这是这些系统目前仍在积极地使用的原因。因为这些系统的性质,这些应用程序变成了很难访问的信息的竖井和业务规则。因为成本太高,要更换这些系统是不可行的。但是,不向比较新的技术转换也许会限制企业的灵活性。

  例如,一个假设的企业系统也许包含一个Web应用程序,如使用Seam开发的一个人力资源员工门户,这是为持久应用使用EJB3和Hibernate的、在J2EE应用服务器上运行的门户。我们有一个用C#语言开发的管理员工休假的应用程序,在一个.Net平台上运行。这个应用程序使用SOAP暴露一项Web服务。一个工资单系统在一台大型计算机上运行并且是采用Cobol开发的。我们还有一个用C++和Corba开发的考勤系统。

  我们喜欢使用SOA原则把这些系统集成起来以便提供一个统一的基于Web的界面,以便让管理层和员工都能够访问人力资源数据。

  企业服务器总线解决方案

  企业服务总线(ESB)是这个问题的解决方案之一。企业服务总线是通过一个消息和路由系统(总线)和解析设施(适配器)提供不同的系统之间的沟通方式的一种架构。

  在上述情况下,可以使用企业服务总线并且每一个老式的系统配置一个适配器以便把信息和请求解析为兼容特定系统的格式。例如,这个企业服务总线将通过一个CORBA适配器与考勤系统沟通,同时,一个SOAP适配器将提供通讯设施访问休假应用程序的SOAP界面。一旦连接到企业服务总线,每一个应用程序都能够与在这个总线上的任何一个应用程序交换信息。

  企业服务总线还能够把数据解析为不同的格式,如城市名称的邮编号码。大多数企业服务总线应用都有许多可以使用的标准的适配器和一个应用程序编程接口。这个应用程序编程接口允许开发人员使用自己的适配器与其它系统进行沟通。

  企业服务总线也许还能提供服务编排(把多项服务组合为一项服务)、流程编排(流程流)以及安全和管理(身份识别、监视、审计和登录)。

  企业服务总线肯定不是新的,有许多成熟和稳定的实施,开源软件和商业软件都有。一些商业软件包括微软的BizTalk、甲骨文ESB、Progress Sonic、 Pervasive Data Integrator和WebSphere ESB。开源软件的例子有Apache ServiceMix、ChainBuilder ESB、JBoss ESB、Mule ESB和OpenESB。

  使用这种解决方案也有一些确定,因为它为系统增加了额外的一层复杂性,需要付出更多的努力进行维护。消息路由和解析的过程增加了延迟,因此,企业服务总线不适合高吞吐量的应用,如电信和实时消息系统等。

  如果使用正确,这种技术能够利用SOA的原则,同时扩大老式应用程序的投资回报,增加灵活性的好处,允许采用新技术的应用程序在未来应用。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 总线技术究竟该不该用?

    曾几何时企业服务总线(ESB)被视为企业IT的核心。今天,不仅ESB受到了比被废弃还要糟糕的攻击,若干开发趋势似乎对更简单的消息总线也发起了质疑。

  • 架构安全模型开发方式探索

    维护一个强大的安全模型,以及相关合规和管控的需求越来越重要,特别是在如今黑客和入侵几乎每天都会发生的情况下。

  • 中间件可帮助企业实现应用现代化

    本文,Tom Nolle讲述了大家都需要了解的现代化的流行做法,“中间件”方式——解释了如何确保采用的是正确方法,如何简化流程,并且为将来做好准备。

  • 云连锁反应:中间件栈添层 应用更轻量

    中间件栈增加了层以及对轻量应用的开发需求将导致更好的云访问,而云的无所不在增加了中间件栈的层次。