虽然是以前的一篇文章,不过,知识不是过时的,特别是最近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整合应用研究与实现
websphere portal 7.0 portlet开发最新版本
图片路径的写法 <IMG >/testportlet/images/mark.gif"> (renderRequest.getContextPath()+">"> 其中renderResponse.encodeURL表示编码。目录结构截图: 。。。 。。。
portal portlet 主题 皮肤 开发 安装
门户、portal、portlet权限控制实现方案
一个关于portlet开发的使用手册,非常实用。。。。
IBM:registered: Portal Toolkit 4.1 是 WebSphere:registered: Studio Application Developer(以下称为 Application Developer)的一个插件,它使您能够在一个集成的开发环境中开发和调试 portlet。Portal Toolkit...
基于Oracle AS Portal下的Java Portlet开发.pdf
portlet开发以及相应的工具包,如何与tomcat整合相应资料
基于jetspeed的portlet开发探讨,供大家学习参考!!!!
portal portlet 主题 皮肤 开发
portlet资料 portlet开发指南 portlet开发手册
portal门户开发,jetspeed的应用及理论讲解
Liferay Portlet 开发文档, 比较全的开发介绍,了解PORTLET 的应用和基本开发, 熟悉Lifery IDE 开发。
liferay portlet 开发的例子介绍
portlet 开发 详细开发pdf 文档 十分详细的开发文档
NULL 博文链接:https://caerun.iteye.com/blog/420376
Support For Liferay 5.2.3 & Web space 10.0 U4 Support For both NetBeans 6.5.x & 6.7 Page Navigation Fix For Visual JSF Portlet