Portal技术综述.docx

上传人:b****6 文档编号:8600536 上传时间:2023-02-01 格式:DOCX 页数:18 大小:393.33KB
下载 相关 举报
Portal技术综述.docx_第1页
第1页 / 共18页
Portal技术综述.docx_第2页
第2页 / 共18页
Portal技术综述.docx_第3页
第3页 / 共18页
Portal技术综述.docx_第4页
第4页 / 共18页
Portal技术综述.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Portal技术综述.docx

《Portal技术综述.docx》由会员分享,可在线阅读,更多相关《Portal技术综述.docx(18页珍藏版)》请在冰豆网上搜索。

Portal技术综述.docx

Portal技术综述

Portal技术综述

从上世纪八十年代起,随着个人计算机(PC)的发展,企事业单位逐步建立起计算机应用系统来处理传统事务。

从简单的单机应用逐步发展到局域网系统,进而建立跨地区垮国家的广域网系统。

从单纯的以科学计算和数据管理为主的系统逐步发展成综合的信息处理系统和办公自动化系统。

从九十年代起随着互联网的普及,企事业单位的计算机应用系统也进入了互联网时代,以Web网站为核心的面向全球的信息系统正在广泛建立。

在企事业单位内部的各种信息系统逐步发展完备的情形下,新的问题新的需求逐步浮现出来:

各种信息系统自成一体,使用和维护成本增大;信息资源不能共享,数据一致性维护的成本太高;用户需要多次重复登录进入不同系统,操作繁琐,工作效率受限;用户不能按需获取信息定制内容;现有系统缺少用户之间的协作支持等等。

因此,如何将各阶段建立起来的各式各样的信息系统资源重新整合,即把一个个的信息孤岛有效地联结起来,通过一个“港口”简便进出,正在成为信息系统深化发展的首要问题。

Protal(门户)技术的出现,带来了解决这些问题的良方。

Portal以用户为中心,提供统一的用户登录,实现信息的集中访问,集成了办公商务一体的工作流环境。

利用Portal技术,可以方便地将员工所需要的,来源于各种渠道的信息资料集成在一个统一的桌面视窗之内。

根据Portal提供的定制功能,部门主管可以为本部门人员量身定制一套特有的信息门户,将部门共同所需信息有效地组织在统一的Web浏览器之中,并可根据人员级别和职能来设定相应的访问操作权限。

早在九十年代中期就有人提出了Portal的概念。

最初出现的是像Yahoo这类的互联网服务商的Portal网站,后来出现了一些行业性Portal网站。

早期由于没有相关的标准规范,Portal网站技术五花八门,产品功能和品质参差不齐,因而难以获得人们的认可,Portal技术的应用,Portal网站的发展出现过短暂的停滞。

随着Web技术的广泛应用和Web相关标准的逐步完善,特别是在2003年获得业界通过的两个标准——JSR-168和WSRP为Portal的发展确立了方向,更是随着SOA理念的实际化使得Portal愈加火热起来。

一、Portal架构

(一)Portal和Portlet概念

“Portal”一词在英语中解释为“入口,大门”,中文翻译为“门户”。

在Sun的Portlet技术规范JSR-168(JavaSpecificationRequest168)中定义为:

Portal是基于Web的应用,通常提供个性化,单点登录,整合不同资源的综合信息展示平台。

Portal展现在最终用户面前的是类似于Web网页的Portal页面,也许有些Portal主页制作的更像是一个桌面系统的界面,更能获得用户的认可。

构成Portal页面的是能够建立和展现不同内容的一系列Portlet。

Portal使用Portlet作为可插拔用户接口组件,提供信息系统的表示层。

Portlet是部署在特定容器内用来生成动态内容的可重用Web组件。

Portlet处理从Portal传递来的用户请求,动态生成输出内容的一个片段,展现在Portal页面的某个位置上。

Portlet的主要特点:

Portlet是基于Java技术的Web组件。

由专门的容器管理Portlet。

Portlet用于生成动态内容。

Portlet只生成标记片段,并不产生完整的Web页面。

由Portal负责将Portlet片段整合成完整的Portal页面。

Portlet不直接捆绑到URL。

Web用户通过Portal同Portlet进行交互。

Portlet具有预定义的模版和视窗状态。

Portlet容器是Portlet的运行环境,它负责管理Portlet的生命周期,保存Portlet的定制信息。

通俗的讲,Portlet容器就是Portlet组件工作的管理器,这一点类似于Servlet容器和Servlet之间的关系。

