Portlet概念
Portlet 是可再用的 Web 模块,它们在门户网站服务器上运行并提供对基于 Web 的内容、应用程序和其他资源访问。公司可以创建他们自己的 portlet 或从第三方 portlet 编目中选择 portlet。portlet 是打算被组装成更大的门户网站页面,其中同一 portlet 的多个实例为每个用户显示不同的数据。
从用户的角度来看,portlet 是门户网站站点中提供特定服务或信息(例如,提供日历和新闻)的窗口。从应用程序开发者的角度来看,portlet 是可插入的 Web 模块,它们被设计成在门户网站服务器的 portlet 容器中运行。
portlet 容器提供了一个运行时环境,在这个环境中实例化、使用和最终销毁 portlet。portlet 依靠门户网站基础结构来访问用户概要文件信息,参与在窗口和操作事件中,与其他 portlet 通信,访问远程内容,查找凭证,以及存储持续数据。Portlet API 提供了这些功能的标准接口。portlet 容器不是一个类似于 servlet 容器的独立容器。它作为 servlet 容器之上的一个薄层实现,并重用 servlet 容器提供的功能。通过提供以下两个 portlet 容器,WebSphere Portal 支持两个不同的 Portlet API:基于 org.apache.jetspeed.portlet 接口的 IBM Portlet API 和基于 javax.portlet 接口的 JSR 168 Portlet API。这两种 portlet 都可以放在门户网站页面上。但是,portlet 不能将这两个软件包中的类和方法相混合。
页面上的每个 portlet 都负责以标记段的格式提供其输出,以集成到门户网站页面。门户网站负责提供有关每个 portlet 的标记。例如,门户网站可以提供 HTML 格式的标记,该标记为每个 portlet 给定具有最小化、最大化、帮助和编辑图标的标题栏。
Portal实施的重点难点
Portal网站通过共享,主题和皮肤文件来实现网站的风格统一,我们的网站采用tiles来实现了网站界面的风格统一,这样改到Portlet上面是比较方便的,但是对美工提出了更高的要求,因为它的文件里面使用了大量的IBM自定义的标签。
Portlet的拆分问题,每个 portlet 封装为独立的 WAR 文件。这对开发者很方便,因为每个 portlet 都可以单独更新,类似于插件的思想。然而,这种方法对内存有负面影响,因为每个 portlet 都被封装为独立的 EAR 文件,而在 WebSphere Portal 中,每个 EAR 文件都有自己的会话上下文。如果我们的网站首页有十个 portlet,这就导致首页有十个会话上下文。每个会话上下文都是内存密集型的,这意味着十倍以上的内存将被分配,以容纳每一个会话上下文,其他页面同。
原有代码的移植问题,以前我们的网站运行在WAS 6上面,现在需要运行到WAS5.1上面,需要按着was5.1的J2ee标准进行重新的封装。
Struts 是一个流行的开放源代码开发框架,它提供了一种便利的方式,可以用于将模块化的应用程序清楚地分解成逻辑、表示和数据。IBM WebSphere Portal 包含内置的 Struts Portlet Framework,使得 Struts 能够继续普及到门户应用程序。本文将展示可以如何使用 Struts Portlet Framework 来迁移现有的 Struts 应用程序并将其部署到 WebSphere Portal 中
利用Portal来实现个性化的定制需要发布一个portal的应用,然后Portal的第一层是页面,页面上面运行Portlet,针对不同的登录用户展示不同的Portlet来实现个性化的功能,每一个Portlet其实是一个EAR文件。
我们的网站开发的流程
第一、 ; ; ; ; ; ; ; ; ; ; ; ; ;
规划,针对不同的用户需要让他看到哪些内容,这一块是首要的工作,这块作不出来无法进行下一步的工作,本块需要会议确定或者由业务专家进行确定。
第二、 ; ; ; ; ; ; ; ; ; ; ; ; ;
分工,开发主题和皮肤,由美工完成。开发Portlet,用软件设计人员来完成。Portal的内容管理,用专人来维护,本块需要遵循尽量复用以前代码的原则,把以前的代码移植到Portlet里面来。
第三、 ; ; ; ; ; ; ; ; ; ; ; ; ;
发布、测试,本块由软件的测试人员,以及Portlet的管理人员共同完成。
实现的细节
个性化定制
个性化定制实现的原理是用户的权限划分,用户分为不同的组,组可以分配权限,权限可以细化到页面和Portlet,页面在定制的时候可以把Portlet分到页面上去,也就是说用户的权限可以从两个级别进行划分,可以到页面级别,也可到Portlet级别,即如果用户有对页面的访问权限但是没有portlet的访问权限则用户也不能看到页面上的该Portlet。
我们把Portlet的开发完成后,把Portlet添加到页面上去,然后可以定义该页面的皮肤和外表(美工开发完成),Portlet的风格也可以自定义。注意Portlet的宽度可以手工调整,但是它的高度是不可调的。
单点登录
单点登录是通过凭证保险库来实现的,绝对的安全,简单的代码即可实现。
主题
可以把一些公用的东西提取出来放到主题里面,比如网站的Log、我们网站的探路者搜索引擎。
窗口的名字
Portlet的标题就是窗口的名称。
服务器安装
我们的网站的运行环境是WAS6.0.1,Portal5.0.1自带的Was5.1如果把Portal安装到was6.0.1上面不可以使用Was6.0.1的新功能。
分析总结
综上所述我们要通过Portal来实现个性化定制,需要学习的就是IBM的具体API和标签库的使用,还有它的基调、主题、外表的设计,在设计部署的框架上不存在什么难度。
作者:宋传芳(原创) 如果引用请注明出处:http://badboyryan.niwota.com
posted on 2006-07-24 08:37
坏男孩 阅读(575)
评论(0) 编辑 收藏 所属分类:
新知识学习