CN1750470A - 数据共享系统、方法以及软件工具 - Google Patents

数据共享系统、方法以及软件工具 Download PDF

Info

Publication number
CN1750470A
CN1750470A CNA2005100813991A CN200510081399A CN1750470A CN 1750470 A CN1750470 A CN 1750470A CN A2005100813991 A CNA2005100813991 A CN A2005100813991A CN 200510081399 A CN200510081399 A CN 200510081399A CN 1750470 A CN1750470 A CN 1750470A
Authority
CN
China
Prior art keywords
portlet
assembly
view
computer system
data field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100813991A
Other languages
English (en)
Other versions
CN100421375C (zh
Inventor
布伦登·阿瑟斯
斯坦利·K·杰拉德-邓恩
基兰·J·奥马霍恩
查尔斯·R·E·史密斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1750470A publication Critical patent/CN1750470A/zh
Application granted granted Critical
Publication of CN100421375C publication Critical patent/CN100421375C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Abstract

本发明提供一种方法、系统或软件工具,用来在客户端计算机系统中组件之间传送数据。该客户端计算机系统具有用户界面,用来显示包含由多个组件呈现的内容的页面。提供属性中介方,其维护客户端计算机系统的组件所链接的源与目的数据字段的注册表。当向属性中介方注册的组件检测到用户请求时,通知该属性中介方,然后通知向属性中介方注册的一组组件通信阶段的开始。由动作所针对的组件处理用户请求,并且将在用户请求处理过程中更新的每个源数据字段的值传送给具有所链接的目的数据字段的每个组件。当通信阶段的结束时,属性中介方通知所述组件组,然后至少一个组件呈现内容以显示。

Description

数据共享系统、方法以及软件工具
技术领域
本发明涉及数据处理领域,具体而言,涉及用于在客户端平台上运行的portlet(小门户)之间数据共享的方法、系统以及软件工具。
背景技术
万维网为一种因特网多媒体信息检索系统。在网络环境中,客户端机器利用超文本传送协议(HTTP)与网络服务器通信。网络服务器利用称为超文本标记语言(HTML)的标准页面描述语言向用户提供至诸如文本、图片、图像、声音、视频等文件的访问。HTML提供基本文档格式,并且允许开发者制定至其他服务器与文件的、称为超链接的连接。在因特网模式中,至服务器的网络路径由统一资源定位符(URL)标识,URL具有用于定义网络连接的特殊语法。所谓的网络浏览器,例如Netscape Navigator(Netscape Navigator为Netscape Communication Corporation的注册商标)或者MicrosoftInternet Explorer(Microsoft与Internet Explorer为MicrosoftCorporation的注册商标),其为在客户端机器上运行的应用程序,使用户能够通过借助URL指明链接来访问信息,并且能够在不同的HTML页面之间导航。
当网络浏览器的用户选择链接时,客户端机器向命名服务发出请求,以将主机名称(在URL中)映射到服务器机器所在的特定网络IP(互连网协议)地址。该命名服务返回可能相应于该请求的IP地址。利用该IP地址,网络服务器建立到服务器机器的连接。如果服务器机器可用,则其返回网页。为了进一步促进站点内的导航,网页一般包含一或多个称为“锚链”(anchor)或“链接”的超文本引用。
门户一般为聚合来自各种不同来源的内容、并且在门户网页内呈现该内容的网络应用,并且可能具有复杂的个性化特征,以向用户提供定制内容。门户应用可以提供至一或多个后端软件应用的网关,并且一般配备在分离的门户服务器上。
门户服务器一般将网页安排在包含一或多个portlet的门户页面内。portlet为网络组件,由portlet容器管理,其处理并生成动态网络内容。该内容一般称为片断(fragment),可以由门户与来自其他portlet的内容聚集,以形成门户页面。依赖于portlet的用户配置,由portlet生成的内容可能对各个用户都不相同。
门户提供了一种导航框架,用于按层次在服务器上排列的一组网页。该框架提供了用户界面,其允许导航通过服务器上的可用页面层次。提供该导航的用户界面称为主题(theme)。每个页面可能包含零或多个portlet,利用设计或管理工具预先确定并且构造页面排列。
对于标准的服务器端门户,使用客户端网络服务器来在单个页面上观看几个portlet的聚集后的输出。用户与由portlet产生的内容交互,例如通过提交表单或者跟踪链接,从而使portlet动作被门户接收。当门户服务器收到HTTP请求时,其确定该请求是否包含目标为与门户页面相关联的任一portlet的动作。如果有目标为portlet的动作,则门户请求portlet容器启动该portlet以处理该动作。portlet处理该动作,并且生成内容片断以包含在新的门户页面中。另外,所请求的门户页面上所有其他portlet都更新并且将内容片断传递给门户。门户将每个portlet内容片断在portlet窗口中打包,向每个窗口添加标题与控件按钮。有时这称为“包裹”(wrapping)每个所提供的内容片断,并且用来包裹所述片断的附加标记被称为“皮肤”(skin)。皮肤可能包含控件按钮,可以使用这些控件按钮来(例如)将portlet置于特定模式下,例如编辑或配置,或者用来将portlet的显示状态变为最大化或最小化视觉状态,就像人们在一般窗口系统中看到的一样。然后,门户将portlet窗口聚集到完整的门户页面中,以发送给客户端。网络浏览器将该代码呈现在客户端的显示屏幕上。
如果用户开始于至门户主页面的URL、或者借助至特定页面的URL、或者借助至portlet实例的URL链接,则可以通过主题所提供的导航框架导航至门户所提供的页面;在后一种情况下,门户提供包含该portlet的完整页面。
许多公司都对开发满足其业务需求的portlet进行了大量投入。目前这些都是纯服务器端应用,只能使用客户端网络浏览器访问,并且只有在通过某种形式的网络连接到门户服务器时才能访问。如果在不连接到网络时也能继续使用这些相同的portlet,则很有用,这可以从通过将portlet重置为在客户端展开的独立程序实现。然而,这会需要修改所有portlet以允许它们作为独立应用程序运行,这将是一项费钱费时的工作,可能会不利于从服务器向客户端转移。
与本专利申请同时提交的、名为“Method and Software Tool for theInstallation of Portlets into a Client Platform”的未决英国专利申请,以及具有portlet视图的客户端计算机系统(Cleint Computer Systemwith Portlet Views),目的就在于处理这些问题,并且允许将portlet迁移到客户端计算机系统。该系统允许以对用户透明的方式将portlet与其他客户端应用一道集成。
不采用门户聚集模型,而是每个portlet都与独立视图窗口相关联,其中在这些视图窗口的每一个中运行网络浏览器。指示浏览器导航至与portlet相关联的页面,由此显示由该portlet输出的内容。然后利用HTTP,借助嵌入式浏览器,进行用户与portlet之间的所有通信。可以通过portlet视图工具,进行改变portlet状态或模式的请求,并且通过将与该portlet相关联的浏览器重定向到特定URL来将这些请求传递给给portlet。
客户端计算机的优选实施方式允许未经修改的portlet在富客户端平台(也称为智能客户端、胖客户端或厚客户端)上的窗口内运行,该丰富客户端平台为以下客户端:其进行大部分处理,而服务器计算机系统执行少量或不执行处理。对portlet的控制从portlet标记转移到客户端UI。从用户的观点看,portlet与任何其他客户端应用之间没有差别。用户能够以与portlet被部署为服务器portlet时与该portlet交互完全相同的方式与其交互。
在该情况下,如果portlet能够共享数据并且能够与其他客户端应用合作,则可大大提高在客户端上保持portlet的价值。本发明目的在于提供一种对具有portlet视图的客户端计算机系统的改进,其具有portlet共享数据的功能。
发明内容
本发明的各个方面提供了一种用来在客户端计算机系统中组件之间传送数据的方法、软件工具、以及系统。该客户端计算机系统具有用户界面,用来显示包含由多个组件呈现的内容的页面。提供属性中介方,其维护客户端计算机系统的组件所链接的源与目的数据字段的注册表。当向属性中介方注册的组件检测到用户请求时,通知该属性中介方,然后通知向属性中介方注册的一组组件通信阶段的开始。由动作所针对的组件处理用户请求,并且将在用户请求处理过程中更新的每个源数据字段的值传送给具有所链接的目的数据字段的每个组件。当通信阶段的结束时,属性中介方通知所述组件组,然后至少一个组件呈现内容以显示。
在名称为”Portlet Data Sharing System,Mehtod and Program Product”的US20040090969(其内容融入此文作为参考)中描述的属性中介方体系结构允许portlet开发人员定义在标准门户中接收和/或与其他portlet共享数据的数据字段。该属性中介方概念用于本发明,并且得到扩展,以提供客户端portlet与在客户端计算机系统中运行的其他应用之间的异构通信机制。
在US20040090969中描述的属性中介方数据共享模型的要素在于改变portlet的生命周期,以在要开始动作阶段(其中进行属性中介方通信)时,以及再次在该阶段要结束时,要求通知。本发明优选实施方式避免了修改portlet生命周期模型的需求,由此将对portlet API的修改最小化。
在本发明优选实施方式中,关于属性中介方通信的开始与结束的通知由属性中介方直接转发给合作的组件,而属性中介方不知道当前组件的确切性质。通过这种方式,所有属性提供者都以一致的方式发挥作用,并且所有属性提供者都以相同的语义接收相同的通知。在不修改portlet容器的前提下之所以可以如此的原因在于客户端门户的性质,其中客户端平台完全控制了每个portlet的用户交互与显示,因此在必要时能够发出正确的事件。
目前存在大量基于IBM WebSphere技术的portlet,还有越来越多的portlet基于最近的JSR(Java规格请求)-168Portlet API标准。尽管目的相同,这些技术在实现上有很大差异,优选实施方式修改了属性中介方的关键思路,从而该系统可与多种类型的portlet以及客户端应用一起工作,而不用修改现有API。
更优选的特征为如下配置该机制,使得任意两个客户端组件之间的通信以完全独立于组件性质(不管其为portlet还是其他)的方式进行。
附图说明
现在仅作为例子参照附图描述本发明的优选实施方式,其中:
图1显示客户端平台显示的例子;
图2A显示根据本发明优选实施方式的系统的组件之间交互的概图;
图2B显示其中可以实现图2A的系统的客户端插件体系结构及其功能组件;
图2C显示根据优选实施方式的客户端计算机系统的扩展点与扩展之间相互关系;
图3A、3B、3C显示根据本发明优选实施方式的可能显示的显示页面或部分显示页面屏幕;
图4A显示根据本发明优选实施方式的在设计显示页面时所涉及的步骤;
图4B显示根据本发明优选实施方式的在显示所存储的显示页面时所涉及的步骤;
图5显示根据本发明优选实施方式的在安装portlet时所涉及的步骤;
图6显示根据本发明优选实施方式的连线工具的元素;
图7A、7B、7C、7D显示根据本发明一种实施方式的透视图的部分屏幕;
图8A、8B、8C显示根据本发明一种实施方式的连线工具屏幕;和
图9显示根据本发明一种实施方式的、当检测用户动作时所采取的步骤的流程图。
具体实施方式
在以下描述中,参照构成本发明描述一部分的附图并且说明一种实现。应该理解可以利用其他实现,并且在不脱离本发明的范围的前提下,可以进行结构与操作上的修改。
在客户端途径中,分离的视图窗口与每个portlet相关联,并且在每个这些视图窗口内运行网络浏览器。引导portlet视图内的浏览器导航至与该portlet相关联的页面,从而显示该portlet的输出。然后,使用HTTP,通过嵌入式浏览器,进行用户与portlet之间的所有通信。可以通过客户端平台UI,进行改变portlet模式或状态的请求,并且通过将与该portlet相关联的浏览器重定向到特定URL,将这些请求传递给该portlet。
本发明的优选实施方式利用基于Eclipse技术的客户端平台,其提供源代码构造块、插件框架以及运行实例,这些有利于应用工具开发。其为用于创建、集成、以及部署模块(所谓的插件)的环境,其可以是跨越各种计算环境的工具。
Eclipse平台定义了工作台(Workbench)用户界面(UI)以及一组公用的、不依赖于领域的用户交互范例,可将工具构造者可以插入其中以添加新功能。该平台具有一组可以由工具构造者扩展的标准视图。工具构造者既可以添加新视图,也可以将新的领域特定功能插入现有视图中。
工具被编写为插件,其操作Eclipse文件空间(称为Workspace(工作空间))中的文件,并且在工作台中呈现其工具特定的UI。当启动Eclipse平台时,向用户呈现工作台窗口显示页面,其提供由一组可用插件构成的集成开发环境。
Eclipse将在多种操作系统上运行,包括Linux与Windows((Microsoft与Windows为Microsoft Corporation在美国、其他国家、或者所有国家的注册商标,Linux为Linus Torvalds在美国、其他国家、或者所有国家的注册商标)。
在Object Technology International Inc.的Eclipse PlatformTechnical Overview中描述了Eclipse平台,其可以(例如)在www.eclipse.org上找到,其融入此文作为参考。
Eclipse平台包含插件文件夹,其中部署了各个插件。每个插件安装在插件文件夹下其自身的文件夹中。插件以XML清单文件描述,称为plugin.xml,其驻留在插件的文件夹中。清单文件声明该插件与其他插件的互连,并且告诉Eclipse平台其需要知道哪些以激活该插件。可以通过插件注册表API,以编程得到插件清单文件的分析后内容,并且在称为插件注册表的主存内库中缓存分析后的插件规格。
Eclipse平台提供插件管理内核以及存在于每个Eclipse部署的核心插件。这些核心插件的标识被硬编码在Eclipse平台中,并且该平台知道在Eclipse的每个运行实例中激活这些插件。在另一方面,当其他插件需要时,激活非核心插件。
插件之间的互连模型是简单的:插件声明其他插件能够对其作出提供的任意数目的被命名的扩展点,以及其对其他插件的或多个扩展点作出提供的任意数目的扩展。其他插件可以扩展插件的扩展。扩展点可以具有相应的API接口。通过对该扩展点的扩展,其他插件提供该接口的实现。
作为附件1融入此文的Eclipse平台插件清单规格在文档中记录了定义插件时使用的XML元素与属性。每个插件具有唯一的标识符(XML属性id),其用来在其他相关插件清单文件内指示插件。也可以在供应者提供的插件代码内使用唯一标识符,以访问插件的运行实例。
在Eclipse平台上安装插件包含两个阶段。第一阶段包含:将构成插件的资源(清单文件、jar或war文件以及其他资源)拷贝到该平台的插件目录下该插件的相应文件夹中。第二阶段包含:通过向插件注册表添加来自插件清单文件的数据(例如分析后插件规格),注册该插件。一旦完成了这一步,当需要插件执行某功能时,Eclipse平台就可以激活该插件。
Eclipse平台用户界面(UI)模式基于视图与透视图。视图为显示有关对象的信息的窗口;透视图提供其上可以组织视图的显示页面或画布。插件可以向平台提供视图,并且视图可以被组织为不同的透视图。
Eclipse工作台提供的多个扩展点,包含视图扩展点。借助该视图扩展点,通过向该视图扩展点提供一或多个扩展,其他插件可以向平台提供视图。
参照图1,其中显示客户端平台的显示器的简单例子,其具有三个不同的透视图102a、102b、102c。透视图102a在最上层显示,并且包含五个视图104,其中三个视图显示portlet内容,两个非portlet视图显示其他客户端平台组件。由portlet视图插件提供每个显示portlet的视图,作为Eclipse视图扩展点的扩展。以后将描述向Eclipse透视图添加portlet视图的方法。
如上所述,portlet一般在portlet服务器内运行,portlet服务器在页面上聚集来自所有portlet的内容,并且返回所聚集的内容。在本发明中,portlet服务器不将来自一portlet的内容与来自另一portlet的内容聚集,而是一次返回由单个portlet提供的网络内容。由此,此处使用名词“portlet服务器”来指示已经修改了的标准portlet服务器进程。此处使用的名词“portlet服务器”表示以下服务器进程:当被请求时,其利用诸如HTTP等协议来提供来自单个portlet的标记文档,以及任意相关的文件与脚本。本发明可以用单个portlet服务器实现。然而,当前对于编写portlet存在几个实际的标准。优选实施方式支持这些标准中的两个,即WebSphere portlet以及Java规格请求(JSR)-168(StandardWebSphere为InternationalBusiness Machines Corp.of Armonk,NY.的注册商标)。
优选实施方式提供利用WebSphere门户服务器与JSR-168门户服务器的修改版本的portlet服务器。服务器进程提供来自单个portlet的标记文档,即没有对来自不同portlet的内容的聚集。URL指向单个的portlet,并且仅返回该portlet自身的标记片断。消减了门户服务器的代码,从而不提供任何方案、或者皮肤、或者进行portlet内容片断的包裹。门户页面替换为Eclipse透视图,其具有在Eclipse中改变透视图以导航通过显示页面的功能,并且通过实现为至Eclipse平台的插件的portlet视图工具,提供用于在显示页面上显示的portlet内容片断的皮肤,如下所述。
另外,Tomcat应用服务器代码、WebSphere与JSR-168门户服务器代码被尽可能地消减,以不包含客户端计算机系统中不需要的不必要的功能,例如服务器安全功能(登录/验证等等)。
配置portlet服务器以允许安装portlet,并且支持portlet生命周期(即,Init、Service、以及Destroy方法)以及模式改变。Init方法允许portlet被初始化;当需要portlet呈现其内容时,调用Service方法;Destroy方法允许portlet被停止服务并销毁。
优选实施方式利用嵌入式版本的Tomcat Java 2 EnterpriseEdition(J2EE)应用服务器来保持portlet服务器。Tomcat为在ApacheSoftware Foundation的Jakarta项目下开发的、JavaServlet与JavaServerPages技术的开源实现(Java与所有基于Java的商标为Sun Microsystems,Inc.在美国、其他国家、或者所有国家的商标)。另外,Tomcat应用服务器提供对J2EE服务的支持,例如数据库连接与Enterprise JavaBeans(EJBs)。本领域技术人员可以理解:同样可以使用其他应用服务器,例如WebSphere应用服务器。
图2a显示根据优选实施方式的系统的组件之间互连的概况。这些组件包含:Tomcat应用服务器201与应用服务器接口(API)205;对于所支持的每种portlet类型的portlet服务器,此处为WebSphere portlet服务器204b与JSR-168portlet服务器204a;portlet接口203a、203b(其实现为portlet服务器的一部分);JSR-168 portlet视图插件202,其与在portlet服务器204a上安装的JSR-168 portlet 206之一相关联;以及网络浏览器207,其在由port1et视图插件202提供的客户端视图(未在图2a中显示)内运行。该网络浏览器使用HTTP 208与Tomcat服务器201通信。
图2b显示优选实施方式的Eclipse插件体系结构,其中提供portlet视图工具作为portlet视图插件。如图所示,客户端系统100包含多个portlet视图插件202(显示了两个)以及项目插件110。项目插件包含用于实现该系统、并且包含多个UI组件220与多个服务器组件230的代码。(虽然在图2b中这些被显示为形成单个插件110,但是可以根据偏好将这些实现于许多独立的插件中。)UI组件220包含安装向导209,具有UI动作处理器212的标准portlet视图211,以及门户模板213。标准portlet视图代码211由每个portlet视图插件使用,以将其portlet内容包裹到视图窗口中、提供控件图标、当要显示其相关联的portlet的视图时运行网络浏览器等等。
portlet安装向导209提供portlet安装菜单,以后将描述安装向导的实现,其创建portlet视图插件202。
标准portlet视图211提供每个portlet视图插件实现其视图所需的代码。这使portlet视图工具能够提供用于portlet视图的框、在视图框上使用的portlet控件图标,并且在每个portlet视图中运行网络浏览器。UI动作处理器212包含由portlet视图工具响应于用户点击portlet控件图标而执行的代码,用来表示控件动作。
门户模板组件213提供缺省初始透视图,用户可以从此选择并打开portlet安装向导209。
安装向导由安装到客户端上的每个portlet都配备有其自身的相关联的portlet视图插件202。以下问题依赖于所安装的portlet的类型,即其为JSR-168还是WebSphere portlet:portlet安装在哪个portlet服务器上,以及向导所提供的portlet接口扩展214指向哪个portlet接口203a、b。
扩展了图2b左侧的portlet视图插件202,以显示其内容,其为两个扩展:即portlet接口扩展214,其通过用户定义的服务器扩展点232连接到服务器;以及视图扩展210,其扩展Eclipse视图扩展点。视图210引用标准portlet视图211,其从标准portlet视图211获得运行网络浏览器207所需的代码。网络浏览器207可以用来借助HTTP从该插件的相关portlet实例所在的portlet服务器接收网络内容。portlet接口扩展214包含对于该portlet服务器的访问数据,并且允许视图210与有关门户服务器上相关portlet实例通信。portlet接口扩展214包含其相关portlet的名称与ID,并且使用这些来指向有关portlet接口203(a或b)。
配置portlet服务器204a与204b,从而当收到对于portlet内容的请求时,有关服务器(即对于WebSphere portlet的WebSphere portlet服务器,以及对于JSB-168 portlet的JSB-168 portlet服务器)只返回该单个Portlet的内容,而不将该内容与来自其他portlet的内容聚集,并且不将该内容打包到具有标题条与控件按钮等等的portlet窗口中。
portlet的视图插件使用网络浏览器以在视图窗口内显示该内容,根据portlet的配置数据,该插件提供该视图窗口。
如图2c所示,客户端计算机系统100包含:多个UI扩展,其插入Eclipse平台的工作台扩展点222;以及服务器扩展,其插入项目插件110所声明的服务器扩展点232。
参照图2a与2b,现在描述平台的运行时间过程。首先,Eclipse平台启动;读取其已注册插件的清单文件,构造其主存内插件注册表;并且初始化其已注册插件。由此,项目插件110被初始化,并且由此可以通过Eclipse平台使用。另外,该平台初始化任何已注册portlet视图插件202。直至用户显示包含portlet的视图的页面或者安装新portlet,对于门户服务器204a、204b没有发生任何特殊的事情。
当用户选择要显示的、包含portlet视图的透视图时,相关插件必须获得该portlet的标记内容,并且其进行调用以检索该内容。首先,其调用该portlet类型的实例对象,以察看相关联的portlet服务器204a、204b是否已启动。如果portlet服务器还未启动,则portlet接口203a、203b(通过API 205)告诉应用服务器201启动相关portlet服务器204a、204b。当portlet服务器启动时,其所有已安装的portlet 206将被初始化。与动作所针对的portlet相关联的portlet视图插件202包含识别其与之相关联的portlet实例的参数。portlet视图工具创建视图窗口,其中运行网络浏览器,并且通过传递portlet实例的id与所需模式借助服务器API对portlet实例进行查询。portlet服务器返回URL,并且视图将其传递给嵌入式浏览器207。浏览器207通过HTTP将URL请求发送给应用服务器201,并且接收包含由该portlet呈现的标记的响应。然后,浏览器207根据所接收的标记显示portlet内容。portlet可以包含至其他页面、文档等等的链接,并且如果用户选择其中的任何一个,则该浏览器利用HTTP检索所链接的标记。
当用户与portlet 206交互时,浏览器207与portlet服务器204a或204b之间的交互继续进行。portlet模式或状态改变请求,例如:编辑、配置、或帮助模式,通过用户点击portlet视图的皮肤或窗口框中的控件图标之一来启动。然后,port1et视图工具执行UI动作处理器212,UI动作处理器212通知动作所针对的视图的portlet接口214选择了哪个控件按钮。portlet接口214向网络浏览器传递URL,该视图应该从该URL请求新内容。从该URL接收的网络内容使浏览器能够以所请求的模式/状态显示portlet206。
现在参照图3a、3b、3c,从视觉角度描述portlet的安装。当平台200启动时,将显示欢迎透视图,一般具有控件条/按钮,从该控件条/按钮可以选择诸如“打开空白门户模板”等选项,如图3a所示。空白门户模板为一工具,(实现为Eclipse UI的“透视图”扩展点的扩展213),其允许用户创建新的透视图以及利用安装portlet向导安装portlet(参看图3b)。当选择了安装portlet向导209时,向用户显示(参看图3c)客户端系统100特定文件夹302中portlet网络应用存档文件(.war)文件的文件列表300。如果用户从该列表中选择一或多个portlet,则向导将每个选定portlet的.war文件安装到相关portlet服务器上。(单个.war文件可以包含多个portlet,并且用户可能能够选择单个.war文件内的特定portlet进行安装)。当安装了每个选定portlet时,向导向用户显示成功安装报告,然后根据所使用的特定平台,用户可能必须重新启动客户端平台使利用新近安装的portlet。向导还为每个所安装的portlet提供客户端平台视图,以后将更详细地解释这一机制。由此,这些视图被添加到平台的可用视图列表,该列表显示了所有视图扩展,并且开发人员或用户可以使用该列表来设计新的显示页面,例如新透视图。
参照图4a,为了设计新的透视图,当启动400时,向用户显示菜单页面(实现为Eclipse UI扩展点“ActionSets”的扩展),用户可以从该页面选择并打开402空白门户模板。用户从模板下拉菜单中选择“显示视图”选项,并且被显示404可用portlet视图和/或客户端平台组件视图的列表。选择所列视图之一406将使该视图实例化,并且在当前透视图中打开。用户可以添加更多视图至正在创建的页面,并且通过诸如重新调整大小、重新定位(例如拖拉放置等等)等功能,可以在该页面上组织410这些视图,并且可以设计透视图,该透视图与portlet视图一道显示非portlet客户端平台组件,如图1所示。以与切换到门户中的新页面类似的方式,可以将所创建的透视图存储到在需要时可以被记起的预定透视图的列表中412。当关闭透视图时,该透视图上的试图也被关闭。
参照图4b,当用户要求显示所存储的透视图时,从“打开透视图”选项下的下拉菜单中选择所需透视图414。然后,平台200实例化为选定透视图的部分的所有插件416,并且读取其清单文件。根据清单文件的信息,平台利用portlet视图工具来创建418每个视图窗口的框以及任何必要工具条与菜单,并且将网络浏览器嵌入每个实例化的portlet视图中。对于由portlet视图插件提供的视图,启动每个相关插件,并且每个相关插件借助嵌入式网络浏览器发送420对于其相关portlet内容的请求。该请求去向应用服务器,应用服务器将其指向相关portlet服务器。(在做这些时,应用服务器通过检查请求URL并且查找至其容器(例如portlet服务器)的映射表,确定处理该请求的正确容器。)然后,向用户显示透视图422,其具有显示通过嵌入式网络浏览器接收的内容的任一portlet视图。
然后,用户与任一所显示视图交互。如果用户(例如)通过点击在视图中显示的URL链接与portlet视图交互,则嵌入式网络浏览器借助HTTP从portlet服务器请求具有该URL的内容。URL指向单个portlet。portlet服务器只返回来自所指向的portlet的html内容,然后该内容由嵌入式网络浏览器显示。透视图上其余视图不更新。
参照图5,现在描述在将portlet安装到应用服务器中所涉及的功能步骤。该平台配备有portlet安装向导,组件209,当用户选择502该组件时,该组件提供用户界面,该界面使用户能够从war文件列表中选择特定portletwar文件。war(网络应用存档)文件为portlet的一般包裹。响应于用户选择portlet 504,安装向导209根据war文件确定portlet类型,并且通过初始化相关portlet服务器204a、204b(如果其还未被初始化的话),创建portlet接口203的实例。借助portlet实例203a、203b,安装向导209指令portlet服务器204a、204b安装portlet.war文件211,这导致了portlet服务器上portlet 206的新实例506。在该过程中,portlet服务器安装(多个)portlet文件,并且将portlet细节添加到管理其portlet的portlet容器的注册表。
当成功安装了portlet.war文件211时,安装向导209生成508与该portlet相关联的、并且包含其自身清单文件的新portlet视图插件202。清单文件列出显示标签(例如插件视图的标题),视图插件所需的控件以及扩展,并且声明两个扩展:Eclipse UI视图扩展点的视图扩展;以及用于扩展由项目插件110提供的JSR-168或WebSphere portlet扩展点232的JSR-168或WebSphere portlet接口扩展214。portlet接口扩展使portlet能够声明与其相关联的是哪种类型的portlet,以及在相关portlet服务器组件204a、204b中包含的引用代码,以提供相关portlet服务器接口203a、203b。视图扩展引用标准portlet视图代码,当向用户显示视图时,portlet视图插件运行该标准portlet视图代码。通过使用这些,portlet视图工具创建所需菜单与工具条,并且将该工具所提供的图标应用到portlet视图的框中。如上所述,在Eclipse平台中注册510 portlet视图插件后,用户可以将新portlet的视图添加到Eclipse透视图。
该结构与服务器端门户中portlet实例的不同之处在于:本系统中门户服务器204不将来自多个portlet的内容聚集到门户页面中。相反,每个portlet具有其自身的、可以在用户的Eclipse平台屏幕上显示的portlet视图窗口。另外,门户服务器不是通过向每个窗口添加框(包含标题与控件按钮),将每个portlet片断打包到portlet窗口中。相反,portlet视图工具根据portlet视图清单文件,提供其portlet视图窗口的框,包含标题条与控件按钮。
对于每个已安装的portlet,安装向导在Eclipse平台上安装新的portlet视图插件。Eclipse平台在独立的窗口或者视图(每个都具有其自身的框、控件按钮与嵌入式网络浏览器)中显示每个portlet视图插件。
现在描述在portlet和/或客户端组件之间的数据共享机制。为了实现本发明,创建portlet和客户端组件,具有接收并与零或更多个其他组件共享数据的能力。在创建组件时,开发人员定义该组件内每个数据字段的数据类型(即字符、串、实数、整数等等)。开发人员还定义数据字段为输入字段、输出字段、内部字段、或输入/输出字段。指定为输入字段或输入/输出字段的数据字段可以接收来自另一组件或内容提供者的数据。类似地,指定为输出字段或输入/输出字段的数据字段可以与另一组件共享数据。指定为内部字段的数据字段不能接收或与另一组件或内容提供者共享数据。
该数据共享机制使用允许将一个组件的源字段(即输出或输入/输出字段)映射/链接到另一个组件的目的字段(即输入或输入/输出字段)的映射系统。当映射两个字段时,源字段中的数据将自动与目的字段共享。该映射系统一般包含允许开发人员或者用户将所希望的字段链接(“连线(wire)”)在一起的用户界面。一旦映射了源与目的字段,(多个)源字段中的任何数据就将自动与目的字段共享。在提供正确适当的映射时,该映射系统首先可以确保数据可以被适当共享(即数据类型兼容,并且相应字段被适当指定为输入和/或输出字段)。如果允许共享,则可以呈现显示该新映射的图形表示。
在优选实施方式中,该映射系统被实现为上述Eclipse平台中的连线工具215。如图6所示,连线工具215包含其提供给Eclipse平台视图扩展点的视图扩展,以及属性中介方(property broker)。
每个portlet与客户端组件向属性中介方注册,通过显露其数据字段表示其是否能够发布数据和/或消耗数据。属性中介方维护其可以用来映射一个组件的数据源字段(即输出或输入/输出字段)到另一个组件的目的字段(即输入或输入/输出字段)的注册表。当映射两个字段时,源字段中的数据将自动与目的字段共享。映射字段列表或“连线”可以在XML文档中提供,或者由用户以图形方式编辑/创建。
如上所述,在处理请求时,portlet一般具有两个主要阶段:动作阶段与呈现阶段。动作阶段由门户服务器调用,针对被点击的、“动作所针对”的特定portlet,处理该动作,然后对于页面上所有portlet,调用呈现阶段。只有当portlet上某物被点击时,才调用动作阶段,而不是首次显示页面时初次调用。
关于属性中介方通信的开始与结束的通知由属性中介方直接转发给合作方组件,属性中介方不知道当前组件的确切性质。通过这种方式,所有属性提供者都以一致的方式发挥作用,并且所有属性提供者都以相同的语义接收相同的通知。在不修改portlet容器的前提下之所以可能如此的原因在于客户端门户的性质,其中客户端平台完全控制了每个portlet的用户交互与显示,因此在必要时能够发出正确的事件。
参加属性中介的组件(portlet或插件)都不允许开始呈现内容,直至完成所有的属性中介。这是为了确保组件不会呈现陈旧的数据。开始不能呈现数据,因为其可能被属性中介方改变。
为了解决该问题,可以将称为BeginEventPhase与EndEventPhase的新生命周期方法引入WebSphere portlet API。在开始呈现portlet之前,保证完成这些生命周期阶段,由此给出了完成属性中介的时机。然而,因为JSR-168 portlet API不包含BeginEventPhase与EndEventPhase生命周期方法,所以需要一新机制来协调用于客户端属性共享的中介与呈现的时序。
为了达到这一点,引入称为communicaitonPhaseBegun与communicaitonPhaseEnded的两个方法。属性中介方在portlet插件以及在该页面上具有视图的每个其他插件上调用这两个方法。当调用communicaitonPhaseBegun方法时,插件设置标志,例如信号量,以通知自身不要开始呈现,因为正在进行属性中介。当调用communicaitonPhaseEnded时,插件清除该标志,以通知自身现在可以进行内容呈现。然后,该插件能够通过向其传递URL来更新嵌入式浏览器。
注意:当进行属性中介时,嵌入式浏览器中的所有URL点击都被portlet插件截获,而不仅仅是改变portle模式的点击。因为任何交互都可能激活属性中介周期,所以这是必要的。
为了截获这些用户动作,portlet插件在嵌入式浏览器中注册事件监听器。诸如Mircrosoft Internet Explorer等嵌入式浏览器提供该事件监听功能。
参照图9,该图描述当portlet为检测到客户端交互的组件时所涉及的方法步骤。当用户在portlet上执行动作901时,嵌入式浏览器检测用户点击,并且抛出事件通知,该事件通知由与其相关联的portlet插件拾取。然后,该portlet插件通知属性中介方要处理新请求。然后,属性中介方通知902页面上的每个组件communicaitonPhaseBegun。动作所针对的portlet组件现在允许其浏览器对URL进行动作903,并且浏览器将URL发送给动作所针对的portlet,由此触发其动作处理与呈现阶段两者。即使在插件中设置了标志,也允许动作所针对的portlet呈现;这之所以可以是因为在动作阶段已完成其属性共享。在其动作阶段过程中,动作所针对的portlet进行调用以通知属性中介方所改变的属性。进而属性中介方跟随其连线,并且通知904属性改变的目标portlet,由此允许这些portlet更新其数据。这些portlet可以处理其接收的数据属性的新值,并且产生另一数据属性的新值。如果该另一数据属性为共享属性,则portlet将通知属性中介方该属性的新值。属性中介方将再次利用连线通知所有链接的portlet(或者其他链接的组件)这些属性改变。
借助事件监听器,使与动作所针对的portlet相关联的portlet视图插件获知已经通过嵌入式浏览器完成了动作所针对的portlet的呈现。然后,该portlet视图插件通知属性中介方请求已经完成,并且属性中介方通过调用方法communicaitonPhaseEnded,通知905每个在显示页面上具有视图的其他组件通信阶段已经结束。然后,每个其他组件刷新其内容906,以反映更新后的数据值,或者在修改方式下,只有那些改变了属性的组件才刷新其内容。对于每个portlet视图插件,刷新涉及其嵌入式浏览器借助HTTP与其相关portlet通信,并且portlet以新近呈现的内容响应,该新近呈现的内容反映属性中介所产生的所有改变。
在优选实施方式中,每个组件都能在其自身私有存储空间中读取并写入数据。当修改源字段的数据值时,“源”组件将消息发送给属性中介方。属性中介方访问为源字段定义的映射,并且将消息发送给与源字段共享的每个“目的”组件。所述消息包含目的字段的标识,以及目的字段的更新后数据值。
人们可能希望在具有不同数据类型的字段之间共享数据。为了解决此类问题,可以提供转换系统以将共享数据从源字段数据类型/格式转换为目的字段数据类型/格式。由此,该转换系统总是允许容纳任意数目的数据类型。为了提供此类有效的数据转换,一般提供转换数据(例如,存储在数据库中),以由转换系统访问。
当必要时,属性中介方可以使用该转换系统以在源字段与目的字段数据类型之间转换数据。然后,“目的”组件将新数据值写入其自身私有存储空间,并且执行所需的所有功能。
可替换地,属性中介方可以为每个portlet/组件提供每个共享字段的字段以及“目的”组件列表。然后,组件能够将消息直接发送给每个“目的”组件。
可替换地,可以利用共享存储器实现组件之间的数据共享。在这种情况下,组件可以将所有源字段写入共享存储器位置。随后,另一组件为映射的目的字段从该共享存储器位置读取数据。所述读取与写入可以由属性中介方和/或转换系统执行,从而在不要求portlet或客户段组件中附加功能的情况下,进行所需的通信与数据类型转换。
图7显示网络搜索Eclipse透视图700,其包含五个portlet的视图,即搜索条portlet 701、搜索历史portlet 702、以及三个搜索引擎portlet704、705、706,这三个搜索引擎分别(例如)称为“Youwho”、“Ask Bertie”、以及“Goggles”。该网络搜索透视图还包含由连线工具的视图扩展602提供的连线工具视图703。搜索条portlet 701包含:搜索条707,用户可以向其输入搜索词;以及搜索按钮708,用来表示用户希望搜索所输入的词。搜索历史portlet包含用来显示搜索历史的显示区域(在图7中为空),并且包含“清除历史”按钮,用户通过该按钮可以清除显示区域。图7所示透视图为透视图的基本版本,当用户首次选择透视图时,在用户与页面上任何视图交互之前,显示该基本版本。当没有进行搜索时,每个搜索引擎portlet视图都显示消息“没有结果要显示”。
连线工具视图703提供允许开发人员或用户将所希望的字段链接在一起的用户界面。在图8A中,作为连线工具的Eclipse视图,显示了以图形方式映射/链接一或多个源字段到一或多个目的字段的示范性图形用户界面。利用该用户界面以及图7A的示例透视图,首先从视觉角度描述利用连线工具600将搜索引擎portlet与搜索历史portlet“连线”到搜索条portlet的方法。
如图8A所示,显示开发来共享属性的页面上的每个组件,其能够共享的属性(字段)在该组件名称下缩进显示。由此,列出了每个搜索引擎portlet,并且每个搜索引擎portlet都具有称为“searchcommand”的属性。搜索历史portlet列为“网络搜索历史”,并且具有两个数据字段;即“repeatsearchterm”与“lastsearchterm”。搜索条portlet列为“网络搜索条”,并且具有一个数据字段“searchtarget”。
虽然未显示,但是根据属性的I/O规格,可以不同格式在连线工具视图中显示每个属性。例如,输入字段、输出字段、以及输入/输出字段可以特有颜色显示,包含特有形状或标记等等。
当用户选择所列属性时,例如searchtarget数据字段,可以显示下拉菜单800。该菜单给予用户以下选项:添加至选定属性的新连线,即指定选定属性为新映射中的目的字段,或者添加来自选定属性的新连线,即指定选定属性为源字段。为了创建将搜索条连接到Youwho搜索portlet的连线,用户选择创建来自searchtarget属性的新连线的选项。然后,显示称为“创建新连线”的新窗口810(参看图8B)。该窗口提供其他portlet、插件及其属性的列表,从这些其他portlet、插件及其属性用户可以选择Youwho搜索portlet的searchcommand属性。这就导致将来自搜索条的searchtarget串的连接到Youwho搜索portlet的searchcommand串,其中searchtarget串为源字段,searchcommand串为新连线的目的字段。图8c显示连线工具视图的显示,其通过利用所连线的属性下的箭头显示连接。
图7B显示通过在网络搜索条中输入词“IBM”并且选择搜索按钮会显示的结果。如图所示,Youwho搜索portlet显示利用Youwho搜索引擎对词IBM的搜索结果。其他两个搜索引擎705、706保持其原来的“没有结果要显示”状态。
现在相对于上面参照图7A至7C与图8A至8C所述的实施方式,详细描述属性中介方的功能。如上所述,属性中介方维护注册表,属性中介方使用该注册表来将待映射/链接的一个组件的数据源字段映射/链接到另一组件的目的字段。当用户利用连线工具设置两个组件之间的新连线时,该连线的源组件注册其源属性,目的组件注册其目的属性。在图8A至8C的例子中,属性中介方存储从网络搜索条portlet的searchtarget属性至Youwho搜索portlet的searchcommand属性的映射。当用户在搜索条中输入搜索词后,点击搜索按钮表示网络搜索条portlet中的动作。与搜索条portlet相关联的portlet插件(未显示)截获该用户动作,并且获得URL,然而还不允许网络搜索条portlet允许执行动作。
网络搜索条portlet告诉属性中介方604通信开始。然后,属性中介方告诉在透视图上显示视图的所有portlet与客户端组件正在进行通信。然后,网络条portlet的相关插件将该URL传递给其嵌入式网络浏览器,该嵌入式网络浏览器利用HTTP联系相关portlet服务器,然后,该相关portlet服务器处理所请求的动作。在处理动作的过程中,网络搜索条portlet通知属性中介方其searchtarget属性已经改变,并且提供searchtarget属性新值给属性中介方。中介方利用其注册表,并且通知链接到searchtarget属性的所有portlet或客户端组件该属性的新值。进而,所链接的portlet或所链接的客户端组件可以通过中介方触发结果的属性改变。在图8A至8C的例子中,属性中介方通知Youwho搜索portlet searchtarget属性新值,然后Youwho搜索portlet相应的修改其自身的searchcommand属性。当网络搜索条portlet完成动作时,该portlet发送新的刷新后的内容,以在其视图窗口中由嵌入式网络浏览器显示;然后,其相关portlet插件通知中介方通信阶段完成。然后,中介方通知页面上每个注册组件通信阶段已经完成。然后,刷新在页面上出现的每个其他portlet/组件视图。对于每个portlet,这通过其相关portlet插件告诉其嵌入式网络浏览器刷新来完成。然后,在portlet视图窗口中呈现从相关portlet服务器接收回来的、更新后的内容。
在通信阶段过程中,Youwho portlet通过属性中介方获得其searchtarget属性新值,即搜索词“IBM”。在其呈现阶段过程中,Youwhoportlet在网络上查询其相关搜索引擎,以获得对于词“IBM”的搜索结果。然后,从该搜索引擎接收的结果由portlet呈现,并且发送给嵌入相关Youwhoportlet视图中的网络浏览器,以在屏幕上显示。
在如上所述地创建了搜索条portlet的searchtarget属性至其他两个搜索portlet中每一个的searchcommand属性的连线之后,所有这三个搜索portlet通过搜索用户在搜索条707中输入的字符串,将对用户在搜索条portlet中选择搜索按钮进行反应,如图7C所示。
最后,可以连线搜索历史portlet 702,以记录通过搜索条portlet进行的搜索。为了达到这一点,将网络搜索条的searchtarget属性连线到历史portlet的lastsearchterm属性,lastsearchterm属性出现在其显示的先前搜索词列表的顶部。由此,当刷新搜索历史portlet时,在输入词或词组至网络搜索条之后,新的lastsearchterm值将被添加到其搜索词列表的顶部,先前的搜索词相应地向列表下方顺序移动。在图7D的例子中,搜索引擎在先前搜索词列表中列出两个词IBM与Microsoft。
通过利用搜索历史portlet的repeatsearchterm属性,可以实现搜索历史portlet的进一步特征。该repeatsearchterm属性连线到网络搜索条portlet中的searchtarget属性,如上所述,该searchtarget属性连线到每个搜索引擎portlet的searchcommand属性。通过用户点击历史portlet所显示的搜索历史中的项目,例如在在图7D的例子中,在词“IBM”或“Microsoft”上点击,重置repeatsearchterm属性。这表示请求由所连线的搜索引擎重复执行对于选定的(多个)搜索词的搜索。
替换图8A、8B、8C所示的用户界面,将一或多个源字段映射到一或多个目的字段的用户界面可以(例如)包含具有源侧与目的侧的表。可以使用下拉菜单以确保只选择有效的连接。例如,在选择源portlet/组件之后,定义为输出或输入/输出字段的字段可以在源字段下拉菜单中列出。可以类似方式选择(多个)目的字段。当组件只包含对于选择有效的单个字段时(即只包含一个输入字段的天气portlet,即城市列表),则在指定该组件之后,可以替用户自动选择该字段。类似地,当在门户页面上只包含两个portlet时,一旦将一个portlet选定为源,则可以将另一portlet选定为目的。不管怎样,如上所述,一旦将源字段映射到目的字段,源字段中的任何数据将自动与目的字段共享。
虽然连线所述组件的方法指连线portlet,但是也可以利用上述属性中介方机制,将客户端组件的属性连线到portlet的属性,以及连线到其他客户端组件的属性。
只要本发明的实施方式是可实现的,至少部分地利用软件控制的可编程处理设备,例如微处理器、数字信号处理器、或者其他处理设备、数据处理装置或系统,就可以理解用来配置可编程设备、装置、或系统以实现上述方法的计算机程序被认为是本发明的一个方面。该计算机程序可以实现为源代码,或者经过编译,以在处理设备、装置、或系统上实现,或者实现为(例如)目标代码。另外,包含这样的计算机程序的制造物也被认为是本发明的一个方面。
例如,可以在诸如一或多个DVD/CD-ROM和/或软盘等介质上提供用来实现各种功能或者传送信息的计算机程序,然后将其存储在硬盘上。也可以在远程通信介质上提供可以由数据处理系统实现的程序,例如通过远程通信网络和/或因特网,以及实现为电子信号。对于作为无线终端在射频电话网络上运行的数据处理系统,该远程通信介质可以是承载表示所述计算机程序与数据的适当编码信号的射频载波。可选地,该载波可以是光纤链路的光载波,或者远程通信系统的任何其他适当的载波介质。
本领域技术人员可以理解:虽然针对上述实例实施方式描述了本发明,但是本发明不限于此,并且存在落入本发明范围内的许多可能的修改与变动。
本发明的范围包含任何此处所述的任何新颖特征或者特征组合。在此本申请人提请注意在本申请或者任何从其导出的进一步申请的处理的过程中,可能会形成对这些特征或者特征组合的新权利要求。具体地,参照附图,来自从属权利要求的特征可能与独立权利要求的特征组合,并且来自各个独立权利要求的特征可能以任意适当的方式组合,而不是只有权利要求所列出的特定组合。
为避免疑问,本说明书与权利要求中所用的名词“包含”不应理解为表示“只包含”。
附件1
Eclipse Platform
Plug-in Manifest
Version 0.90-Last revised March 15,2001The manifest markup definitions below make use of various naming tokens andidentifiers.To eliminate ambiguity,here are some production rules for these[arereferenced in text below].In general,all identifiers are case-sensitive.SimpleToken:=sequence of characters from (’a-z’,’A-Z’,’0-9’)ComposedToken:=SimpleToken|(SimpleToken’.’ComposedToken)JavaClassName:=ComposedTokenPlugInId:=ComposedTokenPlugInPrereq:=PlugInId|’export’PlugInIdExtensionId:=SimpleTokenExtensionPointId:=SimpleTokenExtensionPointReference:=ExtensionPointID|(PlugInId’.’ExtensionPointId)
The remainder of this section describes the plugin.xml file structure as aseries of DTD fragments.File  plugin.dtd presents the DTD definition it itsentirety.<?xml encoding=″US-ASCII″?><!ELEMENT plugin(requires?,runtime?,extension-point*,extension*)><!ATTLIST pluginname                  CDATA #REQUIREDid                    CDATA #REQUIREDversion               CDATA #REQUIREDvendor-name           CDATA #IMPLIEDclass                 CDATA #IMPLIED>
The<plugin>element defines the body of the manifest.It optionally containsdefinitions for the plug-in runtime,declarations of any new extension points beingintroduced by the plug-in,as well as configuration of functional extensions(configured into extension points defined by other plug-ins,or introduced by thisplug-in).<plugin>attributes are as follows:·name-user displayable(translatable)name for the plug-in·id-unique identifier for the plug-in.
  оTo minimize potential for naming collisions,the identifier should be
    derived from the internet domain id of the supplying vendor
    (reversing the domain name tokens and appending additional name
    tokens separated by dot[.]).For example,vendor ibm.com could
    define plug-in identifier com.ibm.db2
  о[production rule:PlugInId]·version-plug-in version number.See
org.eclipse.core.runtime.Plugin VersionIdentifier for details.Plug-in version
format is major.minor.service.Change in the major component is
interpreted as an impompatible version change.Change in the minor
component is intepreted as a compatible version change.Change in the
service component is intepreted as cumulative service applied to the minor
version.·vendor-name-user-displayable name of the vendor supplying the plug-in.·class-name of the plug-in class for this plug-in.The class must be a
subclass of  org.eclipse.core.runtime.Plugin.The XML DTD construction rule element*means zero or more occurrences of theelement;element?means zero or one occurrence of the element;and element+(used below)means one or more occurrences of the element.Based on the<plugin>definition above,this means,for example,that a plug-in containing onlya run-time definition and no extension point declarations or extensionconfigurations is valid(for example,common libraries that other plug-ins dependon).Similarly,a plug-in containing only extension configurations and no runtimeor extension points of its own is also valid(for example,configuring classesdelivered in other plug-ins into extension points declared in other plug-ins).The<requires>section of the manifest declares any dependencies on otherplug-ins.<!ELEMENT requires(import+)><!ELEMENT import EMPTY><!ATTLIST importplugin               CDATA #REQUIREDversion              CDATA #IMPLIEDmatch                (exact|compatible)″compatible″export               (true|false)″false″>
Each dependency is specified using an<import>element.It contains thefollowing attributes:·plugin-identifier of the required plug-in·version-optional version specification  ·match-version matching rule.Ignored if version attribute is not specified.
Determines whether the dependency is satisfied only with a plug-in of the
specified version(possibly with additional service applied),or the
dependency can be satisfied with any compatible version(including a more
recent minor version of the plug-in)·export-specifies whether the dependent plug-in classes are made visible
(are(re)exported)to users of this plug-in.By default,dependent classes are
 not exported(are not made visible)The<runtime>section of the manifest contains a definition of one or morelibraries that make up the plug-in runtime.The referenced libraries are used by theplatform execution mechanisms(the plug-in class loader)to load and execute thecorrect code required by the plug-in.<!ELEMENT runtime(library+)><!ELEMENT library(export*)><!ATTLIST libraryname                 CDATA #REQUIRED><!ELEMENT export EMPTY><!ATTLIST exportname                 CDATA #REQUIRED>
The<runtime>element has no attributes.The<library>elements collectively define the plug-in runtirne.At least one<library>must be specified.Each<library>element has the following attributes:·name-string reference to a library file or directory containing classes
(relative to the plug-in install directory).Directory references must contain
trailing file separator.Each<library>element can specify which portion of the library should beexported.The export rules are specified as a set of export masks.By default(noexport rules specified),the library is considered to be private.The<export>elements have the following attributes:·name-specifies the export mask.Valid values are:
   о*-indicates all contents of library are exported (public)·package-name.*-indicates all classes in the specified package are
 exported.The matching rules are same as in Java import statement.·class-name-fully qualified java class nameThe platform′s architecture is based on the notion of configurable extension points.The platform itself predefines a set of extension points that cover the task ofextending the platform and desktop(for example,adding menu actions,contributing embedded editor).In addition to the predefined extension points,eachsupplied plug-in can declare additional extension points.By declaring anextension point the plug-in is essentially advertising the ability to configure theplug-in function with externally supplied extensions.For example,the PageBuilder plug-in may declare an extension point for adding new Design TimeControls(DTCs)into its builder palette.This means that the Page Builder hasdefined an architecture for what it means to be a DTC and has implemented thecode that looks for DTC extensions that have been configured into the extensionpoints.<!ELEMENT extension-point EMPTY><!ATTLIST extension-pointname                CDATA #REQUIREDid                  CDATA #REQUIREDschema              CDATA #IMPLIED
 The<extension-point>element has the following attributes:·name-user-displayable(translatable)name for the extension point·id -simple id token,unique within this plug-in.The token cannot contain
 dot(.)or whitespace.
  о[production rule:ExtensionPointId]·schema-schema specification for this extension point.The exact details are
 being defined as part of the Plug-In Development Environment(PDE).The
 schema is currently not used at runtime.The reference is a file name relative
 to the plug-in installation location.Actual extensions are configured into extension points(predefined,or newlydeclared in this plug-in)in the<extension>section.The configuration informationis specified as well-formed XML contained between the<extension>and</extension>tags.The platform does not specify the actual form of theconfiguration markup(other than requiring it to be well-formed XML).Themarkup is defined by the supplier of the plug-in that declared the extension point.The platform does not actually interpret the configuration markup.It simplypasses the configuration information to the plug-in as part of the extension pointprocessing(at the time the extension point logic queries all of its configuredextensions).<!ELEMENT extension ANY><!ATTLIST extensionpoint                CDATA #REQUIREDid                   CDATA #IMPLIEDname                 CDATA #IMPLIED>
The<extension>element has the following attributes:·point-reference to an extension point being configured.The extension
point can be one defined in this plug-in or another plug-in
  о[production rule:ExtensionPointReference]·id-optional identifier for this extension point configuration instance.This
is used by extension points that need to uniquely identify(rather than just
enumerate)the specific configured extensions.The identifier is specified as
a simple token unique within the definition of the declaring plug-in.When
used globally,the extension identifier is qualified by the plug-in identifier
  о[production rule:ExtensionId]·name -user-displayable(translatable)name for the extension
Important:The content of the<extension>element is declared using the ANYrule.This means that any well-formed XML can be specified within the extensionconfiguration section(between<extension>and</extension>tags).
(c)Copyright IBM Corp.2000,2001.

Claims (46)

1.一种在客户端计算机系统中组件之间传送数据的方法,该客户端计算机系统具有用户界面,用来显示包含由多个组件呈现的内容的页面,所述方法包含以下步骤:
提供属性中介方,其维护客户端计算机系统的组件所链接的源与目的的数据字段的注册表;
当向属性中介方注册的组件检测到用户请求时,通知该属性中介方;
通知向属性中介方注册的一组组件通信阶段的开始;
由动作所针对的组件处理用户请求;
将在用户请求处理过程中更新的每个源数据字段的值传送给具有所链接的目的数据字段的每个组件;
属性中介方通知所述组件组通信阶段的结束;以及
由至少一个组件呈现已更新内容。
2.根据权利要求1所述的方法,其中向其传送所述已更新值的组件的目的数据字段为链接到一或多个其他组件的数据字段的源数据字段,该方法还包含:将已更新数据值传送给每个所述的其他组件。
3.根据权利要求1或2所述的方法,其中目的组件处理更新的值,其中向该目的组件传递该更新的值。
4.根据权利要求3所述的方法,其中如果目的组件对已更新值的处理更新目的组件源数据字段的值,则该方法还包含:将已更新源数据字段值传送给与其链接的每个目的数据字段。
5.根据上述权利要求任一项所述的方法,还包含:检测引起组件动作的用户请求。
6.根据权利要求5所述的方法,还包含:显示包含多个视图的页面,其中每个视图由客户端计算机系统中一或多个组件提供。
7.根据权利要求6所述的方法,其中通过检测与由那个组件所提供的视图的用户交互,检测引起该组件动作的用户请求。
8.根据权利要求5、6或7所述的方法,其中所述检测用户请求包含:在组件中设置事件监听器。
9.根据上述权利要求任一项所述的方法,其中被通知通信阶段开始与结束的组件组为那些具有在显示页面上显示的视图的组件组。
10.根据上述权利要求任一项所述的方法,其中在发送有关通信阶段结束的通知之前,动作所针对的组件呈现其内容。
11.根据上述权利要求任一项所述的方法,其中具有在通信阶段过程中被更新的数据字段的每个组件呈现已更新的内容。
12.根据上述权利要求任一项所述的方法,还包含:向用户显示已更新页面。
13.根据权利要求6至12中任一项所述的方法,其中至少一个具有在显示页面上显示的视图的组件为portlet。
14.根据权利要求13所述的方法,还包含:在客户端计算机系统中提供portlet服务器,以处理对于portlet内容的请求,该portlet服务器在其上安装有一或多个portlet。
15.根据权利要求14所述的方法,还包含:在显示页面上提供视图窗口,并且运行其中的网络浏览器以显示portlet内容。
16.根据权利要求15所述的方法,还包含:通过网络浏览器,从安装在portlet服务器上的portlet请求网络内容;以及
在所提供的视图窗口中显示在显示页面上收到的网络内容。
17.根据上述权利要求任一项所述的方法,还包含:在客户端计算机系统上运行客户端平台,所述用户界面允许显示由在该客户端平台中注册的插件组件提供的视图。
18.根据权利要求14、15或16所述的方法,还包含:提供与在portlet服务器上安装的每个portlet相关联的portlet视图工具。
19.根据权利要求18所述的方法,还包含:portlet视图工具截获对于来自portlet的对于网络内容的用户请求。
20.根据权利要求19所述的方法,还包含:当截获用户请求时,通知属性中介方。
21.一种计算机系统,包含:
多个组件,每个组件都具有一或多个数据字段,并且能够用来呈现内容;以及
属性中介方,包含注册表,其将向属性中介方注册的源组件的源数据字段映射到目的组件的目的数据字段;
其中:
第一组件用来接收用户请求,向属性中介方发送关于收到该请求的通知,并且处理该用户请求;
响应于从第一组件收到所述通知,属性中介方用来通知一组组件通信阶段的开始,并且通知所述组件组通信阶段的结束;
在用户请求处理过程中已更新的每个源数据字段的值被传送给具有所链接的目的数据字段的每个组件。
22.根据权利要求21所述的计算机系统,还包含:通信部件,当目的组件的目的数据字段也是链接到一或多个其他组件的源数据字段时,用来将所述已更新数据值传送给所述一或多个其他组件。
23.根据权利要求21或22所述的计算机系统,其中属性中介方用来将在用户请求处理过程中已更新的每个源数据字段的值传送给具有所链接的目的数据字段的每个组件。
24.根据权利要求21至23中任一项所述的计算机系统,还包含:用来处理目的组件所接收的已更新值的处理部件。
25.根据权利要求24所述的计算机系统,还包含:如果由目的组件对收到的已更新值的处理更新目的组件源数据字段的值,则用来将源数据字段已更新值传送给与其链接的每个目的数据字段的部件。
26.根据权利要求21至25中任一项所述的计算机系统,还包含:用来检测引起组件动作的用户请求的部件。
27.根据权利要求21至26中任一项所述的计算机系统,还包含:显示部件,用来显示包含多个视图窗口的页面,其中每个视图窗口包含由客户端计算机系统的一或多个组件提供的内容。
28.根据权利要求27所述的计算机系统,还包含:用来检测与由组件所提供的视图窗口的用户交互的部件。
29.根据权利要求25或27所述的计算机系统,其中检测用户请求包含:在组件中设置事件监听器。
30.根据权利要求21至29中任一项所述的计算机系统,其中属性中介方用来向其发送有关通信阶段开始与结束的通知的组件组为那些具有在显示页面上显示的视图的组件组。
31.根据权利要求21至30中任一项所述的计算机系统,还包含:
用来显示包含一或多个视图窗口的页面的用户界面,其中视图窗口显示由该计算机系统的组件提供的内容。
32.根据权利要求31所述的计算机系统,还包含:
portlet服务器,用来处理对于portlet内容的请求,该portlet服务器在其上安装有一或多个portlet;以及
portlet视图工具,与在portlet服务器上安装的portlet相关联,用来控制相关联的portlet并且用来运行网络浏览器,以在视图窗口中显示来自与其相关联的portlet的内容。
33.根据权利要求32所述的计算机系统,还包含:多个portlet视图工具,每个都与在portlet服务器上安装的portlet相关联。
34.根据权利要求32或33所述的计算机系统,其中portlet视图工具包含与portlet相关联的、并且能够被配置来向该计算机系统提供视图的portlet视图插件。
35.根据权利要求32、33或34所述的计算机系统,其中包括多个portlet服务器,每个服务器具有一或多个安装在其中的portlet。
36.根据权利要求35所述的计算机系统,其中portlet视图工具包含portlet接口,用来使能与相关portlet服务器上相关联的portlet的交互。
37.根据权利要求21至36中任一项所述的计算机系统,其中portlet视图工具能够被配置来提供用于显示portlet内容的视图窗口的框。
38.根据权利要求21至37中任一项所述的计算机系统,还包含用来运行客户端平台的部件,以及用来允许显示由在该客户端平台中注册的插件组件所提供的视图的用户界面。
39.根据权利要求32至34中任一项所述的计算机系统,其中portlet视图工具包含用来确定待由网络浏览器请求以在portlet视图窗口中显示的portlet内容的URL的部件。
40.一种在客户端计算机系统中组件之间传送数据的软件工具,该客户端计算机系统具有用户界面,用来显示包含由多个组件呈现的内容的页面,所述软件工具用来:
维护客户端计算机系统的组件所链接的源与目的数据字段的注册表;
通过计算机系统的组件接收关于检测用户请求的通知;
通知一组组件通信阶段的开始;
将在用户请求处理过程中更新的每个源数据字段的值传送给具有所链接的目的数据字段的每个组件;以及
当通信阶段结束时,通知所述组件组。
41.根据权利要求40所述的软件工具,还用来:当目的组件的目的数据字段也是链接到一或多个其他组件的源数据字段时,将所述已更新数据值传送给所述一或多个其他组件。
42.根据权利要求40或41所述的软件工具,还用来:将在用户请求处理过程中已更新的每个源数据字段的值传送给具有所链接的目的数据字段的每个组件。
43.根据权利要求40至42中任一项所述的软件工具,还用来:如果由目的组件对收到的已更新值的处理更新目的组件源数据字段的值,则将源数据字段已更新值传送给与其链接的每个目的数据字段。
44.一种计算机程序产品,包含用来执行权利要求1至20中任一项所述的方法的计算机可实现指令。
45.一种数据处理系统,包括权利要求40至43中任何一项所述的软件工具。
46.一种方法、系统或软件工具,用来在计算机系统的组件之间共享数据,基本如此处参照附图所述。
CNB2005100813991A 2004-09-17 2005-06-30 数据共享系统及方法 Expired - Fee Related CN100421375C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0420673.6 2004-09-17
GB0420673A GB0420673D0 (en) 2004-09-17 2004-09-17 Data sharing system, method and software tool

Publications (2)

Publication Number Publication Date
CN1750470A true CN1750470A (zh) 2006-03-22
CN100421375C CN100421375C (zh) 2008-09-24

Family

ID=33306730

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100813991A Expired - Fee Related CN100421375C (zh) 2004-09-17 2005-06-30 数据共享系统及方法

Country Status (5)

Country Link
US (1) US7937670B2 (zh)
KR (1) KR100900743B1 (zh)
CN (1) CN100421375C (zh)
GB (1) GB0420673D0 (zh)
TW (1) TW200622730A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104504146A (zh) * 2015-01-05 2015-04-08 浪潮(北京)电子信息产业有限公司 一种数据分类管理方法及系统
CN108874389A (zh) * 2018-06-27 2018-11-23 中国建设银行股份有限公司 前端页面开发框架
CN109558197A (zh) * 2018-11-27 2019-04-02 北京小米移动软件有限公司 信息推荐方法及装置

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8453065B2 (en) * 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
EP1854000A1 (en) * 2005-03-03 2007-11-14 Thomson Global Resources Integrated system, tools, and methods for designing automated business process applications
US8543931B2 (en) * 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
US20070067265A1 (en) * 2005-09-21 2007-03-22 International Business Machines Corporation Using one extensive portlet rather than multiple small portlets
US7743336B2 (en) 2005-10-27 2010-06-22 Apple Inc. Widget security
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US8543824B2 (en) * 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
US9104294B2 (en) * 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7707514B2 (en) * 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
BRPI0706210A2 (pt) * 2005-12-30 2011-03-29 Thomson Global Resources sistemas online, métodos e interfaces para proporcionar informações farmacêuticas
US7739310B1 (en) 2006-01-03 2010-06-15 Emc Corporation Extensible portlet templates
US9454734B2 (en) 2006-02-21 2016-09-27 International Business Machines Corporation Heuristic assembly of a component based application
US8793584B2 (en) * 2006-05-24 2014-07-29 International Business Machines Corporation Customizable user interface wrappers for web applications
GB0611399D0 (en) * 2006-06-09 2006-07-19 Ibm A method, apparatus or software for providing a portal comprising one or more portlets for displaying data
US9804861B2 (en) * 2006-06-09 2017-10-31 Paypal, Inc. Configurable interfaces
US20070294371A1 (en) * 2006-06-15 2007-12-20 Petri John E Method for determining input focus for web pages having aggregated content
US20080005721A1 (en) * 2006-06-29 2008-01-03 Augusta Systems, Inc. Method and System for Rapidly Developing Sensor-Enabled Software Applications
US7735060B2 (en) * 2006-06-29 2010-06-08 Augusta Systems, Inc. Method and system for rapidly developing and deploying sensor-enabled software applications
US8095923B2 (en) * 2006-06-29 2012-01-10 Augusta Systems, Inc. System and method for deploying and managing intelligent nodes in a distributed network
US8015547B2 (en) * 2006-06-29 2011-09-06 Augusta Systems, Inc. Reconfigurable, hierarchical component-based architecture and framework and methods for rapidly developing sensor device-enabling software applications
US8468217B2 (en) * 2006-07-26 2013-06-18 International Business Machines Corporation Maintaining portlet data currency while minimizing latency
US8869027B2 (en) 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
US20080077851A1 (en) * 2006-09-26 2008-03-27 International Business Machines Corporation Method and apparatus for inserting jsr 168 portlet content into a j2ee java server page
US9135605B2 (en) * 2006-11-29 2015-09-15 Adobe Systems Incorporated Instant electronic meeting from within a current computer application
JP5168979B2 (ja) * 2007-03-29 2013-03-27 日本電気株式会社 アプリケーション連携システム、連携方法および連携プログラム
US8463844B2 (en) * 2007-05-09 2013-06-11 Oracle International Corporation Portlets in non-portal pages
US7895179B2 (en) * 2007-06-25 2011-02-22 Microsoft Corporation Asynchronous updating of web page data views
US8954871B2 (en) * 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
US8667415B2 (en) * 2007-08-06 2014-03-04 Apple Inc. Web widgets
US8108770B2 (en) * 2007-08-27 2012-01-31 Yahoo! Inc. Secure inter-module communication mechanism
US8943432B2 (en) * 2007-08-29 2015-01-27 International Business Machines Corporation Dynamically configurable portlet
KR20090038105A (ko) * 2007-10-15 2009-04-20 권진욱 분산저장방식을 이용한 웹상에서의 파일공유방법
US7904818B2 (en) 2007-10-15 2011-03-08 International Business Machines Corporation Summarizing portlet usage captured responsive to trigger events in a portal page
US8191002B2 (en) 2007-10-15 2012-05-29 International Business Machines Corporation Summarizing portlet usage in a portal page
US8261236B2 (en) 2007-10-30 2012-09-04 International Business Machines Corporation Detecting plug-in and fragment issues with software products
US20090132954A1 (en) * 2007-11-20 2009-05-21 Honeywell International Inc. Apparatus and method for isolating problems in content loaded into a human-machine interface application
US8112771B2 (en) * 2008-01-30 2012-02-07 Microsoft Corporation Managing component programs within a service application
US9817822B2 (en) 2008-02-07 2017-11-14 International Business Machines Corporation Managing white space in a portal web page
US20090217254A1 (en) * 2008-02-22 2009-08-27 Microsoft Corporation Application level smart tags
US8312384B2 (en) * 2008-06-11 2012-11-13 Honeywell International Inc. Apparatus and method for fault-tolerant presentation of multiple graphical displays in a process control system
US20100017385A1 (en) 2008-07-16 2010-01-21 International Business Machines Creating and managing reference elements of deployable web archive files
US20100064251A1 (en) * 2008-09-05 2010-03-11 International Business Machines Corporation Toggling window display state by screen in a multi-screened desktop environment
US8156441B1 (en) * 2008-11-04 2012-04-10 Lockheed Martin Corporation Inter-gadget communication
US8219922B2 (en) * 2008-12-30 2012-07-10 International Business Machines Corporation Dynamic point and extend user interface
US8073857B2 (en) * 2009-02-17 2011-12-06 International Business Machines Corporation Semantics-based data transformation over a wire in mashups
US20100318957A1 (en) * 2009-06-16 2010-12-16 International Business Machines Corporation System, method, and apparatus for extensible business transformation using a component-based business model
US8495048B2 (en) * 2009-08-26 2013-07-23 International Business Machines Applying user-generated deployment events to a grouping of deployable portlets
US9384005B2 (en) * 2009-08-27 2016-07-05 Adobe Systems Incorporated Systems and methods for dynamic configuration of client-side development environments through use of application servers
US20110071867A1 (en) * 2009-09-23 2011-03-24 International Business Machines Corporation Transformation of data centers to manage pollution
US8782676B2 (en) * 2009-09-30 2014-07-15 Sap Ag System and method for communication between portal applications and portlet containers
US20110126192A1 (en) * 2009-10-26 2011-05-26 Simon Frost Systems and methods for providing and updating a unified client
US20110106835A1 (en) * 2009-10-29 2011-05-05 International Business Machines Corporation User-Defined Profile Tags, Rules, and Recommendations for Portal
US20110109634A1 (en) * 2009-11-06 2011-05-12 Research In Motion Limited Portable electronic device and method of information rendering on portable electronic device
US20110113352A1 (en) * 2009-11-06 2011-05-12 Research In Motion Limited Portable electronic device and method of web page rendering
US20110119454A1 (en) * 2009-11-17 2011-05-19 Hsiang-Tsung Kung Display system for simultaneous displaying of windows generated by multiple window systems belonging to the same computer platform
KR101090641B1 (ko) 2010-06-08 2011-12-08 엔에이치엔(주) 커뮤니케이션 버스를 이용한 컴포넌트들 간의 데이터 공유 방법 및 시스템
US8949721B2 (en) * 2011-01-25 2015-02-03 International Business Machines Corporation Personalization of web content
GB2513533A (en) * 2012-12-11 2014-11-05 Ibm Method for client-side aggregation of web content
US9118614B1 (en) * 2013-01-31 2015-08-25 Intuit Inc. Notification manager
US10104082B2 (en) 2013-11-06 2018-10-16 William P. Jones Aggregated information access and control using a personal unifying taxonomy
JP6545189B2 (ja) * 2014-05-27 2019-07-17 サムスン エレクトロニクス カンパニー リミテッド アグノスティックデータブローカにデータを統合する方法、及びアグノスティックデータブローカシステム
CN104869072B (zh) * 2015-04-25 2018-01-30 哈尔滨工业大学 一种基于构件化模块的航天器总线路由器
US10824791B2 (en) * 2018-02-26 2020-11-03 Servicenow, Inc. System for building and modeling web pages
US10783316B2 (en) 2018-02-26 2020-09-22 Servicenow, Inc. Bundled scripts for web content delivery

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3571616B2 (ja) * 2000-05-23 2004-09-29 エヌ・ティ・ティ・コムウェア株式会社 データの共有方法、端末装置および記録媒体
US7103844B2 (en) * 2002-06-26 2006-09-05 International Business Machines Corporation Portal/portlet application data synchronization
CA2406569C (en) * 2002-10-04 2011-03-22 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display
CA2406713C (en) * 2002-10-04 2009-06-30 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for relaying session information from a portal server
CA2406876A1 (en) * 2002-10-04 2004-04-04 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for managing a collection of portlets in a portal server
TWI231669B (en) * 2002-11-02 2005-04-21 Ibm System and method for using portals by mobile devices in a disconnected mode
US20040090969A1 (en) * 2002-11-12 2004-05-13 International Business Machines Corporation Portlet data sharing system, method, and program product
US8001463B2 (en) * 2002-12-02 2011-08-16 Oracle International Corporation Web page communications using parameters and events

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104504146A (zh) * 2015-01-05 2015-04-08 浪潮(北京)电子信息产业有限公司 一种数据分类管理方法及系统
CN104504146B (zh) * 2015-01-05 2018-01-30 浪潮(北京)电子信息产业有限公司 一种数据分类管理方法及系统
CN108874389A (zh) * 2018-06-27 2018-11-23 中国建设银行股份有限公司 前端页面开发框架
CN109558197A (zh) * 2018-11-27 2019-04-02 北京小米移动软件有限公司 信息推荐方法及装置
CN109558197B (zh) * 2018-11-27 2023-06-30 北京小米移动软件有限公司 信息推荐方法及装置

Also Published As

Publication number Publication date
US7937670B2 (en) 2011-05-03
TW200622730A (en) 2006-07-01
KR100900743B1 (ko) 2009-06-05
KR20060050608A (ko) 2006-05-19
GB0420673D0 (en) 2004-10-20
US20060064422A1 (en) 2006-03-23
CN100421375C (zh) 2008-09-24

Similar Documents

Publication Publication Date Title
CN1750470A (zh) 数据共享系统、方法以及软件工具
RU2390832C2 (ru) Способ визуализации web-страницы с использованием внешних программных тем
US8260844B2 (en) Information messaging and collaboration system
US8726167B2 (en) Display and installation of portlets on a client platform
CN1120432C (zh) 产生显示控制信息的方法和计算机
CN1682183A (zh) 在客户机-服务器通信中处理增量数据的方法和计算机系统
US11553035B2 (en) Cross-platform module for loading across a plurality of device types
CN1702621A (zh) 采用表的语言的本地化
CN1892653A (zh) 无干扰小端口提交打印的方法与系统
CN1841362A (zh) 用于处理电子表格的方法和系统
CN1601526A (zh) 用于在计算机网络内搜索的方法和设备
US20100229081A1 (en) Method for Providing a Navigation Element in an Application
JP2004164623A (ja) 表示データ生成装置、表示データ生成システム、表示データ生成方法、表示データ生成プログラム及び記録媒体
CN1781086A (zh) 内容创建系统、内容创建方法、用于执行该内容创建方法的计算机可执行程序、包括该程序的计算机可读记录介质、图形用户接口系统、以及显示控制方法
CN1290898A (zh) 在小型脚印尺寸装置上高速缓存缩减形式的网页
US20040122915A1 (en) Method and system for an extensible client specific calendar application in a portal server
CN1741532A (zh) 智能网框架装置
CN100458782C (zh) 入口小程序在客户端平台上的显示和安装
CN1662011A (zh) 使用元数据定义映射来构建组件应用程序的系统和方法
EP3611616A1 (en) Software code optimizer and method
CN111158777A (zh) 组件调用方法、装置及计算机可读存储介质
CN100338595C (zh) 定义对象层次的说明机制
KR20080027293A (ko) 데이터 언어에서 다수 언어들의 관리
CN1581132A (zh) 服务器、信息处理方法和程序
KR20060115805A (ko) 웹 기반 프로그램 관리 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080924

Termination date: 20160630