CN1799026A - 用于产生一致的设备无关图形用户界面的方法和终端 - Google Patents
用于产生一致的设备无关图形用户界面的方法和终端 Download PDFInfo
- Publication number
- CN1799026A CN1799026A CNA2004800152704A CN200480015270A CN1799026A CN 1799026 A CN1799026 A CN 1799026A CN A2004800152704 A CNA2004800152704 A CN A2004800152704A CN 200480015270 A CN200480015270 A CN 200480015270A CN 1799026 A CN1799026 A CN 1799026A
- Authority
- CN
- China
- Prior art keywords
- widget
- user interface
- component
- screen frame
- component mode
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Abstract
本发明涉及用于产生网络节点的用户界面的方法。在负责处理数据对象的核心应用部分和负责显示所述数据以及在所述数据上发起动作的观察器/控制器应用部分中构建一应用,其中所述观察器/控制器应用部分由所述用户界面形成。屏幕框创建模块(240)检索屏幕框配置数据(320)和小部件配置数据(310)。小部件创建模块(230)在一个或多个构件模式(411,412)的基础上产生至少一个用户界面构件(10-18;410)。所述用户界面的屏幕框由所述屏幕框创建模块(240)产生,其中所述屏幕框包括至少一个构件,所述构件是由小部件配置数据包括的所述构件中的构件。所述至少一个构件被分配到至少一个数据对象和/或所述构件的动态行为,所述构件被分配到基于在用户界面构件和/或数据对象上的用户动作的所述屏幕框。
Description
本发明涉及用于产生用户界面的方法。具体地,本发明涉及用于基于中央配置设置而产生图形用户界面(GUI)的方法。更具体地,所述方法考虑到JAVA编程环境并采用中央配置设置,其以通用标记语言如可扩展的标记语言而编码。
现代应用被典型地构建成几个应用层,其经由适当设计的应用层界面来通信。当考虑复杂的应用项目时,应用分成几个应用层是很明显的,其中应用部分的功能化不得不以清晰简洁的方式处理,特别是当众多开发者被牵涉到实现复杂应用项目时。复杂应用的层状结构允许将由一个或多个应用层功能建立的功能性以优选不含糊的方式分配到特定应用层。此外当涉及牵涉在复杂应用实现中的开发者时,所牵涉的开发者的总数的独立开发者组可被分配专注于不同的应用层以使能力和责任被分享并被分布到专用的单个组,籍此不确定性和重迭分别得以避免。
详细地说,当考虑到在客户-服务器环境中典型的客户应用时,这种应用通常被分成:模型层应用部分;实施模型、观察和控制模式的观察器应用部分和控制器应用部分。所述划分只是示范性的。以下解释也可应用于可替换的更细的划分。模型层专用于数据处理;例如其请求、检索、传送和/或存储数据。观察器层致力于所处理数据的展示;例如其再现并显示数据。控制器层在模型和观察器层之间进行仲裁;即控制器层捕捉由用户释放的事件并请求模型层的动作,所述模型层影响观察器层以便展示。在典型的客户应用中这种启发性层结构设计很适合于在多个屏幕框(screenmask)上显示相同数据的公共部分。所有控制器层应用部分将以同一模型模式起作用以使所有观察器层应用部分显示相同数据。在数据展示内的字段被修改的情况下,相关联的控制器层应用部分更新模型模式以使模型层应用部分通知由观察器层应用部分提供的所连接的展示元素以实现数据展示的更新。
不言而喻,尽管被构建为分离的层,该层设计不允许独立实施。由于互相牵涉,开发者不得不关心模型层应用部分及观察器与控制器层应用部分的链接之间的一致性。一致性的维持阻碍了分离的层应用设计的最初想法。这意味着,处理模型模式和模型层应用部分设计的开发者不得不并行地维持观察器层应用部分和控制器层应用部分的方面或观察和控制器模式的更通用的方面。
本发明的目的是简化用户界面的设计和产生,所述用户界面包括观察器层应用部分和控制器层应用部分的方面。具体地,用户界面及更精确地说图形用户界面(GUI)在运行时间动态地产生以使模型层应用部分和观察器/控制器层应用部分得以清晰地分离。
本发明的目的由提供用户界面的屏幕框的方法和适于执行所述方法的终端设备来解决。
根据用于产生网络节点的用户界面的本发明的方面,用户界面(GUI)可由用户操作以操作应用,所述应用被构建到负责处理数据对象的核心应用部分和负责显示所述数据并在所述数据上发起动作的观察器/控制器应用部分中,其中所述观察器/控制器应用部分由所述用户界面形成;用于动态地创建所述用户界面的屏幕框的屏幕框创建模块检索屏幕框配置数据以及存储在中央处理单元上在网络之上的小部件(widget)配置数据;小部件创建模块基于小部件配置数据的一个或多个构件模式产生至少一个用户界面构件并借助于小部件高速缓存来存储至少一个用户界面构件;所述用户界面的屏幕框由所述屏幕框创建模块产生,其中所述屏幕框包括至少一个构件,所述构件是包括小部件配置数据的所述构件中的构件;且所述已创建的屏幕框的所述至少一个构件被分配给至少一个数据对象和/或动态的所述构件,所述构件基于用户界面构件和/或数据对象上的用户动作被分配到所述屏幕框。所述用户界面的所述屏幕框,例如可动态地由所述屏幕框创建模块产生。所述屏幕框配置数据和/或小部件配置数据基于一个或多个用户动作,例如可至少部分地动态改变。
小部件在本文档中被理解为通称,即所有种类的GUI部分,特别是允许用户与应用和操作系统接口的那些部分。例如小部件可显示信息和/或邀请用户以许多方式动作。典型地,例如,小部件可包括按钮、对话框、弹出窗口、下拉菜单、图标、滚动条、可调整尺寸的窗口边、进展指示器、选择框、窗口、关闭菜单(tear-off menu)、菜单条、拨动开关和/或表单。例如小部件也可指所写的程序以在GUI外观制造图形化小部件并以特定方式执行,这取决于当与GUI接口时用户采取何种动作。因此,例如小部件可指图形化构件或其控制程序或者两者的组合。再次,用户界面(GUI)可由用户操作以操作应用。所述应用被构建为分离的层;即负责处理数据对象和数据对象的数据的核心应用层以及观察器/控制器应用层,所述观察器/控制器应用层负责显示包括在一个或多个数据对象中的数据并分别在数据和数据对象上发起动作(事件)。观察器/控制器应用层由用户界面(GUI)形成。中央配置信息被提供,其包括小部件配置数据和至少一个屏幕框配置数据。小部件配置具体地包括关于所有构件的小部件配置数据,其为可用的以包括在用户界面的屏幕框中。更特别地,小部件配置包括关于构件模式的小部件配置数据,并且所述构件是也被称为小部件的用户界面构件。所述构件可作为组构件中的一个构件来操作,所述组构件包括用于输出数据的构件、用于输入数据的构件以及用于输出和输入二者的数据构件。特别是屏幕框配置包括关于用户界面的预定屏幕框的屏幕框配置数据。屏幕框包括至少一个构件,所述构件是由小部件配置组成的构件组中的构件。用户界面的预定屏幕框基于中央配置信息创建,屏幕框的至少一个构件被链接到至少一个数据对象。所述链接使经由至少一个构件发起的动作能影响数据对象,以及已影响数据对象的修改由至少一个构件所注意;以便所述构件可相应地反应。用户界面外观由中央配置信息限定。对用户界面外观的修改可通过对中央配置信息的修改而获得。
根据本发明的实施例,屏幕框配置被检索以动态地创建屏幕框以便可与用户界面一起操作。如上所述,除了别的以外,屏幕框配置包括关于至少一个构件的数据,所述构件将在以下被指定为用户界面构件。用户界面构件可是输入构件,所述输入构件可由用户操作以便输入数据、信息和/或指令,由用户界面控制的应用通过操作在其上反应;用户界面可是输出构件,其专用于显示提供到其的信息;或者用户界面构件是输入/输出构件,其适于如上所述的输入和输出。
屏幕框配置信息被解析并分析以提取关于至少一个用户界面构件的类型信息并提取至少一个用户界面构件的各个设置(和特性)。基于至少一个构件模式,至少一个用户界面构件被获得,其对应于被提取的类型信息并且其连同小部件配置一起被提供。所提取的各个设置(和性能)被应用于由派生获得的至少一个用户界面构件上并且至少一个用户界面构件被包括在动态创建的屏幕框内。
屏幕框的至少一个用户界面构件被链接到至少一个数据对象,所述数据对象优选地由与屏幕框相关联的数据对象容器提供。所述链接允许分别使屏幕框和包括在屏幕框内的用户界面构件适应,在已对所链接的数据对象进行修改的情况下,这可能是必须的,以致需要更新(刷新、重绘、…)屏幕框以在其上显示有效信息。
根据本发明的一实施例,获取最初由请求针对至少一个用户界面构件而启动,所述用户界面构件可基于至少一个构件模式来获得,所述构件模式可从构件模式储存库检索,所述构件模式储存库高速缓存至少一个构件模式。按照请求,在构件模式储存库中,与所提取类型信息一致的所述至少一个构件模式被识别,且至少一个用户界面构件派生自所述至少一个已识别的构件模式。根据请求,至少一个所派生的用户界面构件最终被传递回。
根据本发明的一实施例,构件模式储存库预先被初始化。初始化基于小部件配置,所述小部件配置包括关于至少一个构件模式的小部件配置信息。小部件配置被解析并在解析结果的基础上,创建对应于小部件配置信息的至少一个构件模式。所述至少一个已创建的构件模式被存储/高速缓存在构件模式储存库中。
根据本发明的一实施例,构件模式储存库静态地包括至少一个构件模式,即静态地分别在用户界面的运行时间以及由用户界面控制的应用期间。
根据本发明的一实施例,至少一个用户界面构件的获取包括针对至少一个用户界面构件的请求,所述用户界面构件基于至少一个构件模式而获得。小部件配置被提供,其包括关于至少一个构件模式的小部件配置信息。关于至少一个构件模式的小部件配置信息被识别并解析,所述至少一个构件模式对应于已提取的类型信息。基于解析结果,至少一个构件模式被创建,且至少一个用户界面构件自至少一个构件模式派生。最后,至少一个用户界面构件被传递回。
根据本发明的一实施例,至少一个用户界面构件的派生进一步包括克隆过程,所述克隆过程允许在遗传过程中从至少一个构件模式获得至少一个用户界面构件。
根据本发明的一实施例,小部件配置包括关于至少一个构件模式的默认小部件配置信息。这意味着源自至少一个构件模式的用户界面构件,每个具有默认设置(和特性),其对每个屏幕框实质上有效,用户界面构件包括在所述屏幕框中。
根据本发明的一实施例,屏幕框配置包括关于至少一个用户界面构件的屏幕框配置信息。需要屏幕框配置信息以使通过派生从构件模式获得的用户界面构件适应个体需求,所述个体需求由待创建的屏幕框预先假定。
根据本发明的一实施例,屏幕框配置是XML-编码的屏幕框配置,其基于屏幕框文档类型描述(DTD)。
根据本发明的一实施例,小部件配置是XML-编码的小部件配置,其基于小部件文档类型描述(DTD)。
根据本发明的一方面,提供了用于建立用户界面(GUI)的软件工具。软件工具包括用于执行以上所述方法操作的程序部分,当软件工具在计算机程序中实施和/或执行时。
根据本发明的一方面,提供有用于建立用户界面(GUI)的计算机程序产品。计算机程序包括程序代码部分,所述程序代码部分可直接加载到基于微处理器的构件、处理设备、终端设备、通信终端设备、服务设备或网络设备的本地存储器中,以便当程序在其上执行时,执行以上所述方法的操作。
根据本发明的一方面,提供了用于建立用户界面(GUI)的计算机程序产品,其包括储存在计算机可读媒介上的程序代码部分,以便当程序产品在基于微处理器的构件、处理设备、终端设备、通信终端设备、服务设备或网络设备上执行时,执行以上所述方法。
根据本发明的一方面,提供了计算机数据信号,所述计算机数据信号在载波中被具体化并表现为指令,所述指令在由处理器执行时使得上述方法任一的操作被执行。因此本发明的互联网应用被涵盖。
根据本发明的一方面,提供了终端设备,其利用用户界面处理客户应用以给用户显示至少一个数据对象的内容。终端设备进一步包括屏幕框创建模块用于动态创建用户界面(GUI)的屏幕框。屏幕框创建模块优选地嵌入检索构件,所述检索构件允许检索屏幕框配置。除了别的以外,屏幕框配置包括关于至少一种用户界面构件的屏幕框配置信息,所述屏幕框配置信息被适当的解析器(解析构件)解析以便关于至少一个用户界面构件的类型信息和至少一个用户界面构件的各个设置(和特性)可从屏幕框配置获得。至少一个用户界面构件基于至少一个构件模式通过小部件创建模块而获得,所述构件模式对应于类型信息,且各个设置(和特性)被附加地应用于至少一个派生的用户界面构件上。
至少一个用户界面构件优选地通过链接/绑定构件与至少一个数据对象逻辑地链接在一起,所述数据对象包括涉及至少一个用户界面构件的数据内容。所述链接确保:在发生影响至少一个被链接的数据对象的修改的情况下,更新包括在屏幕框中的用户界面构件的显示。
根据本发明的一实施例,提供了构件模式储存库,其高速缓存了至少一个构件模式并且至少一个用户界面构件可从其中请求。识别构件允许至少一个构件模式的识别,其对应于已提取的类型信息。小部件创建模块进一步适于从至少一个已识别的构件模式中派生至少一个用户界面构件。
根据本发明的一实施例,终端设备包括用于初始化构件模式储存库的进一步的构件。检索构件适于提供小部件配置,除了别的以外,所述小部件配置包括关于至少一个构件模式的小部件配置信息,其由解析器(解析构件)分析。结合解析结果,小部件创建模块适于创建至少一个构件模式并在构件模式储存库中储存/高速缓存至少一个已创建的构件模式。
根据本发明的一实施例,终端设备进一步包括检索构件,所述检索构件允许检索小部件配置。除了别的以外,小部件配置包括关于至少一个构件模式的小部件配置信息,其由识别关于至少一个构件模式的小部件配置信息的构件来分析,所述构件模式对应于已提取的类型信息。识别小部件配置信息被解析器(解析构件)解析且在解析结果的基础上,至少一个构件模式被创建,并且至少一个用户界面构件由适于其的小部件创建模块从其派生。
附图被包括以提供对本发明的进一步理解并且被合并入并构成本说明书的一部分。所述附图说明本发明的实施例并结合说明书用来解释本发明的原理。在附图中,
图1a说明根据本发明一实施例用于初始化小部件高速缓存的初始运行顺序;
图1b说明根据本发明一实施例的用于创建屏幕框的运行顺序;
图1c绘出构件模型,所述构件模型说明根据本发明一实施例的执行图1a和图1b所示的运行顺序的构件;
图2绘出构件模型,所述构件模型说明根据本发明一实施例的在示范客户-服务器环境中的XGF框架;
图3a示出示范文档类型描述的清晰文本编码,其包括根据本发明一实施例的几个小部件的类型定义;
图3b示出示范小部件配置的清晰文本编码,其包括根据本发明一实施例的基于图3a中所示的文档类型描述的公共性能设置;
图4a示出示范文档类型描述的清晰文本编码,其包括根据本发明一实施例的屏幕框的类型定义;
图4b示出根据本发明一实施例的基于图4a中所示的文档类型描述的示范屏幕框配置的清晰文本编码;
图4c绘出示范屏幕框,其对应于根据本发明一实施例的图4b中所示的示范屏幕框定义;
图5a说明根据本发明一实施例说明数据对象和小部件的绑定的示意图;以及
图5b说明根据本发明一实施例的绘出相互作用的构件在处理数据对象变化通知时的逻辑链接的示意图。
将详细参考本发明实施例,其实例在附图中说明。无论那里,在附图和描述中使用相同的参考数字以指示相同或相似部分。
用于启迪本发明的发明概念的以下描述将考虑到用户界面而给出,所述用户界面被呈现给客户应用的用户,其优选地可与数据管理应用如数据管理系统(DBMS)一起操作。数据管理应用优选地可分别是网络化应用和服务器应用,如在典型的客户-服务器环境中所公知的,其中一个或多个客户终端可与客户应用一起操作,且中央服务器设备可与网络化数据管理应用一起操作。所讨论的用户界面优选地是图形用户界面(GUI),其包括由屏幕框和包括在屏幕框中的图形构件组成的图形元素。屏幕框将被理解为展示区域,多个图形构件被设置其上。为了简化,术语屏幕框将在以下描述中缩写为屏幕。相应地,包括术语屏幕框的复合词将近似地通过包括术语屏幕而简化。构件是图形用户界面(GUI)的输入/输出元素,其在一侧允许显示数据(对应于观察器层),而在另一侧又允许输入请求(对应于控制器层)。图形构件也通常被指定为小部件。
本说明将首先分别引入构件实体的创建和提供,特别是构件模式和构件实例。构件模式可在客户应用运行期间静态获得。静态提供的构件模式用作模式的基础以动态地分别检索构件和构件实例,其被包括在动态创建的屏幕中。特别地,被包括在动态创建的屏幕中的构件通过派生过程或克隆过程从静态提供的构件模式中获得。在下面,上述的构件模式和构件(和构件实体,分别地)将被指定为小部件模式和小部件(和小部件实体,分别地),而没有对本发明的限制。
图1a说明根据本发明一实施例的用于创建小部件模式以及用于初始化包括已创建的小部件模式的小部件储存库的初始操作顺序。
在操作S100中,小部件模式的创建和具有已创建的小部件模式的足够的小部件储存库的初始化被启动。小部件储存库或小部件模式储存库是小部件模式的静态收集。名称“静态的”将被理解为在应用运行期间是静态的,且其中储存在小部件储存库中的小部件模式也将被理解为模式基础,基于所述模式基础,图形用户界面(GUI)的小部件分别被派生和克隆。在此,小部件储存库区域也将分别被称为小部件存储和小部件高速缓存。
在操作S110中,小部件配置被检索。小部件配置包括关于特性和可应用于在其所限定的小部件的设置的信息。特别地,小部件配置作为集中存储的小部件配置文件而提供。小部件配置主要涉及默认小部件的公共(全局)特性和设置,其至少允许建立其组成的图形用户界面(GUI)的公共外观和感觉。图形用户界面(GUI)的公共外观和感觉以及为此的元素/构件是一个基本特征,其必须被考虑以使图形用户界面(GUI)以及因此的经由图形用户界面(GUI)与用户通信的客户应用操作性能够令人信服、用户友好且直观。
更具体地,根据本发明的一个优选实施例,小部件配置基于可扩展的标记语言(XML)。可扩展的标记语言(XML)是一种通用语言构造,其允许编码任意信息,其含义分别由语言标签和标记来定义,所述语言标签和标记以对应的文档类型描述(DTD)来限定和描述。基于小部件文档类型描述(DTD)的XML编码的小部件配置应用的详细描述将在图3a和图3b中提及。
在操作S120中,小部件配置被解析。小部件配置的解析和解释,优选地是XML编码的,基于预定的解析协议来执行,特别是基于对应的文档类型描述(DTD)。预定的解析协议,即文档类型描述(DTD),确保解析是可操作的并且解析结果是明确的。在操作S130中,小部件模式依据解析结果而创建。在操作S140中,所创建的小部件模式被存储在专用的小部件储存库中使得已创建的小部件模式为可检索的以便进一步使用,例如特别是用于将小部件包括于动态创建的屏幕中,这在以下图1b中描述。
关于小部件配置的解析、小部件模式的创建以及已创建的小部件模式的存储,操作S120到S140已被描述。小部件配置可涉及一个或多个不同的小部件,所述一个或多个不同的小部件导致一个或多个小部件模式。相应地,操作S120到S140针对如图1a中所述的每一个体的小部件/小部件模式按顺序重复,或者操作S120到S140的每一操作针对已创建和储存的每一小部件/小部件模式立刻执行使得操作S120到S140的重复是不必要的。
在操作S150中,完成在小部件配置中限定的小部件模式的创建,且所创建的小部件模式存储在小部件储存库中以便进一步使用。
图1b说明根据本发明实施例用于基于由小部件储存库提供的小部件模式而动态地创建屏幕的操作顺序。
在操作S200中,基于先前创建并初始化的小部件储存库的屏幕的动态创建开始。小部件储存库是小部件模式的静态收集。名称静态将被理解为在应用运行期间是静态的,且存储在小部件储存库中的小部件模式将也被理解为小部件模式,借助于所述小部件模式,小部件(小部件实例)被分别派生和克隆,以被包括到图形用户界面(GUI)的动态创建的屏幕中。
在操作S210中,屏幕配置被检索。屏幕配置分别包括关于被包括在屏幕中的小部件以及可应用于不同的屏幕及其构件的设置和特性的信息。特别地,屏幕配置作为集中存储的屏幕配置文件而被提供。屏幕配置涉及所讨论的屏幕的特性和设置、屏幕相关特性和小部件的设置(小部件实例)、包括在屏幕中的小部件(小部件实例)的异常特性和设置、小部件在屏幕上的设置。
更具体地,根据本发明的一个优选实施例,屏幕配置基于可扩展的标记语言结合对应的合适的屏幕文档类型描述(DTD)。基于屏幕文档类型描述(DTD)的XML编码的屏幕配置应用的详尽描述将在图4a和图4b提及。
在操作S220中,屏幕配置被解析。屏幕配置的解析和解释,优选地是XML编码的,基于预定的解析协议来执行,特别是基于对应的文档类型描述(DTD)。预定的解析协议,即文档类型描述(DTD),确保解析是可操作的且解析结果是明确的。
在操作S230中,屏幕分别根据解析和解析结果得以动态创建。
在子操作S231中,待包括于屏幕中的小部件优选地从小部件储存库中请求。小部件储存库高速缓存(cache)小部件模式。所述请求指示分别交付某一预定小部件类型的小部件和小部件实例。基于其小部件被请求的类型信息从解析操作接收并且可从屏幕配置断定,其限定包括在所讨论的屏幕中的所有小部件。
详细地,对小部件和小部件实例的请求可需要识别该小部件模式,所述小部件模式对应于目前所讨论的小部件。对应的小部件模式可从小部件储存库获得,所述小部件储存库静态地提供小部件模式的总收集,其可用于图形用户界面(GUI)的屏幕中。基于被识别的小部件模式,小部件和小部件实例被分别创建。这意味着,小部件从小部件模式派生或克隆以使默认特性和设置分别对已获得的小部件和小部件实例有效,所述默认特性和设置在其创建期间已被应用于小部件模式。
在子操作S232中,各个特性和设置被应用于所请求的小部件,所述各个特性和设置关于目前所讨论的小部件由屏幕配置指示和提供。各个特性和设置可包括屏幕相关的特性和设置,鉴于屏幕功能,其必须被应用至屏幕的小部件以使能合适的操作。各个特性和设置也可包括异常特性和设置,所述异常特性和设置可被应用以偏离默认设置,其分别由用于从对应的已识别小部件模式创建所讨论的小部件的派生和克隆过程中产生。更一般地,从小部件模式获得的所讨论的小部件适于屏幕相关的必需和要求。
关于通过从小部件储存库请求小部件并把各个特性和设置应用于通过请求所获得的小部件上的屏幕配置的解析及屏幕的创建,操作S220到S232已得到描述。屏幕配置可限定待包括于所讨论的屏幕中的一个或多个不同的小部件。相应地,操作S220到S232(或操作S230到S232)针对如图1b中所示的每一个体小部件按顺序重复,或者操作S220到S232的每个操作针对已创建和已包括的每一小部件立刻执行以使操作S220到S232的重复是不必需的。
在操作S240中,完成基于先前创建和初始化的小部件储存库的屏幕的动态创建。
图1c绘出第一构件模型,其说明根据本发明一实施例允许执行示于图1a和图1b中的操作顺序的构件。所示构件模型的第一部分涉及根据本发明一实施例创建小部件模式和初始化具有已创建的小部件模式的小部件储存库的方法。所示构件模型的第二部分涉及基于存储在小部件储存库中的先前创建的小部件模式而动态创建图形用户界面(GUI)屏幕的方法。
第一部分示范性地包括小部件配置310,其被提供以限定默认小部件模式。优选地,小部件配置310被存储在足够的存储构件(未示出)中,所述存储构件允许存储和检索小部件配置310。在操作S110中,小部件配置从存储构件中被检索或读取并供给到解析构件,所述解析构件于此分别被具体化为XML解析构件和XML解析器250。XML解析器250负责在操作S120中解析小部件配置310以及把解析结果分别供给小部件创建模块和小部件工厂230,用于基于解析结果在操作S130中创建一个或多个小部件模式。最后在操作S140中,已创建的小部件模式被传递到小部件高速缓存210,其高速缓存/存储已创建的小部件模式,如示范性的小部件模式411和412。
第二部分示范性地包括屏幕配置320,其被提供用于限定某预定屏幕。优选地,屏幕配置320被存储在足够的存储构件(未示出)中,所述存储构件允许存储和检索屏幕配置320。在操作S210中,屏幕配置从存储构件中被检索或读取并供给到解析构件,所述解析构件于此分别被具体化为XML解析构件和XML解析器250。XML解析器250负责在操作S220中解析屏幕配置320以及把解析结果分别提供给屏幕创建模块和屏幕工厂240,用于基于解析结果在操作S230中创建屏幕。在操作S231中,通过屏幕工厂240的屏幕创建包括一个或多个小部件的请求。一个或多个小部件的请求被寻址到小部件高速缓存210,并且一个或多个小部件的请求分别由对应的小部件和小部件实例组成的响应回应,其针对用作模式基础的小部件模式而获得,所述模式基础被高速缓存在小部件高速缓存210中。要分别获得小部件和小部件实例的小部件模式的克隆,优选地由小部件工厂230来执行但也可由屏幕工厂240来实施。名称“克隆”应当被理解为:通过将结合小部件模式而限定的特性和设置传递到小部件,基于对应小部件模式来创建小部件。所述传递可被理解为特性和设置的遗传,其在面向对象的建模和编程领域中是公知的。最后,所创建的屏幕可被提供到图形用户界面(GUI;未示出)以便被显示和/或可被传递到屏幕高速缓存(未示出)以便高速缓存(存储)所创建的屏幕以备后用。
图2绘出第二构件模型,所述构件模型说明根据本发明一实施例的在示范性客户-服务器环境中的基于XML的图形用户界面工厂(XGF)框架。图2说明构建在构件内的示范性XGF核心架构上的细节,根据本发明的实施例,其允许执行用于创建小部件模式并用于初始化小部件储存库的上述方法以及执行用于动态地创建屏幕的上述方法。该XGF框架作为应用部分或应用层优选地嵌入客户应用中,所讨论的图形用户界面(GUI)属于其。
详细地,客户应用100包括客户代码构件/部分110和XGF框架构件/部分200。客户应用100可在一个或多个合适的处理设备(未示出)上执行,例如基于微处理器的终端(PC、网络客户等)。文件服务器300用来提供小部件配置310、屏幕配置320、小部件文档类型描述330和屏幕文档类型描述340。文件服务器300和执行客户应用100的处理设备经由数据通信网络如局域网络或任何其它合适的网络互相通信。可替换地,配置310和330以及文档类型描述330和340可被包括在XGF框架构件200中。在客户-服务器环境中,其中客户应用访问在服务器如数据库管理服务器上被集中管理的数据,有利的是把配置信息也集中起来,所述配置信息被供给到客户应用因为网络和服务器框架已经可用。在配置信息上发生变化的情况下,所述变化自动地对每一客户应用产生影响。
XGF框架构件200进一步包括文件加载器界面260,所述文件加载器界面260负责从文件服务器300检索配置310和330以及文档类型描述330和340。互连的文件高速缓存270可被用于高速缓存配置(310,320)和描述(330,340)以通过排除从文件服务器300检索配置和描述的必要性来增加处理速度。文件高速缓存270可作为本地大容量存储构件(例如硬盘)和配置的时间戳标识来实施,而描述可用来识别修改的配置和/或描述以使已改变的配置和/或描述的很专用的(well-dedicated)重新检索是可操作的。
文件加载器界面260分别供给配置310和330以及文档类型描述330和340到小部件工厂230和屏幕工厂240。小部件工厂230和屏幕工厂240适于执行根据本发明实施例的对应的上述方法。
详细地,根据本发明实施例,小部件工厂230适于执行用于创建小部件模式及用于初始化高速缓存已创建的小部件模式的小部件储存库的操作顺序。小部件工厂230可是包括指令的代码部分,当在处理设备(如基于微处理器的终端)上被执行时所述指令执行上述方法。特别地,小部件工厂230可能是解析器250的一部分,所述解析器250适于解析和解释XML编码的配置。小部件工厂230适于解析小部件配置310和存储/高速缓存与小部件工厂230相关联的小部件高速缓存210中已创建的小部件模式。针对图形用户界面(GUI),已创建的小部件模式用作在小部件配置310中具有预定的默认特性和设置的模式,所述图形用户界面(GUI)作为客户应用100的界面而服务用户。默认特性和设置主要涉及图形用户界面(GUI)展示的公共外观和感觉。存储在小部件高速缓存210中的小部件模式可在客户应用100运行过程中静态地得到。
详细地,根据本发明的实施例,屏幕工厂240适于执行用于基于由小部件储存库提供的小部件模式来动态创建屏幕的操作顺序。屏幕工厂240可是包括指令的代码部分,当在处理设备(如基于微处理器的终端)上被执行时所述指令执行上述方法。特别地,屏幕工厂240可能是解析器250的部分,所述解析器250适于解析和解释XML编码的配置。屏幕工厂240适于解析屏幕配置320和动态地创建屏幕用于在客户应用100的图形用户界面(GUI)的上下文中呈现给用户。屏幕高速缓存220允许存储/高速缓存已创建的屏幕,在先前所创建的屏幕再被显示的情况下,其使能屏幕展示开始(seed up)。
小部件从小部件模式中的派生,可由小部件工厂230或屏幕工厂240执行,所述小部件模式高速缓存于小部件高速缓存(小部件储存库)210中。优选地,小部件工厂230负责从对应的小部件模式中派生(克隆)小部件。
此外,屏幕因子240进一步适于使数据对象和动态创建的屏幕互相链接。特别地,屏幕因子240进一步适于使数据对象和包括在动态创建的屏幕中的小部件互相链接。针对链接的详尽描述及其目的参考图5a和图5b描述如下。
以下图3a到图4b绘出示范性小部件文档类型描述(DTD)、示范性的基于XML的小部件配置、示范性的屏幕文档类型描述(DTD)、示范性的基于XML的屏幕配置。所呈现的示范性的文档类型描述(DTD)和示范性的配置文件包括元素,所述元素是指JAVA编程语言。
应理解的是对JAVA编程语言以及具体的XML编码的参考不是对于本发明的范畴的限制。对其它编程语言和GUI库的适应是可能的。此外,所绘出的XML编码方案不分别局限于所绘出的XML版本和字符编码(ISO 8859-1)。可扩展的标记语言(XML)方面的详尽描述,特别是XML文档类型描述的符号的详尽描述可在以下文献中找到:“Extensible MarkupLanguage(XML)1.0(Second Edition)”,W3C建议,2000年10月6日,由World Wide Web Consortium出版。
关于下面的前述实例,文档类型描述包括声明集合,所述声明集合为称为文档类型描述的文档类提供语法。每个声明集合可以是具有与元素类型声明相关联的一个或多个属性类型声明的元素类型声明。特别地,元素类型声明具有设置为分层从属的一个或多个属性类型声明。根据这些由文档类型描述提供的语法声明,基于XML的配置被拟定并解析。
图3a示出示范性小部件文档类型描述的清晰文本编码,其包括根据本发明实施例的几个小部件的类型声明。所呈现的小部件文档类型定义(DTD)规定元素类型声明和分配给对应元素类型声明的一个或多个属性。每一元素类型声明连同其所分配的属性类型声明对于个体小部件配置指的是小部件及其特性。此外,类型声明规定小部件配置的层次。
在第2行中,元素“widgetdefinition”被定义,且元素类型声明规定元素“widgetdefinition”可包括设置为分层从属的一个或多个进一步规定的元素(比较第2行:“panel”,“button”,“listbox”…“tabpane”)。此外,元素类型“widgetdefinition”已进一步分配包括属性“laf”(缩写:lookand feel)的属性类型声明,其被规定为强制性的且已分配可能的属性值“metal”、“motif”、“windows”、“mac”之一。
在第6、11、16、21、26、35和46行表示元素的元素类型声明,其被允许包括在元素“widgetdefinition”中。
例如,元素“button”在第16行定义,并与小部件“button”的元素类型声明有关。元素“button”的类型声明规定元素“bevelborder”和“font”可包括在元素“button”的定义中。元素“bevelborder”和“font”的元素类型声明分别从第30到34行及从第39到45行得出。此外,包括元素“button”的两个属性的属性类型声明在第17到20行详细说明。属性包括属性“class”(比较第23行)和属性“name”(比较第24行)。属性“class”被定义为强制性的,而属性“name”被定义为可选的。两种属性被定义以接受字符编码的数据内容(CDATA)。
元素“font”的元素类型声明涉及字体外观定义并表示在第39到45行。元素“font”是包括在元素定义中的从属元素,其涉及小部件元素如上述元素“button”。元素“font”包括属性类型声明,其包括四个属性。属性“name”(比较第41行)、“size”(比较第42行)和“style”(比较第43行)被规定为强制性的,且属性“name”和“size”被定义为包括字符编码的数据内容,而属性“style”被定义为具有来自组“plain”、“bold”和“italic”中的一个值。属性“class”被定义为包括常数数据且已固定地分配常数JAVA类定义。
元素“bevelborder”的元素类型声明涉及边框式样,并被表示在第30到34行。元素“bevelborder”是包括在元素定义中的从属元素,其涉及小部件元素如上述元素“button”。元素“bevelborder”包括属性类型声明,所述属性类型声明包括两个属性:属性“class”(比较第32行),被定义为包括常数数据且已固定地分配常数JAVA类定义;以及属性“border”(比较第33行),被定义为强制性的且具有来自组“lowered”和“raised”中的一个值。
所给出的元素“button”、“font”和“bevelborder”的上述解释在小部件文档类型定义的符号(denotation)中引入示范性。在上述描述的基础上,可理解进一步的元素类型声明。此外,当参考图3b时描述将更明显。
图3b示出示范性小部件配置的清晰文本编码,根据本发明实施例,其包括公共小部件特性设置且其基于关于图3a所述的文档类型描述而编码。小部件配置仅包括个体小部件定义的选择,在此基础上派生小部件模式,如参考图1a所述。根据小部件DTD(比较图3a和描述),小部件配置开始于第3行中的“widgetdefinition”元素。个体小部件模式的个体小部件定义被设置为分层从属于元素“widgetdefinition”,以使第4到6行包括个体小部件定义“button”、第7到9行包括个体小部件定义“panel”、第10到13行包括个体小部件定义“listbox”、第14到17行包括个体小部件定义“textbox”、第20到23行包括个体小部件定义“label”。
根据小部件配置的功能,每个个体小部件定义包括一组默认的属性定义。例如,定义“textbox”包括属性“class”,其在第14行被分配到JAVA编程语言的构件类。进一步地,定义“textbox”在第15行规定元素“font”及其特性属性,其设置为分层从属于定义“textbox”;即待用字体(“Arial”)的属性“name”,字体(“10”pt)的属性“size”,以及字体(“plain”)的属性“style”。在第16行,定义“textbox”也包括元素“bevelborder”及其特性属性,其设置为分层从属于定义“textbox”;即属性“border”被设置到“lowered”。属性分配到某一预定值形成小部件模式“textbox”的默认配置,在此基础上待显示的一个或多个小部件连同图形用户界面(GUI)被请求。由于定义“textbox”的该默认配置,可包括在已创建的屏幕中的“textbox”小部件显示全部相同的外观,即有相同的外观和感觉。
相似地,以上给出的关于小部件定义“textbox”的描述也以相似方式应用于进一步的小部件定义。简而言之作为实例,小部件定义“label”包括以下的分配:属性“class”;元素“font”,包括上述字体属性;及元素“bevelborder”,包括上述边框属性。
最后,将理解的是,小部件文档类型定义(DTD)规定元素、属性、属性类型、元素和属性的分层结构以及小部件配置的完全支持和可用的语法元素,其被编码为成XML文件且其基于在小部件文档类型定义(DTD)中规定的语法元素。根据本发明一实施例,在小部件配置中规定的定义是默认的定义;这是可不包括规定为强制性的所有定义的定义,且默认定义可为通过各个定义的超集。默认分配主要关注特性,如背景/前景颜色、字体、视觉外观,…以及更具体地,逻辑小部件元素类型到具体实施的的映射,例如到上述JAVA实施类的映射。
小部件文档类型定义(DTD)被维护并由XGF核心实施开发者负责,因为在小部件文档类型定义(DTD)上的变化或修改影响解析操作并因而影响在图2被具体化为小部件工厂的对应的解析功能。作为所用的图形用户界面(GUI)的新构件或新型小部件或小部件的新特性(属性)招致小部件文档类型描述(DTD)的修改。小部件配置的维护是核心开发者和GUI开发者两者的责任。
关于文档类型描述和XML编码配置的共同解释类似地适用于以下参考图4a和图4b的描述,所述XML编码的配置基于图3a和图3b所给出的文档类型描述。
图4a示出示范性屏幕文档类型描述的清晰文本编码,其包括参考根据本发明一实施例的屏幕的类型声明。
所呈现的屏幕文档类型定义(DTD)规定附加的元素类型声明及分配到对应元素类型声明的一个或多个属性并且补充说明元素类型声明,其参考图3a所示中的小部件文档类型描述由附加的属性类型声明引入。
在第2行,元素“screen”被定义,且元素类型声明规定元素“screen”包括被设置为分层从属的元素“panel”(比较第2行:“panel”)。元素类型“screen”进一步分配属性类型声明,包括:属性“name”(比较第4行),其被规定包括字符编码的数据内容且是必须的;以及属性“class”(比较第5行),其被规定包括字符编码的数据内容并且是强制性的。
在第7行,元素“panel”被定义,且元素类型声明规定元素“panel”可包括元素组“gridlayout”、“panel”、“label”、“textbox”、“button”、“listbox”、“table”和“tree”中的一个或多个元素。元素类型“panel”进一步分配属性类型声明,所述属性类型声明包括属性“name”(比较第9行),所述属性“name”被规定包括字符编码的数据内容且是强制性的。
在第11、17和25行表示元素类型声明的选择。所绘的屏幕文档类型描述是不完全的,但是所绘的屏幕文档类型描述是其摘录使得仅示范性元素类型描述的示范性选择被表示。
例如应该参考第25到32行所指示的元素“button”的元素类型声明。元素“button”利用包括属性“dataobject”、“attribute”、“name”、“listener”和“layoutmanager”的属性类型声明来补充说明。属性“dataobject”、“attribute”和“name”被定义为强制性的且被规定包括字符编码的数据内容。属性“listener”和“layoutmanager”被规定为必须的,其中属性“listener”被规定具有组“ChangeListener”和“FocusListener”中的值,而属性“layoutmanager”被规定包括字符编码的数据内容。
该属性类型声明的附加属性涉及屏幕功能性。即,属性“dataobject”允许把元素“button”及小部件“button”与某确定的数据对象分别联系起来,所述属性“dataobject”基于元素定义。属性“name”允许分配小部件“button”的识别。属性“listener”涉及用户初始事件的处理,即被解释为指令的用户输入,其上某代码部分将被处理。事件可包括用鼠标在“button”小部件上点击、文本输入到文本接收小部件如“textbox”小部件等中。指示接收器(denotation listener)是JAVA编程语言特定的但是支持图形用户界面产生的其它程序语言也提供相似的事件处理器。不深入JAVA规范的细节,在这种事件被探测的情况下,对应的通知由被属性“listener”所规定的事件处理器产生并接收。事件的实施本质上是典型的回叫系统。
与目前所讨论的属性类型声明相比,将注意到在小部件文档类型描述(DTD)中的元素“button”的属性类型声明涉及从所定义模式请求的小部件“button”的外观。
以上给出的描述也以相似的方式适用于第17到24行和第11到16行所指示的元素“textbox”和“label”,其未详细讨论。
图4b示出根据本发明实施例的基于图4a中所示屏幕文档类型描述的示范性屏幕配置的清晰文本编码。根据屏幕文档类型描述(DTD)(比较图4a和描述),示范性屏幕配置限定确定的示范性屏幕,其在图4c中被具体化以支持上述描述。因此,参考图4b的以下描述参考图4c来完成。
示范性屏幕定义以示范性的方式示出由文档类型描述所确定的分层结构。定义在第3行中并以名称“Sample Screen”规定的元素“screen”包括从属元素“panel”,所述从属元素“panel”又分别包括从属的进一步的元素和小部件。元素“panel”对应图4c中的小部件10,其代表在其上进一步的小部件被设置的区域。在第5行中定义面板上小部件的设置。两个元素“label”被定义在第6到9行,小部件类型“label”的对应小部件11和14绘于图4c中。进一步,在第7行中元素“textbox”的定义导致小部件12(比较图4c),在第8行中元素“button”的定义导向小部件13(比较图4c),而在第9行中元素“listbox”导向小部件14(比较图4c)。
根据所绘小部件所基于的小部件配置(比较图3b),“label”小部件和由其包含的标签分别被具体化为“TimesRoman”字体。相应地,“textbox”和“listbox”小部件以及由其包含的内容被具体化为“Arial”字体。这方面涉及小部件的默认配置。
第8行中的定义规定对应于小部件13(比较图4c)的元素“button”。第11到15行中的定义规定从属于先前元素“panel”的所包括的第二元素“panel”,且第二个元素“panel”分层包括从属的两个元素“button”。对应的小部件被指示为:小部件16(比较图4c),指的是第二元素“panel”;小部件17(比较图4c),对应于第13行中的元素“button”;以及小部件18(比较图4c),指的是第14行中的元素“button”。
对应于接受用户事件的小部件即接受用户输入(“textbox”小部件12)或允许用户操作如“listbox”小部件15(比较图4c)、“button”小部件13、17和18(比较图4c)的元素,包括数据对象的规格以及对应的接收器,其被用户事件影响并分别干预和处理用户事件。
最后,将理解的是,屏幕文档类型定义(DTD)规定元素(实体),在其基础上分别执行具体的屏幕实施和设计。屏幕配置的完全支持和可利用的语法元素(实体)被限定,其被编码为XML文件。类似于小部件文档类型定义(DTD),屏幕文档类型定义(DTD)由核心开发者维护,因为变化或修改关系到解析功能,所述解析功能被具体化为图2中涉及的屏幕工厂。
规定图形用户界面(GUI)不同屏幕的屏幕配置,限定小部件及其层次、小部件到数据对象的映射,所述图形用户界面幕配置可与客户应用操作以显示和修改数据对象的数据。进一步地,屏幕配置限定与到屏幕小部件的用户输入一起发生的事件到事件目标及接收器的映射以对应地处理事件。此外,屏幕配置把逻辑小部件定义与JAVA编程语言的实施类相关联。JAVA编程语言的实施类理解为示范性的。可使用各种对应的实施类。屏幕配置的实施进一步使能提供进一步的特定逻辑,例如用于实施对用户输入的检查。图4c中的搜寻按钮13可用鼠标点击操作以发起对应事件。在发起事件后的第一次操作中,插入的逻辑可允许检查文本框小部件12中的输入是否存在并有效,使得在文本框12中的输入不有效或不存在的情况下,进一步的操作可被拒绝。屏幕配置是GUI开发者的责任。
小部件和数据对象的关联以及结果的源于分别作用于数据对象和小部件上的动作的事件上的交互,参考图5a和图5b将更明显。
图5a示出示意图,其说明根据本发明一实施例数据对象和小部件的绑定。屏幕小部件容器400将逻辑性地包括一组小部件,其示范性地由小部件410绘制。数据对象容器450将逻辑性地包括一组数据对象,其示范性地由数据对象(DObj)460绘制。链接构件430在屏幕小部件容器400的小部件和数据对象容器450之间调停(mediate)。
除了根据本发明一实施例的操作顺序以及参照图1b所述,包括在动态创建屏幕中的小部件与数据对象(例如数据对象460)相链接,所述数据对象被放置在数据对象容器450中以便图形用户界面(GUI)和控制器层应用部分之间的绑定得以建立以使数据对象能够显示,所述图形用户界面(GUI)实施观察器层应用部分。数据对象将被理解为字段的逻辑收集,包括数据内容。数据内容可映射到个体小部件或可被支持并在小部件中表示为如tablebox、listbox等等使得数据内容可显示给用户和/或由用户修改。
负责数据对象和小部件的链接/绑定的链接构件430进一步包括在涉及数据对象的变化的通知中。这意味着,在影响数据对象(例如数据对象460)的变化发生的情况下,数据对象容器450或受变化影响的数据对象在操作S400中通知链接构件(绑定构件)430关于该变化,并且然后链接构件430在操作S410中传递该通知到受变化影响的对应的一个或多个小部件。调停可能包括发现操作,其允许链接构件430识别被影响的小部件如小部件410。
图5b说明示意图,所述示意图绘出根据本发明一实施例在处理数据对象变化通知时彼此交互的构件的逻辑链接。
示意图说明示意性的实体,其分别涉及构件、代码部分及涉及显示和处理数据对象的元素。包括小部件的某确定的屏幕,可由图形用户界面呈现给用户。在图5b中,该屏幕被绘制为屏幕实例500,而小部件被绘制为小部件410。进一步可以假定小部件410是“listbox”小部件,其允许显示排列在列表中的一组字段。此外,“listbox”小部件410可被采用以显示与某交易相关联的合同列表。数据对象(DObj)460可表示交易,而合同列表可由数据对象(DObj)465表示。
此外假定,图形用户界面的用户想改变所显示的交易,且已经发起对应的事件。参见图4c,用户可已把新帐户号输入“textbox”小部件12,其识别上述交易,并可已经选择搜寻“button”小部件13,其已发起传递到在屏幕配置(比较第8行)中所定义的接收器的对应事件。
显示与所输入的交易帐户号相关联的合同的“listbox”小部件410已经被更新。通过选择搜寻“button”小部件13而发起的事件分别被传递到屏幕和屏幕实例500,其被定义为事件“目标”(比较图4b中的第8行)。屏幕实例500将事件委托到其屏幕基类510,如绘于图4b中的第3行所定义的。在接收到选择事件时,屏幕基类510根据在“textbox”小部件12中输入的用户输入向数据对象加载构件600请求新的数据对象,而数据对象加载构件600将对应的新数据对象放入数据对象容器450中。现在,说明跟随图5a的操作顺序的操作顺序。数据对象容器450向屏幕基类510指示存在新数据对象。在接收到在数据对象容器450中的数据对象上改变已发生的通知时,屏幕基类510可使图形用户界面(GUI)无效并迫使“listbox”小部件410刷新(重绘、更新)以使新数据对象的数据(即合同列表)通过图形用户界面(GUI)显示给用户。
图5b中所示的示意图附加地说明上述构件之间的关系。所示关系基于统一建模语言(UML)符号,所述统一建模语言(UML)被用于描述和指示复杂的依存结构。屏幕实例500是作为高级屏幕类的屏幕基类510的成员。数据对象460和465被指示为数据对象,为数据对象聚集的部分的,所述数据对象都属于高级数据对象容器450。数据对象容器450又是高级屏幕基类510的成员。数据对象接收器610和620分别与对应的数据对象640和465相关联。此外,数据对象接收器610和620被链接(关联)到屏幕基类510,并且每一数据对象接收器被链接到对应的小部件以接收事件。在此,数据对象接收器620,与代表合同列表的小部件数据对象465相联系,与小部件410相链接,所述小部件410将代表“listbox”小部件以显示合同列表,如“listbox”小部件15。此外,类实例500也被链接到包括在类实例500中的每一小部件,其结合小部件410被示范性地说明。最后,数据对象加载构件600与屏幕实例相关联以便操作。
将注意的是,小部件模式产生的描述已考虑到导致由小部件模式储存库静态提供小部件模式的初始过程而说明,基于此,派生(分别请求和克隆)了待包括于屏幕中以便通过图形用户界面(GUI)显示的小部件。可替换地,需要用于派生待包括于屏幕中的小部件的小部件模式也可被动态地创建。也就是,由屏幕工厂240发出的对某一预定小部件的请求指导小部件工厂230动态地创建对应的小部件模式,在此基础上被请求的小部件优选地由小部件工厂230产生,但除此之外也可由屏幕工厂240代替。对应的小部件模式根据要求创建,这消除了小部件模式储存库210的必需性。按照的要求创建可进一步需要识别操作,其优选地由小部件工厂230操作且其允许识别完全的小部件配置310的该部分,其涉及小部件模式定义,其对应于被请求的小部件。小部件模式储存库和小部件高速缓存210分别加速屏幕创建过程,使得实施是有利的。
应注意的是,根据本发明一实施例,包括在执行功能和操作的所呈现的终端设备中的构件可由数据处理设备组成,所述数据处理设备可由终端设备包括。此外,构件可由代码部分组成用于在一个或多个数据处理设备上执行,所述一个或多个数据处理设备包含用于执行必须的处理操作所需的指令以执行功能和操作。根据本发明的实施例,关于上述方法,功能或操作示范性地呈现。操作顺序将代表操作,其可由一个或多个专用的构件来执行,所述构件优选地是包含指令的代码部分以对应地允许操作。可替换的构件组成以及操作与不同构件的关联是可能的,而不偏离本发明的范畴。对本领域的技术人员来说显然的是,随着技术的前进,发明概念可以宽范围的方式实施。发明及其实施例因此并不局限于上述实例而可在权利要求的范畴内变化。
Claims (20)
1.用于产生网络节点的用户界面的方法,在负责处理数据对象的核心应用部分和负责显示所述数据并在所述数据上发起动作的观察器/控制器应用部分中构建一应用,其中所述观察器/控制器应用部分由所述用户界面形成,特征在于:
用于动态创建所述用户界面的屏幕框的屏幕框创建模块(240)通过网络检索存储于中央处理单元上的屏幕框配置数据(320)和小部件配置数据(310),
小部件创建模块(230)基于所述小部件配置数据(310)的一个或多个构件模式(411,412)而产生至少一个用户界面构件(10-18;410),并借助于小部件高速缓存(210)存储至少一个用户界面构件(10-18;410),
所述用户界面的屏幕框由所述屏幕框创建模块(240)产生,其中所述屏幕框包括至少一个构件,所述构件是包括所述小部件配置数据的所述构件中的构件,以及
基于在用户界面构件和/或数据对象上的用户动作,所述已创建的屏幕框的所述至少一个构件被分配到至少一个数据对象和/或被分配到所述屏幕框的动态的所述构件。
2.根据权利要求1的方法,特征在于所述用户界面的所述屏幕框由所述屏幕框创建模块(240)动态地产生。
3.根据权利要求1或2之一的方法,特征在于所述屏幕框配置数据和/或小部件配置数据基于一个或多个用户动作,至少部分地动态改变。
4.根据权利要求1至3之一的方法,特征在于所述屏幕框配置数据(320)被检索(S220),所述屏幕框配置数据(320)被解析(S220)以获得关于所述至少一个构件(10-18;410)的类型信息并获得所述至少一个构件(10-18;410)的各个设置,所述至少一个构件(10-18;410)基于对应于所述类型信息的至少一个构件模式(411,422)通过获得(S231)所述至少一个构件(10-18;410)来创建(S230),并且所述各个设置被应用(S232)于所述至少一个构件(10-18;410)上并将所述至少一个构件(10-18;410)包括至所述屏幕框中。
5.根据权利要求4的方法,特征在于所述至少一个构件(10-18;410)从构件模式储存库(210)中请求,所述构件模式储存库(210)高速缓存至少一个构件模式(411,422),所述至少一个构件模式(411,422)对应于所述类型信息而被识别,并且所述至少一个构件(10-18;410)从所述至少一个已识别的构件模式(411,422)中派生。
6.根据权利要求5的方法,特征在于所述构件模式储存库(210)通过检索(S110)所述小部件配置数据(310)而初始化,其包括关于至少一个构件模式(411,422)的小部件配置数据,解析(S120)所述小部件配置数据(310),创建(S130)所述至少一个构件模式,以及将所述至少一个构件模式储存于所述构件模式储存库(210)中。
7.根据权利要求5或6之一的方法,特征在于所述构件模式储存库(210)在所述应用运行期间静态地包括所述至少一个构件模式(411,412)。
8.根据权利要求1至7之一的方法,特征在于所述至少一个构件(10-18;410)通过以下而获得:请求所述至少一个构件(10-18;410);检索(S110)小部件配置数据(310),所述小部件配置数据(310)包括关于至少一个构件模式(411,412)的小部件配置数据;识别关于对应于所述提取的类型信息的所述至少一个构件模式的(411,412)的所述小部件配置数据;解析(S120)所述已识别的小部件配置信息;创建(S130)所述至少一个构件模式;从所述至少一个构件模式(411,412)派生所述至少一个构件(10-18;410)。
9.根据权利要求1至8之一的方法,特征在于所述至少一个构件(10-18;410)通过以下而获得:克隆所述至少一个构件模式(411,412)以获得所述至少一个构件(10-18;410)。
10.根据权利要求1至9之一的方法,特征在于所述小部件配置数据(310)包括关于所述至少一个构件模式(411,412)的默认小部件配置信息以使从所述至少一个构件模式(411,412)获得的构件(10-18;410)具有对于在用户界面中使用的基本上所有构件有效的默认设置。
11.根据权利要求1至10之一的方法,特征在于所述屏幕框配置数据(320)包括关于至少一个构件(10-18;410)的屏幕框配置数据以使所述构件(10-18;410)适应由所述待创建的屏幕框预先假定的需求,所述构件(10-18;410)从所述对应的构件模式(411,412)获得。
12.根据权利要求1至11之一的方法,特征在于所述屏幕框配置数据(320)是XML编码的屏幕框配置数据,其基于屏幕框文档类型描述(DTD;340)。
13.根据权利要求1-12之一的方法,特征在于所述小部件配置(310)是XML编码的小部件配置,其基于小部件文档类型描述(DTD;330)。
14.用于建立用户界面(GUI)的软件工具,当所述程序在执行于基于微处理器的设备、处理设备、终端设备或网络设备上的计算机程序中实施时,包括用于执行权利要求1至13的任一项的操作的程序部分。
15.用于建立用户界面(GUI)的计算机程序产品,包括可加载的程序代码部分用于执行权利要求1-13之任一的操作,当所述程序代码在基于微处理器的设备、处理设备、终端设备或网络设备上执行时。
16.用于建立用户界面的计算机程序产品,其中所述计算机程序产品包括存储在计算机可读媒介上的程序代码部分用于执行权利要求1-13之任一的方法,当所述计算机程序产品执行于基于微处理器的设备、处理设备、终端设备或网络设备上时。
17.适于建立用户界面的终端设备,其可由用户操作以操作由所述终端设备执行的应用,其包括屏幕框创建构件(240)用于动态创建所述用户界面(GUI)的屏幕框,包括:
检索构件(260,270),用于检索屏幕框配置(320),其包括关于至少一个构件(10-18;410)的屏幕框配置数据,
解析构件(250,240),用于解析所述屏幕框配置(320)以获得关于所述至少一个构件(10-18;410)的类型信息并获得所述至少一个构件(10-18;410)的各个设置,
小部件创建构件(240),用于基于对应于所述类型信息的至少一个构件模式(411,412)而获得所述至少一个构件(10-18;410)并用于在所述至少一个构件(10-18;410)上应用所述各个设置,以及
链接构件(430),用于将所述至少一个构件(10-18;410)链接到至少一个数据对象(460,465)。
18.根据权利要求17的终端设备,包括:构件模式储存库(210),其高速缓存至少一个构件模式(411,412),并且从其中至少一个构件(10-18;410)被请求;及识别构件(240),用于识别对应于所述被提取的类型信息的至少一个构件模式(411,412),其中所述小部件创建构件(240)适于从所述至少一个已识别的构件模式(411,412)中派生至少一个构件(10-18;410)。
19.根据权利要求17的终端设备,其中所述终端设备包括:进一步的构件,用于初始化所述构件模式储存库(210);检索构件(260,270),用于检索构件配置(310),其包括关于一个构件模式(411,412)的构件配置数据;及解析构件(250,230),用于解析所述构件配置信息,其中所述小部件创建构件(230)适于创建所述至少一个构件模式(411,412)且适于将所述至少一个已创建的构件模式(411,412)存储于所述构件模式储存库(210)中。
20.根据权利要求19的终端设备,包括:检索构件(260,270),用于检索构件配置(310),其包括关于至少一个构件模式(411,412)的构件配置信息;识别构件(240),用于识别关于对应于所述被提取的类型信息的所述至少一个构件模式(411,412)的所述构件配置信息;及解析构件(250,230),用于解析所述已识别的构件配置信息,其中所述小部件创建构件(230)适于创建所述至少一个构件模式(411,412)且适于从所述至少一个构件模式(411,412)派生所述至少一个构件(10-18;510)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP03012822.7 | 2003-06-05 | ||
EP03012822 | 2003-06-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1799026A true CN1799026A (zh) | 2006-07-05 |
Family
ID=33495608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800152704A Pending CN1799026A (zh) | 2003-06-05 | 2004-05-12 | 用于产生一致的设备无关图形用户界面的方法和终端 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060168536A1 (zh) |
EP (1) | EP1629377A2 (zh) |
JP (1) | JP2006526828A (zh) |
CN (1) | CN1799026A (zh) |
AU (1) | AU2004246353A1 (zh) |
WO (1) | WO2004109501A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196788A1 (zh) * | 2014-06-25 | 2015-12-30 | 成都普中软件有限公司 | 一种构造界面模型的可视界面建模编辑器 |
CN106936871A (zh) * | 2015-12-30 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 界面展示数据的方法及装置 |
Families Citing this family (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2404775A (en) * | 2003-08-07 | 2005-02-09 | Pelikon Ltd | Electroluminescent displays |
US8566732B2 (en) | 2004-06-25 | 2013-10-22 | Apple Inc. | Synchronization of widgets and dashboards |
US8302020B2 (en) | 2004-06-25 | 2012-10-30 | Apple Inc. | Widget authoring and editing environment |
US7490295B2 (en) | 2004-06-25 | 2009-02-10 | Apple Inc. | Layer for accessing user interface elements |
US8453065B2 (en) | 2004-06-25 | 2013-05-28 | Apple Inc. | Preview and installation of user interface elements in a display environment |
US9471332B2 (en) * | 2004-10-19 | 2016-10-18 | International Business Machines Corporation | Selecting graphical component types at runtime |
US10068030B2 (en) * | 2005-02-11 | 2018-09-04 | International Business Machines Corporation | Extending java server faces web pages to support multiple devices |
US8543931B2 (en) | 2005-06-07 | 2013-09-24 | Apple Inc. | Preview including theme based installation of user interface elements in a display environment |
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 |
US7743336B2 (en) | 2005-10-27 | 2010-06-22 | Apple Inc. | Widget security |
US7954064B2 (en) | 2005-10-27 | 2011-05-31 | Apple Inc. | Multiple dashboards |
US7752556B2 (en) | 2005-10-27 | 2010-07-06 | Apple Inc. | Workflow widgets |
US7707514B2 (en) | 2005-11-18 | 2010-04-27 | Apple Inc. | Management of user interface elements in a display environment |
US7971145B2 (en) * | 2006-05-22 | 2011-06-28 | Sap Ag | Systems and methods for adapting service interface behaviors |
JP4280759B2 (ja) * | 2006-07-27 | 2009-06-17 | キヤノン株式会社 | 情報処理装置およびユーザインタフェース制御方法 |
US8869027B2 (en) | 2006-08-04 | 2014-10-21 | Apple Inc. | Management and generation of dashboards |
US8214345B2 (en) * | 2006-10-05 | 2012-07-03 | International Business Machines Corporation | Custom constraints for faceted exploration |
US20080104496A1 (en) * | 2006-10-23 | 2008-05-01 | Carnet Williams | Method and system for facilitating social payment or commercial transactions |
US7788273B2 (en) * | 2006-12-06 | 2010-08-31 | International Business Machines Corporation | User interface for faceted exploration |
JP2008219501A (ja) * | 2007-03-05 | 2008-09-18 | Ricoh Co Ltd | 画像処理装置、画像処理方法及び画像処理プログラム |
WO2008121410A1 (en) * | 2007-03-29 | 2008-10-09 | Ludi Labs, Inc. | Interface definition for implementing contextual applications |
US8566781B2 (en) * | 2007-04-23 | 2013-10-22 | Siemens Aktiengesellschaft | Model-based view parts and reusable data source configurations |
US8166455B2 (en) * | 2007-06-28 | 2012-04-24 | Yahoo! Inc. | Desktop application factory and application templates |
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 |
WO2009063441A2 (en) * | 2007-11-14 | 2009-05-22 | France Telecom | A system and method for managing widges |
US8868787B2 (en) * | 2007-12-26 | 2014-10-21 | Honeywell International Inc. | Incremental downlink of flight information |
US20100058247A1 (en) * | 2008-09-04 | 2010-03-04 | Honeywell International Inc. | Methods and systems of a user interface |
CN101673273A (zh) * | 2008-09-10 | 2010-03-17 | 深圳富泰宏精密工业有限公司 | 手持式电子装置的Widget网页显示系统及方法 |
US8769490B2 (en) | 2008-09-16 | 2014-07-01 | Oracle International Corporation | Desktop widget engine emulator component for a rapid application development tool |
US8719896B2 (en) * | 2008-09-16 | 2014-05-06 | Oracle International Corporation | Widget host container component for a rapid application development tool |
US9063740B2 (en) * | 2008-09-16 | 2015-06-23 | Oracle International Corporation | Web widget component for a rapid application development tool |
US9747621B1 (en) * | 2008-09-23 | 2017-08-29 | Amazon Technologies, Inc. | Widget-based integration of payment gateway functionality into transactional sites |
US8370749B2 (en) | 2008-10-14 | 2013-02-05 | Kimbia | Secure online communication through a widget on a web page |
CN101533410B (zh) * | 2009-04-13 | 2010-12-01 | 浙江大学 | 面向移动终端的widget内容缓存方法 |
US9043003B2 (en) * | 2009-07-31 | 2015-05-26 | Fisher-Rosemount Systems, Inc. | Graphical view sidebar for a process control system |
US9201665B2 (en) * | 2009-08-23 | 2015-12-01 | Bank Of America Corporation | Outputting presentation code updated for a particular user in response to receiving a page identifier |
US9032368B2 (en) * | 2009-08-23 | 2015-05-12 | Bank Of America Corporation | Dynamic configuration system |
US20110047449A1 (en) * | 2009-08-23 | 2011-02-24 | Bank Of America Corporation | Widget Framework |
US9367371B2 (en) * | 2010-02-05 | 2016-06-14 | Paypal, Inc. | Widget framework, real-time service orchestration, and real-time resource aggregation |
US20110283209A1 (en) * | 2010-05-13 | 2011-11-17 | Rovi Technologies Corporation | Systems and methods for sharing information between widgets operating on the same user equipment |
CN101866287A (zh) * | 2010-06-09 | 2010-10-20 | 中兴通讯股份有限公司 | 一种widget系统外观设置方法和装置 |
CH703723A1 (de) | 2010-09-15 | 2012-03-15 | Ferag Ag | Verfahren zur konfiguration einer grafischen benutzerschnittstelle. |
US9747270B2 (en) | 2011-01-07 | 2017-08-29 | Microsoft Technology Licensing, Llc | Natural input for spreadsheet actions |
CA2716843C (en) * | 2010-10-06 | 2017-11-07 | Ibm Canada Limited - Ibm Canada Limitee | Combined properties dialog from different sources |
CN102222006A (zh) * | 2011-07-22 | 2011-10-19 | 武汉天喻信息产业股份有限公司 | 移动Widget用户界面的实现方法及装置 |
US9053083B2 (en) * | 2011-11-04 | 2015-06-09 | Microsoft Technology Licensing, Llc | Interaction between web gadgets and spreadsheets |
GB2501757A (en) * | 2012-05-04 | 2013-11-06 | Ibm | Instrumentation of software applications for configuration thereof |
US9223760B2 (en) * | 2012-07-13 | 2015-12-29 | International Business Machines Corporation | Method of encapsulating diverse user interface components while consistently enforcing external constraints |
US10664652B2 (en) | 2013-06-15 | 2020-05-26 | Microsoft Technology Licensing, Llc | Seamless grid and canvas integration in a spreadsheet application |
US10031729B1 (en) * | 2014-12-30 | 2018-07-24 | Open Text Corporation | Method and system for implementing custom UI actions in a web application using hidden containers |
US20180143747A1 (en) * | 2015-05-19 | 2018-05-24 | Mitsubishi Electric Corporation | User interface device and method for displaying screen of user interface device |
CN105607902A (zh) * | 2015-12-16 | 2016-05-25 | 苏州同元软控信息技术有限公司 | 基于构件模型的系统可视化设计及代码生成系统及方法 |
CN107291465A (zh) * | 2017-06-14 | 2017-10-24 | 北京小米移动软件有限公司 | 页面显示方法、装置及存储介质 |
US11354122B2 (en) | 2020-04-29 | 2022-06-07 | Citrix Systems, Inc. | Micro-application creation and execution |
US11949761B2 (en) * | 2021-07-29 | 2024-04-02 | Oracle International Corporation | Techniques for distributed interface component generation |
CN117931164B (zh) * | 2023-12-27 | 2024-07-09 | 北京鸿鹄元数科技有限公司 | 基于低代码的表单应用设计方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5596702A (en) * | 1993-04-16 | 1997-01-21 | International Business Machines Corporation | Method and system for dynamically sharing user interface displays among a plurality of application program |
US5745115A (en) * | 1996-01-16 | 1998-04-28 | International Business Machines Corporation | Graphical user interface having a shared menu bar for opened applications |
US5793368A (en) * | 1996-11-14 | 1998-08-11 | Triteal Corporation | Method for dynamically switching between visual styles |
US6496202B1 (en) * | 1997-06-30 | 2002-12-17 | Sun Microsystems, Inc. | Method and apparatus for generating a graphical user interface |
US20020101448A1 (en) * | 2000-11-29 | 2002-08-01 | Sanderson Richard A. | Generating a declarative user interface |
US7076728B2 (en) * | 2000-12-22 | 2006-07-11 | International Business Machines Corporation | Method and apparatus for end-to-end content publishing system using XML with an object dependency graph |
US20020152244A1 (en) * | 2000-12-22 | 2002-10-17 | International Business Machines Corporation | Method and apparatus to dynamically create a customized user interface based on a document type definition |
US7565647B2 (en) * | 2002-03-22 | 2009-07-21 | Sun Microsystems, Inc. | Markup compiler that outputs MIDlets |
US7269795B2 (en) * | 2003-03-07 | 2007-09-11 | Microsoft Corporation | Dynamically generated user interface for business application integration |
-
2004
- 2004-05-12 JP JP2006508301A patent/JP2006526828A/ja active Pending
- 2004-05-12 EP EP04741559A patent/EP1629377A2/en not_active Withdrawn
- 2004-05-12 WO PCT/EP2004/050776 patent/WO2004109501A2/en not_active Application Discontinuation
- 2004-05-12 CN CNA2004800152704A patent/CN1799026A/zh active Pending
- 2004-05-12 AU AU2004246353A patent/AU2004246353A1/en not_active Abandoned
- 2004-05-12 US US10/559,568 patent/US20060168536A1/en not_active Abandoned
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196788A1 (zh) * | 2014-06-25 | 2015-12-30 | 成都普中软件有限公司 | 一种构造界面模型的可视界面建模编辑器 |
CN106936871A (zh) * | 2015-12-30 | 2017-07-07 | 阿里巴巴集团控股有限公司 | 界面展示数据的方法及装置 |
CN106936871B (zh) * | 2015-12-30 | 2020-05-29 | 阿里巴巴集团控股有限公司 | 界面展示数据的方法及装置 |
US11216610B2 (en) | 2015-12-30 | 2022-01-04 | Advanced New Technologies Co., Ltd. | Generating a graphical user interface based on formatted structure data |
Also Published As
Publication number | Publication date |
---|---|
US20060168536A1 (en) | 2006-07-27 |
WO2004109501A3 (en) | 2005-04-28 |
JP2006526828A (ja) | 2006-11-24 |
AU2004246353A1 (en) | 2004-12-16 |
WO2004109501A2 (en) | 2004-12-16 |
EP1629377A2 (en) | 2006-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1799026A (zh) | 用于产生一致的设备无关图形用户界面的方法和终端 | |
CN1841362A (zh) | 用于处理电子表格的方法和系统 | |
WO2004019160A2 (en) | Extensible user interface (xui) framework and development environment | |
CN1750470A (zh) | 数据共享系统、方法以及软件工具 | |
CN1885265A (zh) | 在无需修改源代码的情况下本地化java gui应用的系统和方法 | |
CN1961307A (zh) | 用于渐进式安装软件应用程序的系统和方法以及api | |
US20100070886A1 (en) | Web widget component for a rapid application development tool | |
CN108139896A (zh) | 扩展虚拟机指令集体系架构 | |
CN1627259A (zh) | 软件应用程序中名空间或模式库支持的可编程对象模型 | |
WO2003032151A2 (en) | Method of styling a user interface and device with adaptive user interface | |
CN1892653A (zh) | 无干扰小端口提交打印的方法与系统 | |
CN1783090A (zh) | 用于对象模型与xml间转换的可共享双向方法和系统 | |
JP2003186664A (ja) | 装置プラットフォームに対するguiプレゼンテーションのダイナミックな適合 | |
CN1504925A (zh) | 用于导入和导出分层结构化数据的方法和计算机可读介质 | |
CN1310819A (zh) | 为选定的应用数据生成并显示描述性注释的方法和工具 | |
US20070016870A1 (en) | Control panel framework | |
CN1719784A (zh) | 多模式对话处理方法 | |
CN1662011A (zh) | 使用元数据定义映射来构建组件应用程序的系统和方法 | |
CN1290898A (zh) | 在小型脚印尺寸装置上高速缓存缩减形式的网页 | |
CN112631591A (zh) | 表元素联动方法、装置、设备与计算机可读存储介质 | |
CN1661553A (zh) | 交互式无线应用程序系统和方法 | |
JP4740961B2 (ja) | アプリケーションプログラムの多国語支援システム及び方法 | |
CN1581071A (zh) | 具有xml驱动的体系结构的信息处理方法、装置和程序 | |
JP4136271B2 (ja) | アプリケーションサーバシステム | |
US7017014B2 (en) | Method, system and program product for maintaining data consistency across a hierarchy of caches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |