CN1768319A - 用于构建对象和实体的呈现的方法和装置 - Google Patents

用于构建对象和实体的呈现的方法和装置 Download PDF

Info

Publication number
CN1768319A
CN1768319A CNA2004800016748A CN200480001674A CN1768319A CN 1768319 A CN1768319 A CN 1768319A CN A2004800016748 A CNA2004800016748 A CN A2004800016748A CN 200480001674 A CN200480001674 A CN 200480001674A CN 1768319 A CN1768319 A CN 1768319A
Authority
CN
China
Prior art keywords
properties
attribute
presents
data
name
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
Application number
CNA2004800016748A
Other languages
English (en)
Inventor
E·贝朗
M·F·蓬托皮丹
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1768319A publication Critical patent/CN1768319A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging

Abstract

一种构建具有至少一个属性的对象(410)呈现的方法包括标识(905)与该对象相关联的被选定呈现该对象的至少一个属性组(460)。对象的至少一个属性属于被呈现为与该对象相关联的每个属性组。该方法还包括标识(910)对象(410)在被标识属性组的属性中引用的任何其它对象(450)。对象呈现引擎(310)检索(915)与属于至少一个属性组的每个属性相对应的数据。然后引擎使用检索到的数据来呈现(920)对象。

Description

用于构建对象和实体的呈现的方法和装置
技术领域
本发明涉及面向对象编程,尤其涉及用于构建对象呈现的方法和装置。
背景技术
面向对象的编程语言由编程人员在应用程序范围内广泛使用。在面向对象的编程语言中,对象具有众多属性或属性字段。某些对象趋向于具有大量的这些属性。对象的部分属性可具有其本身也是对象的类型。因此,通过对另一对象的引用点,这些属性指向更多的属性。
当建立用户界面(UI)时,诸如窗体、表格、电子表格、或基于对象机器引用的属性的其它可视呈现,不得不指定要包括在呈现中的每个单独属性是相当麻烦的。如果被请求属性在引用对象上则尤甚。如果对象是从另一对象导出的,则问题变得更为复杂。
对于一典型的应用程序或系统,需要为大量不同对象和/或要可视呈现的属性组合产生数百(如果不是数千)不同的UI(例如窗体)或其它呈现是寻常的。因而产生大量可视呈现会是一个劳动强度很大的过程。此外,这些呈现的更改也很麻烦。如果需要更改现有的呈现,例如反映添加到对象的附加属性,必须重复首次创建它们时投入的许多精力。结果,对于终端用户编程和安装的系统,终端用户常常很难在后来需要时定制UI、窗体、或其它呈现。
发明内容
构建具有至少一个属性的对象呈现的方法包括标识与该对象相关联的被选定呈现该对象的至少一个属性组。对象的至少一个属性属于被呈现为与对象相关联的每个属性组。换言之,与对象相关联的属性组可描述为被分配给对象属性的至少之一。该方法还包括标识对象在被标识属性组的属性中引用的任何其它对象。对象呈现引擎检索与属于至少一个属性组的每个属性相对应的数据。然后引擎使用检索到的数据来呈现对象。呈现对象的步骤常包括通过显示检索到的数据来可视化地呈现对象。
在某些实施例中,显示检索到的数据还包括显示与这些属性的值相邻的至少一属性组中的属性名字。每个属性组的名字可显示为与该属性组中的属性名字相邻,并与那些属性的值相邻。
在本发明某些实施例中,在对象和其它对象之间存在至少一个对象继承分层结构。每个属性组对一特定对象继承分层结构而言是唯一的。在某些实施例中,对象是第二对象的特定化。则该对象可继承与第二对象相关联的属性组。
在某些实施例中,每个属性组被分配给对象属性的至少之一,并分配给唯一其它对象的一个或多个属性。检索与每个分配给属性组的属性相对应的数据的步骤,还可包括检索与第一对象的属性相对应的以及与属性组相关联的唯一其它对象的属性相对应的数据。
在某些实施例中,标识与对象相关联的至少一个属性组的步骤还包括标识与对象相关联的缺省属性组。
参阅以下详细说明书和附图,表征本发明各实施例的其它特征和优点将变得显然。
附图说明
图1是本发明可在其中实现的一示例性环境的框图。
图2是本发明可在其中实现的一般移动计算环境的框图。
图3是根据本发明各实施例示出对象呈现系统的框图。
图4是示出分层结构关系的对象,并示出本发明属性组概念的框图。
图5是示出与图4所示对象具有关联关系,并与该对象共享一属性组的对象的框图。
图6是由对象指定并使用本发明的属性组概念创建的用户界面(UI)的图示说明。
图7是由对象指定并使用本发明的属性组概念创建的第二用户界面(UI)的图示说明。
图8是示出根据本发明方法的流程图。
图9是示出根据本发明另一方法的流程图。
具体实施方式
如上所述,在面向对象编程中,对象和实体包含属性,并通过分层结构和其它关系指向其它对象的属性。实体可被描述为可持续对象。换言之,实体是可存储在数据库中的对象。当在此使用时,术语“对象”旨在包括“实体”。面向对象编程的一般概念,例如继承、关联、以及合成的概念,在本领域中是众所周知的。例如,参见K.Scott和M.Flower的“UML提取:标准对象建模语言的简要指南”(Addison-Wesley 1999)。
本发明部分地基于一种认识,即使用关联或继承相连的对象属性使得用户界面(UI)、窗体、或其它对象呈现能更简便地得以指定。利用属性分组的本发明的方法和装置,在按照继承、定制和关联当对象较为复杂时便于UI和其它呈现的快速构建。在现有技术中,每当对象被扩展时,不得不重新访问每个UI、窗体、网页或其它来自对象的数据呈现是普遍的。使用本发明的方法和装置,可无需更新这些UI、窗体、网页或对象的其它呈现的大劳动强度任务而扩展对象。
图1示出本发明可在其上实现的适当计算系统环境100的示例。该计算系统环境100仅是适当计算环境的一个示例,并非旨在提出对本发明使用或功能性范围作任何限制。计算环境100也不应被解释为对示例性操作环境100中所示的任一组件或其组合有任何依赖性或任何需求。
本发明也可在很多其它通用或专用计算系统环境或配置中操作。适于本发明使用的众所周知的计算系统、环境、和/或配置的示例包括,但不限于,个人计算机、服务器计算机、手持式或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电器、网络PC、小型计算机、大型机、包括任一种以上系统或设备的分布式计算环境等等。
本发明可在计算机可执行指令的一般环境中进行说明,诸如由计算机执行的程序模块。一般而言,程序模块包括执行具体任务或实现具体抽象数据类型的例程、程序、对象、组件、数据结构等等。本发明还可在任务由经通信网络或其它数据传输介质连接的远程处理装置执行的分布式计算环境中实践。在分布式计算环境中,程序模块和其它数据可置于包括存储器存储设备的本地和远程计算机存储介质中。
参照图1,实现本发明的示例性系统包括以计算机110形式的通用计算装置。计算机110的组件可包括,但不限于,处理单元120、系统存储器130以及把包括系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线121可能是若干总线结构类型中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用多种总线架构的任一种的本地总线。作为示例,而非限制,这些架构包括工业标准架构(ISA)总线、微信道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线和也称为Mezzanine总线的外围部件互连(PCI)总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是能被计算机110访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性介质、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化多功能光盘(DVD)或其它光学存储技术、磁盒、磁带、磁盘存储器或其它磁性存储设备、或任何其它可用于存储所需信息并可由计算机110访问的介质。通信介质通常在诸如载波或其它传输机制的已调制数据信号中体现计算机可读指令、数据结构、程序模块、或其它数据,且包括任何信息输送介质。术语“已调制数据信号”意指在信号中用对信息编码方式设置或改变其一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直线连接的有线介质,和诸如声学、射频(RF)、红外线和其它无线介质的无线介质。以上任何介质的组合也应包括在计算机可读介质的范围中。
系统存储器130包括诸如只读存储器(ROM)131和随机存取存储器(RAM)132的易失性和/或非易失性存储器形式的计算机可读介质。包含有助于如起动时在计算机110内元件间传送信息的基本例程的基本输入/输出系统(BIOS)133通常存储在ROM 131中。RAM 132通常包含可被处理单元120立即访问和/或当时正被操作的数据和/或程序模块。作为示例,而非限制,图1示出了操作系统134、应用程序135、其它程序模块136、和程序数据137。
计算机110还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。作为示例,图1图示了读取和写入不可移动、非易失性磁性介质的硬盘驱动器141,读取和写入可移动、非易失性磁盘152的磁盘驱动器151,读取和写入可移动、非易失性光盘156,诸如CD-ROM或其它光学介质的光盘驱动器155。其它也用在示例性计算环境中的可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,如磁带、闪存卡、数字化视频光盘、数字化录像带、固态RAM、固态ROM等等。硬盘驱动器141通常通过诸如接口140的不可移动存储器接口与系统总线121连接,而磁盘驱动器151和光盘驱动器155通常通过诸如接口150的可移动存储器接口与系统总线121连接。
如上所述并如图1所示的驱动器及其相关联的计算机存储介质为计算机110提供计算机可读指令、数据结构、程序模块、和其它数据的存储。在图1中,例如,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146、和程序数据147。注意这些组件可以与操作系统134、应用程序135、其它程序模块136、和程序数据137相同或不同。在此给予操作系统144、应用程序145、其它程序模块146、和程序数据147的编号不同至少说明他们是不同的副本。
用户可通过输入装置如键盘162、话筒163、诸如鼠标、跟踪球或触摸板等的定位装置161向计算机110输入命令和信息。其它输入装置(未示出)可包括游戏杆、游戏垫、卫星接收天线、扫描仪等等。这些和其它输入设备常常通过与系统总线耦合的用户输入接口160与处理单元120相连,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)的其它接口和总线结构连接。监视器191或其它类型的显示设备也可通过诸如视频接口190的接口与系统总线121相连。除显示器以外,计算机还可包括诸如扬声器197和打印机196的其它输出设备,它们通过输出外围接口195相连。
计算机110可以在使用与一台或多台远程计算机,诸如远程计算机180的逻辑连接的网络化环境中运行。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等装置或其它公共网络节点,而且通常包括上述与个人计算机110相关的许多或全部组件,尽管在图1中仅图示了存储器存储设备181。图1中所描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这样的网络化环境在办公室、企业范围计算机网络、内联网和因特网上是常见的。
当用于LAN网络化环境中时,计算机110通过网络接口或适配器170与LAN171连接。当用于WAN网络化环境中时,计算机110通常包括调制解调器172或其它用于在广域网173,诸如因特网中建立通信的装置。可以是内置式或外置式的调制解调器172与系统总线121通过用户输入接口160或其它适当机制连接。在网络化环境中,与计算机110相关的程序模块或其一部分可存储在远程存储器存储装置中。作为示例,而非限制,图1示出了驻留于远程计算机180中的远程应用程序185。应当理解,所示网络连接是示例性的,且其它用于在计算机间建立通信连接的技术也可以使用。
图2是移动装置200的框图,它是可选的示例性计算环境。移动装置200包括微处理器202、存储器204、输入/输出(I/O)组件206、以及用于与远程计算机或其它移动装置通信的通信接口208。在一实施例中,前述组件经适当总线210耦合用于彼此通信。
存储器204被实现为带有电池备用模块(未示出)的诸如随机存取存储器(RAM)的非易失性电子存储器,从而存储在存储器204中的信息在切断移动装置200的总电源时也不会丢失。存储器204的一部分最好被分配为可寻址存储器用于程序执行,而存储器204的另一部分最好用来存储以便模拟盘上的存储。
存储器204包括操作系统212、应用程序214、以及对象存储器216。在操作期间,操作系统212最好由来自存储器的处理器202执行。在一优选实施例中,操作系统212是可从微软购买的WindowsCE操作系统。操作系统212最好被设计成用于移动装置,并实现通过一组已展现的应用编程接口和方法可由应用程序214利用的数据库特征。对象存储器216中的对象至少部分地响应于对已展现应用编程接口和方法的调用而由应用程序214和操作系统212维护。
通信接口208呈现使移动装置200能收发信息的许多装置和技术。这些装置包括比如有线和无线调制解调器、卫星接收器、广播调谐器。移动装置200还可直接与计算机相连以与之交换数据。在这样的情形中,通信接口208可以是红外收发器或串行或并行的通信连接,它们都能发送流式信息。
输入/输出组件206包括各种输入装置,诸如触摸感应屏、按键、滚动轮、话筒、以及包括音频发生器、转动装置和显示器的各种输出装置。如上列出的装置作为示例,且无需都呈现在移动装置200上。此外,其它输入/输出装置可附于移动装置200或与之在一起。
现在参看图3,所示为根据本发明各实施例示出对象呈现系统300的框图。对象呈现系统300包括其中存储用于填充对象实例的数据的对象数据库305。系统300还包括包含定义对象、属性类型等的数据或信息的对象定义数据库306。对象呈现引擎310通过从数据库306查找对象呈现数据,然后用来自数据库305的数据填充对象实例来产生对象实例。
使用数据库305和306定义的对象具有与对象属性相关联的属性组。如上所述,属性组与对象属性的关联可按照属于该属性组的属性,或按照被分配给属性的属性组来描述。两种描述都是准确的。使用这些属性组,对象呈现引擎310标识要呈现的一个或多个对象的属性,并检索对应于这些属性的数据。然后对象呈现引擎310产生对象呈现315。例如,对象呈现315可以是一个或多个对象在显示装置上、打印纸张上等的可视化呈现。可视化呈现的示例包括UI、窗体、表格、电子表格、网页(仅列举一些)。基于本发明属性组的非可视化呈现也是可能的。属性组与对象相关联的方式,以及对象呈现引擎310使用属性组产生对象呈现的方式,参照图4-9在后面详细描述。
给定一个使用关联、继承、合成或定制相连的对象集,通常每个对象具有呈现简单类型(例如整数/字符串)或引用其它对象的若干属性。对于每个对象,可将组的名字分配给每个属性。在每个对象继承分层结构中,组的名字应是唯一的。对于每个对象,可将一个组标记为缺省组,指示该组属性是该对象的优选呈现。然后通过指定哪些组呈现该对象来构建用户界面。如果一个组包含是对另一对象的引用的属性,则这个对象被呈现为该其它对象的缺省组。
图4和5示出对象分层结构和引用的示例。如图4所示有三个对象,SalesDocument(销售文档)410、PackingSlip(包装条)420、以及Invoice(发票)430。PackingSlip对象420和发票对象430分别由继承分层结构412和414与SalesDocument对象410相关。换言之,PackingSlip对象420和发票对象430是SalesDocument对象410的特定化。也就是说,SalesDocument对象410是PackingSlip对象420和发票对象430的一般化。
SalesDocument对象410包括图4中411所示的5个属性或属性字段。在此示例中,SalesDocument对象410的第一和第二属性包括“ID”属性和“类型”(Type)属性。这些属性的值基于包括在这些值中的数据类型在图4中呈现。例如,ID属性被呈现为整数(Int)值,而类型属性被呈现为字符串值。填充类型属性字段的字符串值示例在本例中包括“PackingSlip”和“发票”。类型属性或属性字段的其它示例可包括“报价”、“确认”、“接收”等。
SalesDocument对象410的第三个属性-客户(Customer)属性实际上是指向另一对象的指针。SalesDocument对象410的这个属性所指向的客户对象如图5所示。Sales Document对象410的前三个属性已被分配为属性组“Main”(主要)460。
在示例实施例中,该主要属性组460是缺省属性组。可使用各种各样不同方法的任一种来指明哪个属性组是缺省属性组。如在以下要更详细描述的,通过将SalesDocument对象410的前三个属性分配给主要属性组460,与这些属性相关联的属性值信息通过包括指向主要属性组的指针可方便地一起显示,用于产生对象410的可视化呈现。
SalesDocument对象的最后两个属性或字段是都具有字符串值的“CreatedDate”(创建日期)和“语言”(Language)。由于这两个字段本质上都是管理性的,可能会想要在一个窗体或其它可视化呈现上一起见到它们。为便于此,这两个属性被包括在第二属性组-“管理”属性组470中,如图4所示。
在图4所示的示例中,有两个SalesDocument对象410的特定化-PackingSlip对象420和发票对象430。PackingSlip对象420包括一个在标号421上呈现的称为“仓库”(Warehouse)的属性,它具有一指向另一对象的指针的值。PackingSlip对象420的属性字段中所指向的仓库对象未示出,但可被用以指明要从多个仓库的哪一个发送条目或应向哪一个传送条目。在此示例中,仓库属性421被包括在管理属性组470中。
对于SalesDocument特定化的发票对象430,存在于标号431处表示的两个属性或属性字段-“Profile”(简介)属性和“NumberSequence”(序列号)属性。发票对象的这两个属性都是指向其它对象(未示出)的指针。这些属性的每一个被包括在第三属性组-“订购”(Booking)属性组480中。
再参看图5,“客户”对象450包括在标号451示出的三个属性。前两个属性,具有整数值的客户“ID”和具有字符串值的客户“名字”,都被包括在主要或缺省属性组460中。客户对象450的第三个属性称为“地址”,是对另一对象(未示出)。
的指针。客户对象450的该第三属性被包括在称为“地址”(Address)的属性组490中。
使用本发明的属性组概念,通过指定哪些属性组应当在窗体或呈现上可简单地定义或创建对象的UI或其它呈现。然后图3所示的对象呈现引擎310在数据库305中查找这些属性组的内容,包括来自属性组所分配的多个对象的属性,并显示那些字段。在某些示例性实施例中,特定属性组的属性一起在对象的可视化呈现上显示。属性组中属性的名字与呈现上的一个控件相匹配,而这些属性的值被映射到相应的值字段中。
图6是如图4所示的SalesDocument对象410的UI、窗体、或其它可视化呈现500的图示说明。通过指定主要(即SalesDocument.Main)属性组460和管理(SalesDocument.Administration)属性组470应在窗体上,为SalesDocument对象410定义该UI 500。对象呈现引擎310从数据库305中查找属性组的内容,并在UI 500上显示那些字段。当对象呈现引擎310检测到客户属性是SalesDocument对象410上主要或缺省属性组的一部分时,它转向客户对象450,查找缺省属性组(主要)460,并显示那些相应字段。
如图6所示,在UI或窗体500中,主要属性组460的名字被映射到可视化地呈现该属性组名字的控件510。类似地,来自SalesDocument对象410的在主要属性组460中的ID、类型和客户属性也分别被映射到控件511、513和515,以在UI500上可视化地显示这些属性的名字。SalesDocument对象410的主要属性组460中前两个属性的值被映射到可视化地对应于控件511和513的字段512和514。因而,SalesDocument被示为具有ID号“1548”以及类型“发票”。由于主要属性组460中SalesDocument对象410的客户属性是指向图5所示客户对象450的指针,对象呈现引擎310将该属性的名字“客户”映射到控件515,而将来自对象450的相应属性“ID”和“名字”的名字映射到控件516和518。然后来自客户对象450的哪些属性值被分别映射到值字段517和519。因而,SalesDocument对象410中所指向的客户对象由客户ID“10009”和客户名字“Alfred Futterkiste”。在某些实施例中,UI 500中对应于主要属性组460的控件(510、511、513、515、516和518)及其相应映射值(512、514、517和518)使用边界或其它可视化分界线505进行可视化地分组。
类似地,由于管理属性组470被标明为SalesDocument对象410呈现的一部分,它的属性和属性组名字被映射到UI 500中的控件530、531和533。这些属性的相应值被映射到值字段532和534。因而,可以看到SalesDocument对象410在2003年8月10日创建且语言为美国英语。再一次,如果需要,可使用边界或其它分界线506来对管理属性组470的属性名字和值进行可视化分组。注意,在此实施例中,由于来自SalesDocument对象410的“创建日期”或“语言”中没有一个包括指向另一对象的指针,就不再检索其它属性用于包括在UI 500的管理部分中了。
在本发明的某些实施例中,当使用继承时,也继承属性组。然而,更多的属性可被添加到同一属性组中。例如,参照图7,为了定义PackingSlip对象的UI、窗体或可视化呈现550,可再次指定属性Main(主要)460和Administration(管理)470。或者在其它实施例中,用以定义PackingSlip对象420的属性组可简单地从SalesDocument对象410继承,因为这两个属性组先前已被指明在可视化呈现SalesDocument对象中使用。在这些实施例中,仅指定要被显示为PackingSlip对象420的可视化呈现的一部分的任意附加属性组是必要的。在图4所示示例中,没有附加属性组与用以呈现SalesDocument对象410的附加属性组不同。
用以可视化地呈现PackingSlip对象420的UI 550与用以可视化地呈现SalesDocument对象410继承的UI 500非常相似。一个差异可在对应于映射到控件513的类型属性的值字段514中看到。在此实例中,该属性的字符串值已从“发票”改变为“PackingSlip”。UI 550和UI 500之间的另一个差异与管理属性组470的附加属性相关。由于PackingSlip对象420包括管理属性组470中的仓库属性(如图4中421所示),对象呈现引擎310也从数据库305检索此数据。因而,在UI 550中显示的管理属性组信息包括映射到控件535的该属性名字“仓库”。由于PackingSlip对象中的仓库属性是对另一对象的指针,映射到属性字段536的值“纽约”从数据库305中的这个其它对象中检索。
如上所述,定义特定对象的哪些属性组要在UI中作可视化呈现可用多种方法实现。例如,可具体地列出每个属性组用于对象呈现。或者,对象可继承用以可视化地呈现该对象一般化的属性组。此外,除了那些继承的属性组外还可列出其它属性组。例如,对于发票属性组430,还可指定除了从SalesDocument对象410中继承的那些属性组之外,“订购”属性组480也要在可视化呈现中使用。
一般属性组以及从关联和合成中拖入属性的特定缺省属性组的使用,也提供了一种大大改进的产生对象或实体的可视化和其它呈现的方法。对于要产生的每个特定的不同类型的窗体或可视化呈现(可数百甚至数千地编号),所必须的是指定要呈现特定对象的属性组。为了改变特定窗体或可视化呈现以包括其它属性组的其它属性,仅需要改变指定用于呈现该对象的属性组。此外,如果对象的属性被改变、添加或删除,使用本发明的概念就无需修改先前已创建的大量窗体或可视化呈现的每一个。对于已有属性改变、添加或删除的对象,必须重新定义属性组。因而,本发明提供了一种在按照继承、定制、以及关联当对象较复杂时便于UI的快速构建的方法和装置,还提供了一种无需再次访问呈现来自所讨论的对象的数据的每个窗体、网页、UI或其它可视化呈现就可修改对象属性的方法和装置。
图8是示出在如图3所示的数据库305和/或306的数据库中存储数据的方法的框图800。该方法使用本发明的概念使对象的呈现能被构建。如图8中805所示,该方法包括使属性组与数据库中的对象相关联。在一种表达方式中,这可被视为属性组与数据库306中的对象定义相邻地存储,而仅有的数据实例存储在305中。如上所述,与对象相关联的每个属性组包括该对象的至少一个属性。然后,如在810所示,该方法包括将属性组存储在数据库中。最后,如在815所述,该方法包括指定在呈现该对象时要使用哪些属性组。在一示例实施例中,“主要”属性组是用于呈现该对象的缺省属性组。如图8所示的该方法的其它方面参照图3-7如上所述。
图9是示出构建数据库中特定对象的呈现方法的框图900。如图9所示的方法是参照图3-7如上所述方法的实施例,且可由对象呈现引擎310实现。首先,如在905所示,该方法包括标识已被选定呈现该对象的与该对象相关联的至少一个属性组。该对象的至少一个属性组将属于与该对象相关联的每个属性组。
如在910所示,该方法还包括标识该特定对象在已标识属性组的属性中引用的任何其它对象。然后,如在915所示,该方法包括检索与属于一个或多个已标识属性组的每个属性相对应的数据。可从例如图3所示的数据库305中检索数据。最后,如在图9的920上所示,该方法包括使用被检索数据呈现对象。对象的呈现可以是相邻于属性名字以及如果需要相邻于属性所属属性组的名字(如图6和7所示)而显示被检索数据的可视化呈现。
尽管已参照特定实施例描述了本发明,本领域技术人员将理解可在形式和细节上作改变而不背离本发明的精神和范围。

