论文部分内容阅读
Portal在J2EE的应用中同益广泛,Portlet是Portal的重要组件,Portlet是一个WEB组件,是基于WEB内容和企业应用功能的封装体。Portal开发人员使用Portlet发布企业信息,并集成企业的应用系统。在开发Portlet发布信息时,开发人员希望多个Portlet能够协同响应用户的请求,减少的用户的操作次数,这就要求Portlet之间能够共享数据。企业门户进行应用集成的关键是解决应用间的交互问题,因此要求Portlet之间能够实现互操作。在Portal中,每个Portlet的数据都是单独维护的,不同的Portlet之间难以共享数据和交互,因此需要解决Portlet的通信问题。 Portlet之间的通信是Web应用程序之间的交互,与一定的企业业务相关联。Portlet协作是一组Portlet协同响应用户的请求,是一种重要的Portlet通信方式,它把通信和业务处理相结合。Portlet协作包括三个方面:定义协作流程,Portlet之间进行消息传递,Portlet处理接收的消息。 本文提出了一个Portlet协作模型,并根据这个模型分析了各种类型的协作的特征。当前的Portlet1.0规范难以支持Portlet协作。基于Portlet协作开发人员的需求,我们分析和设计了一个Portlet协作框架。这个框架兼容Portlet1.0规范,支持业务流程定制,有较好的扩展性。 基于这个Portlet协作框架,我们在自主开发的企业门户ONCEPortal中实现了Portlet协作框架的原型。该原型在ONCEPortal的基本服务层增加了2个服务:协作服务和协作注册服务。协作服务解决了Portlet之间的通信问题,协作注册服务提供了协作流程的存储和加载的开发接口。征对不同类型的协作,我们给出了2种不同的通信机制下的Portlet协作方式。 本文还提出了一种Observer-Mediator设计模式,并对线程池的设计和实现进行了探讨。