规范化页面流的方法和设备的制作方法

文档序号:8001381阅读:212来源:国知局
规范化页面流的方法和设备的制作方法
【专利摘要】本发明公开了一种将页面流规范化为门户组件的方法和设备。所述方法包括:基于页面流中的一个或多个页面生成至少一个门户组件;对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种;以及修改所述至少一个门户组件中的统一资源定位符URL。通过所述方法和设备,可以将开发者开发的页面流自动地规范化为更易于在不同的应用之间共享以及与现有的门户应用集成的门户组件,使得开发者可以专注于页面流应用的开发,同时可以获得门户组件特有的用户体验和优势。
【专利说明】规范化页面流的方法和设备

【技术领域】
[0001]本发明涉及页面流,并且更具体地涉及一种将页面流规范化(normalize)为门户组件(portlet)的方法和设备。

【背景技术】
[0002]页面流(page flow)是由一个或多个页面(或网页)组成的流,这些页面通过导航控制而被链接在一起,从而执行特定的业务逻辑。页面流允许将页面本身的代码(即,用户界面代码)与用于各个页面之间的导航控制的代码(即,导航控制代码)分开,使得可以将用户界面代码置于JSP文件中任意适当的位置,而将导航控制代码置于单独的控制文件中。这样,可以由不同的人员分别开发用户界面代码和导航控制代码,从而取得更好的开发效率和效果。然而,页面流不易于在不同应用之间共享,也不易于与现有的页面流集成在一起。
[0003]门户组件(portlet)是可插拔的用户界面组件,其通过门户组件容器来管理和显示。可以将多个门户组件混搭在一个页面中,从而实现页面的定制。这些门户组件可以互相通信,并且使用事件来确定用户在网络应用中的操作路径。门户组件还具有以下特点:单个门户组件可以具有多个实例,即,单个门户组件可以出现在单个门户内的不同页面上,或者可以出现在跨多个门户的页面上;门户组件是可定制的,即,可以定制门户组件以满足用户的需求;通过使组成页面的门户组件的URL包含导航状态信息(即,关于该页面和该页面上的所有门户组件的状态信息),可以使该门户组件支持导航状态路径。门户组件的上述特点使得其具有易于在不同的应用之间共享并且易于与现有的门户应用集成在一起等优点。
[0004]因此,存在将页面流规范化为门户组件以便获得门户组件的上述优点的需求。


【发明内容】

[0005]鉴于以上问题,本发明的目的是提供一种将页面流规范化为门户组件的方法和设备,其能够将开发者开发的页面流自动地规范化为易于在不同的应用之间共享以及与现有的门户应用集成的门户组件,从而获得门户组件特有的用户体验和优势。
[0006]根据本发明的一个方面,提供了一种将页面流规范化为门户组件的方法,该方法包括:基于页面流中的一个或多个页面生成至少一个门户组件;对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种;以及修改所述至少一个门户组件中的统一资源定位符(URL)。
[0007]根据本发明的另一个方面,提供了一种将页面流规范化为门户组件的设备,该设备包括:门户组件生成装置,被配置为基于页面流中的一个或多个页面生成至少一个门户组件;动作构建装置,被配置为对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种;以及URL修改装置,被配置为修改所述至少一个门户组件中的URL。
[0008]通过根据本发明上述方面的方法和设备,可以将开发者开发的页面流自动地规范化为易于在不同的应用之间共享以及与现有的门户应用集成的门户组件,使得开发者可以专注于页面流应用的开发,同时可以获得门户组件特有的用户体验和优势。

【专利附图】

【附图说明】
[0009]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0010]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。
[0011]图2是示出根据本发明实施例的将页面流规范化为门户组件的方法的流程图。
[0012]图3示出了页面流的元数据的示例。
[0013]图4A示出了构建门户组件内动作和门户组件间动作的示例。
[0014]图4B示出了表示对于图4A所示的示例构建的门户组件内动作的事件的代码段的示例。
[0015]图4C示出了表示对于图4A所示的示例构建的门户组件间动作的事件的代码段的示例。
[0016]图5示例性地示出了图2所示的步骤S203的详细操作。
[0017]图6是示出根据本发明实施例的将页面流规范化为门户组件的设备的框图。
[0018]图7是示出图6所示的门户组件生成装置的示例性结构的框图。
[0019]图8是示出图6所示的动作构建装置的示例性结构的框图。
[0020]图9是示出图6所示的URL修改装置的示例性结构的框图。