Claims (23)

1.一种构建具有至少一个属性的对象呈现的方法,其特征在于,所述方法包括:
标识已被选定呈现所述对象的与所述对象相关联的至少一个属性组,所述对象的至少一个属性属于与所述对象相关联的每个属性组;
标识所述对象在已标识属性组中引用的任何其它对象;
检索与属于所述至少一个属性组的每个所述属性相对应的数据;以及
使用被检索数据呈现所述对象。
2.如权利要求1所述的方法,其特征在于,呈现所述对象的步骤还包括通过显示所述被检索数据可视化地呈现所述对象。
3.如权利要求2所述的方法,其特征在于,显示所述被检索数据的步骤还包括显示属于所述与那些属性的值相邻的至少一个属性组的各属性名字。
4.如权利要求3所述的方法,其特征在于,显示属于所述至少一个属性组的各属性名字还包括显示每个属性组的名字,所述属性组与属于该属性组的所述属性的名字以及那些属性的值相邻。
5.如权利要求1所述的方法,其特征在于,使用所述被检索数据呈现所述对象还包括使用其自己及其父对象的属性组来呈现所述对象。
6.如权利要求1所述的方法,其特征在于,至少一个对象继承分层结构在所述对象和所述其它已标识对象之间存在,且其中每个属性组对一特定对象继承分层结构是唯一的。
7.如权利要求6所述的方法,其特征在于,所述对象是一第二对象的特定化,且其中所述对象继承与所述第二对象相关联的所述属性组。
8.如权利要求6所述的方法,其特征在于,对于每个属性组,属于所述属性组的属性包括所述对象的至少一个属性以及唯一其它对象的一个或多个属性。
9.如权利要求8所述的方法,其特征在于,对于至少一个属性组,检索与属于所述属性组的每个属性相对应的数据的步骤,还包括检索与所述对象的属性相对应的以及与所述属性组相关联的所述唯一其它对象的属性相对应的数据。
10.如权利要求1所述的方法,其特征在于,标识与所述对象相关联的所述至少一个属性组还包括标识与所述对象相关联的一缺省属性组。
11.一种构建每个都具有至少一个属性的各对象的呈现的方法,其特征在于,所述方法包括:
使属性组与数据库中的对象相关联,每个与对象相关联的属性组包括所述对象的至少一个属性;
将所述属性组存储在所述数据库中;以及
对于所述数据库中多个对象的每一个,指定在呈现所述对象中要使用哪些属性组。
12.如权利要求11所述的方法,其特征在于,对象继承分层结构在所述数据库中多个对象的一些之间存在,其中所述使属性组与对象相关联的步骤还包括使属性组与对象相关联从而每个属性组对一特定对象继承分层结构是唯一的。
13.如权利要求11所述的方法,其特征在于,所述使属性组与数据库中对象相关联的步骤还包括使属性组与数据库中对象相关联从而至少一个所述属性组与两个对象相关联使得所述两个对象的属性属于所述属性组。
14.如权利要求11所述的以及用于构建具有至少一个属性的特定对象的呈现的方法,其特征在于,所述方法还包括:
标识已被选定呈现所述对象的与所述对象相关联的至少一个属性组,所述对象的至少一个属性属于与所述对象相关联的每个属性组;
标识所述对象在已标识属性组中引用的任何其它对象;
检索与属于所述至少一个属性组的每个所述属性相对应的数据;以及
使用被检索数据呈现所述对象。
15.如权利要求14所述的方法,其特征在于,呈现所述对象的步骤还包括通过显示所述被检索数据可视化地呈现所述对象。
16.如权利要求15所述的方法,其特征在于,显示所述被检索数据的步骤还包括显示属于所述与那些属性的值相邻的至少一个属性组的各属性名字。
17.如权利要求16所述的方法,其特征在于,显示属于所述至少一个属性组的各属性名字还包括显示每个属性组的名字,所述属性组与属于该属性组的所述属性的名字以及那些属性的值相邻。
18.如权利要求14所述的方法,其特征在于,至少一个对象继承分层结构在所述对象和所述其它已标识对象之间存在。
19.如权利要求18所述的方法,其特征在于,所述对象是一第二对象的特定化,且其中所述对象继承与所述第二对象相关联的所述属性组。
20.如权利要求18所述的方法,其特征在于,对于每个属性组,属于所述属性组的属性包括所述对象的至少一个属性以及唯一其它对象的一个或多个属性。
21.如权利要求20所述的方法,其特征在于,对于至少一个属性组,检索与属于所述属性组的每个属性相对应的数据的步骤,还包括检索与所述对象的属性相对应以及与所述属性组相关联的所述唯一其它对象的属性相对应的数据。
22.一种对象呈现系统被配置成实现如权利要求1-21的任一个所述的方法。
23.一种包含计算机可执行指令的计算机可读介质,其特征在于,所述指令用于实现如权利要求1-21的任一个所述的方法。
CNA2004800016748A 2004-04-12 2004-07-23 用于构建对象和实体的呈现的方法和装置 Pending CN1768319A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/822,444 2004-04-12
US10/822,444 US8225221B2 (en) 2004-04-12 2004-04-12 Method and apparatus for constructing representations of objects and entities