(二)Portal结构

Portal是一个Web页面,它由一个或若干个Portal页面组织而成。

而每个Portal页面又是由一个或若干个Portlet窗口构成的——Portlet是以窗口的形式出现在Portal页面里。

如图1所示是一个Portal页面结构的示例,有四个Portlet窗口。

 

Portlet窗口由两部分构成:

其一是外观,包含有标题条、窗口控制和边框样式;其二是内容,即Portlet片段。

图2显示了Portal服务器、Portlet容器以及Portlet之间的关系。

(三)Portal组成架构

Portal系统一般由Portal服务器、支持Servlet的Java应用服务器或Web服务器、数据库服务器、LDAP服务器组成,此外还可以加上身份认证和访问控制服务器(IdentityServer或AccessManager)等。

前面所说的Portlet容器通常是打包在Portal服务器中的。

有的Portal系统可以工作在具有Servlet容器的Web服务器上,但多数Portal要求在Java应用服务器上运行。

如LiferayPortal既能在Tomcat(Servlet容器+Web服务器)上使用,也可以在JBossAS(Java应用服务器+Web服务器)上运行,而JBossPortal只支持JBossAS的Java应用服务器。

通常,Portal的定制信息是保存在数据库中的,几乎所有的Portal系统产品需要数据库管理系统的支持。

LDAP服务器主要用在用户管理、身份认证和权限管理上。

有些Portal系统也支持使用数据库来管理用户身份和权限。

为了解决用户单点登录和访问控制问题,也许还要增加这方面的专业服务软件,如IdengtityManager或AccessManager等。

此外,Portal服务器也支持其它应用服务系统的协同工作,比如同电子邮件(Email),网络交谈(Chat),网络会议(WebConference),以及基于LotusDomino的OA系统等直接对接联动。

(四)Portal应用架构

图4是Portal应用的一个示例架构图。

(五)Portal主要功能

1、单点登录(SSO—SingleSign-On):

Portal提供对各种应用系统和数据的安全集成,用户只需从Portal服务器登录一次就可以访问其它应用系统和数据库。

对于安全性要求较高的业务系统,如电子银行、电子交易系统等,通过传递用户身份信息,如数字证书信息、数字签名信息等进行二次身份认证,保证单点登录的安全性。

单点登录既减少了用户在多个应用系统反复登录多次认证的麻烦,更是简化了各种应用系统对用户及其权限的一致性维护管理。

2、资源整合:

能够把各种不同应用的内容聚合到一个统一的页面呈现给用户,实现同应用系统实时交换信息。

能够从各种数据源如数据库、多种格式的文件档案、Web页面、电子邮件等集成用户所需的动态内容。

3、定制与个性化:

能够为不同角色的用户制定不同功能权限的Portal页面。

同时,用户自己也能够按照喜好在规定的权限下定制自己风格的页面和内容,如可以定制Portal页面,取舍不同功能和内容的Portlet窗口,自行布置Portlet窗口的摆放位置,可以对Portlet窗口外观,如标题,图标,颜色等进行个性化设置。

4、协作功能:

为用户提供即时讨论,聊天,论坛,电子邮件以及语音或视频会议等功能。

5、工作流:

支持根据业务处理规则建立起来的工作流任务处理,比如审批流程等待办事宜。

6、信息检索:

从多种数据源检索动态信息资料。

7、客户端:

除了Web浏览器外,可以为PDA和手机提供接口,实现移动接入服务。

二、Portal标准

建立一个以标准为依托的Portal才能很好地保护自己的投资,既便于同现有应用系统连接,也使得同第三方的相关产品更容易接口。

在2003年先后发布的JSR-168和WSRP两大标准为Portal的发展奠定了基础,结束了战国纷争的局面,Portal的发展和应用将会更加广阔长远。

下面介绍几个与Portal紧密相关的技术标准:

1、WSDL——WebServiceDescriptionLanguage

Web服务描述语言。

WSDL是用来描述Web服务和说明如何与Web服务通信的XML语言。

WSDL语言使用XML格式来描述信息的接口、访问格式和处理形式。

WSDL描述信息内容。

2、SOAP——SimpleObjectAccessProtocol

简单对象访问协议。

SOAP是一种在无中心的分布式环境下,应用系统之间交换结构化信息和特定类型的信息所使用的基于XML的轻量级协议。

SOAP允许任何信息对象在任何语言、任何平台上使用多种传输协议实现传输处理。

