当今企业正面临着向B2B电子商务协作方向迁移的挑战,此时他们首先要做的是审视他们内
部的系统、应用以及商务流程。一些商务流程会横跨多个内部应用,在企业能够有效的和
外部网络连接之前,这些应用必须能够实时动态的进行通讯。
随着诸如企业资源规划(ERP)、客户关系管理(CRM)、供应链管理(SCM)以及企业门户(Ente
rprise Portal)等多种商业应用的引入,激增了企业信息系统的应用分割。早期这些系统
被设计成自包含的“黒盒”系统,只有很少或者更本没有方法来访问它内部的数据和商务
流程。虽然现在许多这些应用都提供了更好的访问他们的内部数据和商业逻辑的方法,可
是把这些系统和企业里其他系统集成仍是一个巨大的挑战。
本文将主要探讨如何应用基于Web服务技术的EAI解决方案来直面当今企业妙对B2B电子商务
协作的巨大挑战。在讨论解决方案的同时,我们同时将从这些待集成的企业应用的角度着
手,以ERP为例,考察一下它们又是如何转变来适应Web服务环境的。
Web服务和EAI
Web服务提供了一个分布式的计算技术,用于在Internet 或者intranet上通过使用标准的
XML协议和信息格式来展现商业应用服务。使用标准的XML协议使得Web服务平台、语言和发
布者能够互相独立,这是EAI解决方案的一个理想的候选者。
通过开放的Internet标准:Web服务描述语言(WSDL,用于服务描述),统一描述、发现和集
成规范(UDDI,用于服务的发布和集成),简单对象访问协议(SOAP,用于服务调用)和Web服
务流语言(WSFL,用来定义工作流,这是IBM开发的一个Web服务标准),Web服务消除了现存
解决方案(如CORBA和DCOM)中的互用性问题。
Web服务不是EAI或者是EAI的一部分,更甚者,Web服务是另外一个技术,Web服务能够使E
AI成为真正可能的、便捷实施的,同时又引人注目的解决方案。Web服务能彻底地改变传统
的EAI中点对点的集成处理方式。
使用Web服务,通过松散的应用集成,一个企业可以仅仅实现EAI的一个子集,即能取得实
效。与之相反,EAI要实现一个全盘的方案,来紧密的集成和联系支持公司业务的所有的系
统和应用。在公司内部不同的业务系统和技术单体中可能需要花费数年的持续的努力,高
投资以及为之配备的充实的资源。
Web服务,以这样一种松散的服务捆绑集合形式(也可以说是一个特别得解决方案),能够快
速、低代价地开发、发布、发现和动态绑定应用。就当代Web服务的技术发展水平来看,W
eb服务可以实现应用程序之间的函数或方法级的集成。他们不是自然的基于事务的,同时
仅提供了基本的“请求/响应”功能。然而,在下一代的Web服务中,在功能上和技术上都
会更先进,将会提供用户接口封装和安全性,他们将能够包装一个应用程序并且把他嵌入
到其他的应用程序中去。
现有的主要关注于应用集成的EAI解决方案将不得不因此而改变。在将来,包装好的应用程
序将使用如XML、SOAP、WSDL和UDDI技术来把他们的函数或方法作为Web服务的接口来显示
。因此,EAI解决方案将不得不提供一个对服务集成的广泛的支持,而不仅仅是应用集成。
EAI解决方案和Web服务之间的显著的不同
下面是传统的EAI解决方案和Web服务之间的一些基本的不同点:
简单性:毫无疑问,相比于典型的EAI解决方案(也许包括分布式技术如DCOM和CORBA),We
b服务更便于设计、开发、维护和使用。既然开发和使用Web服务的平台框架已经准备好了
,创建跨越多个应用程序的商务流程处理将变得相对简单。
开放标准:不像有所有权的EAI解决方案,Web服务是基于开放标准诸如UDDI、SOAP、HTTP
的。这个可能是导致Web服务被广泛接受的最重要的因素。事实上基于现存的开放标准消除
了企业潜在地为了支持新出现的Web技术的投资的需要。
灵活性:既然EAI解决方案需要点对点集成,一端的改变必须告知另外一端,这自然使集成
变得非常的生硬,同时也是浪费开发人员的时间的。基于Web服务的集成是非常灵活的,因
为他是建立在发布服务的应用程序和使用服务的应用程序之间的松散耦合。
便宜:EAI解决方案,诸如消息中介,其实施是非常昂贵的。而Web服务的实施则会变得便
宜而快速。
范围:EAI解决方案,诸如消息中介,把应用程序作为一个单个的实体来集成。然而Web服
务允许企业把大的应用划分为小的独立的逻辑实体并且包装他们。举例来说,企业可以为
一个ERP应用的不同的商业组件进行包装。如订单管理、接受购买订单、订单情况、订单确
认、帐户接受、帐户支付等等。
高效性:已在前面几点提到的,Web服务允许应用程序划分为一些小的逻辑组件,因为在小
粒度基础上集成应用程序,集成将变得更容易。这也使Web服务的EAI解决方案比传统的EA
I解决方案更有效率。
动态:Web服务通过提供动态的服务接口来实施一个动态的集成。然而传统的EAI解决方案
都是静态处理的。
架构EAI的基础,Web服务平台比较
目前来看,Web服务的架构平台主要有两个:Microsoft.NET平台和J2EE平台。
微软的.NET是一个由Server、Client和Service组成的平台。.NET框架包括基本的运行库、
用户接口库、CLR、C#、C++、VB.NET、Jscript.NET、ASP.NET以及.NET框架API的各个方面
。
J2EE(Jave企业版)则是一组规范集,每一个规范规定了Java技术应当如何提供一种类型的
功能。J2EE平台为基于多层分布式应用模型上的Java应用的设计、开发、装配和部署提供
了一个完整的框架。J2EE规范为开发应用和与企业系统集成定义了数目众多的应用编程接
口(API)和多种应用编程模型。
他们之间的比较可以通过下面这张表格来给出:
标准
J2EE框架
.NET框架
基本设计和对WEB服务的支持
通过一组API包(JAXM,JAXP,JAXR,JAX-RPC)对Web服务提供支持。
Web服务直接构建在平台中,.NET框架提供完整的服务标准如SOAP、WSDL和UDDI。
实现
J2EE的Web服务实现一般是通过EJB来实现的。然而也可以把提供Web服务实现的Java应用
独立出来,这完全依赖于设计和构建应用程序的业务处理和数据逻辑层。
.NET框架中Wem服务的实现一般通过.NET Managed Component(包括Managed Class以及CO
M/COM+组件)来实现。
价格
与Microsoft的.NET相比,花费较高,然而,如果一个公司已经具有基于J2EE的应用服务
器平台,使用现有的基本构架和设备将会比较合适。
比基于J2EE的应用服务器便宜的多,然而目前J2EE仍然是企业服务器端应用的较好选择。
工具和服务器
有多家公司已经构建了基于J2EE的集成开发环境(IDE)和应用服务器。他们中的多数已经
开始在产品中支持Web服务的创建、部署和运行,对Web服务标准的支持和复杂的程度因产
品而异
Microsoft进行WEB服务开发的基础开发工具(集成开发环境IDE)是Visual Studio.NET,使
用Visual Studio能够确保了产品的强壮性和易用性。Microsoft同时提供了支持Web服务的
服务器软件,包括BizTalk 2000以及SQL Server 2000等。
企业支持
多个独立的公司,包括IBM、BEA、Oracle、HP、SUN等,在他们的基于J2EE的开发工具和
应用服务器的中正在提供对Web服务的支持。当在这个技术领域中有多个竞争产品,这时就
意味着没有单个公司的垄断。
所有的工具、服务器和技术都是由一家公司控制:Microsoft。尽管微软公司对Web服务技
术的做出的承诺和稳定性没有任何问题,但是没有竞争,技术的提供和推动也许不是最好
的。不过Microsoft刚刚在它的网站上提供了.NET的核心CLI for FreeBSD的原码下载。这
也许是一个好的开端。
平台的成熟度
在过去的四年中,J2EE已经被证明是一个稳定的、可扩展的、成熟的平台。新增的对Web
服务的支持是这个平台的又一个特征。
尽管.NET从Windows DNA体系框架中继承了大量的特征,但是它仍然相对较新,需要被证
明能够提供企业范围的应用框架。
一个使用Web服务的EAI示例
下面我们使用一个例子来看看在Microsoft.NET以及J2EE平台上如何进行EAI。
在这个例子中,零散的小客户以及金融公司内部的客户使用证券投资管理门户监控他们的
投资情况。这个门户使用的Microsoft的技术(ASP+、IIS Web Server、C#等,注意虽然没
有使用最新的.NET Server Series,然而它们在本质上方法是相同的)。这个门户应用提供
的一个功能是查询证券最新交易交割。通过使用这个功能,客户可以检索任何股票的实时
报价,当客户请求股票报价的时候,请求被从浏览器发送给了Web服务器。
报价服务(Quote Service)作为一个Web服务,由公司内部的应用服务器提供给intranet中
的多个客户(指客户端系统)使用,而证券投资管理门户正是这些客户端中的一员。除了这
个证券投资管理门户之外,其他客户端可以参阅后面的图示,是一些VB应用,也可以是一
些其他应用,取决于企业自身的需要或是合作企业的需要。
这个由应用服务器提供的Web服务的相关技术信息可以通过私有的内部UDDI注册中心获得,
可以通过企业内部intranet进行调用。由Web服务界面发布的商业逻辑具体的是由应用服务
器中包含的一个EJB所提供得。
这个应用环境是一个典型的跨平台的基于Web服务的应用集成。那些频繁的被Web服务使用
的绑定信息(如请求报价的调用界面)被客户端应用缓存,以避免频繁出现资源密集的和耗
费时间的动态绑定。在这个例子中,我们通过松散连接的Web服务技术将证券投资管理应用
(基于微软的技术)与商业逻辑中间件应用(基于J2EE)进行集成,而这个商业逻辑中间件应
用最终可能需要与大型机上的数据库进行交互并获取报价。
在上图中,我们在各个处理环节上标注了序号,下面我们来一一描述这些处理环节的细节
:
1. 用户在Web前端界面(Browser界面)上发出针对指定公司的证券报价请求,这个请求被发
送给运行在Microsoft IIS服务器中的证券投资管理门户。为了简化描述,我们假设用户已
经成功的登录到证券投资管理门户中,并且已经建立了合法的会话;
2. 基于.NET技术的门户应用得到由J2EE应用服务器提供的Web服务的技术信息,这些技术
信息是.NET平台通过搜索私有UDDI注册中心从而获得的;
3. 针对指定Web服务的WSDL绑定信息作为基于SOAP的消息被传递到了证券投资管理门户;
4. 证券投资管理门户调用由J2EE应用服务器提供的证券报价Web服务,在调用的时候,股
票标识符被作为SOAP消息的一部分传入;
5. 这个Web服务的具体实现是由运行在其他J2EE应用服务器(当然也可以就是这个J2EE应用
服务器,这取决于企业内部的体系架构)上的EJB来提供,这个EJB通过JDBC API获得数据源
中的数据,在这个例子中,数据源是IBM DB2;
6. 这个EJB的 Web服务响应同样是以SOAP消息的形式出现,同时这个SOAP消息被发送回证
券投资管理门户;
7. 证券报价响应被格式化为XML/XSLT/HTML的形式回传给基于浏览器的客户前端;
8. 其它的、在公司企业网内部的、企业VB应用(当然也包括其他开发工具开发的应用)也能
够通过Web服务技术调用这个证券报价Web服务,从而成为证券报价Web服务的另外一些客户
端,同样,他们之间的调用也是使用SOAP消息完成的。
ERP与Web服务
在分析了如何运用Web服务来进行EAI之后。我们下面将从这些待集成的企业应用的角度着
手,以ERP为例,来考察一下它们又是如何转变来适应Web服务环境的。
我们知道,企业需要的是能产生经济效益,提高投资产出率的软件产品。ERP通过集成财务
信息、集成客户订单信息、标准化和加速生产流程、减少仓储费用以及标准化人力资源信
息来达到这一目的。对于一般企业而言,如果它想部署ERP,那么他可以选择下面三种模式
的一种:1) 一次性全部将现有系统升级到整合ERP系统;2) 各个分支机构使用不同的ERP
系统,然后进行集成(这个比较适合大型跨国企业);3) 一个一个模块逐个购买并逐个融合
入企业的商务流程。
我们在之前已经提到如何应用Web服务来集成企业应用,企业应用当然包含ERP。那么我们
大胆地考虑一下,如何直接将Web服务技术引入ERP系统,使用Web服务的理念来架构ERP,
那对ERP会带来什么样的影响呢?
我们认为,对于ERP而言,Web Services主要能够提供两个好处:1) 易于集成;2) 减少应
用部署的代价,同时更为灵活。第一点应该很好理解,就是把原先要在外部实现的EAI的功
能部分移植到ERP内部。第二点则是按照以下方式考虑的,我们刚才已经分析过,一个ERP
总有很多不同的模块,诸如财务系统、仓储系统等等。同时用户有时候会选择第三种部署
模式,即逐个购买模块。将Web Services技术引入到ERP内,可以将应用集成模式带到ERP
内部各个模块之间,使得ERP内部模块之间的集成和ERP与其他企业应用的集成使用相同的
技术,从而在部署上能够更方便地利用各种硬件平台,在集成上减少技术代价,提高灵活
性。
目前,大多数主要的ERP厂商已经开始着手将他们的ERP软件升级并支持Web Services技术
,其中包括最大的ERP厂商SAP、Oracle、PeopleSoft等。下面是一张ERP软件对于Web Ser
vices技术支持的时间表:
竞争者
提供环境
期望发布时间
当前状态
交付
SAP
基于相同核心的J2EE和ABAP
2002
即将完成
R3, mySAP.com
Oracle
Java
2002
准备发布
11i Suite, Java APIs
Peoplesoft
SOAP/UDDI工具
2002
即将完成
Peoplesoft 8
Microsoft
.NET和Passport
2001
已经完成
Bcentral
Siebel
Business Services
2001
已经完成
Siebel7
下面的表格则对于传统ERP和基于Web服务技术的ERP给出了一个特性对比:
特性
传统解决方案
基于Web服务的解决方案
可伸缩性
低
很好
实施时间
很长
中等
维护能力
低
很好
可靠性
中等
好
可移植性
低
很好
进入代价
高
中等
维护代价
高
低
统合代价
高
低
投资收益率
中等
很高
基于Web服务的EAI实践
目前,已经有不少专注于Web服务技术的专业技术提供商提供了各种基于Web服务技术的EA
I平台。它们包括: webMethods、Epicentric、Silverstream以及IONA。
webMethods Integration Platform:webMethods的这个集成平台运用Web服务技术,提供
了对企业应用、数据库及数据仓库、主机系统以及各种传统系统、Web服务等等的集成能力
,webMethods的特点是对SAP ERP系统有着非常优秀的集成能力。
Epicentric Foundation Server:Epicentric的这个企业门户的基础管理平台,为构建企
业门户应用提供了强大的支持,通过这个平台,不仅能将内容集成发布,同时也能将应用
集成在统一的平台上。
Silverstream eXtend:Silverstream的这个产品系列是架构Web服务的一个通用平台,同
时Silverstream在这个平台上提供了对各种应用系统的集成模块,包括:CICS RPC、EDI、
SAP、JMS等,应该说这是一个支持EAI的Web服务平台。
IONA Orbix E2A™ Web Services Integration Platform:这是一个专注于企业应用
集成的平台,提供了对大量外部系统的集成能力,它能够支持J2EE、.NET、COM以及CORBA
等各种组件,同时对B2B protocols、OS/390、SAP、Siebel、CORBA、RDBMSs、MQ Series
等协议、系统及平台提供无缝集成。
小结
总之,有了Web服务技术的支持,EAI的实施代价将更低,能够通一采用开放的标准的技术
,同时实现更广泛的互联和集成。目前来看,这样的优势吸引了很多开发商的进入,我们
展望,在今后的几年中,基于Web服务技术的EAI解决方案将慢慢称为主流,同时能够有力
地推动企业EAI的发展和普及。得Web服务之助, EAI驭风而行!
--
FROM 159.226.40.3