Publications (1)

Publication Number Publication Date
CN1768319A true CN1768319A (zh) 2006-05-03

Family

ID=35061800

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004800016748A Pending CN1768319A (zh) 2004-04-12 2004-07-23 用于构建对象和实体的呈现的方法和装置

Country Status (6)

Country Link
US (1) US8225221B2 (zh)
EP (1) EP1618463A4 (zh)
JP (1) JP4719212B2 (zh)
KR (1) KR101150121B1 (zh)
CN (1) CN1768319A (zh)
WO (1) WO2005103861A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214197A (zh) * 2010-04-01 2011-10-12 微软公司 内联数据相关和分层数据集
CN102971734A (zh) * 2010-07-07 2013-03-13 西门子产品生命周期管理软件公司 具有构造几何的数据处理系统

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827481B1 (en) * 2005-07-25 2010-11-02 Adobe Systems Incorporated Defining style values as objects
US20070220429A1 (en) * 2006-03-17 2007-09-20 Microsoft Corporation Layered customization of a help user interface
US8099664B2 (en) * 2006-03-17 2012-01-17 Microsoft Corporation Dynamic help user interface control with secured customization
US8918732B2 (en) * 2008-08-09 2014-12-23 Hewlett-Packard Development Company, L.P. Program object properties defined by object space
US9336331B2 (en) * 2010-04-26 2016-05-10 Ca, Inc. Detecting, using, and sharing it design patterns and anti-patterns
WO2013126868A1 (en) * 2012-02-23 2013-08-29 Jadhav Ajay Persistent node framework
GB201300255D0 (en) * 2013-01-08 2013-02-20 Ibm Object naming
FR3002806B1 (fr) * 2013-03-04 2015-02-20 Renault Sa Procede de gestion de donnees relatives a des vehicules automobiles en vue de la generation graphique ulterieure de schemas electriques de systemes electriques
US20160314180A1 (en) * 2015-04-27 2016-10-27 Honeywell International Inc. System of dynamic hierarchies based on a searchable entity model
US10558478B2 (en) 2016-12-15 2020-02-11 Nutanix, Inc. Specification-based computing system configuration
US11429642B2 (en) * 2017-11-01 2022-08-30 Walmart Apollo, Llc Systems and methods for dynamic hierarchical metadata storage and retrieval

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627979A (en) * 1994-07-18 1997-05-06 International Business Machines Corporation System and method for providing a graphical user interface for mapping and accessing objects in data stores
CN1266514A (zh) * 1997-08-11 2000-09-13 西加特技术有限公司 面向对象的数据存储装置
CN1318163A (zh) * 1998-07-17 2001-10-17 电子资讯系统有限公司 可选择性定义对应用程序功能部件访问的系统和方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241624A (en) 1991-10-03 1993-08-31 International Business Machines Corporation Method for determining a user selected group of data objects for the propagation of attribute values
JP3217896B2 (ja) 1993-05-17 2001-10-15 株式会社日立製作所 オブジェクト情報定義支援システム
US5615367A (en) * 1993-05-25 1997-03-25 Borland International, Inc. System and methods including automatic linking of tables for improved relational database modeling with interface
US5548749A (en) * 1993-10-29 1996-08-20 Wall Data Incorporated Semantic orbject modeling system for creating relational database schemas
ES2141456T3 (es) 1996-08-20 2000-03-16 Cit Alcatel Procedimiento de apoyo para la creacion de un objeto.
US6108664A (en) * 1997-10-31 2000-08-22 Oracle Corporation Object views for relational data
US6097382A (en) * 1998-05-12 2000-08-01 Silverstream Software, Inc. Method and apparatus for building an application interface
US6240422B1 (en) * 1998-07-29 2001-05-29 American Management Systems, Inc. Object to relational database mapping infrastructure in a customer care and billing system
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6738077B1 (en) * 2000-07-18 2004-05-18 Apple Computer, Inc. Dynamic generation and automated distribution of user interface from database model
US7475333B2 (en) * 2001-06-01 2009-01-06 Sap Ag Defining form formats with layout items that present data of business application
US7149734B2 (en) * 2001-07-06 2006-12-12 Logic Library, Inc. Managing reusable software assets
CA2357969A1 (en) * 2001-09-28 2003-03-28 Dirk Alexander Seelemann Customazation of object property layout for a user interface
US7243334B1 (en) * 2002-01-16 2007-07-10 Prelude Systems, Inc. System and method for generating user interface code
AU2003237764A1 (en) * 2002-05-16 2003-12-02 Agency For Science, Technology And Research Apparatus for discovering computing services architecture an developing patterns of computing services and method therefor
US20040085357A1 (en) * 2002-10-31 2004-05-06 Childress Allen B. Method of generating a graphical display of a business rule and associated business rule elements
US7337411B1 (en) * 2003-03-31 2008-02-26 Unisys Corporation Logistics management system having user interface with tiered data entry
US7353457B2 (en) * 2003-06-30 2008-04-01 Sap Ag Graphical access to data objects

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627979A (en) * 1994-07-18 1997-05-06 International Business Machines Corporation System and method for providing a graphical user interface for mapping and accessing objects in data stores
CN1266514A (zh) * 1997-08-11 2000-09-13 西加特技术有限公司 面向对象的数据存储装置
CN1318163A (zh) * 1998-07-17 2001-10-17 电子资讯系统有限公司 可选择性定义对应用程序功能部件访问的系统和方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102214197A (zh) * 2010-04-01 2011-10-12 微软公司 内联数据相关和分层数据集
CN102971734A (zh) * 2010-07-07 2013-03-13 西门子产品生命周期管理软件公司 具有构造几何的数据处理系统

