




已阅读5页,还剩66页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分类号密级 UDC编号 研究生院 硕士学位论文 一种面向 MVC Web 框架的 Portlet 桥接设计与实现章晨指导教师许舒人副研究员软件研究所申请学位级别硕士学科专业名称计算机软件与理论论文提交日期 2011-04-26论文答辩日期2011-06-02 培养单位软件研究所学位授予单位 研 究 生 院 答辩委员会主席 II一种面向 MVC Web 框架的 Portlet 桥接设计与实现摘要门户可以将各种异构应用和数据资源集成到同一用户界面下,并根据用户或 角色的不同,形成个性化访问页面,进而实现信息的有效传递和共享。门户作为 信息集成与发布的有效手段已经获得了广泛的认可。企业为了满足自身业务的需求而不断推出不同的业务系统,如电子商务系统、 办公自动化系统、企业资源管理和财务管理系统。但是由于各个系统之间互相孤 立,数据分散,形成了一个个“信息孤岛”。集成现有的应用系统成为门户中间 件平台的一个重要目标。门户中现有的集成方式,如首页集成、工作流集成,可以将已有的应用集成 到门户中。但是这些方式不够灵活,表现在对于 Web 应用,不能将已有的业务 逻辑和界面表现同时方便地集成到门户中。虽然 JCP 社区提出了 JSR 301 规范, 支持 JSF 框架的 Portlet 桥接,将 JSF 应用集成到门户中,但是对集成的应用系 统类型有很大的限制。面对企业中不同类型的应用系统,缺少一种较为通用的解 决方法。本文针对 MVC Web 框架的特性以及门户中应用集成的实际需求,提出了一 种面向 MVC Web 框架的 Portlet 桥接,一方面支持多种 Web 框架;另一方面在 不改变原有应用系统的前提下,将该系统集成到门户环境中。通过分析和比较 MVC Web 框架和 Portlet 之间的工作原理以及运行环境,总结出桥接过程中必须 解决的三个关键问题:请求处理、URL 地址改写以及运行环境上下文的适配。 为解决以上问题,本文设计了两阶段的请求处理方式,定义了 URL 地址的改写 规则以及设计了上下文的适配器。在此基础之上,给出了 Portlet 桥接的分析与 设计。基于本文给出的 Portlet 桥接设计,在自主研发的企业门户 OncePortal 中实 现了 JSF、Struts 两种具体桥接,并通过应用实例验证 Portlet 桥接的有效性,实 现对 Web 应用系统的无缝集成。关键词:门户,Portlet,应用集成,MVC,桥接,框架I中国科学院软件研究所硕士学位论文AbstractDesign and implementation of MVC web framework-oriented Portlet BridgeFan Wei (Computer Software and Theory) Directed by Xu ShurenAbstractPortal enables the aggregation of interactive interfaces of heterogeneous applications, services and data resources as components on the same web page. It permits the adaptation of contents, structure and/or presentation of applications to each individuals characteristics, thereby enabling the efficient and effective information transmission and sharing. Nowadays, Portal technology is widely recognized as a common solution for information integration and publishing.In order to satisfy requirement of the business, there are more and more application systems, such as the E-Commerce system, OA system, the enterprise resource management and financial management system. The mutual isolation between each system formed lots of information islands. Integration of existing application system becomes an urgent requirement of Portal middleware.The current solutions delivered to integrate information resource into Portals are not flexible enough, because they cant reuse the business logic and presentation style at the same time for Web Application. Although a new Portlet Bridge specification JSR301 was proposed by Java Community Progress (JCP) to solve deep integration, it aims to integrate JSF web applications, which limits the variety of web applications and couldnt meet the requirement of enterprise integration.With the extensive development of MVC Web framework and the integration requirement of Web applications based on them, this paper proposed a portlet bridge framework to support MVC web framework. On the one hand, it supports multiple web frameworks based on MVC pattern, on the other web applications could be integrated into portal without modifying source code. Comparing and analyzing the model between MVC Web Framework and portlet, propose three key problems: request handling, URL rewriting and the adapting of context. To solve these proble- ms, we design two-phase request handling, define the rules of URL rewriting and design the adapter of context between Portlet and Web applications. Based on this, we give the analysis and design of Portlet Bridge.The implementation of Portlet Bridge is given on OncePortal, which is based on the above analysis and design. The results have been applied to a portal middleware product OncePortal developed by Institute of Software, Chinese Academy of Sciences.Keywords: Portal, Portlet, Web Integration, MVC, Bridge, FrameworkIII中国科学院软件研究所硕士学位论文目录目录摘要IAbstractIII目录V第一章 引言11.1 研究背景11.2 论文主要工作21.2.1 Web 框架和 Portlet 的关联性分析21.2.2 Portlet 桥接分析与设计31.2.3 OncePortal 中 Portlet 桥接的实现31.3 论文组织3第二章 门户与应用集成52.1 Portal 简介52.1.1 Portal 概念52.1.2 Portal 功能和特点52.1.3 Portal 体系结构62.2 Portlet 简介82.2.1 Portlet 概述82.2.2 Portlet 规范82.2.3 Portlet 与 Servlet92.3 门户下的应用集成92.3.1 应用集成介绍92.3.2 应用集成的方法研究102.3.2.1 浅层集成102.3.2.2 深度集成112.3.3 应用集成方法的比较142.4 本章小结16第三章 Portlet 与 MVC Web 框架的关联性分析173.1 MVC 模式介绍173.2 Web 框架的分析183.2.1 JSF 框架183.2.2 Struts 框架213.2.3 Web 框架的分析比较253.3 Portlet 模型分析263.4 关联性分析283.5 本章小结29V第四章 Portlet 桥接的分析与设计314.1 Portlet 桥接的总体需求314.2 桥接的核心功能需求324.2.1 处理 Portlet 请求324.2.2 适配上下文环境334.2.3 重写页面内容344.2.4 管理偏好属性354.2.5 管理应用部署信息354.3 Portlet 桥接的总体结构以及设计原则354.4 核心模块的设计374.4.1 请求处理模块374.4.2 URL 重写模块384.4.3 上下文处理394.4.4 偏好管理模块404.4.5 部署信息管理模块404.5 本章小结40第五章 OncePortal 的 Portlet 桥接实现415.1 OncePortal 系统框架415.2 OncePortal 中 Portlet 桥接的结构425.2.1 Portlet 桥接的接口及其桥接 Portlet425.2.2 application 包435.2.3 preference 包445.2.4 context 包445.2.5 util 包455.3 具体桥接的实现465.3.1 JSF 桥接465.3.2 Struts 桥接475.4 应用案例485.4.1 JSF 应用集成485.4.2 Struts 应用集成495.5 本章小结50第六章 结束语516.1 工作总结516.2 进一步工作52附录 1 Portlet 桥接的部署描述符 Schema . 错误!未定义书签。 参考文献59发表文章目录61致谢 . 63 VI中国科学院软件研究所硕士学位论文第一章 引 言第一章引言本章介绍论文的研究背景、主要工作和论文的组织。1.1 研究背景门户(Portal)的原意是正门、入口。在计算机领域,门户是指访问各种信 息资源的入口,它最早是用来指代新浪、搜狐等提供综合性新闻访问入口的公 共门户网站。在企业的信息化过程中,门户的概念得到了进一步的扩展。企业 信息门户 EIP1(Enterprise Information Portal)的概念是传统的门户概念在企业 内部的延伸,企业信息门户以企业运营的相关业务信息为主,其对象是企业的 员工以及供应商、销售商等与本企业密切相关的用户。它是一个构建、运行和 维护企业信息门户的支撑系统,它提供了面向表示层的开放集成框架。通过其 提供的系统服务和相关工具,Portal 可集成企业的数据资源和应用系统,使得 企业员工可以一站式地访问各种信息和各业务系统。根据每个用户使用特点和 角色的不同,Portal 提供个性化的访问页面,从而实现灵活、有效、集成的交 互工作环境。本文中的门户,即 Portal,指的是企业信息门户与门户中间件。 门户通常由门户服务器(Portal Server)、门户组件容器(Portlet Container)、门户组件接口(Portlet API)和底层服务支持组成。门户服务器提供门户对外的访问入口,接收客户端的请求,对请求进行分析,根据门户页面的组成向 Portlet 容器请求 Portlet 处理,在 Portlet 请求处理后,门户服务器得到 Portlet 形成的标 记片段,并将其聚合形成完整的门户页面呈现给用户。门户组件(Portlet)是面向用户界面的可插拔 Web 组件。它是由 Portlet 容 器提供生命周期管理,并基于门户服务器提供具有插拔特性的页面组装能力。 Portlet 根据用户请求产生标记片断,供门户进行页面内容的聚合。Portlet 1.0(JSR 168)规范2定义了 Portlet 的行为描述,特别是与 Portlet 容器之间的操作接口。 Portlet 有各种不同的数据来源,可以是本地或者远程 Web 网页,也可以是数据 库数据,同时还可能是应用程序。通过集成显示多种 Portlet,Portal 可以在同一 界面中为用户提供多种不同来源的内容展示。在信息化建设过程中,企业为了满足自身业务的需求而不断推出不同的业 务系统,大部分是 B/S 结构的 Web 应用系统,如:电子商务系统,办公自动化 系统,企业资源管理和财务管理等系统。但是由于没有一个统一的规范和整合, 各个系统之间互相孤立,数据分散,从而形成一个个“信息孤岛”。企业门户作 为一个统一的信息平台,能够以更好的方式来对企业信息系统进行采集、传递、 查询、分析和管理,对企业的内部的应用系统进行有效的利用,并通过与企业 内原有系统的集成,一站式的访问企业中的各种应用信息系统,大大提高企业3内部的运作效率。集成企业中已有的应用系统已经成为门户的核心功能之一。应用集成,就是将一些独立开发的应用系统集中到一起并让它们在统一的 平台提供服务。应用集成对于企业门户的成功实施、对遗留系统的合理利用都 具有极其重要的意义。现有门户对应用集成的实现方式有很多种,如链接引用、首页集成、工作 流集成以及 JSP Page Flow 集成主要针对 Web 应用资源,而特定功能集成和功 能包装集成主要针对数据资源。然而以上的集成方式都存在自己的缺陷,例如 首页集成方法重用了已有应用的部分表示层功能,而特定应用集成和功能包装 集成方法则仅仅重用了已有系统的业务逻辑,它们在一定程度上实现了应用在 门户中的统一展现,但是都不够灵活,不能可视化地将所需内容片段的业务逻 辑和界面同时集成到 Portal 中,没有实现已有信息资源与门户的深度集成。深 度集成是指将应用系统以黑盒的方式封装为 Portlet,并仅使用 URL 请求进行访 问的集成方式3。通过门户环境中信息资源的深度集成,可以简化 Portlet 逻辑 层和表示层开发的复杂性,从而大大提高已有系统中各种资源的重用性。为了解决深度集成的问题,JCP(Java Community Process)于 2009 年发布 了支持 JSF(JavaServer Faces)的 Portlet 桥接规范4JSR 301,将 Portlet 和 JSF 两个框架进行会话同步、环境上下文的映射,建立了具体的请求处理流程, 完成两个框架之间的桥接,提供了集成 JSF Web 应用的方法。虽然此规范还处 于草稿版本,但是很多门户提供商已经更新门户中间件来提供对此规范的支持。 但是规范定义的桥接模型紧耦合于 JSF Web 框架,仅仅支持 JSF Web 应用的集 成。而集成 Struts,Spring 等其他 MVC Web 框架开发的 Web 应用时,门户提供 商需要单独开发 Struts 桥接和 Spring 桥接,增加了开发工作量和开发难度,这 样限制了 Portlet 桥接的通用性和灵活性。1.2 论文主要工作本文从应用集成以及门户实际需求出发,对应用系统的 Web 框架与 Portlet 之间运行环境的关联性进行分析,设计并实现了面向 MVC Web 框架的 Portlet 桥接,主要完成以下工作:分析 MVC Web 框架与 Portlet 的运行环境以及两者 的关联性;确定 Portlet 桥接的核心功能需求,给出 Portlet 桥接的体系结构设计; 研究 Portlet 桥接的关键技术;给出了 JSF、Struts 桥接在 OncePortal 中了的具体 实现。1.2.1 Web 框架和 Portlet 的关联性分析Web 框架在实现过程中大多数遵循 MVC 的架构模式。通过对 MVC 的原理 分析,比较了两种典型 MVC Web 框架在实现上的异同点,总结了 MVC Web 框架在请求处理、呈现页面的机制上的共同点;通过 MVC 模式分析 Portlet 实 现原理以及运行过程。在 Portlet 和 Web 框架之间,总结了两者之间的差异:请 求处理、URL 改写、环境上下文,通过实现一种桥接来屏蔽两者之间的这些差异,为一个较为通用的桥接设计打下基础。1.2.2 Portlet 桥接分析与设计本文提出了面向 MVC Web 框架的 Portlet 桥接,通过对 MVC 框架的共同 点分析,Portlet 桥接的核心功能模块包括请求的处理、上下文环境的适配、URL 地址的重写、偏好属性管理和部署信息管理。根据 Portlet 与 Web 应用的部署结 构来看,Portlet 桥接包括门户到 Web 应用的入口点,所以交互的对象包括 Portlet 容器、Web 框架的运行时环境以及 Portlet。基于以上的分析,Portlet 桥接包括 请求处理模块、上下文管理模块、URL 重写模块、偏好属性管理和部署信息管 理。1.2.3 OncePortal 中 Portlet 桥接的实现基于 前面 的 关 键 技术分析与设计, 开发了 JSF、 Struts 在 门户 中 间 件 OncePortal 中的具体实现。首先介绍了 OncePortal 系统框架,其次给出了 Portlet 桥接实现的包结构,并对各个包的功能实现进行介绍。然后基于 Portlet 桥接的 设计,对于两种框架的具体实现分别进行了详细介绍。1.3 论文组织本文的章节按如下方式组织:第二章首先介绍了 Portal 的基本概念和 Portal 的系统结构,其次介绍了 Portlet 的基本概念,讨论了 Portlet 和 Servlet 之间的异同点。接着介绍应用集成 的相关性研究,对应用集成的方法进行分析和比较。第三章首先介绍了 MVC 模式的基本原理,分析 Portlet 模型和 Web 框架模 型,以及两者在运行时的关联性,从运行时环境以及 Web 框架请求响应处理的 实现方式上进行适配,提出面向 MVC Web 框架的 Portlet 桥接及其在应用集成 中的需求。第四章从应用集成的需求出发,分析 Portlet 桥接的核心功能,给出了 Portlet桥接的系统结构以及每个模块的设计,并对 Portlet 桥接的关键技术进行了研究。 第五章介绍 Portlet 桥接在门户中间件 OncePortal 中的具体实现。首先介绍了 OncePortal 的系统框架和桥接中各个模块设计以及关键技术,然后对 JSF、Struts 桥接进行具体的实现。 第六章对全文的工作进行了总结,并对进一步研究提出了展望。中国科学院软件研究所硕士学位论文第二章 门户与应用集成第二章门户与应用集成本章首先介绍了 Portal 的基本概念和 Portal 的系统结构,其次介绍了 Portlet 的基本概 念,讨论了 Portlet 和 Servlet 之间的异同,接着介绍门户中应用集成的相关性研究,分析和 比较现有的应用集成方法。2.1 Portal 简介2.1.1 Portal 概念Portal 包涵了很多软件方面的概念和定义。需要从不同的角度来分析,以 比较全面的理解 Portal。Portal 是一个框架,包括运行时服务器、服务、工具和许多其他特性, 使用这些特性将企业信息资源集成到可自定义界面的 Portal 系统中2。Portal 是一个基于 Web 的应用系统,是一个 B/S 结构的软件,所有的数 据和信息都由 Portal 服务器来管理。用户可以通过浏览器获取这些信息。Portal 是一个集成系统,企业利用它的集成功能将各种来源的组件、应 用程序、流程和内容组合到统一的表示界面,使这些应用协同工作。用 户可以从广泛的设备访问该系统显示界面。概括的说,Portal 是为用户提供单一入口,使用户能够根据用户或工作角 色、安全需要、设备设置、个人首选项和管理设置来自定义,提取存储在企业 内部和外部的信息,从而便于进行商业决策的应用程序;它是融合了商业智能、 内容管理、数据仓库/集市、数据管理等一系列用于管理、分析、发布信息的软 件程序5。2.1.2 Portal 功能和特点门户作为企业的信息和应用接入点,在企业的业务和信息流程中起到了如 下的作用6:首先,门户对企业内部来说是管理和查询日常业务的公用平台, 员工可以访问企业的客户、销售、生产、库存、财务等信息,以最低的成本共 享和利用企业的所有信息。其次,门户对外是企业网站,通过门户及时向客户 和合作伙伴提供产品、服务的信息,开拓新的网上业务,推动企业走进电子商 务。通过门户,企业能够释放存储在内部和外部的各种信息,同时使企业员工、 客户和合作伙伴能够从单一的渠道访问其所需的个性化信息。通常认为,门户应该具有的关键功能包括7:1)单一的访问方式。所有的用户都可以通过单一的入口访问他们所需要的 信息。单一访问方式需要单点登录功能的支持。单点登录(Single Sign On,简 称 SSO)是应用集成领域的一个重要概念,它提供一个统一的机制用于管理用 户的认证,可以在用户的授权下在应用系统间按照某种规则共享认证信息,并29代替用户来完成一些具体的登录工作,其目的是允许用户仅仅通过一次登录就 可以访问到多个应用。对于一个实现了单点登录功能的门户系统,当用户成功 登录到门户之后,如果要访问门户后台的某个集成应用,门户可以代替用户自 动完成在该应用上的登录验证过程,不需要用户输入任何信息,从而实现了单 一的访问方式。2)信息集成和应用集成。门户系统可以集成企业现有的、各种不同来源的 信息资源和企业应用,用户通过门户可以方便地访问到这些信息和应用。3)个性化。每个用户都可以定制自己的个性化访问页面,这一页面只包含 用户希望访问到的信息。同时,用户还能够设置信息及页面的访问风格以满足 自己的偏好需求。4)内容管理能力。基于对企业内外各种类型信息的处理能力,门户支持几 乎各种结构化和非结构化的数据。5)多种信息发布方式。门户可以有多种不同的发布信息的方式,用户可以 通过浏览器来访问企业信息,也可以通过手机、PDA 等其他无线的接入方式来 访问这些信息。6)可扩展性。能适应企业新的人员和部门调整的变化,满足企业业务调整 和扩展的要求,解决企业与 IT 部门短时间内无法解决的技术需求问题。7)安全可靠的保障。门户可以提供的安全机制包括认证、角色分配、用户 和组的授权、用户操作监督等,通过这些机制控制用户对信息和应用的访问, 保证数据的机密性及完整性,使企业业务流程正常运转。从上面所描述的特点可以看出,门户能够超越现有分散的应用环境实现企 业信息和业务集成的目标。它把原来不同的内部部门的分割、不同的企业内外 的分割,通过系统的集成使其相互关系连接到一起,形成统一的、广泛的和相 互关联的企业应用环境。2.1.3 Portal 体系结构门户通常架构在 Web 服务器或者 Web 应用服务器的基础之上,以网页的 形式来发布各种信息和应用,它可以访问各种不同来源的数据,集成各种企业 应用。门户由如下这几部分组成2:门户服务器(Portal Server)、门户组件容器(Portlet Container)、门户组件接口(Portlet API)和底层服务支持。门户的体 系结构如图 2-1 所示。在门户的系统架构中,门户服务器是一个运行在应用服务器之上的 Web 应 用程序,用来处理用户的门户页面请求。当门户所架构的 Web 服务器接收到门 户用户对于页面的请求后,它将其请求转交给门户服务器。门户服务器接收到 这一请求后,通过底层管理模块,访问到这一请求所包含的用户的注册信息及 其所请求页面的注册信息。从中分析出页面所包含哪些 portlet;然后它将用户 请求消息分解为对这些 portlet 的请求消息,转发给 portlet 容器执行;随后从portlet 容器获取到 portlet 响应(页面片段);最后根据页面注册信息中的 portlet 的布局情况,组装这些内容,并加上标题,导航,页角,颜色,皮肤等附加部 分,构造成完整的门户页面形成完整的响应返回给用户。图2-1门户体系结构图门户组件容器为 Portlet 组件提供运行时环境,管理 Portlet 组件的生命周期, 并为 Portlet 组件的偏好设置提供持久化服务。它控制 Portlet 运行,接受来自门 户服务器的 Portlet 请求,然后通过 Portlet API 接口调用相应的 Portlet 组件以获 取响应,并保存 Portlet 运行时的上下文环境。目前有 Portlet 规范2和 WSRP 规 范 25,规定了 Portlet API 接口。在门户环境下,应用程序以 Portlet 的形式进行组织。在 JSR 168 规范中, Portlet 是一种基于 Java 技术的、可插拔的 Web 组件,在门户中由 Portlet 容器 进行管理,用以执行容器转来的 Portlet 请求并完成动态内容生成,返回一段页 面片段。Portlet 可以有不同的数据来源,既可以是本地或者远程网页,也可能 为数据库,同时还可能为应用程序;portlet 可以是由开发者开发的完成特定功 能或业务逻辑的组件亦可是对已有资源的包装。通过集成显示多种 Portlet,门 户可以在同一界面中为用户提供多种不同来源的内容显示。门户的底层服务提供门户运行的支撑,包括但不限于如下几个部分:(1)用户及相关的角色、用户组、安全控制管理:负责存储、管理访问门 户的用户及信息,包括角色和所在用户组等,并记录用户的访问权限;(2)注册信息访问:负责记录和获取门户中的注册信息,这些信息包括门 户的主题、布局、客户端类型定义、信息格式定义等;(3)缓存机制:对用户所访问网页的内容或者 Portlet 返回的内容进行缓 存,提高执行效率,减少响应时间以获得更好的用户体验;(4)页面管理:针对用户及其拥有的角色得到展示的页面内容并对用户个 性化的页面进行存储和管理;(5)日志管理:记录、管理门户服务器运行期间的各种信息、警告、错误 等日志记录;(6)portlet 管理:对部署在门户中的 portlet 组件的定义及实体信息等进行 管理。2.2 Portlet 简介2.2.1 Portlet 概述Portlet 为服务提供组件化的用户界面标记片段,通过聚集组件产生的界面 标记片段形成完整统一的门户用户界面。在面向服务的体系构架中,应用系统 并不是整体式的,而是通过编配独立的服务形成。在表现形式上 Portlet 为页面上的小窗口。实际上,每一个 Portlet 就是一个 完整的 Web 应用。Portlet 的开发、部署、管理和显示都是完全独立的,不受其 他 Portlet 的影响。一个 Portlet 可看作一个处理特定业务逻辑的组件。由于 Portlet 的这种独立性与功能性,使得 Portal 用户能够方便地配置符合自己要求的页面, 提高信息采集与概括的效率。2.2.2 Portlet 规范随着越来越多企业门户的出现,不同的供应商都根据自己的标准开发了各 自的门户组件接口,即 Portlet 接口。这些互不兼容的接口给应用提供商、门户 客户和门户提供商带来了各种问题。为了解决这些问题, JCP 组织发布了 Portlet1.0 规范(JSR 168),从而提供了不同门户和 Portlet 之间的互操作性。Portlet 规范基于 Java EE 规范,它定义了整合不同信息数据来源和底层应 用的 Portlet API,描述了 Portlet 与 Portal 之间的相互作用、Portlet 的生命周期 及一些安全性、用户定制、Portlet 显示管理等方面的信息,提供了统一的接口 定义。基于规范完成的 Portal 将成为一个通用性好、适用性强的系统,可兼容 任何符合 Portlet 规范的 Portlet,提高了 Portlet 应用的复用性,促进了 Portal 产 品的发展。Portlet 规范的主要目标如下:1) 定义 Portlet 的运行环境,即 Portlet 容器(Portlet Container);2) 定义 Portlet 容器与 Portlet 组件之间进行交互的 API;3) 为 Portlet 组件的临时数据和持久数据提供一种存储机制;4) 为 Portlet 组件提供访问并包含 Servlets 和 JSP 的机制;5) 为 Portlet 组件提供打包机制,以方便进行部署;6) 允许 Portlet 组件在所有满足 JSR168 规范的 Portal 间的移植;7) 利用 WSRP(Web Services for Remote Portlets)协议实现远程 Portlet。2.2.3 Portlet 与 ServletServlet9是基于 Java 技术的 Web 组件。Servlet 容器对 Servlet 进行管理,并 生成动态内容。Portlet 和 Servlet 有相似之处,但不尽然相同,所以 JCP 将 Portlet 定义为一个新的组件,同时为 Portlet 定义了新的明确的界面与行为。为了尽可 能地重用 Servlet 的基础架构,Portlet 规范尽可能地采纳 Servlet 标准中的内容, 包括部署、类的载入、Web 应用、Web 应用生命周期的管理、会话管理和请求 分发。许多概念和 Portlet API 的部分都是根据 Servlet API 构建的。将 Portlet、Servlet 和 JSP 组合到一个扩展的 Web 应用中,被称为 Portlet 应用。在同一个 Portlet 应用中,Portlet、Servlet 和 JSP 共享类装载器、应用上 下文和会话。Portlet 和 Servlet 的相似之处如下: 都是 Java 技术的 web 组件都需要在各自特定的容器中运行都可以动态产生显示内容生命周期由组件容器管理和客户端的交互通过请求/应答(request/response)机制2.3 门户下的应用集成2.3.1 应用集成介绍应用集成是指将一些独立开发的应用系统聚集成一个协同工作的整体。门 户作为一种表示层集成技术,主要采用基于前端的集成策略。它通过页面组装 和个性化等技术实现对多个系统、应用和数据资源在表示层的集成。从技术层 面上看,一个门户的集成能力是通过门户所支持的 Portlet 的应用集成方法体现 的。通过应用集成的方法构造 Portlet 对于门户同样十分重要。这是因为,在经 过多年的信息化建设后,目前企业中已经存在大量的采用浏览器/服务器模式的 业务应用系统,如 OA、ERP、CRM 以及 Internet 站点等 Web 系统。这些系统 由于涵盖了企业的业务功能,从而至关重要。此外,Internet 自身也已经成为一 个巨大的信息和应用仓库,为企业的日常运作提供了大量有用的资源。因此, 门户应该提供对这些资源的重用能力,即能够以较低的成本,将这些资源转化 为 Portlet,从而集成在门户中使用。已有信息资源的重用对于门户来说非常关键,应用集成已经成为当前对门户最迫切的需求。这是因为:在大多数企业中,重要的业务内容分散在种类繁多的各种内容管理及 存储系统中,这些系统包括 Web 站点、文件系统、数据库等。企业必 须使这些内容在整个企业中可用,以便能够做出更好的决策、同企业 员工之间进行沟通、共享最佳应用以及避免重复建设等。企业内部可能存在大量的遗留应用系统,这些应用系统种类繁多,开 发的时间跨度可能有数十年,由于 IT 技术发展较快,早期的应用和现 有的应用之间的差别非常大,相互之间进行通信非常困难,形成一个 个“信息孤岛”。而很多遗留系统仍然在处理企业的一些关键数据,因 此企业不能丢弃这些系统8。为了改善用户使用感受以及促进企业发展,企业需要为员工和客户提 供各种各样的相关信息和内容,例如新闻事件、天气、媒体对本企业 的报道,等等。在很多情况下,如此之多的内容企业本身无法采写和 编辑,而只能利用企业内部和外部已有的资源进行编辑发布,这些资 源主要集中在 Web 应用系统和企业的数据库中。基于上述的因素,企业在部署信息门户 Portal 之后便需要开发大量 Portlet 应用,以便整合和利用已有的企业资源。然而由前两节对 Portal 和 Portlet 规范 的介绍可以看出,用户要开发自己的 Portlet,就必须对 Portlet 规范非常熟悉, 并且需要同时开发应用界面和业务逻辑。虽然主要的 Portal 供应商都提供了自 己的 Portlet 开发指南,然而对于程序员来说这仍然是一项艰苦而复杂的工作, 尤其是页面层的开发23。由此想到,如果能将需要包装成 Portlet 的应用系统进行分类并建立一个比 较通用的集成框架,那么就能方便的对内容加以集成,大幅度地减小开发 Portlet 的工作量,进一步发挥门户整合和共享资源的作用。现在门户已经有多种方式 集成已有应用系统。2.3.2 应用集成的方法研究门户中应用集成方法可以划分为浅层集成和深度集成两种方式3。浅层集 成方法仅仅是在门户中提供对 Web 应用的访问链接,应用本身与门户基本不存 在联系。深度集成方法是将已有 Web 应用转化为 Portlet,集成到门户中,并且 使其能够作为复合应用构造的基本单元。本节按照此分类对应用集成方法分别 进行介绍。Web 应用系统的集成方式有链接引用、首页集成、工作流集成以及 JSP Page Flow 集成等。2.3.2.1 浅层集成1.链接引用这是最简单的集成方法,通过标签在门户的 Portlet 片段添加需要集 成的应用链接。当用户在门户页面点击该链接后,将打开一个新的浏览器窗口,并在此新窗口中获得对应用的访问。应用窗口与原门户页面所在窗口除链接外, 不存在任何联系。例如在很多 Portal 中的书签 Portlet 就是采用了链接引用这种 方式,参见图 2-2。图2-2书签 Portlet 示例2.首页集成将应用的首页集成到门户页面中,也称为“Web 裁剪”。在 Oracle Portal 和 IBM Websphere Portal 的门户集成开发环境中已经提供了这类工具。这种方法相 当于在门户页面中为应用开了一个窗口,因此,门户页面中的主题、皮肤等表 示层设置可以修改该应用的展示。另外,门户中的用户配置文件的信息可以作 为初始参数传递到应用,达到简单的个性化效果。但是在这种方式下,用户每次都只能从应用的首页开始浏览,有时候用户 需要访问的内容的地址在比较深的位置,而且只是一个片断的内容,但此时用 户仍需要一个比较繁琐的浏览过程。门户通常提供的另外一个重要功能是单点登录,使得用户只需要登录一次 就可以无缝的访问企业中已经授权的各种应用系统。在单点登录应用中,主要 的也是集成了应用的登录欢迎页面,一般情况下也是首页。用户访问应用的时 候每次看到的都是一个相同的应用首页。2.3.2.2 深度集成1.工作流集成工作流集成是指 Portal 服务器通过一个工作流系统实现对业务系统的访问。 在这种方式下,工作流系统或业务流程管理系统通过某种方式(通常情况下为 适配器),实现同各种不同类型的应用或业务系统的数据交换,而 Portal 服务器 只需要实现同工作流服务器的接口即可间接地达到对后台业务系统的访问。目前业界领先的 Java EE 应用服务器厂商,如 SAP19、IBM20、Oracle21 等都是以平台的形式推出自己的解决方案。平台中通常包括 Java EE 应用服务 器、业务流程集成服务器以及 Portal 服务器等。通过所有这些服务器产品提供 一个从开发、集成、部署到访问的全过程的完整解决方案。在这种情况下,一 般都通过工作流系统或业务集成服务器实现对后台业务系统的集成。通过这种方式实现在 Portal 中对业务系统的集成,与直接同后台业务系统 通信实现集成主要有两点不同:首先由于通过流程服务器实现间接通讯,因此这种集成往往是大粒度,侧重流程的;其次,在这种集成模式中,除了需要考 虑业务系统的数据外,也要考虑 Portal 同工作流系统或业务流程管理系统的通 信的接口。2.JSP Page Flow 集成在 Oracle 的 Weblogic Portal 中提供了这种功能。严格来说,它并不是通常 意义上所说的应用集成。所谓 Page Flow 是指通过图形化的方式,在多个 JSP 页面间建立流程转向关系,从而合并成一个应用,而这个应用又进一步可以在 Portlet 中进行引用。这种集成方式主要用于重用目前已经存在的 JSP 页面,通过一定的流程逻 辑将它们连接起来,并可以通过图形化的方式灵活地更改。通过这种方式,可 以比较简单的实现几个 JSP 页面之间的跳转,通常这种跳转如果由程序员来完 成会显得比较麻烦。JSP Page Flow 集成的示意图参见图 2-3 所示。图2-3JSP Page Flow 集成示例3.特定应用集成这种情况下 Portlet 与业务系统直接通信来实现对该业务系统的访问。这种 集成方式主要针对在某一领域使用广泛的软件,如 OA 领域中的 Lotus Notes; 或者遵循特定标准的应用,如数据库系统等。该方法中需要针对应用提供或者遵循的接口,开发相应的应用适配器。通 过适配器开发相应的 Portlet 实现对该应用的访问,从而达到对系统的集成,如 图 2-4 所示 Portlet 从 Lotus Notes 中获取日志服务的配置信息。在这种方式下的数据访问可以是双向的,即在 Portal 中不仅可以查看业务 系统的数据,也可以实现对这些业务数据的更新。图2-4日志服务配置 Portlet需要指出的是,由于应用系统的数据资源类型比较多,而且比较分散,因 此已有的门户系统基本都是针对一些常见的应用内置特定的 Portlet,或者是提 供开发手册,由用户自己去开发所需的 Portlet。4.功能包装集成这种方式下主要是基于 WSRP 规范进行远程 Portlet 应用功能的集成。远程 Portlet Web 服务 (Web Services for Remote Portlets,WSRP)25是 OASIS 创建的 Web 服务标准,它允许在门户或其他中间 Web 应用程序中提供可视化的、即插 即用的、面向用户的 Web 服务。WSRP 的集成如图 2-5 所示。UserProducerUserConsumer (Portal)Produce
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基础强化自考专业(市场营销学)试题带答案(基础题)
- 2025年度精密仪器委托生产合作协议
- 2025年旅游景区场地租赁合同补充协议范本
- 2025成都个人车辆租赁合同示范文本
- 2025年度水电安装工程结算与支付合同范本
- 2025版互联网+教育项目投资协议书
- 2025版商用净水设备租赁与环保责任保险合同
- 2025大厦环保材料装修工程招标合同
- 2025版高尔夫球场租赁及配套设施使用合同
- 2025版人力资源和社会保障局0001号企业退休人员管理服务合同
- 浙江省火力发电企业名录2019最新版
- 国际贸易理论与实务ppt课件(完整版)
- GB∕T 6546-2021 瓦楞纸板边压强度的测定
- 历史选择性必修1 国家制度与社会治理(思考点学思之窗问题探究)参考答案
- 学前儿童发展心理学(第3版-张永红)教学课件1754
- 中职《机械基础》全套课件(完整版)
- 保监会保险机构高级管理人员任职资格考试题库(附标准规范答案)
- 部编人教版九年级语文上册教学计划及教学进度表
- 干法——稻盛和夫
- 抗裂砂浆检测报告
- 案例华为人才盘点
评论
0/150
提交评论