谈SOA与EAI之间的关系以及区别

日期: 2008-04-29 作者:石磊 来源:TechTarget中国

  把SOA应用到企业自身的EAI建设之中,已经成为当前的一个研究热点。


  在当前的Internet时代,企业的信息系统正在面临一次新的转折。由于各种原因,很多企业都不同程度地存在着一个个“信息孤岛”,信息系统往往为不同的部门而设计开发,不同的应用系统之间不能共享业务处理流程和信息,不能有效地协同工作,大大降低了信息系统的效率。


  在以电子商务为特征的新的企业经营模式下,随着竞争的日益加剧,企业迫切需要消除“信息孤岛”,使得各个信息系统的应用间既相互独立,又能有效协同工作,将不同的应用集成到一个完整的企业级信息化环境中,并能够实现与其他企业间的集成。这就是所谓的EAI——企业应用集成。


  EAI是通过相应的软件技术将企业已有的和新建的各种业务系统集成起来,共同完成企业的各种商务活动,并能够灵活快速地适应企业的发展和市场的变化。在完成的过程中,应尽可能不对已有的应用程序做出大的修改,并实现数据共享和业务流程的集成。


  传统的接口型EAI方案的实现


  传统的EAI实现的架构可分为总线型的集成架构和星型的集成架构。


  总线型的集成架构的原理是:各个应用系统的接口都面向信息总线。信息在总线中流动、传递。它的特点是应用系统只需要编写面向总线的接口,从而避免n×n个接口的编写。


  星型的集成架构的原理是信息和应用都集中在一个中心部分。这个中心部分或者是一个应用服务器,例如在IBM的集成方案中,以MQ为集成核心;或者是一个数据仓库,例如WebMethods,它是以一个数据仓库为集成核心的。


  这两种传统的集成方案有一个重要的特征,它们都是面向各个信息系统接口的,故称之为接口型的EAI方案,它们对各个应用系统的接口进行基于某些特定标准的处理,从而达到系统整合的目的。通过实施企业应用集成,可以有效地解决信息系统接口的问题。


  接口型的EAI系统有难以克服的难点:一是由于应用增多,接口数量呈指数增长,系统在处理“长事务(Long Transcation)”的时候有很多困难;二是没有真正实现统一的身份认证、状态认证、安全控制等的基础服务;三是需要建立一个庞大而昂贵的核心系统。


  利用SOA实现面向服务型EAI方案


  企业内的各种信息系统应该是为企业内外的用户提供全方位的信息服务,而以往系统与系统之间是通过接口来实现联系的。按照“软件就是服务”的观点看,应用系统与应用系统之间,也应该走向一种互为服务的关系。


  服务是从业务流程的角度来看待技术的——这是从上向下看的。这种角度同一般的由可用技术所驱动的商业视角是相反的。因为服务的优势很清楚,它们会同业务流程结合在一起,能够更加精确地表示业务模型,更好地支持业务流程。相反,我们可以看到,以应用程序为中心的企业应用模型,迫使业务用户将其能力局限为应用程序的能力。而利用Web服务的各个组织可以将内部功能组件或业务服务,按Web服务标准 (XML、WSDL)打包成Web服务组件,然后将其向服务黄页(白页、绿页)注册。服务请求者查找服务,返回服务具体的URL地址,并按使用协议,将服务绑定到自己的业务流程里,从而实现功能的调用,以实现B2B的整合目的,SOA就是下一代Web服务的技术架构。


  SOA的一个中心思想就是让企业彻底摆脱面向技术的解决方案的束缚,轻松应对企业商业服务变化、发展的需要。企业IT架构环境中单个应用程序无法包容业务用户的各种需求,即使是一个大型的ERP解决方案,仍然不能满足这个需求在不断膨胀、变化的缺口。对市场快速做出反应,商业用户只能通过不断开发新应用、扩展现有应用程序来艰难地支撑其现有的业务需求。通过将注意力放在服务上,应用程序能够集中起来提供更加丰富、目的性更强的商业流程。其结果就是,基于SOA的企业应用系统通常会更加真实地反映出与业务模型的结合。


  SOA中一个个服务组件都变成了标准的“建材”,用户可按照自己的业务需要创造出各种组合。用户不需要重新定制基础的服务零件,重点在于服务组件的接口。


  SOA的强大和灵活性将给企业带来巨大的好处。如果某组织将其IT架构抽象出来,将其功能以粗粒度的服务形式表示出来,每种服务都清晰地表示其业务价值,那么,这些服务的顾客(可能在公司内部,也可能是公司的某个业务伙伴)就可以得到这些服务,而不必考虑其后台实现的具体技术。


  更进一步,如果顾客能够发现并绑定可用的服务,那么在这些服务背后的IT系统就能够提供更大的灵活性。但是,要得到一种强大的灵活性,需要有一种实现架构的新方法,这是一项艰巨的任务。企业架构设计师必须要变成“面向服务的架构设计师”,不仅要理解SOA架构,还要理解SOA的实践。在架构设计和最后得到的架构实践结果之间的区别非常微妙,也非常关键。


  支持EAI的软件基础平台


  美国知名IT市场调研顾问公司Gartner Group预计,到2008年SOA将成为占有绝对优势的软件工程实践方法,它将结束传统的整体软件体系架构长达40年的统治地位。Gartner建议,主流企业现在就应该在理解和应用SOA 开发技能方面进行投资。


  如何把SOA应用到企业自身的EAI建设之中,已经成为当前的一个研究热点。面向服务的EAI除了需要上层应用为其专门设计的应用软件外,在底层还需要能够支撑的新一代的网络操作系统。


  目前,在新一代基础软件平台方面各个大的厂商都有其主推的力作。Java为EAI提供了一个理想的语言,因为它可以在多数操作系统上运行,并从EAI工具销售商那里取得良好的支持。另外,J2EE提供了EAI要求的安全、消息及可靠性服务。支持J2EE的应用服务平台有BEA的WebLogic、甲骨文的Application Server、Sun One Application Server等。


  当一些大公司努力推广Java语言之时,微软已经开始改进自己的.Net软件,能够更好地支持EAI的Web 服务已经写入它的下一代操作系统Longhorn 的构架当中。同时微软还推出了一种为各种不同应用程序提供信息交换途径的中间件 BizTalk Server 2004,它集成了微软现有的许多工具,Visual Stdio .Net、Office2003中的InfoPath等都实现了较高程度的集成与协作。同时,实现EAI可供选择的方案还有通过CORBA实现不同体系结构、不同技术企业应用软件的集成等。


  我国自主研发的“和欣”操作系统与CAR构件技术,充分体现了SOA的设计思想。CAR构件技术实现了二进制“软件零件”的包装、复用,有效地支持Web Service,为软件工厂化生产提供了有效的手段。由于同时具备了Windows与Linux上的虚拟机,CAR构件能够跨平台运行,为EAI建设提供了基础软件平台。“和欣”有望成为直接支持XML、Web服务等国际标准的网络操作系统。

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

石磊
石磊

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响

  • 仅凭SOA和云无法解决业务数据管理风险问题

    SOA和云可以是某些恼人问题高效的解决方案;这一点我们已经知道了。但是也要记住它们并不是所有事情的直接答案,特别是当你的问题是业务数据管理风险,而不是技术问题时。

  • 企业应用集成的关键产品之工作流

    企业在努力实现业务敏捷、推动朝着对工人的个性化支持以及集成业务流程的组合发展。应用集成项目必须权衡这些要素。