目前,对这几种主流技术,还很难一下分出高低,根据这一情况,因此有些专家干脆提出研究立项,对这些技术进行系统分析比较,了解其优缺点,适合范围,和应用限制,研究其发展潜力和方向,并探讨能否组合和互补。对我们来说,较聪明的策略,也是暂缓选择决定,允许多种技术一段时间内百花齐放,先以吃透这些技术为主;另外,也应看到,分布对象中间件,牵涉系统底层技术较多,直接参与这类技术产品的开发,难度和风险都较大,因此除非有充分的技术准备,不要轻易介入,可先把精力放在加值服务和开发。
从应用角度看,企业应用集成(EAI)和B2B集成,很有可能要求将不同技术平台的应用连接起来,构成联邦式结构(Federated Architecture),实现信息和应用服务共享,这就要求异构的技术平台,具有互易操作性,我们的研究方向,似乎也应偏重如何解决互易操作和集成技术,对此,有家公司的模式,值得参考,这是一家专业的中间件公司,名叫OMEX(www.omex.ch),它开发了三样东西:(1)iF - eIntegration Framework,提供多种中间件的集成框架,包括结构指南、IDL标准接口、公共服务和工具支持;(2)Nway - Middleware Integration Gateway,这是一类CORBA 网关,用于连接其它中间件,包括一些主流中间件产品,生成 IDL基的接口和桥(如COM-CORBA);(3)Toolbox, 提供一组100% 基于 EJB 和 CORBA 标准的加值工具、服务和构件,包括提供信息库(界面库、服务库),和生成器 (CORBA 测试床、CORBA相容的 activeX 构件、映射 CORBA界面到EJB界面、Nway中间件集成网关),可见其主要开发方向,集中在解决中间件的集成和互易操作上。
为解决中间件在异构平台的互易操作,需要开发相应的搭桥产品,这实际上也是一类中间件,从客户/服务器结构讲,一个桥是一个软件过程,允许处在一个中间件域的客户端,向处于另一中间件域的服务器,请求服务和接受回答,桥可具有几类性质:单向或双向,静态或动态,商业产品或定做的,设置位置可以是客户端或服务器端,或者第三端的中间端机器,对CORBA桥,则还有ORB中性或特定某一类ORB的,下面列举一些典型的中间件桥产品:
CORBA/DCOM桥:OMG 对此有专门的互易规定,桥的位置也与通信协议有关,如DCOM客户对CORBA服务器,放在客户端,采用IIOP协议,CORBA客户对DCOM服务器,也放客户端,但采用Object RPC 通信,样品产品有:Visual Edge 的ObjectBridge和 IONA 的OrbixCOMet, 两者都是双向动态的, IONA 还开发了一个运行在CORBA服务器端的COM/DCOM适配器,允许COM/DCOM客户应用存取服务器。
Inprise Application ServerTM (IAS) 也提供了COM存取CORBA对象和EJB的能力。
DCE/CORBA 桥:典型的商业产品有 Inprise DCE-CORBA 桥,它的桥对像,介于中间,同时起CORBA服务器和DCE服务器客户端的作用,该产品属单向桥,且只能用 VisiBroker ORB。
DSTC 的DCE-CORBA桥,也是提供CORBA客户存取DCE服务器,但它采用设立桥工厂(Bridge Factory)的方法,能按要求(On-demand) 生成所需要的静态桥,这是介于静态和动态桥之间的一种技术。Borland 公司在它的DCE开发环境 Entera中,也加进了DCE-CORBA桥,以扩展DCE应用的集成能力。
EJB/COM 桥:
Sun 公司发布了一个COM->;EJB桥,J2EE 客户存取服务CAS COM 桥,允许微软窗口应用,存取J2EE服务器上的EJB构件,它是一组COM对象,客户应用可用COM Idispatch接口,通过RMI-IIOP协议,与服务器通信。
J-Integra 是一个双向的Java/COM,能把ActiveX构件当作Java对象,或者反过来,有了它微软平台上的ASP就能与服务器上的EJB对话,Java应用服务器可与Windows NT上的COM对象对话,这自然也包括下列两个桥的功能:Servlet-COM 桥和 VB-EJB 桥。
此类桥的另一特例,涉及数据库存取,像JDBC/ODBC 桥,可允许Java 应用环境,存取微软平台的ODBC数据库,典型产品有:Easysoft 的 JDBC-ODBC桥,它作为一个EJB构件。
EJB/CORBA 桥:iPlanetTM应用服务器,提供了EJB/CORBA 桥,允许前端EJB应用,通过RMI/IIOP 和IONA Orbix 2000,存取后端的CORBA对象和应用,如ORB初始化程序中设立单一类,就可适用多种ORB,而不需要再初试化。
OpenFusion& v2.0 企业集成服务,扩展了功能,同时对CORBA和J2EE提供支持,并设立两个标准的桥,支持JMS,与IBM MQSeries 桥,下一步还要加XML信息类型,和JMS-SOAP 桥。
为了实现 EJB/CCM(CORBA 构件模型)间的双向桥,就要设法实现CORBA IDL界面和Java界面的互相映射。
在BEA WebLogic EnterpriseTM 中,EJB和CORBA 也可以共存和互易操作。
Borland AppServer 4 (BAS4) 支持 EJB和 CORBA无缝的集成, 为此, 它采取了 6条途径: (1) 用IIOP作统一的传输协议, 实际上新版的J2EE也明显要求J2EE平台供应商支持IIOP实现; (2) 支持CORBA 值类型(Object-by-Value); (3) Java-To-IDL映射; (4) 命名服务映射; (5) 事务处理映射; (6)安全服务映射; 以此, 达到了两个中间件标准较高的集成和互易 ( 见www.customware.com)。
SOAP/CORBA桥:Biocorba-l 公司提供了一个 SOAP<->;CORBA 桥产品,以适合SOAP的广泛应用。
文章来源于领测软件测试网 https://www.ltesting.net/