`
xiaoyaocao
  • 浏览: 276403 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

【转】portal和portlet开发的认识

阅读更多

虽然是以前的一篇文章,不过,知识不是过时的,特别是最近html5的火热发展,还是拿出来给大家分享一下,希望对于正在研究Portal和做Web开发的朋友能有所帮助。

通过这一段时间的学习,自己从对portal和portlet一无所知,变得对其逐渐有所认识。特总结如下,供大家参考。

一.关于Portal

     什么是portal?Portal 一词是在 Internet 的发展中提出来的,原意为“门户网站”即是人们上网后想要访问的第一个网站,例如雅虎、搜狐这类网站。在这个阶段, Portal 还是作为一个面向广泛群体的信息平台,把人们所需要的各种信息(或者访问这类信息的途径)聚合在一起,是一个信息集中平台。很快企业应用中也开始采用 Portal 这个概念,根据 Portal 在企业应用中的不同作用,业界对 Portal 有着不同的定义如企业信息门户、知识门户、专业门户、应用门户等等。随着时间的推移,业界对 Portal 的定义趋向一致,也就是在 JSR168 对 Portal 的定义

    Portal作为web一种应用,通常用来提供个性化、单次登录、聚集各个信息源的内容,并作为信息系统表现层的宿主。聚集是指将来自各个信息源的内容集成到一个web页面里的活动

1. Portal的功能可以分为三个主要方面:

A. Portlet容器:Portlet容器与servlet容器非常类似,所有的portlet都部署在portlet容器里,portlet容器控制portlet的生命周期并为其提供必要的资源和环境信息。Portlet容器负责初始化和销毁portlets,向portlets传送用户请求并合成响应。

B. 内容聚集:Portlet规范中规定portal的主要工作之一是聚集由各种portlet应用生成的内容,我们将在“如何创建Portal页面”部分对此做进一步讨论。

C. 公共服务:portlet服务器的一个强项是它所提供的一套公共服务。这些服务并不是portlet规范所要求的,但portal的商业实现版本提供了丰富的公共服务以有别于它们的竞争者

2. 在大部分实现中都有望找到的几个公共服务有:

A. 单次登录:只需登录portal服务器一次就可以访问所有其它的应用,这意味着你无需再分别登录每一个应用。例如一旦我登录了我的intranet网站,我就能访问mail应用、IM消息应用和其它的intranet应用,不必再分别登录这些应用。 

B. Portal服务器会为你分配一个通行证库。你只需要在mail应用里设定一次用户名和密码,这些信息将以加密的方式存储在通行证库中。在你已登录到intranet网站并要访问mail应用的时候,portal服务器会从通行证库中读取你的通行证替你登录到mail服务器上。你对其它应用的访问也将照此处理。

C. 个性化:个性化服务的基本实现使用户能从两方面个性化她的页面:第一,用户可以根据她的自身喜好决定标题条的颜色和控制图标。第二,用户可以决定在她的页面上有哪些portlets。例如,如果我是个体育迷,我可能会用一个能提供我钟爱球队最新信息的portlet来取代股票和新闻portlets。

3. Portal的三个特点

A. Personalization (个性化):用户自己定制自己所需页面        

B. Single sign on(单点登陆):一处登陆,处处通行        

C. Content aggregation(内容聚合):不同来源的信息整合到一个页面   

         如图,是一个一般portal门户的应用。                                           

    

           而我们的门户(指我当时所在的项目)的最主要功能是实现集成。主要是把十个子系统和五个应用系统集成到XX项目的门户主页中。在门户中,通过点击不同的系统菜单(如下图),

 

进入不同的子系统中。具体是实现可以基于LADP。我们采用Portal系统独立存在的LDAP,由这个LDAP验证Portal系统用户的合法性,一旦验证通过,用户就登录进Portal系统。然后用户在给定权限的各个业务系统Portlet中存储在各个业务系统中的用户信息,Portal系统会统一管理这些信息,然后自动到各个业务系统的用户信息库中校验,一旦通过校验,该portlet就能显示业务系统的授权信息。

二.关于portlet

           什么是portlet?通俗来说,Portlet就是一个Portal门户上面的一个一个子窗口。从用户的角度来看,Portlet 是门户网站站点中提供特定服务或信息(例如,提供日历和新闻)的窗口,而从应用程序开发者的角度来看,Portlet 是可插入的模块,它们被设计成在门户网站服务器的Portlet 容器中运行。

    如下,就是一个简单的portlet:

 

            

             

在我们这个项目中,主要是把几个子系统及其相关应用封装成一个个的portlet,然后添加到portal中,进行统一的布局管理。现在的主要问题就是,怎样把不同的子系统封装成portlet,这需要首先给不同的子系统定义一定的接口规范,然后才有利用以后的改造封装。

Portlet的开发主要使用Rational Application Developer。在这个工具上使用开发出portlet以后可以发布到Webspher Portal Server 上。

 

三.关于Portal主题与皮肤开发

            Portal的主题与皮肤开发说穿了还是普通jsp的开发,只不过大量使用了ibm自带的标签库,开发起来显得比较麻烦。但是,如果您深刻洞悉了与主题、皮肤相关的这几个文件之间的调用关系,使用起来就能运用自如了。IBM WebSphere Portal 使用不同的 Java Server Page(JSP)、级联样式表(Cascading Style Sheet,CSS)和图像来显示门户页面。它使用位于X:\WebSphere\AppServer\installedApps\YourComputerName \wps.ear\wps.war 目录下 themes、skins 和 screens 目录中的 JSP 来构造门户页面。这些目录中的每一个都包含 html、wml 和 chtml 子目录,WebSphere Portal 将它们用于服务不同客户机,例如桌面浏览器和移动设备。

1、Default.jsp:

所有屏幕聚集都从 Default.jsp 开始。用于缺省主题的 Default.jsp 位于wp_root\app\wps.ear\wps.war\themes\html。这个 JSP 包含其它用于显示标题、公司徽标、工具栏的 JSP 以及用于往可用位置及页面植入内容的 JSP。在 Default.jsp 的末尾处,screenRender JSP 标记选择被请求的屏幕(例如 login 或 forgotpassword)。以下介绍的jsp是以这样的顺序先后调用的。

2、Head.jsp

Head.jsp 生成标题并嵌入指向样式表文件的链接。它还定义了支持 BIDI(双向)文本所需的变量。这个 JSP 的内容将在这里描述。您也可以通过<title></title>在这里定死portal网站的标题,这比IBM公布的以标签的方式写来的容易,也更易使用。如果您开发了多套主题,而且这几套主题的page title如果也一样的话(除了虚拟门户,一般是这样子),您可以把这几个文件放到themes/html的根目录下,其他主题的default.jsp都来调用这个文件就可以了。

 

3、AdminLinkBarInclude.jsp

        AdminLinkBarInclude.jsp主要用来显示了“新建页面”、“编辑页面”、“分配页面许可权”三个标签

4、ToolBarInclude.jsp

ToolBarInclude.jsp 显示欢迎消息以及为用户提供的链接工具栏。门户网站上显示什么样的链接工具栏取决于用户上下文。例如,登录的用户看到“我的门户网站”、“管理”(尽管理员可见)、“编辑我的‘概要文件’”、“注销”等之类的链接;而注销的用户看到 “忘记密码”、“登录”、“帮助” 之类的链接。

5、PlaceBarInclude.jsp

PlaceBarInclude.jsp用来显示一级菜单,即“首页”、“文档管理器”、“公司概况”、“业务简介”等,属于最高层的目录,您在任何一个一级菜单上都可以通过“新建页面”来创建二级菜单,你创建的内容将被存储到数据库(原始使用的是cloundscape),您也可以把它倒入到db2、oracle等任何一个portal所支持的数据库中,此内容将在我的下一篇文章中详细论述,这里不再一一提及。

6、PageBarInclude.jsp

用来显示二级菜单,当您点击一级菜单中的任一标签时,系统会调用该文件,并检索出该菜单的所有子菜单,默认显示在PlaceBar的下面。

 

 

        以上皮肤开发.基于Websphere Portal6 .0 版本,而对于现在IBM提供的Portal7.0 还在学习中。总体来说,Portal7的皮肤开发主要是在几个页面中进行配置部署实现,但是,有些具体模块的实现,如果能有专业人士的指导,可能会事半功倍。毕竟,在黑暗中摸索着前进,前进的脚步是很缓慢的。

本文出自 “风泊海上” 博客,出处http://fengbohaishang.blog.51cto.com/5106297/989144

分享到:
评论

相关推荐

    基于Portal和Portlet技术的Web整合应用研究与实现

    基于Portal和Portlet技术的Web整合应用研究与实现基于Portal和Portlet技术的Web整合应用研究与实现基于Portal和Portlet技术的Web整合应用研究与实现基于Portal和Portlet技术的Web整合应用研究与实现

    portlet开发参考手册

    常见的portlet portal实现有IBM WebSphere Portal、Liferay Portal和Oracle WebCenter等。 portlet开发中还需要关注的主题包括: 1. **内容和视图管理**:portlet可以动态地提供和更新内容,支持多种视图模式,如...

    portlet开发指南

    ### Portlet开发指南知识点概述...总之,Portlet开发涉及许多复杂的概念和技术,包括但不限于Portlet的生命周期、请求处理、会话管理以及与Portal框架的集成。掌握这些基础知识对于成功地开发高质量的Portlet至关重要。

    portal开发portlet的一些知识

    图片路径的写法 &lt;IMG &gt;/testportlet/images/mark.gif"&gt; (renderRequest.getContextPath()+"&gt;"&gt; 其中renderResponse.encodeURL表示编码。目录结构截图: 。。。 。。。

    portal portlet 主题 皮肤 开发 安装

    本文主要探讨如何在Websphere Portal 6.1.5环境下进行portlet主题和皮肤的开发及安装。 首先,安装Websphere Portal的前提条件包括对服务器进行适当的配置。这涉及到以下几个关键步骤: 1. **服务器配置**:安装前...

    Jboss portal开发环境的搭建以及HelloWorld portlet的开发和发布

    总结,搭建JBoss Portal开发环境并创建HelloWorld Portlet涉及了多个步骤,包括环境配置、项目创建、代码编写、打包和部署。这只是一个简单的示例,实际开发中可能需要处理更复杂的业务逻辑和集成其他服务。了解并...

    portlet-1_0-fr-spec.rar_java portal_jetspeed_portal_portlet_门户

    本主题主要关注Java Portal技术,特别是通过Jetspeed Portal和Portlet标准进行的开发。下面我们将深入探讨这些概念及其相关知识点。 1. **Java Portlet API**: 标题中的"portlet-1_0-fr-spec"指的是Java Portlet ...

    portlet开发以及相应的工具包,如何与tomcat整合

    Liferay SDK提供了用于创建portlet项目的模板和库,包括构建工具(如Maven)和开发环境集成(如Eclipse插件)。IBM WebSphere Portlet Factory则提供了一种可视化的方式,通过拖放界面设计portlet,减少了编码工作。...

    IBM portlet开发指南

    #### 什么是Portal和Portlet Portal是企业信息门户的简称,它提供了一个集中的平台,通过它可以访问各种信息资源和应用程序。Portlet是Portal页面中的一个区域,它可以被理解为是一个Web组件,用于构建Portal页面的...

    Liferay Portlet 开发文档

    Liferay Portlet开发文档是一份全面介绍Liferay Portlet开发的指南,内容涵盖了Portal的概念、Portlet的定义以及JSR 286(Java Specification Request 286)规范。文档强调了Liferay作为一款开源企业级门户网站解决...

    Portlet开发指南

    通过以上对Portlet开发关键知识点的详细阐述,我们可以看到,Portlet开发不仅涉及到对标准API和框架的熟悉,还需要深入理解Portal环境的特性和用户需求,才能构建出高效、稳定且用户体验良好的Portlet应用。

    基于Oracle AS Portal下的Java Portlet开发.pdf

    Oracle AS Portal通过PDK - Java为Java开发者提供了一个强大的工具集,使得他们能更高效地开发和集成Portlet到门户系统中。Portlet可以是多页面的,也可以利用如Struts这样的框架进行更复杂的业务处理。通过这种方式...

    portlet开发高层设计

    - **开发环境**:开发者需要熟悉Java开发工具,如Eclipse,并且需要配置支持JSR168的portlet容器,如Liferay或Websphere Portal Server。 1.3. **缩略语、名词定义** - Portlet:portlet应用程序组件。 - JSR168...

    门户、portal、portlet

    在IT行业中,"门户"(Portal)、"portlet"和权限控制是构建企业级信息系统的关键概念。门户是一种集成了多种信息和服务的入口,它允许用户在一个统一的界面上访问和管理各种应用,提供个性化定制和一站式服务。...

    liferay portlet开发参考手册

    《Liferay Portlet开发参考手册》是温兵先生编著的一本专为开发者设计的指南,旨在帮助读者深入了解和熟练掌握Liferay Portal平台上的Portlet开发技术。Liferay Portal是一款开源的企业级内容管理平台,而Portlet是...

    WebSphere Portal 6.1 Portlet隐藏 和 动态Title实现

    在IT领域,WebSphere Portal是一款由IBM开发的企业级门户服务器,它允许组织创建、管理和集成各种Web内容和服务,提供统一的访问入口。本篇将详细探讨"WebSphere Portal 6.1"中Portlet的隐藏及动态Title实现,这对于...

Global site tag (gtag.js) - Google Analytics