SOA面向服务架构的理念已经在国内唱了好多年了,实际落地的SOA架构项目也不少,随着各大企业信息化建设水平的提高和发展,包括各类已建的、在建的、以及未来规划中的应用信息系统和办公自动化系统日渐增多,伴随重复建设、缺乏统筹规划下的数据标准不统一,致使各部门各领域之间的数据不能共享,“信息孤岛”、“信息烟囱”现象日益严重,信息资源的整合与共享已成为信息化建设过程中一个亟需解决的问题,企业信息化建设面临大瓶颈和严峻挑战,在千呼万唤中,ESB平台以其强大的连接性、消息路由、格式转换映射功能博得各大企业的青睐,随着各种集成中间件产品功能的发展强大和集成技术的日渐规范成熟,已经完成局部或者部分信息化集成的企业已经初尝甜头,信息化集成面临大好的发展时机,预示着各大企业即将进入大集成信息化建设的时代。
就目前来说,国内用得比较多的基于SOA架构的ESB商业产品,一款是IBM公司的WebSphere Message Broker(以下简称MB),以及消息传输极其稳定、完全和高效的WebsPhere Queue(以下简称MQ),另一款是Oracle公司的Oracle Service Bus(以下简称OSB),OSB是Oracle公司并购BEA之后的产品了,算得上是原来BEA公司BEA AquaLogic Service Bus产品的升级版,早期Oracle公司的Oracle SOA Suite产品国内项目应用的也比较多,但是自从OSB出来之后已经不是Oracle公司主推的ESB产品了,目前也有比较多的不错开源产品如Mule、Apache ServiceMix、WSO2、Open ESB等。
下面说一下MB和MQ在SOA面向服务架构的项目中的地位和主要作用:在许多企业早期的EAI平台建设中就已经选择了使用MQ作为消息传输中间件,主要工作就是负责各应用系统之间的消息传递, MQ看上去非常简单,就是使用消息队列进行消息存储和转发,队列类型包括:本地队列、远程队列、模板队列、动态队列、别名队列等,并提供特有的异步传输机制,能够基于消息传输和异步事务处理实现应用整合与数据交换,使用通道作为队列管理器之间传递消息,MQ的通讯模式包括:点对点通讯、多点广播、发布/订阅(Publish/Subscribe)模式、群集(Cluster),MQ对各种语言、硬件、操作系统的支持度非常高,各应用系统可以处于不同语言编写、不同硬件、不同操作系统,几乎上MQ都有专门的API支持,只需要简单的调用几个MQ的API,就可以互相通讯,你不必考虑底层系统和网络的复杂性。
但MQ的功能仅限于消息队列,至于各应用系统之间的消息格式是否一致、能不能被解析却无能为力,MQ只管将消息安全有效的传输到目的地,MQ能够应付足够多的异常情况(例如网络阻塞、临时中断等等),如果与MQ接入的应用系统多了,网络拓扑就成了“蜘蛛网”,不太易于维护和管理。
由于MQ的局限性,需要一款功能更加强大的中间件产品来弥补这方面的缺陷,IBM公司在MQ的内核上开发的MB产品就应运而生了,作为ESB产品处于系统中心,作为企业服务总线,所有的应用系统都连接到MB上面,而不是应用系统之间的互连,这样就解决了网络拓扑、消息路由、格式转换和消息映射的问题,同时WMB作为总线支持更多的通讯协议与消息接入方式,包括:HTTP、WebService、MQ、JMS、FTP、File、Email等,支持标准的XML报文格式,以及其他格式的报文,自身有功能强大的ESQL语言,支持Java语言和C语言在MB上开发,提供图形界面进行可视化配置开发,提供了各种接入方式的已封装节点和适配器节点让技术人员能够快速开发消息流,有专门连接数据库的节点进行CRUD操作,支持ODBC和JDBC连接方式,支持各种传人消息的解析器,按需设置功能强大的消息集,MB的底层核心依然是MQ,所以可以最好的与MQ进行兼容,利用MQ强大的消息传输功能,MB还能与IBM公司WebSphere系列的其他产品很好的兼容,例如WAS和WPS以及Portal门户等,在企业整个大架构中起到不可替代的作用。
MB与MQ的组合是SOA面向服务体系中的比较完美的结合,高效的消息传输、消息路由、格式转换和数据映射,解决传统点对点连接带来的“蜘蛛网”问题,将各种硬件、操作系统、开发语言、通讯协议、数据库通过集成平台进行业务和数据集成,让服务愈加成为一个独立的实体,与其他服务的耦合性进一步降低,从而达到SOA的境界。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
事件驱动框架和SOA在空军的应用
空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。
-
揭秘New Relic APM技术细节
New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响
-
仅凭SOA和云无法解决业务数据管理风险问题
SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。
-
总线技术究竟该不该用?
曾几何时企业服务总线(ESB)被视为企业IT的核心。今天,不仅ESB受到了比被废弃还要糟糕的攻击,若干开发趋势似乎对更简单的消息总线也发起了质疑。