谈笑有鸿儒,往来无白丁

在恰当的时间、地点以恰当的方式表达给恰当的人...  阅读的时候请注意分类,佛曰我日里面是谈笑文章,其他是各个分类的文章,积极的热情投入到写博的队伍中来,支持blogjava做大做强!向dudu站长致敬>> > 我的微博敬请收听

Portlet概念

Portlet 是可再用的 Web 模块,它们在门户网站服务器上运行并提供对基于 Web 的内容、应用程序和其他资源访问。公司可以创建他们自己的 portlet 或从第三方 portlet 编目中选择 portletportlet 是打算被组装成更大的门户网站页面,其中同一 portlet 的多个实例为每个用户显示不同的数据。

从用户的角度来看,portlet 是门户网站站点中提供特定服务或信息(例如,提供日历和新闻)的窗口。从应用程序开发者的角度来看,portlet 是可插入的 Web 模块,它们被设计成在门户网站服务器的 portlet 容器中运行。

portlet 容器提供了一个运行时环境,在这个环境中实例化、使用和最终销毁 portletportlet 依靠门户网站基础结构来访问用户概要文件信息,参与在窗口和操作事件中,与其他 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.1J2ee标准进行重新的封装。

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.1Portal5.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)  编辑  收藏 所属分类: 新知识学习

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问