聚合用于在客户端环境中使用的portlet而不依赖服务器资源的制作方法

文档序号:7680437阅读:142来源:国知局
专利名称:聚合用于在客户端环境中使用的portlet而不依赖服务器资源的制作方法
技术领域
本发明涉及门户(portal)和portlet的领域,并特别涉及聚合用于在客 户端环境中使用的portlet,而在使用所聚合的portlet时不需要服务器资源。
背景技术
向用户提供因特网或内联网上的基于Web的界面正变成用于散布信息的 普通的商业方法。Web门户和Web portlet的使用正变成向用户提供可定制的 Web内容的优选方法。Web门户是可提供广泛的资源和信息的Web站点或服 务,如电子邮件、搜索引擎、广告、用户专用报告、个性化联系以及任务管 理功能、定制的新闻馈送、本地天气等。Web门户可以包括多个Webportlet。 许多门户允许用户可配置的设置,并且允许用户定制页面布局以适合他们的 偏好。例如,门户用户可以定制门户的布局以选择性地包括/排除用于天气、 电子邮件通知、日历、新闻馈送等的portlet。
包含在门户或聚合网页中的每个portlet是面向用户的组件。Web portlet 通常呈现(render)在portlet容器中,并且可以包括静态内容以及动态内容。 每个portlet可以关联于portlet特定内容源,所述portlet特定内容源可以是不 同于关联于该门户的内容源的源、或是不同于关联于其它portlet的内容源的 源。类似于门户,portlet可以包括用户定制特性,例如,定制天气portlet以 提供用户本地区域的天气预报。
将portlet i殳计为以聚合的方式运行并且不消耗(consume )全部响应或^L 图(view)。也就是说,自然地,portlet总是与其它portlet共享网页。由于此 原因,例如JAVA规范请求(JSR) 168的现有的portlet规范不包括例如使用 URL的直接访问portlet的机制。作为替代,保持至门户应用和其聚合框架的 访问。例如,通过例如JAVA服务器页面(JSP)标签库的标准化库来支持在 网页上聚合多个portlet的基本能力。
传统的Web门户结构仅依赖于门户服务器、或执行portlet服务功能的应 用服务器,以便将portlet内容动态地聚合为由此产生的门户页面,例如门户JSP。为了执行动态聚合,门户服务器利用大量的计算资源,如处理循环、内
存以及带宽。对于每个聚合的portlet,服务器一侧的portlet容器提供服务的 核心集合,以实例化、调用和销毁portlet。门户级别聚合功能管理每个portlet 的输入/输出、门户与每个portlet之间的数据传递、页面级别刷新操作等。
不存在允许客户端在不存在门户服务器的情况下利用 一组portlet的已知 解决方案。例如,当客户端设备缺乏网络连通性时,现有的解决方案不允许 该客户端设备呈现(render)门户。由于越来越多的生产性应用(例如桌面办 公套装)是使用基于Web的技术(例如门户)而实现的,不能在离线的状态 下操作会是主要缺点。例如,如果基于门户的软件解决方案在离线时继续运 行,那么,即使一些功能性降级(即,当客户端离线时,可以自动禁用(disable) 明确地依赖于网络连通性的功能),这也将是有利的。
此夕卜,允许门户在仅客户端的环境(client only environment)中运行将允 许对于缺乏企业信息技术(IT)基础结构(其内通常包括门户服务器)的 小商业来说,缩减为企业开发的基于门户的软件应用。这可以为软件开发者
调节以创建小商业解决方案。此外,允许用于小商业和/或实体的基于门户的 软件解决方案的仅客户端的变化,这允许不需要大量用户再培训的可调整的 升级途径。尽管有这些潜在的优点,但不存在允许客户端在仅客户端的环境 中利用门户的已知解决方案或系统。

