XML和组件技术在异构系统集成中的应用研究

阅读: 评论:0

XML和组件技术在异构系统集成中的应用研究
作者:林丽姝
来源:《科技创新导报》 2011年第2期
    林丽姝
    (中国舰船研究设计中心  湖北武汉  430064)
    摘 要:本文以XML和组件技术在异构系统集成中的应用为研究对象,探讨了异构网络环境下分布式对象互操作存在的问题,分析了基于XML的异构系统集成框架体系结构,研究了基于XML和组件的异构系统集成的关键技术,相信对从事相关工作的同行有着重要的参考价值和借鉴意义。
    关键词:XML  组件  异构  集成  COM
    中图分类号:TP3    文献标识码:A    文章编号:1674-098X(2011)01(b)-0016-02
    1 引言
    随着面向对象技术在分布式计算中的应用,分布对象技术已成为分布异构环境下各类应用系统集成的主
要手段。目前存在三大主流分布对象技术:OMG的CORBA,Microsoft的DCOM和基于Java的EJB。这些中间件本身是为了屏蔽诸如硬件体系结构、操作系统平台和不同网络结构的异构性,并提供了支持分布式应用的相应服务,但基于不同中间件体系构造的分布式计算环境,由于底层中间件部件往往是不兼容的,形成了新的更高层次上的异构问题——分布式中间件的异构性。为扩展分布式计算环境,进行大规模系统集成。本文通过分析现有分布式中间件体系结构中存在的问题,提出了一种基于XML的异构系统集成框架,该集成框架通过对不同的类型的服务组件采用不同的调用机制,能够集成不同的服务组件到一个统一的平台中,而无需改变底层应用系统,简化了分布式对象系统之间的互操作问题。
    2 异构网络环境下分布式对象互操作中存在的问题
    分布式计算环境的显著特征是异构性。在异构的网络环境下,如何有效地实现分布式计算,要解决的关键问题是分布式计算对象的互操作,解决的主要方法就是采用中间件技术。但由于分布式中间件呈现了复杂的应用,因此它们之间的互操作一直采用专用的具体开发。这是费时的,维护也较困难。解决分布式中间件异构的困难在于必须存在访问不同对象
    组件的访问方式,同时这些组件必须能被模拟为统一的服务组件。国际上主要的方案是采用一个适配器来完成。适配器主要是采用不同协议的请求到中间模式之间的模式转换程序。考虑到由于各组件调用方式和通信协议的不同,我们不采用统一的适配器设计,而是对不同的服务组件设计不同的适配方法,有效减小系统设计的复杂性,提高集成的可靠性。
    3 基于XML的异构系统集成框架体系结构
    XSware的目的是支持多种构件模型,提供一个开放的环境,用户可以根据自己的需要选择自己相应的构件技术来构造分布式应用。当需要扩展或改善应用的功能时,只需通过配置增加或替换相应构件即可。这样,XSware能克服目前分布式体系结构与服务具体位置相关、紧密耦合等方面的局限性。我们设计的XSware的体系结构和XSware内部结构如图1和图2所示。
    XSware处于业务系统和用户之间的中间层。通过在两者之间增加一个基于XML的中间件,就可以原封不动地保持原有的业务系统。中间件和业务系统之间是相对独立的,如果XML的格式有改变,那么仅稍加修改中间件软件就可以了,甚至仅仅对中间件进行一些相应的配置就可以实现,这样不但可以延长业务系统的生存期,而且能减少开支。XSware与两端的通信主要采用SOAP传输,由于SOAP没有绑定在任何特定的实现协议上,所以在中间件和应用系统之间可以使用任何的可靠的数据传输协议,使得大范围的分布式计算成为可能。XSware为前端应用开发者提供了描述和服务配置接口,以及编程API,API包括SOAP请求的提交,SOAP消息的转换和发送。为后端组件模型和数据层提供相应的Adapter和XML-DB联接。从图2中我们可以清楚地看到XSware的内部结构。
    XSware由Web服务器(HTTP Server, SMTP Server,MQ Server)、XML服务请求转换器、SOAP引挚(RPCRouterServlet)及服务调用适配器Adapter组成。
    1)Web服务器通过标准Web协议,例如HTTP传送XML文档来实现通信。
    2)XML服务请求转换器完成将客户的请求转换成SOAP消息。
    3)服务调用适配器Adapter的主要作用是:
    a)定位SOAP服务的实现体;
    b)装载服务实现体;
    c)把调用的请求参数转换为服务的实现体能接受的形式,并把调用包装成SOAP消息;
    d)调用服务。
    Adapter是SOAP引擎(即RPCRouterServlet)和服务实现之间的一层抽象,它将所有的服务执行过程抽象为“定位”Locate和“激发”Call两个方法,以标准的接口连接不同语言、不同机制的服务实现。当SOAP服务请求到达时,SOAP引擎将请求转发给相应的Adapter,由Adapter负责真正调用服务,然后Adapter把调用结果包装好,返回给SOAP引擎。
   
    4 基于XML和组件集成的关键技术实现
    4.1 CORBA Adapter的实现
    为了实现SOAP信息能被CORBA接受,需要一个桥接系统来执行SOAP域到IIOP域的请求转换(包括将IIOP应答转换为SOAP应答),应完成如下功能:
    1)访问端点与目标标识映射
    桥接系统需要负责将对某个服务的SOAP请求分发到正确的CORBA对象上,即服务ID与对象引用的映射。
    2)操作映射
    需将服务的方法名映射到CORBA对象的操作名。
    3)数据类型映射
    CORBA IDL提供了丰富的数据类型,相比之下。SOAP及XMLSchema规范提供的数据类型要简单得多。为实现SOAP域到CORBA域的请求翻译,需要在部署时刻使用适当的XMLSchema定义参数类型;在运行时刻将SOAP请求中的XML数据类型转换为IDL类型,并将IIOP应答消息中的IDL类型映射为XML类型。
    CORBA Adapter是SOAP引擎与CORBA对象之间的连接器,它的功能是:
    (1)确定请求目标对象的IOR;
    (2)将SOAP请求转换为CORBA调用。
    CORBA Adapter具有双重身份:从SOAP引擎角度看,它是服务的执行者,SOAP请求在CORBA Adapter中执行并返回结果;另一方面,它作为CORBA客户端调用远端的CORBA对象实现来执行服务,所以CORBA Adapter之中应包含一个客户端ORB。CORBA Adapter另一个隐含的功能是,构造激发CORBA调用所需的CORBA类型参数,并将CORBA调用的返回值转换为SOAP编解码引擎所能识别的Java类型。
    4.2 EJB Adapter的实现
    在J2EE应用中,所有的计算逻辑都由EJB来提供,Servlet作为控制器来封装和转发请求和响应,而JSP则负责用户界面,为在XSware客户端能通过SOAP协议来访问EJB,就需要能发布EJIB和访问EJB组件服务,需提供EJB Adapter。用户在配置文件里提供所需访问EJB的所有信息,SOAP服务器就可把用户发送的SOAP请求转化为RMI/IIOP请求发送到EJB服务器,然后把从远程EJB方法返回的对象封装成SOAP消息,返回给调用用户。
    所有Java对象都需要正确的序列化为一段XML文档。而SOAP消息都将反序列化为Java对象来做处理。这里,用一个类型映射表来指明Java对象和XML类型的对应,并指示序列化和反序列化程序指针。表的每个记录包含:描述XML风格的URI,XML元素的名字,对应的Java类,序列化器类名和反序列化器类名。
    4.3 COM Adapter的实现
    对COM构件同样首先要用XML提供配置文件,说明调用COM构件所需的所有信息,然后需要完成:(1)目标标识映射。将对某个服务的SOAP请求分发到正确的COM对象上,即服务ID与COM对象标识CLSID的映射。为完成此映射需建立与COM注册表的对应。(2)操作映射。将服务的方法名映射到COM对象的操作名。(3)数据类型映射。像CORBA Adapter中一样,将COM PRC消息中的IDL类型映射
为XML类型。关于古物查询的COM构件的服务部署描述符的XML形式
    5 结语
    分布式中间件的异构性是伴随大量中间件技术出现的更高层次上的异构问题。这一问题的研究还处于起步阶段。本文提出的集成框架XSware通过为每一种中间件设计专用Adapter,解决了应用系统整合过程中各种构件的互操作问题。下一步的工作是如何利用XML结构化描述的优点使得消息传送成为自形成的。
       
    参考文献
    [1]易平,等.“三种主流中间件之比较”[J].科技资讯,2009年12期.
    [2]高明,等.“基于XML实现异构数据源的联合使用”[J].科技创新导报,Vo.l29,No.3,2008:83~84.
    [3]鱼滨,华庆一.“基于CORBA的分布式异构计算环境的分析与实践”[J].科技资讯,2004,2.

本文发布于:2023-05-11 09:29:08,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/95328.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:服务   对象   异构   请求   系统   调用   中间件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图