用于动态绑定门户组件的方法和系统的制作方法

文档序号:7662632阅读:210来源:国知局
专利名称:用于动态绑定门户组件的方法和系统的制作方法
技术领域
本发明涉及网络计算领域,并且特别涉及经由Web门户(portal)可 访问的Web内容,以及特别涉及一种用于将门户组件(portlet)绑定到包 括至少一个门户和多个门户组件的Web门户差J出i殳施的方法和相应的系 统,其中接收和处理了从请求门户组件的客户机输入的请求。
背景技术
在例如http:〃www.research.ibm.com/journal/sj/432/will.html中描述 了现有净支术的Web门户。门户以非常个人化的方式向终端用户提供了对内 容、应用和协同服务的统一访问。 一例子是IBM的WebSphere Portal, 其提供中间件框架和工具用于使用被称为"门户组件,,的组件应用来构建 和管理门户。
通常,门户采用这样的体系结构,即在该体系结构中,门户本身仅实 现像认证、状态处理、聚合、高速緩存、用户管理等的标准功能性,并且 为应用组件提供基础设施。该体系结构包括用于集成应用的API,从而使 得来自不同伙伴的应用只要其与门户产品的API匹配就可以被使用。在门 户环境中,这些应用通常被称为门户组件。
门户组件是可以被添加到门户并且被设计成在门户的门户组件容器内 部运行的可插组件。门户组件可以提供从对静态或动态内容的简单呈递 (rendering)到诸如电子邮件、日历等的应用功能范围的不同功能。门户 组件通过门户应用被间接调用并且产生适于在较大页面中聚合的内容,例 如门户组件应当产生附有这样的指导方针的标记分段,即该指导方针保证 可以将不同的门户组件所生成的内容聚合到一个页面中。通常,门户组件 运行在门户服务器(Portal-Server)上,处理输入数据并且在本地呈递内
容。
图1给出了实现这样的现有技术门户的Web服务器上的示意性系统图。
现有技术门户,像例如由以上IBM WebSphere Portal或由如在 http:〃portals.apache.org/jetspeed-2/guides/guide-portal-design.h加l 处所 公开的Jetspeed2 Enterprise Portal所表示的,是通过网络月艮务器(例如 Web服务器100 )上所实现的复杂功能性来构建的,Web服务器100最重 要的元件是用于用户认证105、状态处理110、聚合170分段的逻辑组件、 (下面进一步描述的)在利用相应的多个API 130在相应页面125中所提 供的多个门户组件120,以及一些门户存储资源140,其中相应的多个API 130通往相应的门户组件容器软件135,用于将多个门户组件设置到y〉用 Web页面上下文中。逻辑组件在操作上相连,以便可以按照需求在单个组 件之间交换数据。在图1中对此进行了概略描绘。
更详细地,图1中的Web服务器的门户引擎基于基本门户模型150 和诸如安全设置、用户角色、定制设置和设备能力这样的门户信息实现对 门户组件120的聚合。在所呈递的页面内,门户基于门户模型自动生成一 组适当的导航元件。门户引擎在按要求的聚合期间以及在需要时调用门户 组件,并且使用高速緩存来减少对门户组件所进行的请求数。现有技术 IBM WebSphere Portal采用t者如Java Portlet API (应用编禾呈接口 )的开 放标准。其还支持通过WSRP标准对远程门户组件的使用。
门户模型表示了门户的内容结构,即门户页面(其还可以再含有嵌套 页面)的层次结构以及被安排在页面上的门户组件。基于像关系表这样的 现有技术,该数据以恰当的表示存储在数据库128中。
Web客户通过门户所实现的请求/响应范型与门户组件进行交互。通 常,用户与门户组件所产生的内容进行交互,例如通过后续链接或提交表 单,其导致正由门户接收的门户组件动作,该动作然后被转发至由用户交 互定为目标的门户组件。
相应地,门户等待客々请求并且对这些请求进行响应。客户请求消息
包括寻址于所请求的页面的URL/URI。
前述聚合逻辑包括汇编被发送回给客户的页面所需要的所有步骤。通 常,这些步骤是加栽来自门户数据库的门户模型,对其进行遍历,以及 调用该模型中所引用的实例以便获得其输出,该输出被汇编至单个页面。 可以将门户模型定义为用于创建内容的可*示的组件的布置以及关系。 门户模型将由管理员或用户通过手动布局接口 ( Manual Layout Interface )
来定义,并且被保存在数据库中。
在呈递和聚合过程中的重要活动是生成寻址于门户页面的URL。 URL 由聚合逻辑生成并且包括编码状态信息.
通过在URL中包括状态信息,门户确保稍后能够在客户发送对该URL 的请求时建立导航和显示上下文。
门户组件容器135是胜任于所有的门户组件120的单个控制组件,其 可以控制驻留于这些门户组件中的每一个内的代码的执行。其尤其为门户 组件提供运行时环境,以及事件处理、门户组件间消息接发以及访问门户 组件实例和配置数据所需要的设施。门户资源140特别地便是门户组件 120本身以及页面125,在页面125上,以分段聚合的形式聚合门户组件 120。门户数据库128存储门户组件描述,这是详细的门户组件标识符,门 户组件描述特别描述了一些属性,像门户组件名称、门户组件描述、门户 组件标题、门户组件简称,以及关键字。
为了说明这些方面,给出的图2B说明了以门户交互流为焦点的门户 服务器的体系结构图。
在门户的主要处理流中,将请求发送至对其进行处理和应答的服务器。 处理请求时的第 一步骤是检验发送者得到与服务器交互的认证,见步骤 310。该检验的结果影响服务器的响应;如果发送者未经正确i人证,则可以 拒绝请求或者提示发送者提供凭证。
如第二步骤320,并行化导航状态(其表示用于特定请求的门户资源 的状态),并且将其准备用于修改或用于再次将导航状态串行化到URL 中。连同其它信息,导航状态还含有至少对所请求的页面的标识。
导航状态可以含有在传输该状态的请求被发送至门户时将要执行的动
作。这是在动作处理阶段完成的-见步骤330 -动作处理阶段执行经编码 的动作。这些动作可以修改服务器端状态、(可以通过门户来管理的)资 源和/或影响响应的生成。
最后,在聚合阶段340,基于对请求有效的导航状态,通过聚合来自 不同资源的标记以及将组合输出写入响应来生成响应。在该步骤期间,聚 合根据导航状态确定将要调用的一组门户组件(即被安排在所请求的页面 上的 一組门户组件)并且通过向门户組件容器发布请求来调用每个门户组 件-见图2A的renderPortletO请求。该请求含有门户组件的标识以及门户 组件状态。门户组件容器根据含于renderPortletO请求中或由 renderPortletO请求所引用的门户组件ID和门户组件状态来准备门户组 件上下文。这可能需要从门户数据库读取和处理门户组件定义。然后门户 组件容器调用提供门户组件上下文的相符的门户组件,见图2A的render() 请求。门户组件容器接受门户组件所生成的标记分段并且将其返回聚合。 此后,对请求的处理在步骤350结束。
参照回图1,门户组件部署180允许管理员部署门户组件。门户组件 部署接受门户组件的外部表示(例如,应用存档(archive)形式的门户组 件应用),并且在门户服务器储存库中或在基本应用服务器或Web服务器 的储存库中存储诸如代码、jsp文件、html文件等的门户组件资源。另夕卜, 其还将含于该门户组件应用中的门户组件的门户组件定义120存储在门户 数据库中。
使用手动布局接口 160,用户或管理员可以修改门户模型(即内容结 构),例如,通过创建新的页面、修改页面以及在页面上安排门户组件。 手动布局接口将这些改变存储在门户数据库中。
以上所描述的现有技术的门户实现了一种对门户组件的绑定,其在对 本地门户组件情况下的部署期间或者在对远程门户组件情况下通过配置而 进行的部署期间是固定的。这对于在满足Web门户访问者需求时的灵活性 和选择性来说是不够的。
特别地,对于向(表现出保证在Web门户所控制的增长的Web市场 中足够的服务质量的责任的)门户提出按需概念这一永久的、商业驱动的 约束而言,希望使门户体系结构在向门户访问者提供门户组件时提供更多 的灵活性和选择性。
因而本发明的目的是提供一种用于将门户组件绑定到更为灵活地允许 更好地适应特定用户需求的Web门户基^4设施的方法。

