最近因项目的需要,计划做一个Portal产品。初略地试用了几个Portal产品,看了一堆的关于Portal和JSR168的文章,还不是太明白,但已经有了一些想法和疑惑,恳请熟悉Portal的朋友指点。
首先,我理解Portal产品可以分为两部分。一部分是Web应用,提供了诸如页、布局、主题等功能,能够添加、删除Portlet;另一部分即是Portlet容器,两部分共处于一个Servlet容器中。
而Portlet是一个符合JSR168标准的类,是运行于Portal上的真正代表业务逻辑的部件,负责展现内容、处理请求。
这里有两个疑问:
一是Portal通常是改造了的Servlet容器,例如JetSpeed、LifeRay都对容器作了修改,几个厂商的Portal就更不用说了。为什么Portal不能作为单独的Web应用部署,以便于做到与中间件无关?这个问题可能是因为我还了解得比较浅,没有具体去实现javax.portlet中的接口,希望了解的朋友先指点我一下。
二是根据我目前的了解,Portlet成了最重要的资产,是实现集成的关键,一个Portlet对应着一个业务系统的某部分功能。但现实中这样做似乎不可行,例如Portal要集成财务系统的一个功能,以便于显示当前用户的薪资情况,但薪资的计算有赖于财务系统的数据库和一系列的类,并不容易单独抽取出来形成一个Portlet。
我目前有一个简单的想法:
1、各个系统(假定都是J2EE吧)将需要集成到Portal中的功能做成一个小的JSP页面(不妨称之为伪Portlet),这个小页面和业务系统处于同一个容器,根据不同的用户和请求参数输出不同的HTML片断。
2、一个类似portlet.xml的配置文件将这些JSP页面注册到Portal,Portal根据portlet.xml中提供伪Portlet的列表,用户从中选择并加入到Portal的页中。
3、用户访问Portal时,Portal将用户凭证(假定类似于Kerberos的票据)、用户对Portlet执行的操作等信息作为参数提交给伪Portlet对应的URL,伪Portlet在业务系统内部运行并返回HTML片断。
4、Portal将同一个页上用户定义的所有Portlet的HTML片段一一展现,并实现拖拽、最小化、删除Portlet、添加Portlet等一系列动作。稍微扩展一些也可以实现Edit、Help、Maximize之类的动作。
按照我上面的想法,似乎也可以很好的集成各个业务系统,实现这样一个伪Portlet的成本比从业务系统抽取逻辑实现一个JSR168的Portlet要小得多,用户的使用感受和JSR 168基本一致。但在这个想法中,实际没有Portlet容器的位置,也不需要Portlet规范,还可以集成AJAX,很容易地实现Portlet的单独更新。那么这个想法有没有人尝试过,具体实现会有什么问题、难点或瓶颈?
分享到:
相关推荐
【WebLogic Portal 8.1 开发 JSR 168 Portlets】是关于使用BEA WebLogic Portal 8.1版本开发遵循JSR 168标准的portlet的实践指南。JSR 168(Java Portlet)规范旨在促进portlet与门户之间的可移植性,确保portlet...
JSR(Java Specification Request)168和286是定义portlet标准的两个关键版本,它们由Java Community Process(JCP)发布,旨在促进portlet在门户环境中的互操作性和可扩展性。 JSR 168是portlet规范的第一个主要...
JSR168和JSR268是两个与Java Portal技术相关的标准,它们主要涉及如何创建和管理可重用的、模块化的Web内容组件,这些组件可以在门户应用中集成和展示。 JSR168,全称为“portlet API 1.0”,于2003年发布,是...
JSR168是Java Community Process发布的一个标准,定义了portlet开发的接口和生命周期,使得portlet可以在任何兼容此标准的portlet容器中运行,例如IBM WebSphere Portal。这样的portlet允许开发者创建可重用、可插入...
根据提供的文件信息,我们可以深入探讨JSR 168(Java Specification Request 168)标准,这是一个关于Portal和Portlet技术的重要规范。该规范主要由Sun Microsystems与IBM共同制定,旨在为Portal应用提供一个标准化...
总的来说,JSR168通过规范portlet的Request和Response对象,定义了一套标准接口,使得portlet可以在不同的门户服务器上无缝迁移。理解和熟练运用这些概念和机制,对于开发可复用、可扩展的portlet应用至关重要。
JSR168,全称为Java Specification Request 168,是Java Community Process(JCP)发布的一个标准,主要定义了portlet技术的接口和行为。这个标准为开发人员提供了一种在Web应用程序中构建可重用、可组合的组件的...
- **公共Portlet功能**:虽然JSR168提供了一些通用功能,但特定于某个Portlet的功能需要单独开发。 - **其他**:还有许多其他方面未在规范中提及,这些方面可能需要根据实际情况进行定制开发。 #### JSR168规范的...
JSR-168,全称为Java Specification Request 168,是Java Community Process(JCP)发布的一个标准,旨在定义portlet容器和portlet应用程序之间的接口。这个标准为开发可重用、可组合的Web组件,即portlet,提供了一...
基于JSR168的portlet精彩范例
JSR168 Portal标准是Java社区制定的一个标准,用以描述如何在门户框架中部署和运行Web组件Portlet。Portlet是一种Web组件,它可以生成动态内容片段,并可作为信息系统的一部分。了解JSR168 Portal标准首先需要了解...
本压缩包里含有了开发一个jsr168 portlet所需要的软件 本想包含jetspeed2.0的安装程序的,可是最多智能上传10M <br>从环境配置讲到开发步骤。 并表明了很多注意的地方 本包适合初学portlet的人使用
JSR168,全称为Java Specification Request 168,是Java Community Process发布的一个标准,旨在定义portlet的API,以便在门户服务器中构建可...了解和掌握JSR168,对于构建灵活、高效的企业级Web解决方案至关重要。
标题中的"使用jsr168标准开发portlet"是指基于Java Specification Request (JSR) 168标准来创建portlet应用程序。JSR 168是Java社区进程(Java Community Process)提出的一个标准,旨在规范portlet在企业级portlet...
**JSR168与Portlet标准详解...总结,JSR168是Java世界中关于portlet的重要标准,它定义了一套统一的接口和行为,促进了portlet的跨平台复用。通过理解和应用JSR168,开发者可以构建更加灵活、高效的企业级Web门户应用。
1. **jsr168plugin.jar**:这是核心插件文件,包含了实现JSR 168 Portlet Project Creator功能的类和方法。开发者可以通过安装此插件,使Eclipse具备创建JSR 168 portlet项目的功能。 2. **plugin.xml**:这是...