论文部分内容阅读
数字图书馆门户是数字图书馆资源和服务的统一访问入口。门户系统由组件Portlet和其他服务模块组成。Portlet是门户的核心组成部分,是可重用的组件,提供对应用程序、基于Web的内容和其他资源的访问。有效的Portlet间通信(互操作)机制能够使门户系统中两个或更多的Portlet彼此能够交换信息,并根据交换的信息做出相应的反应,从而使门户能够实现复杂的协作功能。这些Portlet既可以来自同一个门户,也可以来自不同的门户(远程)。标准化、开放的Portlet间通信机制,对构建开放的互操作的数字图书馆门户具有重要的现实意义。然而,现有的JavaPortlet规范(JSR168)和远程PortletWeb服务规范(WSRP)都没有对Portlet之间的通信进行论述。当前的一些原型门户系统和商业门户系统具备了一定的Portlet间通信功能。不过,现有的系统对Portlet间通信的支持有一些不足,主要集中在几个方面:现有Portlet间通信机制通用性差,并且缺乏完善的消息体系;Portlet之间不能交换复杂类型的信息;与WSRP规范不兼容,不支持远程Portlet。
本文在借鉴现有系统的一些优点的基础上,针对现有系统的不足,在遵循当前Portlet标准的前提下,通过对其进行必要的扩展,设计出了标准化、开放的Portlet间通信框架。该框架具有良好的开放性和通用性,能够与数字图书馆门户系统进行有机集成。本文的贡献体现在以下几个方面:
1、基于消息总线的通信框架及其消息模型:本文提出了基于消息总线的通信机制、消息内容模型和Portlet间关联模型,设计出完善的消息流程。这些从概念和架构上为Portlet间通信提供了基础,使得无论是简单数据还是复杂数据,或是Portlet事件,都能以消息作为载体在Portlet之间通信,解决了同一个门户系统中不同组件之间的互操作。
2、对现有规范的兼容性扩展:在遵循现有两个Portlet规范(JSR168和WSRP)的前提下,对这两个规范进行扩展,在现有Portlet接口的基础上增加了消息处理的阶段,使得Portlet对消息的接收和处理变得自然而优雅;对于JSR168而言,这种新增的处理机制能够解决原先Portlet间互操作缺乏合适时机的问题;对于WSRP而言,这种新增的处理机制能够与扩展后的JSR168一起完成涉及到远程Portlet的互操作。
3、支持远程Portlet间通信:本文所提出的Portlet间通信框架和消息模型既支持本地Portlet间通信,也支持远程Portlet间通信,两类Portlet都可作为通信的发送方或接收方。这种通信机制,使得来自不同门户的Portlet组件能够彼此协作并能整合在一个门户中,从而实现门户之间的协作集成。