发明内容
简而言之,本发明公开了一种在运行时(即,在处理对门户组件的输 入请求时)期间在不同的门户组件绑定之间动态切换的方法。实施本发明 方法的门户实现了对门户组件的动态绑定。为了在请求期间进行动态绑定, 处理有利地〗吏得能够实现灵活的绑定试探法(heuristics)并且适应于变化 的市场需求以及计算环境中的变化,例如,能够选择性地适应于实现门户
所涉及的Web服务器的不同工作负荷情况。借此,本发明向门户提出按需 概念,并且因而使得能够动态适应于服务质量需求、资金需求等。
根据本发明方法最广泛的方面,本发明方法公开了 一种用于将门户组 件绑定到包括至少 一个门户和多个门户組件的Web门户J^出设施的方法, 其中从请求门户组件的客户机输入的请求被接收和处理,简而言之,该方 法实现以下步骤
a) 自动确定与预先关联于所请求的门户组件的、相应的预定义门户 组件特性相匹配的多个门户组件,
b) 从所述多个门户组件中自动选择中意的门户组件,
c) 响应于所述输入请求,调用所选择的门户组件用于呈递。 优选地,通过附加特征来丰富以上方法
a) 其中,所述自动确定基于包括计算机可评价(computer-evaluable) 形式的门户组件特性的门户组件简表数据结构,
b) 其中,所述自动选择基于反映了一些预定策略的预定义选择算法,
以及
C)其中,所述门户组件简表数据结构的门户组件特性反映了以下组
中的至少一项
cl)门户组件的运行时行为,即所述门户组件的可用性或响应时间;
c2)门户组件内容的差别,例如,在内容的短小、简洁表示或较为详 细的表示之间的差别,
d)其中,所述选择算法包括定义了与所述门户组件特性的关系或对 所述门户组件特性的偏好的规则。
因而,更详细地,本发明方法包括以下步骤
a) 持续地存储门户组件简表数据结构,其中,所述简表与门户组件 相关联并且被部署在门户服务器处,
b) 其中,所述门户组件简表数据结构说明了门户组件类别以及一个 或多个门户组件特性,
c) 持续地存储门户组件绑定策略数据结构,其与所述门户组件类别 相关联并且被部署(l卯)在门户服务器处,
d) 其中,所述门户组件绑定策略数据结构说明了指定所述一个或多 个门户组件特性的关系或条件,
e) 在处理对门户组件的输入请求期间,自动选择 -所述门户组件类别,
-所有存储的门户组件简表数据结构,以及
-与所请求的门户组件关联的门户组件绑定策略数据结构,
f) 将包括在所选择的绑定策略数据结构中的关系或条件相对于包括 在所选择的门户组件简表数据结构中的门户组件特性进行交叉检查,
g) 从所选择的门户组件中自动选择中意的门户组件,其最好地匹配 于所述交叉检查,
h) 响应于所述输入请求,调用所述中意的门户组件用于呈递。


