摘要:由于J2EE的JCA是一个开放的标准,并且受到越来越多的应用提供商和应用服务器的支持。目前,JCA标准正被业界广泛的采纳,它将成为一种催化剂,加速消除应用服务器和集成服务器之间的界限
今天,企业应用集成(EAI)非常困难的原因之一是没有一个标准的框架实现与异构系统之间的通信。如果你开发一个需要集成siebel、SAP和基于主机的定单处理系统,你将需要一个分开的连接器分别实现与这些平台的通信。现在还没有被广泛接受的供连接器使用的Java标准(象供实现数据库连接的JDBC标准),因此EAI中使用Java的开发者必须为每个连接器编写代码。
为了解决这个问题,SUN公司和它的合作伙伴提出了一个J2EE连接器标准(JCA),JCA是J2EE1.3规范的一部分。目前,从事JCA标准研究的专家组成员包括SUN,BEA,Fujitsu,IBM,Inprise,Motorola,Oracle,Rational Software,Sybase,TIBCO和Unisys.等公司。
根据SUN公司的连接器和JDBC产品经理Vijay Sarathy介绍,J2EE 连接器架构试图实现象JDBC已经为Java和J2EE做过的事一样——为异构的企业信息系统(EISs)提供一个统一并简化的数据库连接。
JCA为应用服务器与连接器之间的连接管理、安全和事务处理定义了系统级的协议。连接器以给定的EIS系统特有的方式实现这些协议,应用服务器根据通用客户端接口(CCI)实现一个标准的连接器应用编程接口,在已经发布的连接器标准1.0版中在一些不足,如:不能支持双向通信、异步事务处理、元数据或XML,然而在2.0版中JCA已经解决了所有这些不足。JCA专家组希望EIS、应用服务器和集成工具供应商在它们的产品中支持JCA。如果这变成现实,JCA将可能改变目前EAI产品的市场。
绝大多数EIS供应商表示了对JCA的支持
目前,多数EIS供应商都支持某种特定形式的Java互操作能力,他们通过不同的专有接口实现这种能力,绝大多数EIS供应商都表达了对JCA的强烈支持。
Siebel公司在2001年已经发布了一个JCA适配器。Siebel EAI 高级设计师 Bacon说:“市场需要Siebel的系统能够容易的通过J2EE平台访问,我们已经为自己的产品提供了这种能力。”
PeopleSoft公司的PeopleTools产品战略总裁Chris Heller说在PeopleSoft目前的Java互操作框架中支持JCA是必然的。并且在PeopleSoft 2001年12月发布的集成产品中已经有了对JCA的支持。
JD Edwards公司在去年也已经在他们的OneWorld框架中实现了对JCA的支持,并且JD Edwards公司已经与IBM合作为WebSphere开发JCA连接器。
Oracle公司在是否支持JCA标准方面显得有些犹豫。据Oracle公司的产品营销总裁Scott Clawson说,Oracle公司的电子商务套件是与Oracle 9i应用服务器紧密集成的。而9i应用服务器包括Oracle应用连接中间件(OAI)层,用来集成非Oracle 的ERP软件包,如SAP和JD Edwards。Clawson指出了在JCA1.0版中上面提到的一些不足,并且说明在Oracle电子商务套件中已经提供了用简单对象访问协议(SOAP)和XML标准实现的关键接口,而这是JCA1.0不支持的。虽然Oracle公司对JCA1.0版不太满意,但是1.0版的这些问题在JCA2.0中已经得到解决。
IBM公司WebSphere应用服务器产品经理Jeff Reser表面,IBM正在与JD Edwards,PeopleSoft, SAP 和Oracle合作开发资源适配器,该适配器产品在WebSphere4.0发布后不久将可以完成,并且将支持JCA。同时IBM还计划在其客户信息控制系统(CICS)中实现对JCA的支持。
此外其他一些集成工具提供商,如HP、BEA、TIBCO等都明确提出了对JCA的支持,并且很多都已经开发出了自己的beta产品。
绝大多数集成工具供应商都提供一个EAI集成平台,通常作为不同EIS应用系统的一个集成服务器和连接器。这些连接器都使用各公司专用的标准,而不是JCA。但是在这些供应商中,大多数都计划支持JCA。
TIBCO公司的首席营销官(CMO)Fred Meyer为集成工具提供商描绘了一个充满希望的前景。他表示,应用服务器和集成服务器生活在不同的世界,应用服务器通常用于“绿地”开发,不用处理遗产应用和业务过程等艰难的集成问题。理想的情况下,顾客希望整个TIBCO集成框架能够象企业Java Beans(EJBs)一样被使用,以便顾客能够根据需要重新安排来支持变化的业务过程。
Vitria公司的创始人兼首席技术官Dale Skeen表明其公司非常积极的支持J2EE,包括JCA、JMDI 和JDBC。他们将用三种方式支持Java互操作,这三种方式是:
1 RMI-IIOP用于实现其它分布式对象处理;
2 对异步消息处理使用JMS;
3直接连接使用JCA。
他们所有的连接器都将是JCA兼容的。
Skeen 认为JCA为应用连接做的事情就象JDBC为数据库连接所做的事一样重要。但是使用JCA有很多并发的问题需要解决,例如:没有一个与标准化查询语言(SQL)对等的标准语言用来与EIS通信。
WebMethods采用了一种不同的方法,它通过为他们的应用服务器开发一个JCA接口,而不是把对JCA的支持做在连接器中。这种实现方法将允许WebLogic客户使用BEA的工具管理WebMethods的连接。
Microsoft BizTalk:另一种EAI方法
除了JCA、XML对EIA市场也有很大的冲击之外,另一种就是使用XML实现EAI的产品Microsoft BizTalk服务器。
我们在此提到BizTalk,因为Microsoft声称,作为一个EAI平台,BizTalk比Java更具有意义。根据BizTalk产品经理David Wasch所说,组织需要实现的EAI中,90%可以通过异步方式实现(通过交换XML文档),而不是采用同步方式。因为JCA是一种只支持同步通信的标准,他觉得对EAI来说接受XML更重要。
Microsoft声称,与用Java框架实现EAI标准化相比,组织将精力集中到XML上会更有利,因为与面向Java的方法相比,这种方法将需要更少的成本和开发更少的客户代码。
作为回应,Sarathy说,JCA必须在J2EE平台环境下来考虑。单纯的比较JCA和XML是不公平的。XML是用于数据表示,而J2EE平台将通过JAX套件提供对XML的全面支持。
其实JCA与Microsoft BizTalk的背后是更强大的两个阵营(J2EE和.net)之间的竞争,虽然这两大阵营都有很多支持者,但是没有一方能够轻易的战胜另一方。所以目前用户关心的是如何能够实现这两种服务器产品之间的通信,看来这又要使用XML了。
结论
由于J2EE的JCA是一个开放的标准,并且受到越来越多的应用提供商和应用服务器的支持。目前,JCA标准正被业界广泛的采纳,它将成为一种催化剂,加速消除应用服务器和集成服务器之间的界限。随着JCA标准的成熟,包括实现对双向通信、异步事务处理、元数据和XML的支持,集成工具供应商和应用服务器提供商都将提供能够在J2EE应用服务器上运行的坚固的EAI平台。