用于管理资源的系统和方法

文档序号:6614352阅读:223来源:国知局

专利名称::用于管理资源的系统和方法
技术领域
:本发明涉及编程模型,更具体地涉及用于松散耦合应用的面向数据的编程模型的系统和方法。
背景技术
:虽然走向松散耦合网络互连软件的趋势是必然的,但是编程模型和运行时间系统主要设计用于建立统一的、独立的应用。虽然web已经大大增加了分发的规模,但当前编程和部署web应用的方式仍然与二十世纪六十年代的大型机应用没有显著差别。在编程模型/运行时间之间的失配以及网络互连软件的优势正在变成及时产生和构成可靠应用软件的主要障碍——并且这种失配是开发者对当前中间件、编程模型和开发工具的复杂性和晦涩难懂所表达的诸多不满的焦点。
发明内容一种用于管理资源的系统和方法,包括提供包含相关数据的可变实体(mutableentity),和监听该相关数据中的变化。才艮据相关数据内的变化触发第一构造(construct)以更新可变实体。根据已更新可变实体,触发第二构造和第三构造中至少之一以分别地建立新的可变实体和更新数据关系。当前实施例包括单个声明的、以数据为中心的、由更新驱动的、分布式的语言以支持企业、web和客户机应用。根据本发明原理的编程模型通过消除多个冗余抽象来降低复杂性,通过便于应用发展来降低复杂性,和通过便于灵活部署和分发来降低复杂性。提出一种并不如同传统语言那样严格地施加封装的对人工制品描述编程的方法。这在不需要重新分解(refactoring)或者重新设计的情况下提高了随后再使用的灵活性。在一个实施例中,使用资源描述框架(RDF)。公开了用于跨组织构成和组件伴随分发的声明性、由数据驱动的编程模型。所述语言特征支持设备适应,并且支持在商业对象之中以及在商业对象和用户接口(UI)之间的转换和映射。提供一种用于数据模型的基于资源描述框架(RDF)使用的编程模型(区别于用于支持信息存在论的RDF的正常角色),其建立在包括资源概念、三元组、属性、类、子属性和子类的RDF的核心子集上,其还通过使用URL识别的RDF资源(区别于使用更通用的URI识别资源的RDF)支持分布式数据模型。数据模型支持多个和动态分类资源可以包括多个类,可以在运行时间以编程方式改变资源的一个或多个分类。该数据模型支持将多个和动态分类用于程序和过程的灵活跨组织构成。该数据模型还支持将多个和动态分类用于用户接口定义,并支持将多个和动态分类用于i殳备适应。编程模型建立在具有可被读取的值的可变实体的概念上,其值通过更新随时间改变。通过将具有相关值的资源的概念引入RDF以模拟可变实体,编程模型使用RDF模拟可变实体。编程模型具有用RDF节点树表示的资源R的相关值和以R为根的RDF三元组。编程模型具有代表资源值的三元组,其不同于并不代表资源值的三元组,因而将RDF图划分成两组代表一些资源的树型结构值的组;和连接图(graph)结构内的资源的组。该包括R值的三元组与其它图三元组的不同之处在于作为区别属性的子属性的断定(predicate)。用于若干数据模型和相关执行模型的统一数据模型共同使用包括ER、UML、关系型、XML。RDF可以是用于统一数据模型的基础.以数据为中心的执行模型,其中可以用程序运行时间状态的变化统一地描述编程模型的各方面(包括封装、构成、过程描述、异步、用户交互、分发)。程序运行时间状态包括在三元组存储中包括的一组资源和三元组。包括诸如〈bind〉的构造,其明确地规定一个可变实体值响应于其它可变实体值的变化如何变化。可以使用RDF模拟可变实体。编程构造明确地向编程者提供对其输入数据的旧值和新值的访问。编程构造明确地规定一个可变实体值响应于其它可变实体值的变化如何变化,并允许编程者声明将是主动(触发〈bind〉的执行)或者被动(并不触发<1)111(1>的执行,但是可以用作其输入)的每个输入。编程模型可以包括XQuery,用作从输入值计算输出值的语言。编程模型提供明确地规定基于当前实体值建立新可变实体的构造。编程模型可以提供通过基于当前实体值建立和破坏三元组来明确地使新的和现有的可变实体相关的构造。编程模型可以使用RDF资源表示可变实体。编程模型提供根据当前实体值明确地改变新的和现有的可变实体的分类的构造。编程模型可以使用用实体更新定义的执行模型。更新是将值分配给实体。诸如用户输入等每个外部事件可以在编程模型内表示为对可变实体的更新。每个更新可以明确地触发对其它实体的其它更新。编程模型可以合并在任意图上操作的用于识别其值明确地相关的特定实体的路径表达式。可以将RDF数据结构用于建立可在多个计算节点之间分配的应用。可以在多个计算节点之间分配执行。声明性的编程模型包括数据结构的运行时间分发,并且与数据结构和执行本身的描述无关地表示执行。可以执行级联更新。可以将诸如HTTPPUT或POST等web协议用于编程模型。编程模型支持使用统一递归MVC模式在一系列抽象等级上的用户接口或应用"前端,,的描述,允许开发者通过连续等级的更具体描述精炼抽象用户接口描述。用RDF资源表示MVC模式实例的模型。MVC模式实例的视图(view)是一组与模型相关的资源。MVC控制器是响应于对视图资源的更新明确地更新模型资源(反之亦然)的一组构造。一种用于定义与类相关的结构和功能的方法,包括支持灵活多组织构成和应用适应。编程模型使用多个分类支持允许不同组织以合成方式独立地规定应用行为,使用多个分类支持用可分类实体表示的抽象(abstraction)的灵活分解,和支持使用多个分类来支持通过允许每个开发组应用分类来影响开发组目标的跨组织开发和构成。动态分类可以允许在程序人造制品的生命周期内的任意点上指定由每个开发组应用的分类,包括在由其生产者首次定义该人造制品时;在构成两个开发组织的程序人造制品时;或者在运行时间。编程模型支持可构成的类定义,其中可以在分离的程序人造制品内独立地规定类定义的所有方面。编程模型使用可构成的类定义以允许由一个组织提供的应用适应于由不同组织使用。编程模型允许一个组织将新元素插入由另一组织定义的用户接口,允许一个组织将新元素插入由另一组织定义的数据结构,和允许一个组织修改由另一组织定义的过程。编程模型通过与在统一递归MVC树的任意等级上的模型进行对接,支持灵活的设备适应,从而允许通过公共的一组语言特征实现一系列设备适应策略。一种用于在编程环境内管理资源的方法,包括提供包括含有三元组的相关数据的可变实体;监听在相关数据内的变化;和4艮据相关数据内的变化触发第一构造以更新可变实体。一种用于在编程环境内管理资源的方法,包括给可变实体提供具有包括三元组的相关数据的类定义;和根据锚定构造,提供允许对要从多个独立规定的源构成的类进行完整定义的类定义。一种用于管理资源的方法,包括使用资源类在多个抽象等级上规定实体构成,其中该规定步骤包括使用包括模型、视图和控制器构造中的一个或多个的递归模型视图控制器(MVC)模式以定义每个抽象等级,其中模型、视图和控制器构造中每个均包括一组包含三元组的资源;和通过使用控制器构造实施更新,响应于在任一视图内的更新来更新模型。根据将结合附图阅读其说明性实施例的下述详细描述,这些和其它特征和优点将变得显而易见。本公开将参考附图在下述优选实施例的描述中提供细节,在附图中图1图示根据一种说明性实施例的两个XML文档和用于两个资源节点的相应图示;图2是图示根据一种说明性实施例的执行模型的方框图/流程图;图3图示用于执行一种说明性实施例的例子的表格、图和相应代码;图4图示根据一种说明性实施例的具有代码的构成模型和相应图示;图5图示根据一种说明性实施例的用于可以对资源进行多组织变化的例子的表格、图和相应代码;图6图示根据设备适应实施例的用于使用不同设备搜索标题的简单页面的表格和图7是图示根据一种说明性实施例的用于管理资源的系统/方法的方框图/流程图8是图示根据另一说明性实施例的用于管理设备适应资源的系统/方法的方框图/流程图9A和图9B图示根据本发明一个方面的绑定(bind)构造;图10图示根据本发明一个方面的假定(let)构造;和图11图示根据本发明一个方面的建立(create)构造。具体实施例方式根据本发明的原理,提供彻底简化的声明性编程模型和运行时间,其明确地致力于建立和部署跨组织软件作为web组件的构成。此外,支持软件开发的演变风格,允许快速应用原型化,而且支持将初始原型逐渐优化成稳定优点。将描述一组简化和统一的语言特征,解决端到端应用设计,包括商业对象、用户交互和"最后一英里"问题(例如设备适应以及多模式和多设备交互)。根据本发明的实施例,可以实现下述优点。提供单个声明性语言以支持企业、web和客户机应用,从而降低来自多个冗余抽象的复杂性。根据本发明原理使用的对于编程模型的基于资源描述框架(RDF)的方法并不象在传统面向对象(OO)语言中那样严格施加封装。使用声明性、由数据驱动的编程模型而不使用程序或面向对象的语言,跨组织构成和组件的伴随分布更加容易。处理多个终端用户交互设备的约束和多样性长时间以来是用户接口(UI)框架的棘手问题,无论是否基于web。根据本发明的原理,对该问题的一个贡献是将该问题视为一组统一概念的再使用,而不是作为专门用于解决此"最后一英里"问题的特设框架(如同过去常见的情况)。我们将应用引入的相同语言特征以支持在商业对象之间以及在商业对象和UI之间的转换和映射,从而也支持设备适应。本发明的实施例可以采取全部硬件实施例、全部软件实施例或者同时包括硬件和软件单元实施例的形式。在优选实施例中,用包括但并不限制于固件、驻留软件和微代码等的软件实现本发明。此外,本发明可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,所述介质提供用于由计算机或任何指令执行系统使用或与之结合的程序代码。为了描述的目的,计算机可用或计算机可读介质可以是可包括、存储、传送、传播或传输程序以由指令执行系统、设备或装置使用或与之结合的任意设备。介质可以是电子、磁、光、电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质的例子包括半导体或固态存储器、磁带、可拆除计算机盘、随机访问存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。当前光盘的例子包括压缩盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。适合于存储和/或执行程序代码的数据处理系统可以包括通过系统总线直接或间接地耦合到存储单元的至少一个处理器的程序代码。存储单元可以包括在程序代码实际执行过程中使用的本地存储器、大容量存储和提供至少一些程序代码的临时存储以降低在执行过程中从大容量存储器中抽象代码的次数的超高速緩存。输入/输出或I/O设备(包括但并不限制于键盘、显示器、指示设备等)可以直接地或者通过中间I/O控制器耦合到系统。网络适配器还可以耦合到系统以支持数据处理系统变成通过中间专用或公共网络耦合到其它数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅是若干当前可用类型的网络适配器。根据本发明原理的数据模型建立在RDF的核心子集上。使用资源、三元组、属性和类的关鍵RDF概念。诸如子属性和子类的RDF概念也起作用。本发明的实施例使用用URL识别的RDF资源以建立基础分配的数据模型。RDF支持多个和动态分类资源可以具有多个类,资源的一个或多个分类可以在运行时间以编程方式改变。这些特征起作用,用于诸如程序和过程的灵活跨组织构成、用户接口风格化和设备适应等多种目的。执行模型经常集中于值可被读取的可变实体的概念,并且其值通过被更新随着时间变化。根据本发明原理的数据模型建立在RDF模型上以通过引入具有相关值的资源概念来支持这种读取/更新执行模型,从而模拟(model)可变实体。用节点树和以R为根的三元组代表资源R的值。通过作为根据一个特征定义的区分属性的子属性c:value的断定来区分包括R值的三元组和其它图三元组。因而,将图三元组划分成两组代表特定资源的树结构值的组;和在图结构内连接资源的组。统一数据模型本发明的实施例建立在RDF上以提供统一常用的若干数据模型和相关执行模型的数据模型。下表描述在本发明概念和RDF概念之间的映射和若干常用数据模型中的每个。ii表l<table>tableseeoriginaldocumentpage12</column></row><table>XML数据根据本发明的原理,可以将与特定资源关联的值树视为XML文档,使用与RDF的RDF/XML序列化一致的映射。在一个实施例中,资源的统一资源标识符(URI)是统一资源定位器(URL),从而可以使用带有文本/XML消息体的HTTPGET和PUT操作读取或更新代表资源值的XML文档。现在参考附图,其中相同数字代表一开始与图1相同或类似的单元,说明性地图示关系数据模型4。关系数据模型4说明性地包括XML文档〈PERSON^0及其表示12,并说明性地图示XML文档14〈COMPANY〉及其表示16。图1中的方框代表资源节点。在图1中连接方框的直线代表三元组。资源可以包括三元组。粗线是形成资源值树的三元组。资源节点的一个或多个类24在节点上方示出。关系数据数据库的每行20对应于其值是该行的列22的资源。更新行对应于更新对应资源的值树。这在下面的端到端实例中图示。根据资源图的关系或特征可以确定与构造(例如bid构造)相关的数据。执行模型本发明原理包括用于建立反应系统的编程模型。因而,根据本发明的实施例的执行模型定义响应于外部事件(如用户输入、来自外部系统的消息)或者异步内部事件的出现,程序的运行时间状态如何变化。本执行模型是以数据为中心的,意味着根据程序运行时间状态的变化来描述执行模型的所有方面。将参考图2更详细地解释执行模型。参见图2,方框图/流程示根据一种说明性实施例的模型执行系统/方法50。一个或多个资源58包括可以在三元组56内连接或关联的数据52。在系统内保存数据58或用于识别数据的信息(例如统一资源标识符(URI)54,其命名对资源58分类的类72和命名对三元组70分类的属性70)。系统通过识别内容与先前存储的内容来监听数据52(或54)中的变化。这用"包含"80表示。"包含"操作集合与一个或多个绑定60相关的数据变化。例如,如果给定绑定敏感于特定三元组(56),在该三元组的数据(52)内的变化将导致触发器63。可以通过在RDF子树内通过"包含"或者后代"包含,,三元组链接到的所有三元组识别触发绑定的相关数据。如果观察到与绑定相关的异步资源更新,则绑定60执行根据数据(52)变化来更新/建立65资源58。变化的数据类型和种类触发了执行的绑定或绑定组。以相关性顺序执行绑定构造60。这意味着所执行的第一绑定60是不取决于其它绑定执行的绑定,继之以具有相关性(当通过执行其他绑定使得相关性可用时)的绑定。根据来自绑定组件60的更新,触发67建立构造62并建立69新资源(如果需要)。新资源(58)可以包括由执行绑定60生成的更新。类似地,如果需要,触发71假定构造64以建立新三元组56。新三元组(56)可以包括在旧数据或新数据(52)之间新的关联。绑定构造60、建立构造62和假定构造64可以包括在相同单元68或组件内,其可以存储或保存为独立组件。根据更新资源可以重复地执行建立和假定构造以建立新资源和三元组。程序的运行时间状态包括在三元组存储内包含的一组资源和三元组。本发明的实施例提供程序员用于明确地规定对运行时间状态的更新的构造(例如绑定、建立、假定)。<1)111(1>构造使用例如XQuery作为功能值计算语言,明确地规定一个资源的值响应于其它资源的值的变化会如何变化。不过,可以使用其它语言,例如JavascriptTM。〈et〉和〈create〉构造明确地规定新资源的建立、通过建立和破坏三元组使新的和现有的资源相关、以及改变新的和现有的资源的分类,所有这些都基于当前的资源值。通过更新驱动执行。更新是将值分配给资源。将诸如用户输入等的每个外部事件反映为初始更新。响应于初始更新,程序执行一执行循环,从而监听变化。执行循环执行随后更新的级联,如由程序的<1)^1(1>构造明确指示的。在执行由〈bin(^构造指示的资源值更新之后,该程序建立新的资源、资源关系和分类,如由〈let〉和〈create〉构造明确指示的。在任一给定执行循环过程中,在已经更新了对所述绑定的所有输入资源之后,通过<1)111€1>构造的执行恰好一次更新将要更新的每个资源。因而,每个资源具有明确定义的旧值,它是在执行周期开始之前的值;和新值,它是在执行周期完成之后的值。当<1)11^>构造执行时,它能够访问其输入资源的旧值和新值。可以利用使用新值的绑定来模拟类似约束的更新,例如保持数据或表示视图与正在查看的数据同步。可以利用使用旧值的绑定模拟非等幂运算,例如添加到总数、将项目附加到列表或者将记录插入数据库。根据本发明的原理,路径表达式在语言中起关键作用,例如以便识别其值通过<1)111(1>构造明确地相关的特定资源。路径表达式是用于通过RDF三元组从一个资源导航到一个或多个其它资源的公式。路径表达式基于XPath表达式,但是根据本发明的原理,使XPath—般化,以允许通过使用上述RDF和XML之间的映射在任意RDF图上进行导航。参见图3,说明性的端到端实例示出图100、说明性的表格101和对应编程代码110以说明根据本发明原理的概念。下述例子是简单的端到端应用,提供允许查询和更新天气信息104的关系型数据库的表格102。〈create〉构造使诸如输入106和触发器108等用户接口单元与代表该表格的WEATHERMAN资源类相关。〈e^构造112使用"城市,,输入字段以从数据库中选择行,使用"选定"属性予以记录。在由华氏温度转换成摄氏温度之后,由"设置"触发器108触发的<1^1^>构造114使用在"温度"输入字段内的量更新数据库。类似的〈bin(^构造116从数据库104提取温度,将摄氏温度转换成华氏温度。如用虚线框表示的,该应用可以在诸如浏览器和服务器等多个计算节点120和130间分发。由驻留在不同计算节点上、借助URL连接资源的三元组(如112)形成分布式数据结构。当执行参考分布式数据结构的〈bind〉构造(例如绑定114和116)时,出现分布式执行。根据本发明的实施例提供实施这种分布式数据和执行模型的有效协议。例如,通过适当的HTTPPUT或POST操作,在协议等级上,可以实现绑定114的执行。交互模型根据本发明原理提供的演示和用户交互模型允许在一系列抽象等级上的用户接口描述或应用"前端"。支持递归模型视图控制器(MVC)模式,允许开发者通过连续等级的更具体描述来精炼抽象用户接口描述。用资源表示MVC模式的实例的模型。MVC视图是一组与模型关联的资源,其实例化由〈create〉构造明确地驱动。MVC控制器是响应于视图资源更新而更新模型资源(反之亦然)的一组〈bin(^构造。包括模型资源视图的该组资源自身可以用作其它视图的模型,因而支持递归MVC模式(参见图6)。也可以将包括视图的该组资源以及连接视图资源与模型资源的基于<bind>的控制器视为由模型代表的抽象的更具体精炼。相反,可以将该模型视为通过视图提供的功能性的封装。与Xform的关系本发明建立在来自XFrom的许多概念上并对其进行一般化,以生成跨越所有应用层的统一编程模型。XFrom的基于XML树的MVC设计是递归的,并一般化为RDF图。将视图-模型和模型-模型绑定的概念扩展到基于资源-资源绑定的通用计算模型。将数据驱动的用户接口实例化一般化为声明性的资源实例化。根据本发明的原理,通过以数据为中心、由更新驱动的执行模型简化和规则化XForm的由事件驱动的执行模型。构成模型根据本发明的声明性数据和执行模型支持应用构成的灵活方法。这通过从应用前端得出的一些例子来说明。然而,这些编程模型能力类似地支持在所有应用层内的灵活构成。灵活分解和风格化选择特定视图以精练抽象模型资源是由模型资源的类确定的。支持多个和动态分类允许在该过程内的更大灵活性,因为可以由抽象模型资源开发者较早进行用于抽象模型资源的特定表示的选择;或者由抽象模型资源的消费者在构成时间或运行时间上稍后进行。参见图4,例如交互日历抽象可以包括类DATE的资源,其以编程方式计算的值是将要显示给用户的日期,并且其值被更新为由用户选择日期的动作的反映。可通过借助分类DATE3在应用内分类(较早或稍后)一些或全部DATE资源并借助其分类将要与DATE模型资源相关联的一组视图资源定义为DATE3资源,可以进行DATE模型的表示的更具体选择(例如作为年、月和日三个字段)。开放构成和适应由本发明原理(和RDF)采取的用于定义与类相关的结构和功能的开放方法支持灵活的多组织构成和应用适应。例如,假设IBM与书店合作以向IBM雇员提供诸如书等。合作协议要求IBM修改"stock"用户接口和处理,例如添加条款以规定每个订单的IBM审定者。这可能要求IBM将审定者字段插入每个提交的IBM订单内,和将相应输入字段插入订单页面内。参见图5,说明性地图示用于客户订单表格的书店代码片段202。书店代码202包括订单表格模型204和订单表格表示206的定义部分。还图示了由IBM单独规定的代码片段208以定制书店订单表格202,包括将审定者字段214添加到模型210内和添加对应的表示项目212。因而,虽然根据本发明的实施例的作为锚定构造的OvitJ^构造(202和208)在一些方面相当于(在上述例子中的ORDER-FORM类的)类定义,但是本发明更加灵活,因为它允许从多个独立规定的源构成的类的完整定义。该方法支持应用的灵活多组织构成。设备适应最为具体的,MVC交互递归基于一组内置资源类,所述一组内置资源类可以驱动现有技术(例如Swing、XHTML或VoiceXML)以表示用户交互的设备特定组件(例如按钮、字段和语音命令)。在这个最为具体的等级之上是表示交互的较为抽象的(但仍然是原始的)单元的资源类等级,例如输入、输出和触发器。将这些交互的原始单元收集在一起成为同时实现的交互的集合,例如页面,其在流内排序。这些交互等级中的任一等级可以连接到持续性数据存储器。本发明将统一数据和执行模型用于该递归MVC树的所有等级,通过在该树的任一等级上进入(tap)模型来支持灵活的设备适应。因而,一种设备适应的方法可以是简单地将替代视图提供给现有的模型——如在任一当前MVC框架内将可能的那样。我们具有通过将旧视图视为模型来将模型-视图递归统一地扩展为更适合于移动设备的新视图的附加选项。应注意,关于是驱动旧视图还是提供新视图将提供更好的用户体验或者更易于实施的问题是设计决策。本方法通过一组公用语言特征提供一系列可能性。参见图6,图示用于在上述假设的书店应用中搜索标题的简单页面。视图302面向具有足够显示空间以同时全部显示作者搜索字段、可用类别、月度推荐书籍和选定图书的详细内容的桌面设备。视图304和306面向移动设备。视图304和306绑定到作为其模型的桌面视图302的视图资源。视图304显示书籍的"主,,列表,而视图306显示用于单个选定书籍的详细内容。用于此适应的人工制品建立器包括新视图单元308、将新视图链接到旧视图的"绑定"310和控制导航312。因为这些特征308、310和312全部是根据本发明的当前编程构造,这些特征保持可用于进一步适应(如果需要)。参见图7,一种用于在编程环境内管理资源的系统/方法支持企业、web和客户机应用。系统/方法在方框402内包括提供含有相关数据的可变实体。相关数据最好包括三元组或其它相连数据。可以根据图结构关系确定与构造相关的数据。可变实体最好包括资源,并且更最优选的是RDF资源结构。可变实体或资源可以包括在运行时间以编程方式改变的能力(方框404)。在方框406,可以将可变实体或资源分类在多个类内,其中可以在运行时间以编程方式改变资源的类。在方框410,在相关数据内监视或监听变化。在方框412,当确定数据的相关变化时,根据在相关数据内的变化触发第一构造(如绑定构造)以更新资源或可变实体。这包括规定响应于在相关数据内的变化,可变实体的值如何改变。在方框413内以相关性顺序执行笫一构造。第一构造可以访问相关数据的旧值和新值以确定可变实体改变。可以将相关数据的变化声明为活动的以表示第一构造的触发。在方框414,根据更新的可变实体,可以触发第二构造和第三构造以分别建立新可变实体或更新数据关系。在方框416,触发第二构造(建立)以根据当前实体值建立新可变实体。在方框418,第三构造(假定)通过根据当前实体值建立和破坏三元组使新的和现有的可变实体相关。笫三构造连接三元组内的数据,以便可以通过多种方式使用相同数据以消除多个冗余抽象。在方框420,提供第四构造(with),其用于根据当前实体值改变可变实体的分类。在方框422,可以重复该处理直到在所有构造内已经传播所有变化。在每个构造内进行的改变可以影响可通过其它资源传播的资源。应当指出可以根据需要一起或者独立地使用这些构造。参见图8,说明性地图示用于管理资源的系统/方法。该系统/方法提供交互模型以允许在一系列的抽象等级上的用户接口描述或应用"前端"(和后端)。在方框502内规定递归模型视图控制器(MVC)模式,允许开发者通过连续等级的更具体规定来精炼抽象用户接口描述。使用资源类在多个抽象等级上规定多个用户接口、商业对象或数据对象等。在方框504,用资源表示MVC模式的实例的模型。MVC视图是一组与模型相关的资源,其实例化通过〈create〉构造明确地驱动。MVC的控制器是一组<1)111(1>构造,其响应于视图资源更新而更新模型资源,反之亦然。在方框505,可以如上所述提供构造交互和资源更新(参见图2和图7)。包含模型资源视图的该组资源自身可以用作其它视图的模型,从而支持递归MVC模式(参见图6)。也可以将包含视图的该组资源以及连接视图资源与模型资源的基于<bind>的控制器视为由模型代表的抽象的更具体精炼。相反地,可以将该模型视为由视图提供的功能性的封装。在方框506,通过提供多个构造来实施更新,响应于在任何视图内的更新而更新该模型。在方框508,用户接口可应用于多个应用。在方框510,可以将每个视图应用于不同设备。例如,台式计算机、移动电话机、个人数字助理或任何其它设备。可以将第一视图应用于台式设备和将第二视图应用于移动设备。可替代地,可以将第一视图应用于第一应用,可以将第二视图应用于在相同或不同设备内的第二应用。在方框512,不同的抽象等级可以通过将资源分类成多个类来共享资源,并可以在运行时间以编程方式改变资源的类。参见图9A和图9B,说明性地图示绑定构造600。绑定构造600是在资源值(R1和R2)之间的功能关系(RO)的明确表达。有效地,绑定构造600是对于资源值的单向、有条件的约束。可以通过对输入源(R)的更新触发绑定构造600。开发者规定从R1和R2等计算输出RO的函数。每个输入可以是主动或被动的。主动输入是触发绑定构造600执行的更新。被动输入并不触发绑定构造600的执行。每个输入可以参考其资源的新值(在执行周期结束时的值)或旧值(在执行周期开始时的值)。例如,新值可以用于类似约束的计算,而旧值可以用于非等幂操作(例如将值插入一个组或者添加到一个值)。参见图9B,更详细地图示绑定构造600。对于类A的每个资源R,建立具有分别通过路径Pl和P2等可到达的输入资源Rl和R2等的绑定B。通过路径PO可到达输出资源RO。通过在诸如XQuery内的给定表达式可以计算绑定B。说明性的XML代码包括下述<bindanchor=,,A,,<inpath="Pl"variable=,,$Vl,,/><inpath="P2"variable="$V2,,/><outpath=,,P0,,>xqueryexpressioninvolving$V1,$V2,...</out><bind>参见图10,说明性地图示假定构造700。假定构造700是用于建立结构的声明性的由数据驱动的构造。假定构造700用于建立三元组以例如使用属性和类连接资源和资源分类。例如,对于类A的每个资源R,和对于通过来自A的xpath可达到的每个资源S,使用类C对S分类并借助属性p将R连接到S。说明性的XML代码包括下述<letanchor=,,A,,path=,,xpath,,property=,,p,,class=,,C"/>参见图11,说明性地图示建立构造800。建立构造800是用于建立结构的声明性的由数据驱动的构造。建立构造800用于例如使用属性和类进行资源的建立和分类。例如,对于类A的每个资源R,建立资源S并借助类C对S分类。使用属性p将R连接到S。说明性的XML代码包括下述anchor=,,A,,property=,,p,,class="C,,/>已经描述了使用构成的编程模型来管理资源的系统和方法的优选实施例(是说明性而非限制性的),应指出,本领域技术人员鉴于上述教导可以进行修改和变化。因此,将理解在由权利要求书定义的本发明的范围和精神内可以在所公开的具体实施例内进行变化。已经描述了本发明的各个方面,根据专利法的具体规定,在权利要求书中阐述了专利权要求保护的范围。权利要求1.一种用于在编程环境中管理资源的方法,包括提供包括含有三元组的相关数据的可变实体;监听相关数据中的变化;和根据相关数据中的变化触发第一构造以更新可变实体。2.如权利要求l所述的方法,还包括在应用中在多个角色中使用三元组以支持企业、web和客户才几应用。3.如权利要求l所述的方法,其中提供可变实体包括将资源分类成多于一个类。4.如权利要求l所述的方法,其中在运行时间以编程方式改变资源的类。5.如权利要求l所述的方法,其中触发第一构造包括规定响应于相关数据中的变化,可变实体的值如何改变。6.如权利要求l所述的方法,其中第一构造可访问相关数据的旧值和新值以确定可变实体变化。7.如权利要求l所述的方法,其中将相关数据中的变化声明为活动的以触发第一构造。8.如权利要求l所述的方法,还包括根据已更新的可变实体,触发第二构造和第三构造中至少之一,以相应地建立新的可变实体并更新数据关系。9.如权利要求8所述的方法,其中触发第二构造和第三构造中至少之一包括触发第二构造,以通过才艮据当前实体值建立新的三元组来建立新可变实体。10.如权利要求8所述的方法,其中触发第二构造和第三构造中至少之一包括触发第三构造,其通过根据当前实体值建立和破坏三元组,使新的和现有的可变实体相关。11.如权利要求8所述的方法,还包括在应用中在多个角色中使用第一、第二和第三构造以支持企业、web和客户机应用。12.如权利要求11所述的方法,还包括使用第三构造根据当前实体值改变可变实体的分类。13.如权利要求l所述的方法,其中根据图结构关系确定相关数据。14.一种用于在编程环境中管理资源的方法,包括向可变实体提供具有包含三元组的相关数据的类定义;和根据锚定构造,提供允许对要从多个独立规定的源构成的类进行完整定义的类定义。15.如权利要求14所述的方法,其中多个独立规定的源包括不同组织。16.—种用于管理资源的方法,包括使用资源类在多个抽象等级上规定实体的构成,其中该规定包括使用包括模型、视图和控制器构造中的一个或多个的递归模型视图控制器(MVC)模式来定义每个抽象等级,其中模型、视图和控制器构造中的每个包括一组含有三元组的资源;和通过使用控制器构造实施更新,响应于任何视图内的更新而更新模型。17.如权利要求16所述的方法,其中实体的构成包括用户接口、商业对象和数据对象中的至少之一。18.如权利要求16所述的方法,还包括将每个视图应用于不同设备。19.如权利要求18所述的方法,其中应用每个视图包括设备适应,其中将第一视图应用于台式设备和将第二视图应用于移动设备。20.如权利要求16所述的方法,其中不同抽象等级各包括在嵌套结构中的MVC模式。21.如权利要求16所述的方法,其中在运行时间以编程方式改变资源的类。22.如权利要求16所述的方法,其中多个控制器构造包括笫一构造,并且该方法还包括规定响应于相关数据中的变化,可变实体值如何改变。23.如权利要求22所述的方法,其中第一构造可访问相关数据的旧值和新值以确定可变实体变化。24.如权利要求23所述的方法,其中将相关数据中的变化声明为活动的,以触发第一构造。25.如权利要求16所述的方法,其中多个构造包括第二构造,该方法还包括触发第二构造以根据当前实体值建立新的可变实体。26.如权利要求16所述的方法,其中多个构造包括第三构造,该方法还包括触发第三构造,其通过根据当前实体值建立和破坏三元组,使新的和现有的可变实体相关。27.如权利要求16所述的方法,还包括第四构造,该方法还包括;f艮据当前实体值改变可变实体的分类。28.如权利要求27所述的方法,其中第四构造提供类定义,其允许对要从多个独立规定的源或组织构成的类进行完整定义。29.如权利要求16所述的方法,其中根据图结构关系确定相关数据。30.—种用于在编程环境内管理资源的系统,包括用于执行前述方法权利要求中任一方法的装置。31.—种用于在编程环境内管理资源的计算机程序产品,包括计算机可用介质,其包含计算机可读程序,其中当在计算机上执行时该计算机可读程序使计算机执行前述方法权利要求中任一权利要求所述的步骤。全文摘要一种用于管理资源的系统和方法,包括提供具有包含三元组的相关数据的可变实体,和监听相关数据中的变化。根据相关数据中的变化触发第一构造以更新可变实体。文档编号G06F9/50GK101315601SQ200710187009公开日2008年12月3日申请日期2007年11月14日优先权日2007年6月1日发明者布鲁斯·D.·卢卡斯,拉法·A.·霍斯,查尔斯·F.·维查,玛利亚-克里斯蒂娜·V.·马里奈斯库,约翰·H.·菲尔德,马克·N.·维格曼申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1