虽然是以前的一篇文章,不过,知识不是过时的,特别是最近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整合应用研究与实现
常见的portlet portal实现有IBM WebSphere Portal、Liferay Portal和Oracle WebCenter等。 portlet开发中还需要关注的主题包括: 1. **内容和视图管理**:portlet可以动态地提供和更新内容,支持多种视图模式,如...
图片路径的写法 <IMG >/testportlet/images/mark.gif"> (renderRequest.getContextPath()+">"> 其中renderResponse.encodeURL表示编码。目录结构截图: 。。。 。。。
本文主要探讨如何在Websphere Portal 6.1.5环境下进行portlet主题和皮肤的开发及安装。 首先,安装Websphere Portal的前提条件包括对服务器进行适当的配置。这涉及到以下几个关键步骤: 1. **服务器配置**:安装前...
总结,搭建JBoss Portal开发环境并创建HelloWorld Portlet涉及了多个步骤,包括环境配置、项目创建、代码编写、打包和部署。这只是一个简单的示例,实际开发中可能需要处理更复杂的业务逻辑和集成其他服务。了解并...
本主题主要关注Java Portal技术,特别是通过Jetspeed Portal和Portlet标准进行的开发。下面我们将深入探讨这些概念及其相关知识点。 1. **Java Portlet API**: 标题中的"portlet-1_0-fr-spec"指的是Java Portlet ...
Liferay SDK提供了用于创建portlet项目的模板和库,包括构建工具(如Maven)和开发环境集成(如Eclipse插件)。IBM WebSphere Portlet Factory则提供了一种可视化的方式,通过拖放界面设计portlet,减少了编码工作。...
#### 什么是Portal和Portlet Portal是企业信息门户的简称,它提供了一个集中的平台,通过它可以访问各种信息资源和应用程序。Portlet是Portal页面中的一个区域,它可以被理解为是一个Web组件,用于构建Portal页面的...
Liferay Portlet开发文档是一份全面介绍Liferay Portlet开发的指南,内容涵盖了Portal的概念、Portlet的定义以及JSR 286(Java Specification Request 286)规范。文档强调了Liferay作为一款开源企业级门户网站解决...
通过以上对Portlet开发关键知识点的详细阐述,我们可以看到,Portlet开发不仅涉及到对标准API和框架的熟悉,还需要深入理解Portal环境的特性和用户需求,才能构建出高效、稳定且用户体验良好的Portlet应用。
Oracle AS Portal通过PDK - Java为Java开发者提供了一个强大的工具集,使得他们能更高效地开发和集成Portlet到门户系统中。Portlet可以是多页面的,也可以利用如Struts这样的框架进行更复杂的业务处理。通过这种方式...
- **开发环境**:开发者需要熟悉Java开发工具,如Eclipse,并且需要配置支持JSR168的portlet容器,如Liferay或Websphere Portal Server。 1.3. **缩略语、名词定义** - Portlet:portlet应用程序组件。 - JSR168...
在IT行业中,"门户"(Portal)、"portlet"和权限控制是构建企业级信息系统的关键概念。门户是一种集成了多种信息和服务的入口,它允许用户在一个统一的界面上访问和管理各种应用,提供个性化定制和一站式服务。...
《Liferay Portlet开发参考手册》是温兵先生编著的一本专为开发者设计的指南,旨在帮助读者深入了解和熟练掌握Liferay Portal平台上的Portlet开发技术。Liferay Portal是一款开源的企业级内容管理平台,而Portlet是...
在IT领域,WebSphere Portal是一款由IBM开发的企业级门户服务器,它允许组织创建、管理和集成各种Web内容和服务,提供统一的访问入口。本篇将详细探讨"WebSphere Portal 6.1"中Portlet的隐藏及动态Title实现,这对于...