技术领域 本发明涉及一种接口模型的设计,具体来说,它涉及一种采用 MVC架构来实现将智能文档数据交换中间件平台融入RIA技术分层框架 的接口设计,它属于数据通信领域。 背景技术 随着信息技术的发展,社会生活信息化、网络化推进了企业以及政 府部门的办公自动化、网络化、电子化以及全面的信息共享。国家政府 部门提出信息化特别是电子政务应该做到“互联互通、资源共享、应用 协同”,但在许多企业信息化或电子政务实践中,“互联互通、资源共享、 应用协同”还是一个可望不可及的目标。主要体现在目前仍然存在大量 的“信息孤岛”,没有统一的体制和架构,无法实现真正的协同工作,同 时也无法处理在线业务,安全隐患相对来说比较严重。究其原因,还是 缺乏更有效率的数据交换应用架构支持“互联互通、资源共享、应用协 同”在应用中的实现。 最早提出RIA的是Micromedia公司,RIA是Rich Internet Application 的缩写,中文名称为“富因特网应用程序”。目前RIA尚无明确定义,按 照Micromedia公司的提法:RIA是将桌面型计算机软件应用的最佳用户 界面功能性与Web应用程序的普遍采纳和低成本部署以及互动多媒体通 信的实时快捷的一种可以提供更直观、响应性和有效的用户体验应用程 序。 RIA集合了Web应用程序和桌面应用程序的优势,提供了更好的用 户交互。同时支持在线与离线操作,无须进行页面重载,对客户有更好 的响应。 Rich的含义表示丰富的数据模型和丰富的用户界面。丰富的数据模 型使得客户端的用户界面能够表现和应付更多更复杂的数据模式,这样 客户端才能更好地处理数据运算以及异步发送、接收数据。也就是说, RIA能够提供比服务器交互更良好的体验。为了达到高度复杂的数据模 式,客户端允许构建一个高响应、交互式的应用程序。 丰富的用户界面意味着允许一些界面控制与数据模式结合,而不再 是批处理方式提交页面到服务器,连续处理服务器请求和页面更新存在 着很多障碍。服务器响应影响整个界面的运作模式应该迁移到只对发出 请求的特定区域进行改变的模式上来。RIA让整个界面分解为单独个体 组成,来适应局部的改变、服务器上的交互以及客户端内部组件的通信。 发明内容 针对以上的不足,本发明提出了一种基于MVC架构的RIA分层框 架的接口模型,融入了WPS智能文档数据交换中间件平台,从而能够提 供有效率的数据交换应用架构支持。 本发明所采用的技术方案是在MVC架构的基础上,结合RIA的设 计模型,构造出新的基于MVC架构的RIA分层模型。在分析了WPS智 能文档数据交换中间件平台的应用框架和体系的基础上,结合RIA分层 模型的技术特点,并在此模型上融入了WPS智能文档数据交换中间件平 台,给出了两者之间的接口设计与实现方法。 基于MVC架构的RIA分层框架的接口模型包括基于MVC架构的客 户端、RIA适配层、HTP Server、基于MVC架构的服务器、数据库,在 基于MVC架构的服务器和数据库之间还增加了一个智能文档数据交换 中间件平台。 而智能文档数据交换中间件平台的实现主要是在XDE集成平台的基 础上进行开发的,适配接口增加实现XDEAdaptorMessageConsumer和 XDEAdaptorMessageProducer这两个接口类,其中 XDEAdaptorMessageConsumer主要有一个接收消息的方法,而 XDEAdaptorMessageProducer有一个产生消息方法和一个处理产生消息 方法。 XDEAdaptorMessageConsumer派生了三个类,分别是 ComsumerImpl、ComsumerImplGSJ和ComsumerImplWssp:其中 ComsumerImpl是消息消费者,通过XDE的消息发送对象,从 ProducerImplGSJ对象获取到的XDEMessage对象发送到外网; ComsumerImplGSJ是OA端的消息消费者,利用LocalSave对象,将获取 的XDEMessage对象逐个转换层规定的XML文件并写入OAReceive目 录中;ComsumerImplWssp是WSSP端消息消费者,负责把 ProducerImplWssp对象产生的消息发送给XDE,再由XDE发送给MQ; XDEAdaptorMessageProducer也派生了三个类,分别是ProducerImpl、 ProducerImplGSJ和ProducerImplWssp:其中ProducerImpl是消息生产者, 利用底层XDE消息接收对象,接受消息中间件上的XDEMessage对象并 返回给控制器;ProducerImplGSJ是局端消息生产者,利用LocalRead对 象,从OASend目录中构造XDEMessage对象列表并返回给控制器; ProducerImplWssp负责部署门户服务器端,从门户数据库读取数据,消 费者消费的每一条消息,都以XML的形式保存到消费者本地的目录中, 而产生消息的过程,先由消息的生产者获取数据交换的交换规则,发送 到数据交换平台,在交换平台获取数据的规则目录,并且按照每个目录 解析读取每个目录下的XML文件,形成消息从而发送到消息产生者,同 时删除消息产生后形成的目录。 融入了WPS智能文档数据交换中间件平台的RIA框架,不仅提供了 RIA分层模型所带来的优点,同时通过数据交换平台的优化,以及WPS 智能文档作为数据载体,相比目前常用的系统架构,具有以下几个方面 的优势: (1)数据交换平台突破了应用集成的瓶颈。该平台采用组件构件化 技术,从而使智能文档数据交换中间件平台是一个柔性的中间件平台, 可根据需求进行快速部署,实现已有和将有异构系统间的耦合。这为未 来信息系统的开发建设提供了较好的借鉴。 (2)打破了异构数据整合的壁垒。数据交换平台基于智能文档技术, 为割裂的非结构化文档信息与结构化数据信息之间的建立起沟通桥梁, 有效性解决了数据集成问题,加之智能文档具有文档的易用性和与数据 库交互的能力,将对企业信息化和电子政务提供了良好的基础平台。 (3)实现了异构系统数据交换。WPS智能文档数据交换中间件平台 采用了面向服务架构,通过自定义的适配器接口实现异构系统在应用层 面的数据交换,是数据交换技术实现的新手段。 (4)数据交换平台本身封装了数据库持久层的大多数技术细节,如 事务管理,数据库连接管理、SOL生成等。得益于这些成熟优秀的底层 实现,可以从JDBC编码中解放,从而将精力和创造力投入真正有价值 的工作中。 (5)在数据交换平台内部,其接口、连接、转换、元数据、流程等 均采用构件技术,应用构件库管理,将现实世界的业务、关联、数据、 流程等知识固化。数据交换平台产品本身也是信息应用框架中的一个构 件,可以快速部署到任何需要数据交换的系统。 附图说明 图1为基于MVC架构的RIA分层框架的接口模型示意图; 图2为XDEAdaptorMessageConsumer 和XDEAdaptorMessageProducerUML类图; 图3为WSSP到消息中间件的消息流程图; 图4为消息中间件到WSSP的消息流程图。 具体实施方式 下面结合附图对本发明进行进一步阐述。 如图1所示,基于MVC架构的RIA分层框架的接口模型包括基于 MVC架构的客户端、RIA适配层、HTP Server、基于MVC架构的服务 器、数据库,在基于MVC架构的服务器和数据库之间还增加了一个智能 文档数据交换中间件平台。它是在在MVC架构的基础上,结合RIA的 设计模型,构造出新的基于MVC架构的RIA分层模型,在分析了WPS 智能文档数据交换中间件平台的应用框架和体系的基础上,结合RIA分 层模型的技术特点,并在此模型上融入了WPS智能文档数据交换中间件 平台。 有关接口模型的实现主要是在XDE集成平台的基础上进行开发的。 (XDE底层消息类,用于封装一次数据交换中的数据的JavaBean)适配 接口需要实现XDEAdaptorMessageConsumer和 XDEAdaptorMessageProducer这两个接口类,其中 XDEAdaptorMessageConsumer主要有一个接收消息的方法,而 XDEAdaptorMessageProducer有一个产生消息方法和一个处理产生消息 方法: 表3-3 XDEAdaptorMessageConsumer与XDEAdaptorMessagProducer方法列表 public void consume(List msgList)throws XDEAdapterException produce():List setMessageConsumed(msgList:List):Void XDEAdaptorMessageConsumer和XDEAdaptorMessageProducer两个 接口类的设计如图2所示,XDEAdaptorMessageConsumer派生了三个类, 分别是ComsumerImpl、ComsumerImplGSJ和ComsumerImplWssp。其中 ComsumerImpl是消息消费者,通过XDE的消息发送对象,从 ProducerImplGSJ对象获取到的XDEMessage对象发送到外网; ComsumerImplGSJ是OA端的消息消费者,利用LocalSave对象,将获取 的XDEMessage对象逐个转换层规定的XML文件并写入OAReceive目 录中;ComsumerImplWssp是WSSP端消息消费者,负责把 ProducerImplWssp对象产生的消息发送给XDE,再由XDE发送给MQ。 XDEAdaptorMessageProducer也派生了三个类,分别是ProducerImpl、 ProducerImplGSJ和ProducerImplWssp。其中ProducerImpl是消息生产者, 利用底层XDE消息接收对象,接受消息中间件上的XDEMessage对象并 返回给控制器;ProducerImplGSJ是局端消息生产者,利用LocalRead对 象,从OASend目录中构造XDEMessage对象列表并返回给控制器; ProducerImplWssp负责部署门户服务器端,从门户数据库读取数据。消 费者消费的每一条消息,都以XML的形式保存到消费者本地的目录中。 而产生消息的过程,先由消息的生产者获取数据交换的交换规则,发送 到数据交换平台,在交换平台获取数据的规则目录,并且按照每个目录 解析读取每个目录下的XML文件,形成消息从而发送到消息产生者,同 时删除消息产生后形成的目录。这个我们可以从图2中看出来,真正的 消息消费者是ComsumerImpl调用的LocalDiskMsgConsumerImpl,而真 正的消息产生者是ProducerImpl调用的LocalDiskMsgProducerImpl。它们 分别完成了上述的工作。 以服务端WSSP端的设计为例,WSSP端的消息有两个方向的传送, 即发送消息到消息中间件以及从消息中间件接收消息。 1)WSSP一开始调用AdapterLaunch的Startup函数启动 AdapterLaunch。 2)Startup函数利用一个Timer对象,启动两个Controller控制器, 分别负责以轮询的方式控制“WSSP->消息中间件”以及“消息中间件 ->WSSP”两个方向的消息产生和消费过程。其中发送消息和接收消息的 两个过程如图3和图4所示,而在客户端也就是OA端的流程也大致一 样。 其中发送消息的流程如图3所示: (3.1)ProducceImpleWssp对象producer从数据库读取待发送的流 程数据,构造成若干XDEMessage对象集合构造成若干XDEMessage对 象,最后讲消息集合返回。 (3.2)ConsumerImpl对象consumer将producer对象返回的 XDEMessage对象集合构造成一个MapMessage集合msgs,再调用 MessageSender对象的send函数,将msgs发给xde。 (3.3)Xde接收到MapMessage对象集合之后,通过jms提供的消 息发送机制,将消息发送发给消息中间件。 (3.4)调用producer的setMessageConsumed函数,通知producer 消息已被消费。再转入(1) 其中接收消息的流程如图4所示: (4.1)ProducerImpl对象producer调用MessageReceiver对象的 receive函数,从xde获取从消息中间件传来的消息,将消息逐个构造成 XDEMessage对象,最后讲消息集合返回。 (4.2)ConsumerImplWssp对象consumer获取producer对象返回的 XDEMessage对象集合,从XDEMessage对象中逐个取得流程所需的各个 数据域,再掉哟你updateFlowInstance函数,将从局oa端反馈回来的流 程数据写入数据库。 (4.3)调用producer的setMessageConsumed函数,通知producer 消息已经被消费。再转入(1)。