SOAP定义信息的传输处理。

在Web应用环境中,通常把SOAP同WSDL结合起来,利用HTTP协议实现应用系统之间交换各种类型的信息对象。

3、JSR-168——JavaSpecificationRequest-PortletSpecification

JavaPortlet规范。

JSR-168为业界明确了Portal的定义,制定了Portlet规范标准,从而解决了基于Java的Portal之间,以及同其他Web应用系统之间的互操作性。

遵循JSR-168的Portlet将具有适用于所有Portal服务器和Web应用系统,支持多种类型的客户端,支持本地化和国际化,具备确定的安全性,允许Portal应用程序热部署和重新部署。

4、WSRP——WebServicesforRemotePortlets

远程PortletWeb服务协议。

WSRP定义了Portal和Portlet容器服务之间标准化接口的一个Web服务标准。

WSRP允许在Portal之间或其他Web应用上即插即用,具有互操作性,提供可视化的、面向用户的远程Web服务。

远程Portlet在远程服务器上作为Web服务运行,其服务可以发布到公共的或单位自己的UDDI服务器上。

Portal或其他支持WSRP的应用系统通过UDDI服务来查找并使用远程系统提供的WSRP服务内容。

WSRP的典型应用是把天气预报、即时新闻、股市行情等嵌入到自己的Portal中(在国外有专门的WSRP内容提供商提供这种服务)。

WSRP使用了WSDL定义应用程序的接口,并以SOAP作为通讯标准。

5、其他规范标准

此外还有一些与Portal有一定关联的技术标准,在开发建立Portal应用中将会使用到:

UDDI:

UniversalDescription,DiscoveryandIntegration

JSR-170/283:

JavaSpecificationRequest-ContentRepositoryforJavaTechnologyAPI

JAAS:

JavaAuthenticationandAuthorizationService

LDAP:

LightweightDirectoryAccessProtocol

SAML:

SecurityAssertionMarkupLanguage

BPEL:

BusinessProcessExecutionLanguageforWebServices

三、Portal应用实现

Portal可以从本地或远端获得数据资源:

数据资源可以来自于本地或异地的数据库,应用系统,公共信息内容供应商(RSS,提供新闻、财经信息、天气预报等),Web站点或其他Portal。

此外,Portal还可以提供日历、工作流、电子邮件、论坛、博客、Wiki、即时交谈、电子会议等等协同工作的应用功能。

可见,Portal是一个有别于传统桌面应用和Web网站的全新应用系统,是各种信息处理的集中展现平台,是用户日常工作的综合台面。

显然,建立一个良好的Portal应用需要充分考虑各种应用系统和数据资源的整合问题:

1、现有应用系统和数据资源的利用对能够改造利用的,要开发相应的Portlet组件来重新实现;对不能改造的可以通过链接的方式跳转到这些系统,其中的数据库资源可以采取单纯读取的方式获得;还有些封闭的专业应用系统可能完全无法接入Portal,可以采取定期卸载的方式获得它的数据库资源。

2、新建应用系统的考虑需要以Portal理念进行设计,按照相关标准来开发实现应用功能的Portlet组件,然后集成到Portal系统使用。

3、单点登录与权限管理对于新建应用系统或能够改造的现有应用系统,通过Portlet组件比较容易实现单点登录,进行统一用户认证和用户权限的控制。

当然,对那些安全性要求较高的应用系统还可以在这些系统内部进行二次认证和授权处理。

对那些不能改造的应用系统显然也无法实现单点登录,用户需要重新登录到这类系统,用户管理和权限控制还依赖于这些系统自己处理。

(一)单点登录和权限控制

单点登录是为了方便用户进入多个应用系统,减少用户多次登录,免除用户记忆多套用户名和密码的麻烦。

单点登录涉及到两个问题,一是身份认证,二是权限控制。

身份认证是Portal系统提供访问控制的第一步,即确认用户是谁,能否进入系统。

通常要求用户提供用户名和口令,必要时要求提供用户的数字证书,也可以配合使用IC卡、指纹等验证手段。

权限控制或授权确定一个用户的角色和级别,从而控制用户的访问许可,即决定用户能查阅哪些资料,能进行哪些操作等等。

JavaEE架构采用了基于角色的访问控制策略(RBAC)。

RBAC的基本思想是把对用户的授权划分成两个分配关系,即“用户—角色”和“角色—权限”。

RBAC的好处是便于应用系统的开发,使得程序设计相对独立和透明化,只是在应用系统部署使用时才通过“角色”把“用户”和“权限”关联起来,而且对用户和权限的调整配置容易实施。

