电子商务绕不开EAI

2001-12-6 23:28:54【作者】 畅享网 【进入论坛】
本文关键字 理论探讨 EAI
广告

电子商务绕不开EAI

为新

  EAI(企业应用集成)一度曾被忽视,而如今,它又正在成为一个时髦的话题。在企业范围内如何集成现有的应用系统和数据库是一个棘手的问题:应用或数据库可能是几年前的老系统,很难进行无缝地集成;不同的系统和应用可能包括同样的数据,从而造成了数据冗余;此外,还要保持所有的数据版本同步更新……尽管困难重重,企业要开展电子商务,EAI的路就得走。

  简单地说,EAI是企业信息系统集成的科学、方法和技术,其目的就是将企业内的应用彼此联接起来,或在企业之间连接起来。

  实施EAI挑战很大,但由于企业都急于实施B2B,都要将当前的企业系统纷纷转移到Web上去,EAI便是必须迈过去的一道坎。

  EAI主要包括两方面:企业内部应用成和企业间应用集成。


  企业内应用集成


  企业内应用集成就是企业IT系统的大连接。这就意味着要将老的基于主机的、可能利用DB2和COBOL建成的库存系统和新的SAP R/3系统连接在一起,或者还要将这两个系统与公司的自动销售系统进行连接。

 
  图1 “点对点”方式伸缩性较差,不能适应当今大规模应用集成的需要。取而代之的是,企业如今更多地采用公共基础架构来共享信息的技术途径。

  过去,企业采取各种手段来解决企业内部应用集成的问题,如大工作量的系统更新、进行FTP文件传送、重新定义关键数据等。后来,企业使用“点对点”(point-to-point)的传统中间件来将系统连起来。这些中间件包括开放软件基金会(Open Software Foundation)的分布计算环境(DCE:Distributed Computing Environment)技术和IBM的MQSeries消息处理软件等。

  “点对点”技术提供一种能在源系统和目标系统的信息共享能力,但是这种技术的伸缩性很差,当要集成新的应用时会非常麻烦。所以对于今天的电子商务环境下大规模的应用集成情况,这种“点对点”方式就不能适用。

  今天,更多的应用集成的解决方案是整体战略性的方法和技术,如为企业创建一个公共的基础架构,用于在“一对一”、“一对多”、“多对多”的配置环境中共享信息,如图1所示。更新EAI技术,还有消息代理和应用服务器,消息代理和应用服务器正在逐渐取代传统的“点对点”中间件,以及定制的应用集成解决方案。


  从不同层面实施企业内应用集成


  当在企业内实施应用集成时,企业首先必须要弄清楚企业内部业务流程和数据流量。IT系统也必须要清楚这些业务流程是否进行自动流转,或怎样流转,以及业务过程的重要性。根据不同的企业,弄清楚这一点需要耗费不同的时间和精力。简而言之,企业必须搞清业务流程及数据流向,以及哪些业务过程和数据元素需要集成。这对于应用集成非常重要,因为从本质上讲,企业应用集成就是维持数据正确而自动地流转。不同的EAI解决方案采取不同的技术途径。

 
  图2 不同EAI技术可以从不同的级别进行应用集成,有时甚至会重叠,所以一定要对症下药。

  数据级EAI技术能够方便地在不同应用中传送数据,这好比从一个数据库中抽取信息。如果需要,还可对这些信息进行适当的处理,并在另一个数据库中进行数据更新。这听起来似乎较简单,但在一个典型的实施EAI的企业,这可能意味着要从100个数据库以及几千个数据表格中抽取数据,这可能还要包含数据的传输,并在经过抽取和装载的数据中进行业务逻辑处理。

  数据级EAI技术的优势在于实施成本较低。这种方法大都不用去管应用本身,不用对应用源代码进行改变。所以企业不需要花钱来修改应用的代码、重新测试和再部署。而且,这种能在数据库之间转移数据,并对信息重新格式化的EAI技术实施成本也相对较低。

  应用接口级EAI技术通过对应用的接口进行重新修改,从而提供业务过程和简单信息相互访问的能力。通过这些接口,许多应用可以捆绑在一起。

  对于要将应用打包的情况,应用接口级EAI最为适用。

  方法级EAI基于业务逻辑的共享,可以适用于企业内部集成和企业之间集成。例如,可以创建被多个应用来调用的方法,来更新客户记录,这种情况多出现在共享应用服务器和分布对象架构中。通过共享方法,应用变得紧耦合。

  方法级EAI有两种基本的技术:在一个共享的物理服务器(如应用服务器)上创建一个共享应用服务(方法)集;或使用分布式方法共享技术(如分布对象)使应用中已有的方法变得可以共享。

  用户界面级EAI比较原始,然而又是常用的方法之一。这种方法就是把用户界面作为公共的集成点。例如,不提供数据库和业务过程访问的应用可以通过用户界面来访问。

  尽管许多人认为将用户界面作为集成点的方法可能性能不稳定,但这种方法已得到大量采用,性能、可靠性和可伸缩性也都能得到保证。

  由于Web普及的原因,信息门户级的EAI已非常流行。在同一个信息门户的用户界面里,如Web浏览器,来自不同应用的信息可以得到显示。这样,可以避免传统后端应用集成的复杂性和高昂的花费。


  企业间应用集成


  EAI技术可以适用于大多数要实施电子商务的企业,以及企业之间应用集成。EAI涉及应用集成架构里的客户和业务伙伴,通过集成供应链内的所有应用和数据库可以实现信息共享。

  传统的B2B商务应用了诸如EDI(电子数据交换)和专用VAN(增值网络)的技术。然而今天,大多数B2B商务则采用了实时性更强的、基于因特网的技术,如基于因特网的消息代理技术、应用服务器,以及像XML等新的数据交换标准。

  许多公司的供应链系统也可能包括交易系统,新的EAI技术可以首先在交易双方之间创建连接,然后再共享数据和业务过程。当然,他们如今不再使用VAN,而采用因特网做为传输介质。

  在以前的B2B集成化商务中,EAI是其中“丢失的连接”。企业要顺利开展电子商务,都希望其所有的应用,以及与他们的商业伙伴之间能够无缝而及时地进行通信。而在以前,EAI解决方案是比较昂贵的,直到新一代支持EAI的中间件的出现,才改变了这一面貌。

  和B2B商务有所不同,B2C商务需要信息能被更广泛的企业之外的人或客户访问到,所以企业应用要能支持基于Web的销售和信息共享。显而易见,B2B和B2C方面的需要促进了EAI技术的发展。


  EAI中间件最为典型


  在所有EAI产品中,EAI中间件是最为典型的。目前有三种主要类型的中间件适合企业内和企业之间的应用集成,他们是应用服务器、分布对象和消息代理。

  应用服务器不仅提供应用逻辑的处理,也能使用事务语义协调许多资源的连接。从而让应用服务器的用户能够使用交易的概念(交易开始、信息抽取、信息传输、信息更新、交易中止)来集成后台资源。

  应用服务器典型的用途是提供诸如IDE(集成开发环境)的应用开发特性,以及应用测试和应用部署等工具。新一代的应用服务器都支持Java和EJB。

  应用服务器在事务处理中可以使方法共享,从而支持技术方法级的EAI。然而,每一种应用服务器都有各自的支持EAI的特性,所以在选择应用服务器来实施EAI时,必须对这一点要了解得非常清楚才行。

  分布对象之所以也被认为是中间件,是因为它提供应用之间通信的功能。然而,它也提供应用开发功能,支持企业范围内的方法共享,从而支持方法级EAI。

  分布对象其实是一个小的应用程序,它使用标准的界面和协议来完成应用彼此间通信。

  例如,开发人员可以在Unix服务器上创建一个CORBA分布对象,又在NT服务器上创建另一个CORBA分布对象。由于这两个对象都使用的是CORBA标准,和标准的通信协议——IIOP(Internet Inter-ORB Protocol),所以它们可以交换信息,并能相互之间调用方法。分布对象提供的是一种耦合的应用集成功能。

  消息代理是一种理想的EAI中间件。它可以使得多个应用之间方便地传输信息,并能解决应用语义和平台之间不兼容的问题。此外,消息代理也可以方便地集成在应用之中,它可以在各种应用和数据库中传递信息模式和内容。

  和应用服务器相比,消息代理使用事件驱动机制来传送信息。消息代理观察源应用和目的应用的状态变化(如数据库中数据更新),从而作出相应的反应。一个单一的状态变化能够在消息代理及相应的应用中触发成百个事件—— 一个信息传送和商务事件处理的反应链。而应用服务器则是只有当交易发生时,执行一个已程序化的处理功能。对于与之连接的应用来说,消息代理是松散耦合的,不要求改变源应用和目的应用。而应用服务器是紧耦合的。

  消息代理不能用于应用开发,而是允许不同应用进行“黑盒”式的通信的技术,也就是说,消息代理不要求应用彼此之间非常“熟悉”,它起到中间代理的作用。


  企业的战略需求


  应用集成在业界正在成为一个热门的话题,它可以大大提高业务效率。实施应用集成的关键在于计划、架构搭建及了解集成需求。要记住的一点是,在一个企业内完全实现应用集成需要耗费大量的时间和财力。所以,要适应这实时性非常高的网络经济时代,企业就要把应用集成作为一个战略需求来实施。

如果您希望与本文章的作者或其所在机构,进一步交流,请联系:畅享网 姜小姐
jill.jiang@amteam.org | 021-51096826-112 | 在线联系
SOA之技术流SOA技术摘要

面向服务的体系结构(service-oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定……

廖斌谈SOA[原创]本体Ontology 与语义web..

先看看什么是语义web,网上很多,我摘录一些:Berners-Lee 于2000-12-18 在XML2000 的会议上正式提出了语义Web。语义Web 的目标……