发明内容
本发明公开了 一种客户端portlet容器,其允许在仅客户端的环境中利用 门户。也就是说,本发明提供了一种解决方案,其将一组portlet聚合到客户 端可查看的门户页面,而不依赖于例如应用服务器或门户服务器的资源的服 务器资源。网络连接状态或断开状态下的客户端均可以利用该解决方案。本
容器被例如JAVA服务器页面(JSP)文件的聚合网页的标签引用。
在一个实施例中,可以开发聚合网页,其合并被设计用来聚合用户界面 中的多个portlet的自定义(custom)标签、以及基于HTML的数据。这些聚 合网页可以包含自定义标签,其可以被编译,并被展开到客户端portlet容器。 可以配置客户端portlet容器,以本地呈现这些预编译的门户页面。在一个布置中,可以提供可以合并在集成开发环境(IDE)中的工具解决方案,其允许 软件开发者创建包括自定义标签的聚合网页。在另一布置中,可以使用开发
翻译器(translator)工具来从现有的门户配置文件自动生成聚合网页。在另 一布置中,该翻译器工具可以是从门户配置文件自动生成聚合网页的运行时 翻译引擎。
可以根据与这里给出的材料相一致的许多方面而实施本发明。例如,本 发明的一个方面可以包括用于聚合和利用portlet的方法。该方法可以包括识 别客户端环境中的聚合网页的步骤,其中,聚合网页指定门户。可以在聚合 网页中建立至一个或多个portlet的控制链接,每个链接与客户端portlet容器 相关联。可以从portlet页面或portlet应用将portlet内容插入到每个客户端 portlet容器中。可以在客户端环境的浏览器界面中呈现聚合网页。
本发明的另一实施例可以包括portlet处理方法。在该方法中,可以生成 被传递至客户端的预编译的portlet聚合页面。客户端可以呈现portlet聚合页 面的内容,而不依赖于服务器资源。例如,客户端可以使用由该页面引用的 一个或多个客户端一侧的portlet容器来呈现portlet内容。
应当注意,可以将本发明的各种方面实现为用于控制计算设备来实现 这里描述的功能的程序、或用于使得计算设备能够执行对应于这里公开的步 骤的处理的程序。可以通过将此程序存储在^f兹盘、光盘、半导体存储器或任 何其它记录介质中而提供该程序。还可以作为经由载波传递的、数字编码的 信号来提供该程序。所描述的程序可以是单个程序,或者可以;陂实现为多个 子程序,每个子程序在单个计算设备内交互,或者跨越网络空间以分布式方 式交互。
服务代理响应于服务请求而操控的机器执行的方法。