用户与角色之间是多对多的关系,即一个用户可以被分配给多个角色,多个用户也可以分配给同一个角色。

角色与权限之间也是多对多的关系,即一个权限可以与多个角色相关,一个角色也可以包含多重权限。

Sun公司建立了具有可堆叠和可插接功能的JAAS框架,为Java应用系统提供安全而灵活的身份认证和授权机制。

如在JBossAS应用服务器环境下,利用JAAS技术,JBossAS提供了几种身份认证模块(使用者也可以自己编写新的身份认证模块),并且可以实现多级认证(堆叠)。

对Web应用和EJB等则通过配置文件定义访问角色和访问方式以实现安全控制。

对没有提供JAAS支持或支持不足的Web服务器或Java应用服务器,使用者需要在自己的应用程序中编写相关代码或模块来支持JAAS实现身份认证和权限管理。

此外还需要考虑不同领域内不同应用之间的信任关系,解决跨越应用系统的身份认证和访问控制问题。

这一点需要用到SAML,Federation或Liberty等技术规范,通过传递用户认证资料取得应用系统之间的认证互信。

专业的Web服务软件公司能够提供比较全面的解决方案,其产品为Web环境下的各种应用提供可靠的身份认证和访问权限管理。

比如Sun公司的AccessManager7.1,Oracle公司的OracleAccessManager10g,IBM公司有TivoliAccessManager(提供用户单点登录)和TivoliIdentityManager(解决访问控制问题),还有BEA公司的BEAAquaLogicEnterpriseSecurity等。

相比之下,开源软件在这方面比较瘦弱,基本上没有专门的软件产品,只能提供一定的支持方案。

例如通过对JBossAS和Tomcat做一些配置,可以支持使用耶鲁大学的CAS实现单点登录功能,也能够实现JAAS来获得用户身份认证和对应用资源的访问控制。

这样,建立在JBossAS和Tomcat之上的应用如JBossPortal,LiferayPortal和ApacheJetSpeed当然也就具备了这些功能了。

在用户管理、身份认证和权限控制方面,无论是商业的或开源的Portal产品多数喜欢采用LDAP,当然也有的支持使用数据库。

LDAP的好处一是它可以方便的按类别存储任何类型的数据信息;其二,它的树形存储结构类似于一个企事业单位的组织架构,容易对应;三是它同应用系统接口容易,各个LDAP产品的接口都一致无需特别配置;四是它对数据信息的访问安全控制方便;五是它偏向于相对固定数据信息的查询使用,效率较高,维护也方便。

(二)Portlet开发

建立Portal应用系统的主要任务之一就是设计各式各样的Portlet组件,实现应用系统的各种功能。

虽然多数Portal系统会附送一些常用的Portlet组件,可以满足一些公共服务需要,但跟本单位工作事务和业务处理相关的大量Portlet组件必须有专门人员进行细致的设计和开发。

Portlet的设计开发有必要遵循JSR-168规范和WSRP标准,以适合各种类型的Portal服务器。

在具体的实现上,也将会用到WSDL、SOAP和UDDI相关技术规范,以便同Web服务应用系统进行信息交互处理。

开发Portlet主要有两种方法,一是借助于Portal产品商提供的可视化的预制开发工具,二是应用Java语言直接编程。

预制开发工具为Portlet开发者提供了许多有益的帮助,如自动产生必要的配置文件,预制了程序代码框架,提供所见即所得编辑和调试环境等等。

但无论如何,Portlet开发的重点是Portlet片段内容的产生和处理,主要以JSP为主配合HTML和JavaScript等网页开发技术,再借用JSF,Struts,Hibernate等框架来简化开发。

Portlet处理信息资料主要有以下三种情况:

1、Portlet在本地直接处理信息资料

Portlet在本地直接同数据库、LDAP或其他数据存储系统进行查询、更新等操作,也可以使用其他Java资源如JavaBean、EJB组件进行交互处理。

2、Portlet访问其他应用系统的Web服务

Portlet需要访问其他应用系统资源时,一般是采用SOAP技术实现对Web服务的请求操作,如图5所示。

3、Portlet访问其他Portal服务

Portal可以把公共的Portlet信息发布到UDDI资源中心,以供其他Portal选择使用。

需要其他Portal提供特定服务的Portal可以通过在UDDI中心查找定位来获取需要的Portlet提供服务(图6)。