Also Published As

Publication number Publication date
WO2005103861A1 (en) 2005-11-03
EP1618463A4 (en) 2008-03-05
EP1618463A1 (en) 2006-01-25
JP4719212B2 (ja) 2011-07-06
KR20070047675A (ko) 2007-05-07
US8225221B2 (en) 2012-07-17
KR101150121B1 (ko) 2012-07-03
US20050228826A1 (en) 2005-10-13
JP2007532997A (ja) 2007-11-15

Similar Documents

Publication Publication Date Title
EP2943859B1 (en) System, method, and computer-readable medium for managing edge devices
US20170075973A1 (en) Automatic Synthesis and Presentation of OLAP Cubes from Semantically Enriched Data Sources
US8751926B2 (en) Intelligent rendering on a mobile computing device
US7203929B1 (en) Design data validation tool for use in enterprise architecture modeling
US8731973B2 (en) Overlaying images in automated insurance policy form generation
CN1542599A (zh) 层次化数据的多方向显示和导航以及显示区消耗的优化
US8495048B2 (en) Applying user-generated deployment events to a grouping of deployable portlets
US20080104080A1 (en) Method and apparatus to access heterogeneous configuration management database repositories
US10885087B2 (en) Cognitive automation tool
CN1768319A (zh) 用于构建对象和实体的呈现的方法和装置
US20040088432A1 (en) Management of attribute data
US20060004854A1 (en) Bi-directional data mapping tool
US20120197935A1 (en) Consolidating Related Task Data in Process Management Solutions
CA2733857A1 (en) Automated insurance policy form generation and completion
CN104050161A (zh) 应用和数据服务器的动态桥接
CN116244387A (zh) 实体关系构建方法、装置、电子设备及存储介质
CN114371845A (zh) 表单生成方法及装置
CN112182138A (zh) 一种目录编制方法和装置
US20090300001A1 (en) Server apparatus, catalog processing method, and computer-readable storage medium
CN111782820A (zh) 知识图谱创建方法及装置、可读存储介质及电子设备
CN111831320A (zh) 插件管理方法、装置、电子设备及存储介质
CN111258988A (zh) 资产管理方法、装置、电子设备以及介质
CN105450501A (zh) 设置定制化回复功能的方法及装置
CN110351350B (zh) 基于多服务器对接的客户端请求处理方法、系统和电子设备
US8910183B2 (en) Access to context information in a heterogeneous application environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150729

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150729

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20060503