附图中示出了当前优选的实施例,然而,应当理解,本发明不限于所示 的精确布置和手段。
图1是根据这里公开的创造性布置的实施例的、用于在仅客户端的环境 中呈现门户的系统的示意图。
图2是根据这里公开的创造性布置的实施例的、与在仅客户端的环境中
7工作的门户解决方案结合使用的开发工具解决方案的示意图。
图3是图示根据这里公开的创造性布置的实施例的、用于创建能够在客 户端环境中使用的聚合页面的各种解决方案的流程图。
图4是根据这里公开的创造性布置的实施例的方法的流程图,其中服务
代理可以配置允许在仅客户端的环境中呈现门户的系统。
具体实施例方式
图1是根据这里公开的创造性布置的实施例的、用于在仅客户端的环境
110中呈现门户的系统100的示意图。不像依赖于服务器一侧的门户应用和 聚合框架的传统门户实现,系统100允许在客户端环境110中呈现门户。
更具体地,门户引擎114可以接收聚合页面120,其可以是包括嵌入的 标签122的预编译的网页120。这些可以是专用标签122,其用于为其中可以 呈现portlet内容124的专用的客户端一侧的portlet容器115提供控制链接。 浏览器引擎117可以在客户端一侧的界面118中呈现聚合页面120。界面118 可以包括例如具有由聚合页面120指定的布局的portletA、 portletB和portletC。 可以由链接到客户端portlet容器115的特定portlet页面124提供每个 portletA-C的内容。因为客户端环境110可以呈现门户而不需要服务器一侧的 资源,所以,环境110可以在网络140断开才莫式下操:作。
在一个实施例中,模式切换引擎116可以被包括在环境110中,以便使 得系统100能够在连接模式下操作,其中,接收到更新的内容。在连接模式 下,可以从来自网络服务器(Web server) 144的门户页面142,而非从本地 存储的门户页面124,获得portletA-C的内容。portlet页面124可以是上次环 境110处于连接的模式下时从网络服务器124先前获得的本地缓存的页面。 也就是说,当环境110获得页面142时,这些页面142可以自动地耳又代本地 数据存储中先前緩存的页面124。如果至网络140的连接丢失,则可以使用 最近缓存的页面124以提供portlet内容。
在另一实施例中,当处于连接状态下时,模式切换引擎116可以用服务 器130提供的聚合页面136来替换页面120。当完成此时,利用服务器130 的门户引擎134而非门户引擎114。此外,可以从服务器130获得聚合页面 120的内容,从而更新聚合页面120,以匹配在聚合页面136中反映的任何更 新。在另外一实施例中,客户端环境110可以包括内部聚合引擎112,其从门 户配置文件125创建聚合页面126。页面126还可以包括用于客户端portlet 容器115的专用标签122,因此,可以由环境110以与处理页面120相同的方 式来处理。当环境110中包括聚合引擎112时,可以从服务器130间歇地接 收到更新的门户配置文件125,这产生间歇更新的聚合页面126。
如这里使用的,门户引擎114和134 二者均可包括定义特定聚合框架的 一个或多个门户应用。可以为可以是资源有限的环境的环境114定制引擎114 的门户应用和框架。引擎114可以具有以最小处理能力运行的相对小的占用 区(footprint)。相反,引擎134可以具有比其功能相当的引擎114更健壮 (robust)的性能。可以以允许功能性的无缝降级的方式为引擎114和134二 者写代码。也就是说,即使portlet代码可能利用由引擎134提供的、引擎114 不支持的健壮特性,该portlet代码也仍可以在环境110中执行,虽然具有潜 在地减少的特性。
portlet引擎114和134均可以遵循相似的标准。例如,引擎114和134 二者均可以基于JAVA规范请求(JSR 168 )。系统100不限于任何特定门户、 portlet容器标准,而是可以适用于任何规范。例如,引擎114和134可以基 于基于远程portlet Web服务规范(WSRP)的技术、基于.NET平台的技术、 基于SHAREPOINT (共享点)的技术、基于ASP的门户技术、基于PHP的 门户技术等。
此外,与引擎114和134所基于的标准和/或技术无关地,引擎114均可 以与门户服务器134的多种不同的实现兼容。例如,引擎114可以与引擎134 兼容,而不管门户服务器是不是WEBSHPERE APPLICATION SERVER (WEBSHPERE应用月l务器)或WEBSPHERE PORTAL (WEBSHPERE门 户),其二者均是纽约阿蒙克的国际商用机器公司(IBM)的特定门户服务器。 WEBSHPERE门户可以以WEBSHPERE APPLICATION SERVER未实现的附 加特性(例如^笨查(probe) portlet月良务事件)、以及例如属性代理(property broker)事件、portlet服务事件的其它性能、以及其它性能,来扩展JSR168 性能。基于相同的JSR 168的引擎114还可以与诸如BEA WEBLOGIC PORTAL、 LIFERAY、 JBOSS、 PLUTO、 GRIDSPHERE、 UPORTAL等的门 户服务器130实现相兼容。
图2是根据这里公开的创造性布置的实施例的、与工作在仅客户端的环境中的门户解决方案结合使用的开发工具解决方案的示意图。在一个实施例
中,如由界面200所示,可以使用图形软件开发工具200来生成包括用于客 户端portlet容器的标签的聚合页面。工具200可以是集成开发环境(IDE) 的一部分,例如,IBM的RATIONAL APPLICATION DEVELOPER ( RAD )工具。
如所示出的,工具200可以具有画布(canvas) 210,在其上,-没计者可 以拖动GUI控制232和不同的portlet 230。 portlet工具栏230可以包括:没计 者可选择的选项,其指示将由portal.jsp引用哪种类型的portlet容器(客户端 一侧的portlet容器和/或服务器一侧的portlet容器)。经由工具200,显示为 类型I-V的不同类型的portlet可用。设计者可以将不同的portlet拖动到画布 210,并且可以图形化地操:控它们的布局。如所示出的,画布210可以包括正 在开发的入口中的三个不同类型的portlet 220-224。 一旦定义了 portlet容器 220-224, {更可以4吏用工具200来调整容器特性。例如,用户可以为每个portlet 容器指定portlet内容源。不同可用的视图212可以呈现设计布局,源或代码 布局、和/或预览布局。
在由界面240显示的另一实施例中,开发者使用的翻译器可以从门户配 置文件自动生成聚合页面。界面240可以允许开发者选择(242)配置文件。 界面240可以可选地允许用户选择要在聚合页面中包括什么类型(244)的 portlet标签。最后,可以包括可选的按钮246,其基于所选择的(242)配置 文件生成聚合页面。
上面提供的工具解决方案两者均为开发者提供创建可以被传递至客户端 的、例如页面120的预编译的聚合页面的手段。客户端可以是在开发环境中 使用的客户端、或在运行时环境中使用的客户端。例如,工作于portlet的开 发者可以使用客户端一侧的portlet容器来在本地开发其portlet组件。 一旦完 成了初始工作,开发者便可以利用服务器一侧的portlet容器来测试portlet在 在线模式下将如何工作。在一个实施例中,软件开发工具可以模仿或模拟运 行时环境的在线和离线状态。应当理解,仅为了说明性的目的,已经提供了 GUI200和240的布置、布局和控制组件,而这里想到了衍生和改变,并且, 其被视为在本发明的范围内。
图3是图示根据这里公开的创造性布置的实施例的、用于创建可以在客 户端环境中使用的聚合页面的不同解决方案300和330的流程图。解决方案300和/或330可以在系统100的环境下才喿作。
解决方案300图示了工具解决方案,其接受空白JSP文件和一组portlet 作为输入。其产生包含一系列标签的聚合的JSP的输出,每个标签表示portlet 应用。解决方案300可以以被添加了框架内容310的空白门户JSP305开始。 可以使用例如界面200的工具解决方案来添加此内容。也就是说,可以使用 工具解决方案320 (其将portlet添加至JSP )来执行添加portlet的调色板动 作(palette action) 315。可以预编译创建的JSP 325,并且将其展开至呈现所 包括的内容的客户端portlet容器(例如,容器115)。
解决方案330可以表示由聚合引擎112和/或开发翻译工具执行的动作, 例如由界面240所示的。解决方案330接受门户配置文件、 一组portlet以及 可选的空白JSP文件作为输入。当未输入空白JSP文件时,可以自动生成一 个空白JSP文件。解决方案330可以输出包含一系列标签的聚合的JSP,每 个标签表示portlet应用。例如,可以将每个配置文件条目与JSP的标签条目 相关联。在一个实施例中,可以以表^^形式布置标签。如所示出的,可以将 portlet配置文件340传递至翻^^奪引擎345,其为JSP生成器350产生结果。JSP 生成器350可以创建被预编译并展开到呈现所包括的内容的客户端portlet容 器(例如,容器115)的聚合页面355。
图4是根据这里公开的创造性布置的实施例的、其中服务代理可以配置 允许在仅客户端的环境中呈现门户的系统的方法400的流程图。可以在系统 100的环境下执行方法400。
当客户发起服务请求时,方法400可以在步骤405中开始。在步骤410 中,可以选择人类代理(human agent)来响应于服务请求。在步骤415中, 人类代理可以分析客户的当前系统,并且可以开发解决方案。在步骤420中, 人类代理可以配置客户端系统、或软件开发工具,以在客户端环境中使用预 编译的门户。在步骤425中,人类代理可以完成月良务行为。
可以以硬件、软件、或硬件和软件的结合来实现本发明。可以在一个计 算机系统中以集中的方式实现本发明,或者可以以分布式的方式(在其中, 不同的单元散布在几个互相连接的计算机系统中)实现本发明。适用于执行 这里描述的方法的、任何种类的计算机系统或其它装置是合适的。硬件和软 件的典型结合可以是使用计算机程序的通用计算机系统,当加载并执行所述 计算机程序时,所述计算机程序控制计算机系统,以便其执行这里描述的方
ii法。
还可以在计算机程序产品中嵌入本发明,所述计算机程序产品包括4吏得 能够实施这里描述的方法的所有特征,并且当在计算机系统中加载所述计算 机程序产品时,所述计算机程序产品能够执行这些方法。当前情境中的计算 机程序意味着以指令集的任何语言、代码或符号的任何表达,所述指令意在 使具有信息处理能力的系统直接地、或在下列任一或两者之后执行特定功能
a)转换为另一语言、代码或符号;b)以不同的物质形式再生。
可以在不背离本发明的精神或本质特征的情况下,以其它形式实施本发
明。因此,应当参考所附权利要求而非前述说明,来指示本发明的范围。
特别地,参考所附权利要求,可以将来自从属权利要求的特征与独立权
利要求的特征相结合,并且,可以以任何适当的方式、并不仅仅在权利要求
中列举的特定结合中,将来自各个独立权利要求的特征相结合。
为了避免疑问,遍布说明和权利要求的这里使用的术语"包括"不被解
释为含意"仅包括"。
权利要求
1.一种用于聚合并利用portlet的方法,包括识别在客户端环境内的聚合网页,所述聚合网页指定门户;在聚合网页中建立至多个portlet的控制链接,每个所述控制链接与客户端portlet容器相关联;将来自portlet页面的portlet内容插入到每个客户端portlet容器中;以及在该客户端环境的浏览器界面中呈现该聚合网页。
2. 如权利要求l所述的方法,其中,在该客户端环境外部的计算设备中 预编译该聚合网页,所述方法还包括将该聚合网页从该外部计算设备传递至该客户端环境。
3. 如权利要求1或2所述的方法,还包括 将门户配置文件传递至该客户端环境;以及该客户端环境中的聚合引擎将该门户配置文件变换为该聚合网页。
4. 如任一在前权利要求所述的方法,其中,软件开发工具将门户配置文 件自动变换为该聚合网页,之后,该聚合网页被传递至该客户端环境。
5. 如任一在前权利要求所述的方法,还包括软件开发工具响应于开发者发起的调色板动作,将portlet添加至空白的 聚合网页;使用该软件开发工具而预编译该聚合网页;以及 将该聚合网页传递至该客户端环境。
6. 如任一在前权利要求所述的方法,其中,当该客户端环境处于离线状 态中时,发生该呈现步骤。
7. 如任一在前权利要求所述的方法,还包括r将该客户端环境从离线状态转换至在线状态,其中,当处于该在线状态 中时,从位于远离该客户端环境的至少一个网络服务器获得该portlet内容。
8. 如任一在前权利要求所述的方法,还包括当处于该在线状态中时,从门户服务器获得对应于该聚合网页的第二聚 合网页,其中,在该门户服务器内自动编译所述第二聚合网页;以及 在该浏览器界面中呈现该第二聚合网页。
9. 如任一在前权利要求所述的方法,其中,该聚合网页是JAVA服务器页面(JSP)。
10. 如任一在前权利要求所述的方法,其中,该客户端portlet容器以基 于JAVA^见范请求(JSR) 168的标准来进行编i奪。
11. 如任一在前权利要求所述的方法,其中,由至少一个机器根据至少 一个计算机程序来执行该方法的所述步骤,其中,所述至少一个计算机程序具有可由所述至少一个机器执行的多个代码段。
12. 如权利要求1至10中的任一个所述的方法,其中,由服务代理以及 该服务代理所操控的计算设备中的至少一个来执行该方法的所述步骤,其中, 响应于服务请求而执行所述步骤。
13. —种portlet处理方法,包括 生成预编i奪的portlet聚合页面;将该预编-泽的portlet聚合页面传递至客户端;以及该客户端呈现该portlet聚合页面的内容,而不依赖于服务器资源。
14. 如权利要求13所述的方法,其中,当该客户端处于离线状态中时, 发生该呈现步骤。
15. 如权利要求13或14所述的方法,其中,由软件开发工具来执行生 成步骤。
16. 如权利要求13、 14或15所述的方法,其中,生成步骤从门户配置 文件自动生成该portlet聚合页面。
17. 如权利要求13至16中的任一个所述的方法,其中,该portlet聚合 页面包括引用客户端一侧的portlet容器的标签,该客户端使用所述客户端一 侧的portlet容器来呈现portlet内容。
18. 如权利要求13至17中的任一个所述的方法,其中,该portlet聚合 页面是JAVA服务器页面(JSP)。
19. 如权利要求13至18中的任一个所述的方法,其中,该portlet聚合 页面遵循基于JAVA规范请求(JSR) 168的标准。
20. 如权利要求13至19中的任一个所述的方法,其中,由至少一个机 器根据至少一个计算机程序来执行该方法的所述步骤,其中,所述至少一个 计算机程序具有可由所述至少一个机器执行的多个代码段。
21. —种包括计算机程序代码的计算机程序单元,当所述计算机程序代 码被载入计算机系统中并在其上被执行时,其使该计算机执行如任一在前权利要求中所述的方法的步骤。
22. —种用于发送门户的系统,该系统包括用于接收聚合网页的门户引擎。
全文摘要
本发明公开了一种客户端portlet容器,其允许门户被用于仅客户端的环境中。也就是说,本发明提供了一种解决方案,其将一组portlet聚合到客户端可视的门户页面中,而不依赖于例如应用服务器或门户服务器的资源的服务器资源。客户端可在网络连接的状态或断开的状态下使用该解决方案。本发明可以使用客户端portlet容器来呈现portlet内容,其中,所述客户端portlet容器被例如JAVA服务器页面(JSP)文件的聚合网页的标签引用。
文档编号H04L29/08GK101558629SQ200780044334
公开日2009年10月14日 申请日期2007年11月16日 优先权日2006年11月28日
发明者拉赫尔·库雷恩, 阿米特·阿格拉 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1