本发明借助于例子得以说明并且其不限于附图中图的形状,在附图中
图1说明了用于现有技术方法的现有技术的Web门户硬件和软件环境 的最基本的结构组件;
图2A在交互图中说明了在客户机与门户之间,并且更详细地,在一 些门户组件之间的现有技术的处理;
图2B在交互图中说明了在门户服务器中对请求的现有技术的处理;
图3说明了本发明的Web门户硬件和软件环境的最基本的结构组件;
图4在交互图中说明了在客户机与门户之间,并且更详细地,在一些 门户组件之间的本发明的处理,其中在门户容器中实现本发明方法的核心 部分,其中C和<:*是相同类别的门户组件,具有同样的功能性,并且门 户组件容器动态地选择门户组件<:*来绑定和调用;
图5在交互图中说明了在客户机与门户之间,并且更详细地,在一些 门户组件之间的本发明的处理,其中在单独的门户组件(所谓的代理门户 组件)中实现本发明方法的核心部分,并且其中门户组件DPP( Dynamic Proxy Portlet)是动态代理门户组件,C,和<:*是相同类别的门户组件,具 有同样的功能性,并且DPP动态地选择门户组件C"
图6说明了本发明方法的优选实施例的最重要的步骤的控制流,其在 图5或图6的实施例中分别由容器或代理门户组件实现;以及
图7根据本发明的实施例说明了一些样例门户组件简表数据结构(顶 部),并且根据本发明的实施例说明了一样例门户组件绑定策略数据结构 (底部)。
具体实施例方式
一般参照附图并且现在特别参照图3和图7,门户组件与门户组件简 表数据结构72、 74相关联,门户组件简表数据结构72、 74存储在门户数 据库中作为门户组件定义120的一部分。
图7示出了两个样例门户组件筒表数据结构72和74。门户组件简表 数据结构72或74说明了门户组件的类别以及若干服务质量属性。门户组 件的类别指定了门户组件提供的功能性和语义。多个门户组件可以与相同
的类别相关联,显示这些门户组件提供相同的功能性。门户组件的类別由
文本标识符"ShowStockQuotes"来标识。在图7所描绘的例子中,两个 门户组件均属于相同类别的门户组件,因而具有同样的功能性,但却提供 不同程度的服务质量。服务质量属性就不同的方面H象可用性、响应时间、 价格等)来特性化(以及量化)门户组件提供的服务质量。服务质量属性 包括由文本标识符(例如"Availability (可用性)")所标识的一组任意 的数字属性(例如95)。数字属性最适于由策略数据结构76 (例如,图7 的底部中示例性描绘的策略数据结构)来评估,该策略数据结构76优选较 少的响应时间以及估计至少95 (%)或更高的可用性。当然,也可以应用 #>强、中等或减少的这样的其它属性,或者其它限定或量化属性,包括模 糊值。
出于部署的目的,在门户组件应用存档中优选地包括门户组件筒表数 据结构72、 74。这允许本发明提供的门户组件部署简表支持組件185在门 户组件部署期间读取该门户组件简表数据结构72 、 74 ,以及将其存储在门 户组件数据库128中作为门户资源的一部分(见图3, 120)。
本发明进一步提供的门户组件绑定策略部署(PBPD)组件190实现 了对门户组件绑定策略数据结构76的部署。其接受在外部表示(如图7 中所示例的,例如,以文本文件形式)中的门户组件绑定策略定义,并且 以新资源类型的形式将其存储在门户数据库128中。PBPD还可以包括图 形用户接口,通过该图形用户接口管理员可以交互式地定义和部署门户組 件绑定策略数据结构76。每门户组件类别存在至少一个门户组件绑定策略 数据结构76。
门户組件绑定策略数据结构76涉及门户组件类别(例如, urn:portletclass:ShowStockQuotes )并且含有关于服务质量属性的一组谓 词(例如,"Availability>=95" , "ResponseTime: Prefer lower (响应时 间优选较少的)")。
在本发明方法的优选实施例中,在门户组件容器135中实现动态门户 组件绑定功能性,与现有技术相比,门户组件容器135被扩展以便进行动
态门户组件绑定。优点在于并未改变门户组件容器的外部接口 .
图4说明了在本发明方法的优选实施例中的交互当门户组件容器接 收到对门户组件的请求时,步骤410,其使用通过的门户组件标识符进行 动态门户组件绑定(Dynamic Portlet Banding, DPB) (450) 。 DPB确 定在功能上等效于所请求的门户组件的门户组件(即与相同的门户组件类 別相关联),并且最优地遵守用于该类别的门户组件绑定策略数据结构76。
因而,本发明的门户组件容器选择在此标为<:*的门户组件,其当前最适于
门户组件绑定策略。最后,步骤460使用现有技术调用门户组件C、 在图6中所描绘的控制流中实现该机制
首先,门户组件容器等待请求,步骤605。当请求到达时,门户组件 容器接受请求,步骤606,并且从该请求提取门户组件标识符。门户组件 标识符可以是适于唯一标识门户组件的任意标识符。在优选的实施例中, 其是文本标识符。在步骤620中,门户组件容器确定与所请求的门户组件 关联的门户组件类别。出于此目的,门户组件容器向门户组件数据库发布 对门户组件策略的查询,该查询包括门户组件标识符。如果该门户组件与 任何的门户组件类别都不关联,即,不存在由数据库所返回的用于该门户 组件的门户组件简表数据结构72、 74,那么跳过下面的本发明步骤,并且 冲艮据现有技术通过调用门户组件来继续处理,步骤690 。
否则,在步骤630中,门户组件容器通过向数据库发布查询来读^t 应于所述门户组件类别的门户组件绑定策略数据结构76,该查询含有门户 組件类别标识符。如果没有为该门户组件类别定义的门户组件绑定策 据结构76,即,门户组件数据库未返回结果,则跳过下面的本发明步骤, 并且根据现有技术通过调用门户组件来继续处理,步骤690。
相反,如果找到了门户组件绑定策略数据结构76,则门户组件容器通 过向数据库发布进一步的请求来确定对应于该门户组件类别的一组门户组 件,该请求含有门户組件类别标识符,640。
在步骤650中,门户组件容器通过分派空列表来初始化含有候选门户 組件的列表的变量。然后在步骤660中,门户组件容器在从步骤640得到的一组门户组件 上迭代。对于每个门户组件,门户组件容器均应用门户组件选择策略,步 骤663。出于该目的,将门户组件的服务质量属性与门户组件绑定策略数 据结构76中所指定的谓词进行比较。如果门户组件符合门户组件绑定策略 数据结构76,即,如果其服务质量属性符合谓词,则将其添加到候选门户 组件的列表中,步骤667。
根据门户组件绑定策略对所得到的候选门户组件的列表进行排序,步 骤670。在步骤680中,选择该列表中最顶部的门户组件,即,最优地遵 守门户组件绑定策略的门户组件。
最后,门户组件容器准备门户组件上下文并且根据现有^支术调用门户 組件,步骤690,
图5说明了可选的实施例,其中动态门户组件绑定(DPB)不是由门 户组件容器实现的,而是由专门的门户组件(所谓的动态代理门户组件 (DPP))实现的.优点在于不需要改变门户组件容器。而是管理员部署 DPP,其含有DPB功能性。
此处,门户组件容器根据现有技术运作,通过接受来自聚合的请求, 确定门户组件标识符、准备门户组件上下文并且调用门户组件。
在图5中,例如,门户组件A和B是现有^L术的门户組件。在该例中, 假设管理员已经用动态代理门户组件DPP替换了门户组件C。当门户组件 容器调用DPP时,DPP将进行DPB过程,因而实现根据图6的控制流。 这里存在与门户组件C的相同门户組件类别相关联的两个门户组件C,和 C*。因而,DPP根据门户组件绑定策略从这两个门户组件最优地选择门户 组件,例如C、
本发明可以采取全硬件实施例、全软件实施例或者既含有硬件元素又 含有软件元素的实施例的形式。在优选的实施例中,以软件实现本发明, 其包括但不限于固件、常驻软件、微码等。
此外,本发明可以采取可访问于计算机可用或计算机可读介质的计算 机程序产品的形式,该计算机可用或计算机可读介质提供由计算机或任何 指令执行系统使用的或者与计算机或任何指令执行系统结合使用的程序代 码。对于该描述来说,计算机可用或计算机可读介质可以是能够容纳、存 储、通信、传播或传送由指令执行系统、装置或设备使用的或者与指令执 行系统、装置或设备结合使用的程序的任何装置。
介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装置或 设备)或者传播^h质。计算机可读介质的例子包括半导体或固态存储器、
磁带、可装卸计算;t^盘、随机访问存储器(RAM)、只读存储器(ROM)、 硬磁盘和光盘。光盘的当前的例子包括只读光盘存储器(CD-ROM)、读 /写光盘(CD-R/W)和DVD。
适于存储和/或执行程序代码的数据处理系统可以包括通过系统总线 直接地或间接地耦合于存储元件的至少一个处理器。存储元件可以包括在 程序代码的实际执行期间所使用的局部存储器、大容量存储器,以及为了 减少在执行期间必须从大容量存储器检索代码的次数而提供对至少一些程 序代码的临时存储的高速緩沖存储器。
输^/输出或I/0设备(包括但不限于键盘、显示器、指点设备等)可 以直接地或者通过插入I/O控制器耦合于系统。
网络适配器也可以耦合于系统,从而使得数据处理系统能够适于通过
备。调制解调器、电缆调制解调器和以太网卡正是几种当前可用类型的网 络适配器。
权利要求
1.一种用于将门户组件绑定到包括至少一个门户和多个门户组件(120)的Web门户基础设施的方法,其特征在于以下步骤a)持续地存储门户组件简表数据结构(72,74),其中,所述门户组件简表数据结构(72,74)与门户组件相关联并且被部署在门户服务器处,b)其中,所述门户组件简表数据结构(72,74)说明了门户组件类别以及一个或多个门户组件特性,c)持续地存储门户组件绑定策略数据结构(76),其与所述门户组件类别相关联并且被部署(190)在门户服务器处,d)其中,所述门户组件绑定策略数据结构(76)说明了指定所述一个或多个门户组件特性的关系或条件,e)在处理对门户组件的输入请求期间,自动选择(620,630)-所述门户组件类别,-所有存储的门户组件简表数据结构(72,74),以及-与所请求的门户组件关联的门户组件绑定策略数据结构(76),f)将包括在所述所选择的绑定策略数据结构(76)中的所述关系或条件相对于包括在所述所选择的门户组件简表数据结构(72,74)中的门户组件特性进行交叉检查,g)从所述所选择的门户组件中自动选择(660,670,680)中意的门户组件,其最好地匹配于所述交叉检查,h)响应于所述输入请求,调用(690)所述中意的门户组件用于呈递。
2. 根据权利要求1的方法,其中,包括在所述Web门户基J出设施中 的门户组件容器包括实现所述步骤e)至h)的逻辑。
3. 根据权利要求1的方法,其中,包括在所述Web门户I^H殳施中 的动态代理门户组件包括实现所述步骤e)至h)的逻辑。
4. 根据权利要求1的方法,a)其中,所述门户組件筒表数据结构(72, 74)的所述门户组件特性 反映了以下组中的至少一项1) 门户组件的运行时行为,2) 门户组件内容的差别,以及b)其中,所述选择算法包括定义了与所述门户组件特性的关系或对 所述门户组件特性的偏好的规则。
5. —种在包括至少一个门户和多个门户组件(120)的Web门户基J出 设施内充当门户服务器的电子数据处理系统,其具有用于接收和处理从请 求门户组件的客户机输入的请求的功能性,其特征在于,包括存储了由装 载实现以下步骤的功能程序组件所得到的存储图像的存储器a) 持续地存储门户组件筒表,其中,所述门户组件简表数据结构(72, 74 )与门户组件相关联并且被部署在门户服务器处,b) 其中,所述门户组件简表说明了门户组件类别以及一个或多个门 户组件特性,c) 持续地存储门户组件绑定策略数据结构(76),其与所述门户组 件类别相关联并且被部署(l卯)在门户服务器处,d) 其中,所述门户组件绑定策略数据结构(76)说明了指定所述一 个或多个门户组件特性的关系或条件,e) 在处理对门户组件的输入请求期间,自动选择(620, 630): -所述门户组件类别,-所有存储的门户组件简表数据结构(72, 74),以及 -与所请求的门户组件关联的门户组件绑定策略数据结构(76),f) 将包括在所述所选择的绑定策略数据结构(76)中的所述关系或 条件相对于包括在所述所选择的门户組件简表数据结构(72, 74)中的门 户组件特性进行交叉检查,g) 从所述所选择的门户组件中自动选择(660 , 670 , 680 )中意的门 户组件,其最好地匹配于所述交叉检查,h) 响应于所述输入请求,调用(690)所述中意的门户组件用于呈递。
全文摘要
本发明公开了一种在运行时(即,在处理对门户组件的输入请求时)期间在不同的门户组件绑定之间动态切换的方法。实施本发明方法的门户实现了对门户组件的动态绑定。为了在请求期间进行动态绑定,处理有利地使得能够实现灵活的绑定试探法(heuristics)并且适应于变化的市场需求以及计算环境中的变化,例如,能够选择性地适应于实现门户所涉及的Web服务器的不同工作负荷情况。借此,本发明向门户提出按需概念,并且因而使得能够动态适应于服务质量需求、资金需求等。
文档编号H04L29/08GK101188623SQ20071016263
公开日2008年5月28日 申请日期2007年10月15日 优先权日2006年11月20日
发明者P·菲舍尔, R·阿尔特里克特, S·莱尔茨, T·库斯莫尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1