此种情况使用了WSRP技术来实现。

(三)Portal定制

1、业务处理

有别于传统的应用系统的开发,开发Portal应用的重点是Portlet,并每个Portlet并不是一个完整的系统而是一个实现特定信息处理功能的Web组件。

因此,如果要把一个传统的应用系统全部转换到Portal来,就需要把原系统进行分解,把每个操作功能重新用Portlet来实现(不一定是一对一的),然后根据系统处理的要求组装到Portal页面上。

用户在使用传统的应用系统时,是从一层层的菜单逐级进入实际操作程序的界面的,操作繁琐,使用不便,容易遗漏。

转入Portal系统后需要简化这种使用方式,把应用系统操作程序制作成的Portlet组件,直接嵌入某个Portal页面上或者按操作类型,时间先后或缓急程度顺序放置在“待办事宜”列表中,提示用户快速处理。

Portal页面的组装即页面布置跟用户的级别和角色有关。

Portal架构员需要根据每项业务的处理流程和每个Portlet的功能,按照每类用户的级别和角色来配置用户的Portal页面。

与用户无关的或无操作权限的Portlet不应该出现在用户的Portal页面上,用户也不能把它添加进来。

对于用户必须使用的Portlet也要限制使用者不能把它从Portal页面中移除出去。

2、协作功能

提供同事之间的协同工作支持是Portal的功能之一。

协同工作主要包括电子邮件、实时交谈(Chat,类似于QQ)、网络会议(语音或视频会议)、维客(Wiki,允许参与者修改讨论的文章)、博客(Blog)、留言等等。

在工作处理中遇到疑问需要向同事了解情况,可以即时开启Chat展开讨论,也可以召开网络会议。

另外可以设计一个手机短信Portlet,把需要尽快处理的事项及时发送短信通知相关人员。

有的Portal产品附带了一些协同工作的Portlet和服务软件,有的需要专门购买,也有开源软件可以免费使用。

3、其他功能

提供诸如信息检索、公告、新闻、日历、通信录等辅助功能以方便工作。

如果连接互联网,还可以获取天气预报,提供证券行情等公共服务。

width="100%"frameborder="0"align="middle"height="500"hspace="0"marginheight="0"marginwidth="0"scrolling="yes"style="background-color:

#f7f7ff;">

Portlet概念

Portlet 是可以提供对基于 Web 的内容、应用程序和其它资源访问的可重用组件。

可通过 portlet 访问 Web 页面、web 服务、应用程序和成为企业组合的内容供给。

公司可以创建他们自己的 portlet 或从第三方 portlet 目录中选择 portlet。

portlet 是打算被组装成更大的门户网站页面,其中同一 portlet 的多个实例为每个用户显示不同的数据。

从用户的角度来看,portlet 是门户网站站点中提供特定服务或信息(例如,提供日历和新闻)的窗口。

从开发者的角度来看,portlet 是可插入的模块,它们被设计成在 Portal Server 的 portlet 容器中运行。

portlet 容器提供了一个运行时环境,在这个环境中实例化、使用和最终破坏 portlet。

portlet 依靠门户网站基础结构来访问用户概要文件信息、参与在窗口和操作事件中、与其它 portlet 通信、访问远程内容、查找凭证以及存储持久数据。

Portlet API 提供了这些功能的标准接口。

portlet 容器不是一个类似于 servlet 容器的独立容器。

它是以 servlet 容器上的瘦层的方式实现的,并重用 servlet 容器提供的功能。

 

下面是典型的事件流程,当用户访问portal页面的时候:

 

²        客户端在验证后向portal发http请求。

²        portal接收请求。

²        portal判断是否有包含请求,并请求包含的动作指向的portlet是和这个portal页面相关联的。

²        如果含有动作的目标portlet,portal发请求给portlet容器去执行相应的portlet的动作。

²        portal通过portlet容器调用portlets,去获得内容片断,这个片断可以包含在portal页面中。

²        portal集合portlets的输出内容到1个portal页面中,并把页面返回客户端。

Portlet产生标记片断。

Portal通常给portlet产生的标记片断加了标题,控制按钮和其他的装饰,这个新的片断叫portlet窗口。

然后portal整合portlet窗口到完整的文件,portal页面。

  

Portlets 运行在portlet容器内。

Portlet容器接收portlets产生的内容。

典型的,portlet容器把portlet内容传到portal。

Portal server根据portlet产生的内容创建portal页面,并传送给客户端,由客户端显示。

 

       客

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1