【具体实施方式】
[0021]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0022]所属【技术领域】的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0023]可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0024]计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0025]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0026]可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言一诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0027]下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0028]也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruct1nmeans)的制造品(manufacture)。
[0029]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0030]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0031]如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0032]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0033]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0034]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0035]具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0036]计算机系统/服务器12也可以与一个或多个外部设备14 (例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0037]下面将参照附图来描述本发明实施例的将页面流规范化为门户组件的方法和设备。如上文所述,所述页面流可以包括一个或多个页面,这些页面通过页面间的导航控制而被依序链接在一起。
[0038]首先,参照图2来描述根据本发明实施例的将页面流规范化为门户组件的方法。在本发明的实施例中,为了将页面流规范为门户组件,首先需要基于页面流的各个页面生成门户组件,然后根据页面流的特点对所生成的门户组件进行规范化。
[0039]如图2所示,在步骤S201中,基于页面流中的一个或多个页面生成至少一个门户组件。
[0040]由于页面流包括一个或多个页面,因此可以基于这些页面生成一个或多个门户组件。此外,如上文所述,一个门户组件可以包括一个页面或者更多页面。这样,在基于页面流中的一个或多个页面生成至少一个门户组件时,首先需要确定所述多个页面中要生成到每个门户组件中的页面,即,确定哪些页面要生成到同一个门户组件中,哪些页面要生成到不同的门户组件中,由此可以确定基于所述一个或多个页面生成多少个门户组件。
[0041]可以根据预先设置的规则来确定所述一个或多个页面中要生成到每个门户组件中的页面。所述规则可以是根据实际需要选择的任何适当规则,并且可以应用于所有类型的页面流。
[0042]例如,所述规则可以是所述页面链接到的页面的类型。具体地,如果所述一个或多个页面中的一个页面链接到另一独立页面(即,其可以独立于所述一个页面显示而不会覆盖或替换它),则可以确定所述一个页面和所述另一独立页面被生成到两个门户组件中,另一方面,如果所述一个或多个页面中的一个页面链接到用于覆盖该页面的另一页面(即,其将替换所述一个页面),则可以确定所述一个页面和所述另一页面被生成到同一个门户组件中。在这种情况下,可以通过提取并分析页面流的元数据来确定每个页面链接到的页面的类型。如本领域公知的,页面流的元数据描述页面流中的各个页面本身的属性、各个页面之间的链接关系或跳转关系等,因此可以根据元数据获知每个页面链接到的页面的类型。例如,如果通过分析该元数据,确定一个页面链接到一个弹出页面,如图3所示,所述弹出页面将覆盖这个页面,则可以确定这个页面和所述弹出页面被生成到同一个门户组件中。作为另一示例,如果通过分析元数据,确定一个页面包含表格,且该表格的某一列链接到另一独立页面,则可以确定这个页面和该另一独立页面被生成到两个门户组件中。
[0043]除了预先设置的应用于所有页面流的规则以外,用户也可以定制特定的规则,使得对于某些页面流,根据该特定的规则确定要生成到每个门户组件中的页面。或者,也可以根据用户定制的规则,选择/调整根据预先设置的规则确定的要生成到每个门户组件中的页面。用户可以根据实际需要来自由地定制所述规则。
[0044]在确定了要生成到每个门户组件中的页面之后,可以基于这些页面生成所述至少一个门户组件。具体地,可以按照符合门户组件规范的格式,产生描述这些页面的代码。基于页面来产生门户组件的方法是本领域公知的,在这里为简单起见而省略其详细描述。
[0045]返回图2,在步骤S202中,对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种。
[0046]如上所述,页面流中的各个页面通过导航控制而链接在一起,相应地,需要在所生成的门户组件中反映各个页面之间的链接关系,在本发明的实施例中,可以通过构建门户组件内动作和门户组件间动作中的至少一种来反映所述链接关系。具体地,对于被生成在同一个门户组件内的两个或更多页面,可以基于这些页面之间的链接关系构建门户组件内动作,而对于分别被包含在多个门户组件内的多个页面,可以基于这些页面之间的链接关系,构建门户组件间动作。
[0047]可以通过定义表示门户组件内动作和/或门户组件间动作的事件,来构建所述动作。下面,参照图4A — 4C来示例性地描述构建所述动作的方法。
[0048]如图4A所示,假设页面流包括三个页面1-3,其中页面1和页面2通过事件“PayementHistoryEvent”相链接,即,当触发该事件时,从页面1跳转到页面2,页面2和页面3通过事件“PaymentApprovalDetailEvent”相链接,即,当触发该事件时,从页面2跳转到页面3。假设在基于页面1-3生成门户组件时,页面1和2被生成为门户组件A,页面3被生成为门户组件B。在这种情况下,事件“PayementHistoryEvent”对应于门户组件A内部的动作,事件“PaymentApprovalDetailEvent”对应于门户组件A和门户组件B之间的动作,换言之,需要构建门户组件A内的动作以反映事件“PayementHistoryEvent”,并且需要构建门户组件A和B之间的动作以反映事件“PaymentApprovalDetailEvent”。如上文所述,通过定义表示相应动作的事件,来构建所述动作。图4B示出了表示门户组件A内的动作的事件的代码示例,其反映事件“PayementHistoryEvent”,并且通过“eventID:event24626611298”来指示所述动作的具体内容。图4C示出了表示门户组件A和门户组件B之间的动作的事件的代码示例,其反映事件“PaymentApprovalDetailEvent”,并且通过“eventID:event24626611452”来指示所述动作的具体内容。
[0049]返回图2,在步骤S203中,修改所述至少一个门户组件中的统一资源定位符(URL)。
[0050]具体地,在如上所述生成了门户组件之后,还需要确保门户组件内的URL符合门户组件的规范,例如,针对页面中的链接的URL应当表示门户组件的绝对路径,并且应当携带导航状态信息,以保证门户组件的正确部署和运行。因此,根据所生成的门户组件的具体状态,可能需要修改门户组件内的URL。例如,当所述URL表示门户组件的相对路径,可以将该URL转换为表示门户组件的绝对路径的URL,然后根据转换后的所述URL的类型,修改所述至少一个门户组件中的URL。当所述URL表示门户组件的绝对路径时,可以直接根据所述URL的类型,修改所述至少一个门户组件中的URL。其中,如果所述URL针对页面中的链接,并且所述链接的对象不是新窗口或新选项卡,则可以将所述URL转换为携带导航状态信息的URL。此外,如果所述URL位于JavaScript文件中,贝U可以将该JavaScript文件中表示相对路径的URL转换为表示绝对路径的URL,从而实现URL的规范化。图5示出了在步骤S203中修改所述至少一个门户组件中的URL的示例性方式。如图5所示,在步骤S2031中,确定门户组件内的URL是否表示该门户组件的相对路径。如果是,则在步骤S2032,将该URL转换为表示该门户组件的绝对路径的URL。具体地,可以通过将门户组件的根路径附加到该URL上,以便将该URL表示的相对路径转换为绝对路径。如本领域公知的,所述根路径可以通过分析该门户组件的上下文获得。例如,对于表示相对路径的URL〈a href= “servlet/account?id=1003235458344〃>Detail〈/a>,可以通过将根路径 “<%=P0RTLET_C0NTEXT%>” 附加到该URL上,以便将其转换为表示门户组件的绝对路径的URL〈a href= “<%=P0RTLET_C0NTEXT%>/servlet/account?id=1003235458344">Detail〈/a>。
[0051]在步骤S2032的URL转换完成之后,或者如果在步骤S2031中确定门户组件内的URL不是表示门户组件的相对路径,而是表示该门户组件的绝对路径,则在步骤S2033中,确定该URL (或转换后的URL)针对页面中的链接还是位于JavaScript文件中。如本领域公知的,门户组件可以包含JavaScript文件,因此,门户组件中的URL可能位于JavaScript文件中,也可能位于门户组件的其他位置并且指示页面中的链接。可以通过分析门户组件的上下文(例如该URL的父节点)来进行这一确定。注意,由于页面可能包含CSS文件,因此当门户组件中的URL位于CSS文件中并且针对一个链接时,可以认为该URL针对页面中的链接。
[0052]当在步骤S2033确定该URL针对页面中的链接时,在步骤S2034中,确定该URL是否链接到新窗口或新选项卡(tab)。如果不是,则可以不对该URL进行处理。反之,如果该URL链接到新窗口或新选项卡,则在步骤S2035,将该URL转换为携带导航状态信息的URL。如本领域公知的,导航状态信息是描述门户组件当前所在的页面的布局,该门户组件的窗口状态(常规、最小化、最大化)和呈现参数等的信息。可以使用本领域公知的方式来将该URL转换为携带导航状态信息的URL,例如可以使用在现有的门户组件引擎中通常提供的导航状态系统编程接口( SPI)中的服务来将该URL转换为携带导航状态信息的URL,在这里为简单起见而省略其详细描述。
[0053]当在步骤S2033中确定该URL位于JavaScript文件中时,在步骤S2036,将该JavaScript文件中表示相对路径的所有URL都转换为表示绝对路径的URL,S卩,将绝对路径传播到该JavaScript文件中的相关JavaScript变量中,以使其符合门户组件的规范。可以按照上文所述的方式进行这一转换。此外,可选地,还可以按照上文所述的方式,将JavaScript文件中转换后的URL进一步转换为携带导航状态信息的URL。
[0054]通过执行上述操作,可以基于页面流的页面生成规范化的门户组件,从而将页面流规范化为门户组件。
[0055]下面,参照图6来描述根据本发明实施例的将页面流规范化为门户组件的设备。该设备可以按照上文所述的方式执行根据本发明实施例的将页面流规范化为门户组件的方法,由于细节已经在上文中描述过,因此下面为避免重复而仅对该设备进行简要的描述。
[0056]如图6所示,设备600包括门户组件生成装置601、动作构建装置602和URL修改装置603。
[0057]门户组件生成装置601接收开发者开发的页面流文件,并且基于页面流中的一个或多个页面生成至少一个门户组件。图7示出了门户组件生成装置601的示例性结构。如图7所示,门户组件生成装置601可以包括确定单元6011和生成单元6012。
[0058]确定单元6011确定所述一个或多个页面中要生成到每个门户组件的页面。确定单元6011可以根据预先设置的规则来确定所述多个页面中要生成到每个门户组件中的页面。所述规则可以是根据实际需要选择的任何适当规则。如上文所述,所述规则例如可以是所述页面链接到的页面的类型。具体地,如果所述一个或多个页面中的一个页面链接到另一独立页面(即,其可以独立与所述一个页面显示而不会覆盖或替换它),则确定单元6011可以确定所述一个页面和所述另一独立页面被生成到两个门户组件中,另一方面,如果所述一个或多个页面中的一个页面链接到用于覆盖该页面的另一页面(即,其将替换所述一个页面),则确定单元6011可以确定所述一个页面和所述另一页面被生成到同一个门户组件中。确定单元6011可以通过提取并分析页面流的元数据来确定每个页面链接到的页面的类型。除了预先设置的规则以外,用户也可以定制特定的规则,使得对于某些页面流,确定单元6011根据该特定的规则确定要生成到每个门户组件中的页面,或者根据用户定制的规则,选择/调整根据预先设置的规则确定的要生成到每个门户组件的页面。
[0059]生成单元6012基于所确定的要生成到每个门户组件中的页面,生成至少一个门户组件。生成单元6012可以使用本领域公知的方法基于页面来生成门户组件,在这里为简单起见而省略其详细描述。
[0060]返回图6,动作构建装置602对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种。例如,对于被生成在同一个门户组件内的两个或更多页面,动作构建装置602可以基于这些页面之间的链接关系构建门户组件内动作,而对于被分别被包含在多个门户组件内的多个页面,动作构建装置602可以基于这些页面之间的链接关系,构建门户组件间动作。
[0061]图8示出了动作构建装置602的示例性结构。如图8所示,动作构建装置602可以包括门户组件内动作构建单元6021和门户组件间动作构建单元6022。门户组件内动作构建单元6021可以基于被包含在一个门户组件内的页面之间的链接关系,构建该门户组件内动作。门户组件间动作构建单元6022可以基于分别被包含在多个门户组件内的多个页面之间的链接关系,构建该门户组件间动作。如上文所述,门户组件内动作构建单元6021和门户组件间动作构建单元6022可以通过定义表示门户组件内动作和门户组件间动作的事件,来构建所述动作。
[0062]返回图6,URL修改装置603修改所述至少一个门户组件中的URL。具体地,在如上所述生成了门户组件之后,除了构建门户组件内动作和门户组件间动作以反映页面流的页面之间的链接关系以外,还需要确保门户组件内的URL符合门户组件的规范。因此,在必要时,URL修改装置603可以修改门户组件内的URL。
[0063]图9示出了 URL修改装置603的示例性结构。如图9所示,URL修改装置603可以包括转换单元6031和修改单元6032。
[0064]当所述URL表示门户组件的相对路径时,转换单元6031将该URL转换为表示绝对路径的URL。具体地,转换单元6031可以通过将门户组件的根路径附加到该URL上,以便将该URL表示的相对路径转换为绝对路径。如本领域公知的,转换单元6031可以通过分析该门户组件的上下文获得所述根路径。然后,修改单元6032可以根据该URL (S卩,转换后的URL)的类型,修改所述至少一个门户组件中的URL。具体地,当所述URL针对页面中的链接,并且所述链接的对象不是新窗口或新选项卡时,修改单元6032将所述URL转换为携带导航状态信息的URL,在这种情况下,修改单元6032可以使用本领域公知的方式来将该URL转换为携带导航状态信息的URL,例如可以使用在现有的门户组件引擎中通常提供的导航状态系统编程接口(SPI)中的服务来将该URL转换为携带导航状态信息的URL。另一方面,如果所述URL位于JavaScript文件中,则修改单元6032将该JavaScript文件中表示相对路径的URL转换为表示绝对路径的URL,从而将绝对路径传播到该文件中的所有相关变量中。此外,可选地,修改单元还可以将该文件中的转换后的URL进一步转换为携带导航状态信息的URL。
[0065]当所述URL表示门户组件的绝对路径时,无需转换单元6031的转换,修改单元6032可以直接根据该URL的类型,按照上文所述的方式修改所述至少一个门户组件中的URL。具体地,如果所述URL针对页面中的链接,并且所述链接的对象不是新窗口或新选项卡,则修改单元6032可以将所述URL转换为携带导航状态信息的URL,如果所述URL位于JavaScript文件中,则修改单元6032可以将该JavaScript文件中表示相对路径的URL转换为表示绝对路径的URL,并且可选地将该文件中的转换后的URL进一步转换为携带导航状态信息的URL。
[0066]利用根据本发明实施例的上述方法和设备,可以将开发者开发的页面流自动地规范化为更易于在不同的应用之间共享以及与现有的门户应用集成的门户组件,使得开发者可以专注于页面流应用的开发,同时可以获得门户组件特有的用户体验和优势。
[0067]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0068]以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本【技术领域】的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本【技术领域】的其它普通技术人员能理解本文披露的各实施例。
【权利要求】
1.一种将页面流规范化为门户组件的方法,包括: 基于页面流中的一个或多个页面生成至少一个门户组件; 对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种;以及 修改所述至少一个门户组件中的统一资源定位符URL。
2.如权利要求1所述的方法,其中,所述基于页面流中的一个或多个页面生成至少一个门户组件包括: 确定所述一个或多个页面中要生成到每个门户组件中的页面;以及 基于所确定的需要生成到每个门户组件中的页面,生成至少一个门户组件。
3.如权利要求2所述的方法,其中,所述确定需要生成到至少一个门户组件中的一个或者多个页面包括: 响应于所述一个或多个页面中的一个页面链接到另一独立页面,确定所述一个页面和所述另一独立页面被生成到两个门户组件中; 响应于所述一个或多个页面中的一个页面链接到用于覆盖该页面的另一页面,确定所述一个页面和所述另一页面被生成到同一个门户组件中。
4.如权利要求1所述的方法,其中,所述对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种包括: 基于被包含在一个门户组件内的页面之间的链接关系,构建门户组件内动作;以及 基于分别被包含在多个门户组件内的多个页面之间的链接关系,构建门户组件间动作。
5.如权利要求1所述的方法,其中,所述URL表示门户组件的相对路径,并且其中,所述修改所述至少一个门户组件内的URL包括: 将该URL转换为表示门户组件的绝对路径的URL ; 根据转换后的所述URL的类型,修改所述至少一个门户组件中的URL。
6.如权利要求1所述的方法,其中,所述URL表示门户组件的绝对路径,并且其中,所述修改所述至少一个门户组件内的URL包括: 根据所述URL的类型,修改所述至少一个门户组件中的URL。
7.如权利要求5或6所述的方法,其中,所述根据所述URL的类型,修改所述至少一个门户组件中的URL包括: 响应于所述URL针对页面中的链接,并且所述链接的对象不是新窗口或新选项卡,将所述URL转换为携带导航状态信息的URL ;以及 响应于所述URL位于JavaScript文件中,将该JavaScript文件中表示相对路径的URL转换为表示绝对路径的URL。
8.一种将页面流规范化为门户组件的设备,包括: 门户组件生成装置,被配置为基于页面流中的一个或多个页面生成至少一个门户组件; 动作构建装置,被配置为对于所述至少一个门户组件,构建门户组件内动作和门户组件间动作中的至少一种;以及 统一资源定位符URL修改装置,被配置为修改所述至少一个门户组件中的URL。
9.如权利要求8所述的设备,其中,所述门户组件生成装置包括: 确定单元,被配置为确定所述多个页面中要生成到每个门户组件中的页面;以及生成单元,被配置为基于所确定的要生成到每个门户组件中的页面,生成至少一个门户组件。
10.如权利要求9所述的设备,其中,所述确定单元响应于所述一个或多个页面中的一个页面链接到另一独立页面,确定所述一个页面和所述另一独立页面被生成到两个门户组件中,以及响应于所述一个或多个页面中的一个页面链接到用于覆盖该页面的另一页面,确定所述一个页面和所述另一页面被生成到同一个门户组件中。
11.如权利要求8所述的设备,其中,所述动作构建装置包括: 门户组件内动作构建单元,被配置为基于被包含在一个门户组件内的页面之间的链接关系,构建门户组件内动作;以及 门户组件间动作构建单元,被配置为基于分别被包含在多个门户组件内的多个页面之间的链接关系,构建门户组件间动作。
12.如权利要求8所述的设备,其中,所述URL表示门户组件的相对路径,并且其中,所述URL修改装置包括: 转换单元,被配置为将该URL转换为表示绝对路径的URL ; 修改单元,被配置为根据转换后的所述URL的类型,修改所述至少一个门户组件中的URL。
13.如权利要求8所述的设备,其中,所述URL表示门户组件的绝对路径,并且其中,所述URL修改装置包括: 修改单元,被配置为根据所述URL的类型,修改所述至少一个门户组件中的URL。
14.如权利要求12或13所述的设备,其中,所述修改单元响应于所述URL针对页面中的链接,并且所述链接的对象不是新窗口或新选项卡,将所述URL转换为携带导航状态信息的URL,以及响应于所述URL位于JavaScript文件中,将该JavaScript文件中表示相对路径的URL转换为表示绝对路径的URL。
【文档编号】H04L29/06GK104253790SQ201310261024
【公开日】2014年12月31日 申请日期:2013年6月27日 优先权日:2013年6月27日
【发明者】王夕宁, 刘 英, 戴维.卡明斯基, 尹瑞, 吕双涛 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1