CN100580667C - 利用表单类型生成表单的方法和装置 - Google Patents

利用表单类型生成表单的方法和装置 Download PDF

Info

Publication number
CN100580667C
CN100580667C CN200510071283A CN200510071283A CN100580667C CN 100580667 C CN100580667 C CN 100580667C CN 200510071283 A CN200510071283 A CN 200510071283A CN 200510071283 A CN200510071283 A CN 200510071283A CN 100580667 C CN100580667 C CN 100580667C
Authority
CN
China
Prior art keywords
list
logic
different
form types
data model
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.)
Expired - Fee Related
Application number
CN200510071283A
Other languages
English (en)
Other versions
CN1704937A (zh
Inventor
F·克里斯蒂安森
J·莫勒-彼泽森
P·本德森
P·斯洛斯
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 CN1704937A publication Critical patent/CN1704937A/zh
Application granted granted Critical
Publication of CN100580667C publication Critical patent/CN100580667C/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
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47GHOUSEHOLD OR TABLE EQUIPMENT
    • A47G9/00Bed-covers; Counterpanes; Travelling rugs; Sleeping rugs; Sleeping bags; Pillows
    • A47G9/10Pillows
    • A47G9/1036Pillows with cooling or heating means
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47CCHAIRS; SOFAS; BEDS
    • A47C27/00Spring, stuffed or fluid mattresses or cushions specially adapted for chairs, beds or sofas
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47GHOUSEHOLD OR TABLE EQUIPMENT
    • A47G9/00Bed-covers; Counterpanes; Travelling rugs; Sleeping rugs; Sleeping bags; Pillows
    • A47G9/007Bed-covers; Counterpanes; Travelling rugs; Sleeping rugs; Sleeping bags; Pillows comprising deodorising, fragrance releasing, therapeutic or disinfecting substances
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61FFILTERS IMPLANTABLE INTO BLOOD VESSELS; PROSTHESES; DEVICES PROVIDING PATENCY TO, OR PREVENTING COLLAPSING OF, TUBULAR STRUCTURES OF THE BODY, e.g. STENTS; ORTHOPAEDIC, NURSING OR CONTRACEPTIVE DEVICES; FOMENTATION; TREATMENT OR PROTECTION OF EYES OR EARS; BANDAGES, DRESSINGS OR ABSORBENT PADS; FIRST-AID KITS
    • A61F5/00Orthopaedic methods or devices for non-surgical treatment of bones or joints; Nursing devices; Anti-rape devices
    • A61F5/56Devices for preventing snoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Otolaryngology (AREA)
  • Pulmonology (AREA)
  • Human Computer Interaction (AREA)
  • Biomedical Technology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Animal Behavior & Ethology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Vascular Medicine (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Nursing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)

Abstract

提供了生成表示数据模型的模型驱动表单用户界面的方法、计算机可读介质和系统。利用该方法,为生成表示诸如商业模型等数据模型的表单用户界面,作出选择以识别多个不同逻辑表单类型中的哪一个将被用于生成表示该数据模型的表单用户界面。随后,利用该数据模型和所选的逻辑表单类型在运行时生成逻辑表单。

Description

利用表单类型生成表单的方法和装置
相关申请的参照
在此参考以下共同提交且共同转让的待决专利申请:2004年6月3日提交的美国申请第10/860,306号,题为“METHOD AND APPARATUS FORGENERATING USER INTERFACES BASED UPON AUTOMATION WITHFULL FLEXIBILITY(基于具有全灵活性的自动化生成用户界面的方法和装置)”,和2003年6月3日提交的美国申请第10/860,225号,题为“METHOD ANDAPPARATUS FOR MAPPING A DATA MODEL TO A USER INTERFACEMODEL(将数据模型映射到用户界面模型的方法和装置)”,此两者申请整体引用在此作为参考。
技术领域
本发明涉及表单的生成。更为具体的是,本发明涉及生成和更新表单用户界面(UI)的方法和装置。
背景技术
在典型的商业软件产品和应用程序中,如企业资源计划(ERP)产品,使用了大量的表单或表单用户界面。表单是一个用于查看和/或输入数据的窗口、对话框、页面或另一UI单元。结合商业软件应用程序使用的表单数量超过数千并非是不常见的。开发大量的表单通常对于软件开发者而言是一个劳动密集型的任务。
通常,在生成某些商业或其它类型软件应用程序所需的大量表单时,软件开发者必须分别并略为独立地创建每一个表单。为了实现表单之间某种程度的独立性,开发者必须经常遵守指示表单的总体布局的某些类型的标准。这些表单的标准被实现为“最佳实施”或优选实现。尽管软件开发人员能够依赖于确定一个特定表单的外观应该如何的指导的最佳实施,然而即使有最佳实施,开发者在很大程度上仍彼此独立地面对创建多个不同表单中的每一个的劳动密集型任务。
软件开发者和消费者或用户都面临的另一个困难涉及在需要时更新表单的劳动密集型任务。通常,若表单基于特定的商业模型,则对商业模型的改变需要开发者单独改变关联于商业模型的表单。此外,若大量的表单与同一商业模型相对应,则对该商业模型的改变需要每一个对应的表单也被更新。同样地,在大量表单的布局或内容需要改变的任何时刻,大量表单的每一个都被独立地修订。因此,这些困难使创建大量表单对软件开发者而言成为了劳动密集型任务,且同样地使软件应用程序的消费者或用户自己很难对商业模型及其表单进行改变。
本发明提供了对一个或多个上述问题的解决方案,和/或提供了优于现有技术的其它优越性。
发明内容
提供了生成表示数据模型或问题域模型的模型驱动表单用户界面的方法、计算机可读介质和系统。利用该方法,为生成表示诸如商业模型等数据模型的表单用户界面,作出选择以识别多个不同逻辑表单类型中的哪一个将用于生成表示数据模型的表单用户界面。随后,在运行时利用该数据模型和所选的逻辑表单类型生成逻辑表单。随后在运行时也利用生成的逻辑表单再现表单用户界面,以使在运行时对数据模型起作用。
在某些实施例中,选择多个不同逻辑表单类型中的哪一个用于生成表单用户界面还包括选择多个不同逻辑表单类型模型中的哪一个用于生成用户界面。随后,在运行时生成逻辑表单包括在运行时利用所选逻辑表单类型和来自该数据模型的元数据两者生成逻辑表单。
在某些实施例中,多个不同逻辑表单类型中的每一个都具有一个定义了要包含在生成的逻辑表单中的数据模型数据的关联方案。不同逻辑表单类型的方案表示从多个表单中捕捉的模式。在这些实施例中,在运行时生成逻辑表单还包括利用关联方案生成逻辑表单。
通过阅读以下详细描述并观察相关附图,可以清楚特征化本发明的实施例的其它特征和益处。
附图说明
图1是能在其中使用本发明的示例性环境的框图。
图2是可在其中实现本发明的通用移动计算环境的框图。
图3是使用本发明的表单类型以生成逻辑表单和物理表单的示意图。
图4是图3中所示的表单类型的使用的示意图,其还进一步示出了表单类型与逻辑表单和物理表单的生成之间的关系。
图5是示出根据本发明的实施例利用表单类型生成表单的方法的流程图。
图6是示出图5中所示的方法的一个更具体实施例的流程图。
图7是示出图5中所示的方法的一个更具体实施例的流程图。
图8是根据本发明的实施例利用表单类型生成表单的系统或装置。
具体实施方式
图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。基本输入/输出系统133(BIOS),包含有助于如在启动期间在计算机110内部的元件之间传输信息的基本例程,通常被存储在ROM 131中。RAM 132通常包括可由处理单元120立即访问和/或当前由其进行操作的数据和/或程序模块。作为示例而非限制,图1示出了操作系统134、应用程序135、其它程序模块136、以及程序数据137。特定应用程序组被称为商业应用程序。它们针对公司的管理,包括但不限于,处理总帐、产品清单、薪水、顾客、销售、采购、财务报表以及其它商业相关数据。
计算机110还可包含其它可移动/不可移动、易失/非易失性计算机存储介质。仅作为示例,图1举例说明了从不可移动,非易失磁性介质中读取或向其中写入的硬盘驱动器141、从可移动,非易失磁盘152中读取或向其中写入的磁盘驱动器151、以及从诸如CD-ROM或其它光学介质的可移动,非易失光盘156中读取或向其中写入的光盘驱动器155。其它可在示例操作环境中使用的可移动/不可移动、易失/非易失计算机存储介质包括,但不限于,盒式磁带、闪存卡、数字多功能盘、数字视频磁带、固态RAM、固态ROM等等。硬盘驱动器141通常通过诸如接口140等不可移动存储器接口连接到系统总线121,而磁盘驱动器151通过诸如接口150等可移动存储器接口连接到系统总线121。
以上在图1中讨论并阐明的驱动器及其相关的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,硬盘驱动器141被示出为存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件既可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与其不同。操作系统144、应用程序145、其它程序模块146和程序数据147在此被指定了不同的标号以说明至少它们是不同的副本。
用户可以通过输入设备,如键盘162、麦克风163、和诸如鼠标、跟踪球或触摸板等定位设备161向计算机110输入命令和信息。其它输入设备(未示出)可包括操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的用户界面160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。输入设备用于创建、修改和删除数据。输入设备也可以用于控制(启动和停止)应用程序和其中的特定功能。这些功能包括打开(显示)表单以及关闭表单。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至总线121。除了监视器之外,计算机可以包括其它外围输出设备,如扬声器192和打印机196,它们可通过外围输出接口195连接。监视器或其它显示设备用于显示(再现)表单。
计算机110可在使用到诸如远程计算机180等一个或多个远程计算机的逻辑连接的网络化环境中运行。远程计算机180可以是个人计算机、手提式设备、服务器、路由器、网络PC、对等设备或其它公共网络节点,并通常包括与计算机110相关的许多或所有上述元件。图1中叙述的逻辑连接包括局域网(LAN)171以及广域网(WAN)173,但是也可包括其它网络。此类网络环境常见于办公室、企业范围的计算机网络、内联网和因特网。
当用于LAN网络环境时,计算机110通过网络接口和适配器170连接到LAN171。当用于WAN网络环境时,计算机110通常包括调制解调器172和其它装置,用于通过诸如因特网等WAN 173建立通信。调制解调器172可以是内置的或外置的,可通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,相对于计算机110描述的程序模块或其部分可存储在远程存储器设备中。作为示例而非限制,图1示出了远程应用程序185驻留在远程计算机180上。可以理解,所示的网络连接是示例性的,且可以使用在计算机之间建立通信链路的其它装置。
图2是移动设备200的框图,它是另一个示例性计算机环境。移动设备200包括微处理器202、存储器204、输入/输出(I/O)组件206和用于与远程计算机和其它移动设备通信的通信接口208。在一个实施例中,前面所述的组件被耦合在一起,以通过适当的总线210彼此通信。
存储器204被实现为诸如带有备电模块(未示出)的随机存取存储器(RAM)等非易失性电子存储器,以使当移动设备200的总电源被关闭时,存储在存储器204中的信息不会丢失。存储器204的一部分较佳地被分配为用于程序执行的可寻址存储器,而存储器204的另一部分较佳地用于存储,如模拟磁盘驱动器上的存储。
存储器204包括操作系统212、应用程序214以及对象存储216。在运行期间,操作系统212较佳地由处理器202从存储器204中执行。在一个优选实施例中,操作系统212是市场上可购买的来自微软公司
Figure C20051007128300111
CE品牌的操作系统。操作系统212较佳地为移动设备而设计,并实现可由应用程序214通过一组揭示的应用程序接口和方法来使用的数据库特征。对象存储216中的对象由应用214和操作系统212至少部分地响应于对所揭示的应用程序接口和方法的调用来维护。
通信接口208表示允许移动设备200发送并接收信息的多个设备和技术。该设备包括,举几个例子,有线和无线调制解调器、卫星接收器和广播协调器。移动设备200也可直接连接到计算机以与之交换数据。在此情况下,通信接口208可以是红外收发器或串行或并行的通信连接,它们都能够传输流信息。
输入/输出组件206包括各种输入设备,如触敏屏、按钮、滚轮和麦克风,并包括各种输出设备,包括音频发生器、振动设备和显示器。以上列出的设备是作为示例,无需都在移动设备200上存在。此外,其它输入/输出设备可以附在移动设备200上或与其一起建立。
表单类型
本发明利用逻辑表单和逻辑表单类型的概念提供了构建商业和其它应用程序的表单用户界面(表单)的新方法。尽管在本发明的示例性实施例或实现中使用了逻辑表单和逻辑表单类型,但是在所有的实施例中不需要逻辑层的使用。因此,本发明大体上适用于利用表单类型创建表单。当今的商业应用程序常包括大量的表单,它们一般被分成几种类别或遵循类似的模式。调查显示,在微软商业解决方案Axapta中发现的1800个表单可分成仅有的7类。
本发明的表单类型可以是用于帮助生成表单用户界面的模型,它通过在设计时和运行时保存商业或数据模型并在其上作用来支持模型驱动用户界面的概念。它为软件开发者提供了高级抽象。此外,根据本发明的表单类型的使用确保了重复使用(一个布局可以被使用多次)更为同类的一组表单用户界面,因为所有的表单都分成几种不同的类型,且表单更易于维护(类型的布局可以无需更改表单而被更改,且在某些情况下可以应用不同的类型而无需更改表单)。应该注意,在某些实施例中,某些表单类型可以是不兼容的,并且改变表单类型需要表单的重编译或完全重建。本发明确保了应用程序开发者可跨多个显示目标重复使用用户界面模型,同时保留对应用程序的外观和感觉以及应用程序中的导航如何在每个显示目标上发生的全部控制。显示目标的示例包括当前和未来操作系统的多个类型中的每一个,也包括许多可用的和未来移动设备中的每一个。作为另一个示例,特定操作系统上每一个再现技术也可以是显示目标。
利用本发明的概念,逻辑表单包括显示目标无关的逻辑控制,它使逻辑表单与显示目标本身无关。逻辑表单涉及定义了逻辑表单必须遵照的类型的逻辑表单类型。逻辑表单所参考的逻辑表单类型涉及可以从多种不同逻辑表单类型中选择,以快速建立逻辑表单的外观和内容。在本发明的实施例中,逻辑表单类型是当结合了商业或其它数据模型时,能导致逻辑表单的生成的模型。
在某些实施例中,逻辑表单类型揭示了表单必须符合的方案(它描述了表单的结构,它能包含的元素等等)、(由应用开发者自动或手动)将商业模型映射到逻辑模型并由此映射到物理模型的映象(或规则)。在另一个实施例中(没有使用方案),表单类型本身是定义了表单能扩展的某一结构的表单。表单类型还可包括影响逻辑表单及其内容的动态行为的用户界面逻辑(代码)。此外,表单类型可引用显示目标信息或包含显示目标专用的元数据。因此,表单类型揭示了样式和布局信息,以及对显示目标专用的其它类型的信息。尽管如此,由于它们还为本逻辑表单及其表单内容指定了规则,因此它们起到了更为巨大的作用。本发明的表单类型的某些方面介绍如下:
不同表单类型
正如所述的,在本发明的一个典型使用中,提供了多种不同的表单类型,以供应用程序开发者在创建表单时使用。例如,在一个示例实施例中,表单类型包括Dialog(对话框)表单类型、Card(卡片)或CardView(查看卡片)表单类型、ListView(查看列表)表单类型、EntityOverview实体概述表单类型和ActivityCenter(活动中心)表单类型。这些表单类型与一个示例中在商业应用程序中使用的典型的不同类别的表单相对应。因此,提供多种表单类型允许应用程序开发者构建组成现有技术的商业应用程序的所有表单。正如本领域的技术人员能理解的,这些特定的表单类型仅仅是一个示例,本发明并不限于任何特定表单类型和任何特定数量的表单类型。
表单类型布局
每一个表单类型的布局信息的内容和结构都可不同。此外,布局信息可以是显示目标专用的。例如,ActivityCenter表单类型的布局信息可以支持由HTML(即,万维网或因特网)显示目标用于在特定操作系统平台上显示表单的主题(Theme)/外壳(Skin)/样式(Style)以及主页面(Master Pages)。这给予了商业开发者在不同显示目标上创新以及按需调整表单用户界面的自由。在以仅一个显示目标为目标,且若因此逻辑层被忽略的特定情况下,表单类型和表单类型布局可以是相同的。
可插入和可扩展
表单类型提供了充分的灵活性和扩展性,如独立软件开发商(ISV)能修改或扩展它们并创建新的表单类型,由此改变整个应用程序的外观和感觉。表单类型还可定义在给定显示目标上使用哪些物理控制。例如,表单类型允许用第三方网格控制替代标准网格(若第三方网格满足定义明确的合约/接口)。使用的控制能在映象中定义(它可以在表单类型之间有所不同)——且因此它们是后绑定的(latebound)——因此控制能被替换,而无需重新编译——即,在使用之后。
现在参考图3和4,示出了利用根据本发明的示例实施例的Card表单类型创建的销售定单逻辑表单的示意图表。在该示例中,销售定单逻辑表单包含被组合成3个不同逻辑控制组的一组逻辑控制。正如以下将进一步描述的,Card表单类型定义了控制在物理表单上以及在不同显示目标上将如何出现以及在哪里出现,以及哪个物理控制用于再现。图3和图4示出了相同信息,其中图4包含示出逻辑表单类型和逻辑表单之间信息的关系和起源,以及从逻辑表单中生成物理表单的箭头。
图3和图4示意性地示出了利用表单类型300生成表单示例305。在核心客户机310上,该客户机是显示目标无关的表单引擎,表单实例305是逻辑表单306(表示为表单的概念模型),而表单类型300是逻辑表单类型301。在显示目标320上,表单305是利用逻辑表单306,且最终从逻辑表单类型301创建的再现表单370。再现表单370是一个特定实现,但可以完成许多其它实现和再现。再现表单370也可被认为是物理表单。
表单类型300中包含的两个部分包括定义在使用表单类型的特定表单中必须包含什么的方案330,和包含指定在特定显示目标上应如何再现或绘制表单的布局331。表单类型还包括从逻辑到物理控件的映射,它在某些实施例中也可被认为是布局331的一部分。表单类型还包括确定UI元素(控件等等)之间的相互关系的逻辑。该逻辑是显示目标无关的,因此方案还包括“分离的代码(code-behind)”。通过拥有可由表单类型使用的不同的布局,利用表单类型创建的表单可适合于不同显示目标(例如,蜂窝电话显示屏、个人数字助理显示屏、个人计算机监视器等等)。采用表示在多种表单中使用的所捕捉的模式的表单类型300,多种表单实例305可利用表单类型300来生成。
对于该示例,考虑开发者可仔细检查来为销售定单实体或对象模型(即,商业或数据模型)创建表单的过程。首先,该开发者可查看以便发现他或她必须选择何种类型的表单。选择“Card”表单类型,如在图3和图4的325处所示,调用或指定Card方案330,如同图4中通过箭头记号326所表示。
当开发者指定特定表单类型以及关联方案时,他或她在某些实施例中选择在表单中包含由方案规定的信息或字段,并用来自用户的商业或其它模型的元数据填充字段值。在某些实施例中,表单类型可包括用于在表单之间导航的模式——该表单类型定义了(给定类型的)另一表单是如何被打开的——例如,在其自己的窗口中或替换内容区域。例如,通过选择Card表单类型301(以及关联Card方案330),逻辑表单306包括与方案330中定义的内容区域335对应的内容区域336。与内容区域335对应的内容区域336的起源在图4中由箭头记号337表示。类似的,由于Card表单类型的方案330包括UI部件区域340、相关实体UI部件区域345和行动区域350,因此逻辑表单306同样如在341、346和351处所示的包括这些区域和字段。再一次,这些字段的起源由箭头342、347和352图解表示。
如上所述,每个表单类型也包含规定使用何种控制以在特定显示目标上再现的布局331。如在图3和图4中图解表示的,卡片表单类型的布局包括控件,其促使显示目标320包括内容区域339、UI部件区域344、相关实体UI部件区域349和行动区域354。箭头338、343、348和353示出了这些区域在卡片布局中与在Card方案中其对应区域的相关性。利用所选逻辑表单类型和来自数据模型(在本示例中为销售定单实体)的元数据生成的逻辑表单306被再现为显示目标320上的物理表单370。该过程在图4中用箭头361和362示出。
现在参照图5,所示为示出生成表示如上参照图3和图4描述的数据模型的模型驱动表单用户界面的方法的流程图500。在步骤505处,示出该方法包含选择多种不同逻辑表单类型的哪一种用于生成表示数据模型的表单用户界面。在以上提供的示例中,为此目的选择Card和CardView表单类型。随后在步骤510处,该方法包括在运行时利用数据模型和所选的逻辑表单类型生成逻辑表单。通过在运行时生成逻辑表单,数据模型被保留(即,在运行时对其起作用),且对数据模型的任何改变将在逻辑表单和再现的物理表单中被反映。由于在某些实施例中,表单类型可以被认为是逻辑表单类型模型,因此步骤510可被认为包括在运行时利用所选的逻辑表单类型模型和来自数据模型的元数据生成逻辑表单。
如上所述,多种不同逻辑表单类型中的每一个都具有定义要包括在所生成的逻辑表单中的来自数据模型的数据的关联方案。因此,在运行时生成逻辑表单的步骤510包括利用示例性实施例中的关联方案生成逻辑表单。由于每个不同逻辑表单类型的方案表示从大量表单中捕捉的模式,因此少数表单类型可用于生成非常大量的表单。同样,由于每个逻辑表单类型具有对特定显示目标专用的至少一个定义的布局,因此在运行时生成物理表单的步骤包含利用至少一个定义的布局生成物理表单。在另一个实施例中,每个逻辑表单类型可包括对应于多种不同显示目标的多种不同布局,以便于生成用于不同显示目标的大量表单。
在本发明的某些实施例中,在此揭示的方法生成表示单个数据模型的多种不同表单用户界面。例如,考虑在图6所示的流程图600中所举例说明的方法步骤。此处,示出该方法进一步包含选择多种不同逻辑表单类型用于生成表示数据模型的多种不同表单用户界面的步骤605。然后,如同步骤610所示,该方法包括在运行时生成多种不同逻辑表单,每一个不同逻辑表单是利用数据模型和所选逻辑表单类型之中不同的一个来生成。依照本发明的一个方面,由于数据模型在运行时被作用,这允许了在多个生成的表单中自动实现对数据模型的更改。尽管更变数据模型一次,但是在运行时自动影响多个表单相较于传统的更为劳动密集型的生成表单方法在效率上提供了显著的提高。
在又一实施例中,本发明的方法用于生成表示多种不同数据模型的多种不同模型驱动类型用户界面。例如,考虑在图7中所示的流程图700中举例说明的方法步骤。在步骤705,该方法的这一更具体的实施例包括选择多种不同逻辑表单类型中的哪一种用于生成表示数据模型的多种不同表单用户界面。然后,在步骤710,示出该方法包括在运行时生成多种不同逻辑表单,多种不同类型逻辑表单的每一个是利用多种不同数据模型之一和所选的逻辑表单类型来生成的。因此,单个表单类型可用于为大量数据模型中的每一个生成逻辑表单。由于多种不同表单用户界面在运行时利用生成的逻辑表单而被再现,因此,数据模型仍在运行时被作用。由于效率的提高,多种不同表单用户界面的每一个都可通过一次改变一个所选逻辑表单类型而被改变。
现在参考图8,所示为用于生成表示数据模型的模型驱动表单用户界面的系统800的框图。正如图8所示,系统800包括处理/控制组件810,以及用于存储与数据模型815(例如以实体和对象形式的商业模型)的元数据或用于存储表单类型825和关联方案830和布局835的数据存储820和840。开发者输入805可以是,但不限于,选择用于生成逻辑表单845的表单类型和数据模型的任何输入。例如,参照图1和图2所述的任一输入设备可用于提供此类输入。示例输入行动可包括从列表和其它地方选择使用何种表单类型。开发者输入也可包括诸如将数据模型的可视表示拖拽到所选表单类型的可视表示上以规定生成的逻辑表单应包括何种字段类型的输入行动。也可以使用许多其它开发者输入。
逻辑表单类型也可由第三方使用,以在运行时定制表单类型,其不必被认为要选择数据模型和表单类型。因此,开发者输入不必限制于“设计时”。此外,本发明的方法不限于需要开发者输入的实施例。在其它实施例中,表单类型可被个性化——允许终端用户一次改变多种表单。
选择了表单类型825以及关联方案830和布局835之后,连同特定数据模型一起,处理/控制组件810被配置成如上所述地生成逻辑表单845。随后,再现引擎850生成物理表单855和对应的显示目标860。
尽管本发明是参照特定实施例来描述的,但是本领域的技术人员可以意识到,可以在形式和细节上进行改变而不脱离本发明的精神和范围。

Claims (23)

1.一种生成表示数据模型的模型驱动表单用户界面的方法,其特征在于,所述方法包括:
选择多个不同逻辑表单类型中的哪一种用于生成表示数据模型的表单用户界面;
利用所述数据模型和所选的逻辑表单类型生成逻辑表单,其中所述逻辑表单是与显示目标无关的表单的概念模型;以及
利用所生成的逻辑表单再现所述表单用户界面,其中再现所述表单用户界面还包括在运行时利用所生成的逻辑表单再现物理表单,以使所述数据模型在运行时被作用。
2.如权利要求1所述的方法,其特征在于,所述数据模型是商业模型。
3.如权利要求1所述的方法,其特征在于,生成所述表单还包括在运行时用来自所述数据模型的数据填充所生成的表单。
4.如权利要求1所述的方法,其特征在于,选择多个不同逻辑表单类型中的哪一个用于生成所述表单用户界面还包括选择多个不同逻辑表单类型模型中的哪一个用于生成所述表单用户界面,且其中生成所述逻辑表单还包括利用所选的逻辑表单类型模型和来自所述数据模型的元数据两者来生成所述逻辑表单。
5.如权利要求1所述的方法,其特征在于,所述多个不同逻辑表单类型中的每一个都具有一定义要包括在所生成的逻辑表单中的来自所述数据模型的数据的关联方案,且其中,生成所述逻辑表单还包括利用所述关联方案生成所述逻辑表单。
6.如权利要求5所述的方法,其特征在于,所述多个不同逻辑表单类型中的每一个的方案都表示从多个表单中捕捉的模式。
7.如权利要求5所述的方法,其特征在于,所述多个不同逻辑表单类型中的每一个具有至少一个定义的布局,所述方法还包括利用所述至少一个定义的布局来生成物理表单。
8.如权利要求1所述的方法,其特征在于,所述方法生成表示数据模型的多个不同模型驱动表单用户界面,所述方法还包括:
选择多个不同逻辑表单类型中的多个逻辑表单类型用于生成表示所述数据模型的所述多个不同表单用户界面;以及
生成多个不同逻辑表单,其中,所述多个不同逻辑表单的每一个是利用所述数据模型和所述多个不同逻辑表单类型中所选的多个逻辑表单类型中不同的一个来生成的。
9.如权利要求8所述的方法,其特征在于,还包括在运行时利用所述多个生成的逻辑表单中对应的几个再现所述多个不同表单用户界面,以使所述数据模型在运行时被作用。
10.如权利要求9所述的方法,其特征在于,还包括通过一次改变所述数据模型来改变所述多个不同表单用户界面中的每一个。
11.如权利要求1所述的方法,其特征在于,所述方法生成表示多个数据模型的多个不同模型驱动表单用户界面,所述方法还包括:
选择所述多个不同逻辑表单类型中的哪一个用于生成表示所述多个数据模型的所述多个不同表单用户界面;以及
生成多个不同的逻辑表单,其中,所述多个不同逻辑表单的每一个都是利用所述多个数据模型中的一个和所选的逻辑表单类型来生成的。
12.如权利要求11所述的方法,其特征在于,还包括在运行时利用所述多个生成的逻辑表单再现所述多个不同表单用户界面,以使所述多个数据模型在运行时被作用。
13.如权利要求12所述的方法,其特征在于,还包括通过一次改变所选的逻辑表单类型来改变所述多个不同表单用户界面中的每一个。
14.一种生成表示数据模型的模型驱动表单用户界面的设备,其特征在于,所述设备包括:
选择多个不同逻辑表单类型中的哪一个用于生成表示数据模型的表单用户界面的装置;
利用所述数据模型和所选的逻辑表单类型生成逻辑表单的装置,其中所述逻辑表单是与显示目标无关的表单的概念模型;以及
利用所生成的逻辑表单再现所述表单用户界面的装置,其中再现所述表单用户界面的装置还包括在运行时利用所生成的逻辑表单再现物理表单,以使所述数据模型在运行时被作用的装置。
15.如权利要求14所述的设备,其特征在于,所述数据模型是商业模型。
16.如权利要求14所述的设备,其特征在于,选择多个不同逻辑表单类型中的哪一个用于生成所述表单用户界面的装置还包括,选择所述多个不同逻辑表单类型模型中的哪一个用于生成所述表单用户界面的装置,且其中,生成所述逻辑表单的装置还包括,利用所选的逻辑表单类型模型和来自所述数据模型的元数据两者生成所述逻辑表单的装置。
17.如权利要求14所述的设备,其特征在于,所述多个不同逻辑表单类型的每一个都具有一定义要包括在所生成的逻辑表单中的来自所述数据模型的数据的关联方案,且其中,生成所述逻辑表单的装置还包括利用所述关联方案生成所述逻辑表单的装置。
18.如权利要求17所述的设备,其特征在于,所述多个不同逻辑表单类型的每一个的方案表示从多个表单中捕捉的模式。
19.如权利要求17所述的设备,其特征在于,所述多个不同逻辑表单类型的每一个具有至少一个定义的布局,所述设备还包括利用所述至少一个定义的布局来生成物理表单的装置。
20.如权利要求14所述的设备,其特征在于,所述设备生成表示所述数据模型的多个不同模型驱动表单用户界面,所述设备还包括:
选择所述多个不同逻辑表单类型中的多个逻辑表单类型用于生成表示所述数据模型的多个不同表单用户界面的装置;以及
生成多个不同逻辑表单的装置,其中,所述多个不同逻辑表单的每一个都是利用所述数据模型和所述多个不同逻辑表单类型中所选的多个逻辑表单类型中不同的一个来生成的。
21.如权利要求20所述的设备,其特征在于,还包括在运行时利用所述多个生成的逻辑表单中对应的几个再现所述多个不同表单用户界面以使所述数据模型在运行时被作用的装置。
22.如权利要求14所述的设备,其特征在于,所述设备生成表示多个数据模型的多个不同模型驱动表单用户界面,所述设备还包括:
选择所述多个不同逻辑表单类型中的哪一个用于生成表示所述多个数据模型的所述多个不同表单用户界面的装置;以及
生成多个不同逻辑表单的装置,其中,所述多个不同逻辑表单的每一个都是利用所述多个数据模型中的一个和所选的逻辑表单类型来生成的。
23.如权利要求22所述的设备,其特征在于,还包括在运行时利用所述多个生成的逻辑表单再现所述多个不同表单用户界面以使所述多个数据模型在运行时被作用的装置。
CN200510071283A 2004-06-03 2005-05-12 利用表单类型生成表单的方法和装置 Expired - Fee Related CN100580667C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/860,226 2004-06-03
US10/860,226 US7665014B2 (en) 2004-06-03 2004-06-03 Method and apparatus for generating forms using form types

Publications (2)

Publication Number Publication Date
CN1704937A CN1704937A (zh) 2005-12-07
CN100580667C true CN100580667C (zh) 2010-01-13

Family

ID=34940046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200510071283A Expired - Fee Related CN100580667C (zh) 2004-06-03 2005-05-12 利用表单类型生成表单的方法和装置

Country Status (5)

Country Link
US (1) US7665014B2 (zh)
EP (1) EP1603033A3 (zh)
JP (1) JP4812337B2 (zh)
KR (1) KR101130525B1 (zh)
CN (1) CN100580667C (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026522A1 (en) * 2004-07-27 2006-02-02 Microsoft Corporation Method and apparatus for revising data models and maps by example
US20070156977A1 (en) * 2005-12-29 2007-07-05 Ritter Gerd M Automatic location data determination in an electronic document
US7730412B2 (en) * 2006-06-30 2010-06-01 Sap Ag System and method for model-based user interface using transformation nodes
US8683315B2 (en) * 2006-11-06 2014-03-25 Eci Software, Inc. System and method for creating integrated web form and database applications
US8484663B2 (en) * 2007-04-27 2013-07-09 Microsoft Corporation Method of deriving web service interfaces from form and table metadata
US8543903B2 (en) * 2008-01-14 2013-09-24 International Business Machines Corporation System and method of integrating a plurality of form related workflow tools
US8209355B2 (en) * 2008-07-28 2012-06-26 Microsoft Corporation Automatic user interface generation for entity interaction
US20110035655A1 (en) * 2009-08-04 2011-02-10 Sap Ag Generating Forms Using One or More Transformation Rules
CN101706720B (zh) * 2009-11-23 2013-07-24 浪潮集团山东通用软件有限公司 一种运行时根据用户自定义信息进行界面展示方法
US20110185294A1 (en) * 2010-01-22 2011-07-28 Microsoft Corporation Pattern-based user interfaces
EP2531965A4 (en) * 2010-02-05 2015-01-07 Medversant Technologies Llc SYSTEM AND METHOD FOR HOMOLOGOUS REFERENCING IN AN ONLINE COMPUTER SYSTEM
EP2513785B1 (en) 2010-06-03 2017-06-14 International Business Machines Corporation Method and system of adapting a data model to a user interface component
CN101847099A (zh) * 2010-06-08 2010-09-29 用友软件股份有限公司 个性化配置应用功能的方法和装置
CN102789382B (zh) * 2012-06-28 2015-09-23 用友软件股份有限公司 用于表单生成和运行的系统及方法
US9223760B2 (en) 2012-07-13 2015-12-29 International Business Machines Corporation Method of encapsulating diverse user interface components while consistently enforcing external constraints
US20140149470A1 (en) * 2012-11-27 2014-05-29 Sandeep Rawal Systems and methods for storing and populating forms
US10296562B2 (en) 2013-02-12 2019-05-21 Oath Inc. Dynamic generation of mobile web experience
EP2767901B1 (en) 2013-02-19 2020-05-20 Quadient Group AG Generating interactive electronic documents
US9626163B2 (en) * 2013-04-26 2017-04-18 Limited Liability Company “1C” Method for automated application interface change
CN103713901B (zh) * 2013-12-24 2018-01-12 金蝶软件(中国)有限公司 单据的展示方法和系统
US9736032B2 (en) 2014-05-30 2017-08-15 Microsoft Technology Licensing, Llc Pattern-based validation, constraint and generation of hierarchical metadata
RU2015116133A (ru) * 2015-04-29 2016-11-20 Общество с ограниченной ответственностью "1С" Способ автоматизированного генерирования интерфейса приложения
KR101916802B1 (ko) * 2017-08-17 2019-01-25 (주) 더존비즈온 블록 ui를 이용한 양식 생성 장치 및 방법
CN110442340B (zh) * 2019-07-04 2023-10-10 湖南善禧文化股份有限公司 基于数据处理的表单生成方法、装置和计算机设备
CN114047855B (zh) * 2021-11-18 2023-11-07 北京字跳网络技术有限公司 一种表单编辑方法、装置及终端设备

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649190A (en) * 1994-06-14 1997-07-15 Harris Corporation Multi-model database system for dynamic creation and maintenance of complex objects in a real time environment
US6076051A (en) * 1997-03-07 2000-06-13 Microsoft Corporation Information retrieval utilizing semantic representation of text
US5999948A (en) * 1997-09-03 1999-12-07 3Com Corporation Dynamic configuration forms in network management software
US6012098A (en) * 1998-02-23 2000-01-04 International Business Machines Corp. Servlet pairing for isolation of the retrieval and rendering of data
EP1402429A4 (en) * 1999-03-02 2004-03-31 Quixtar Investments Inc ELECTRONIC COMMERCIAL TRANSACTIONS WITHIN A MARKETING SYSTEM THAT CAN OFFER THE MEMBERS OPPORTUNITIES
US6429882B1 (en) * 1999-03-15 2002-08-06 Sun Microsystems, Inc. User interface component
US6456740B1 (en) * 1999-07-26 2002-09-24 International Business Machines Corporation System and method for identifying form type in a handwriting recognition based form completion system
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6704743B1 (en) * 1999-09-13 2004-03-09 Copernus, Inc. Selective inheritance of object parameters in object-oriented computer environment
US20030221162A1 (en) * 2000-03-20 2003-11-27 Sridhar Mandayam Andampillai Meta-templates in website development and methods therefor
US6580440B1 (en) * 2000-04-05 2003-06-17 Ncr Corporation System and method for automatically creating and updating a graphical user interface
US6968500B2 (en) * 2000-04-05 2005-11-22 Dmitry Mikhailov Automatic forms handling system
WO2001088661A2 (en) * 2000-05-16 2001-11-22 U.S. Army Medical Research And Material Command System and method for providing access to forms and maintaining the data used to complete the forms
WO2002001157A1 (en) * 2000-06-23 2002-01-03 Sportvision, Inc. Locating an object using gps with additional data
US20020083068A1 (en) * 2000-10-30 2002-06-27 Quass Dallan W. Method and apparatus for filling out electronic forms
AU2002239620A1 (en) * 2000-11-06 2002-05-27 Terry Bernard Young Electronic markets business interchange system and metheo
US7194743B2 (en) * 2000-12-12 2007-03-20 Citrix Systems, Inc. Methods and apparatus for communicating changes between a user interface and an executing application using property paths
US20020091732A1 (en) * 2000-12-29 2002-07-11 Pedro Justin E. Displaying forms and content in a browser
US7194683B2 (en) * 2001-03-02 2007-03-20 International Business Machines Corporation Representing and managing dynamic data content for web documents
US20030131142A1 (en) * 2001-03-14 2003-07-10 Horvitz Eric J. Schema-based information preference settings
US20040205525A1 (en) * 2001-04-30 2004-10-14 Murren Brian T. Automatic identification of form contents
US20030025732A1 (en) * 2001-07-31 2003-02-06 Prichard Scot D. Method and apparatus for providing customizable graphical user interface and screen layout
US20030135825A1 (en) * 2001-12-05 2003-07-17 Matthew Gertner Dynamically generated mark-up based graphical user interfaced with an extensible application framework with links to enterprise resources
US7171615B2 (en) * 2002-03-26 2007-01-30 Aatrix Software, Inc. Method and apparatus for creating and filing forms
US20040039990A1 (en) * 2002-03-30 2004-02-26 Xorbix Technologies, Inc. Automated form and data analysis tool
US20030221165A1 (en) * 2002-05-22 2003-11-27 Microsoft Corporation System and method for metadata-driven user interface
US7032170B2 (en) * 2002-06-03 2006-04-18 General Electric Company Creating data structures from a form file and creating a web page in conjunction with corresponding data structures
US20040027378A1 (en) * 2002-08-06 2004-02-12 Hays Grace L. Creation of user interfaces for multiple devices
US7200806B2 (en) * 2002-10-25 2007-04-03 Ubs Ag System and method for generating pre-populated forms
US20050005259A1 (en) * 2003-03-14 2005-01-06 Infowave Software, Inc. System and method for communication and mapping of business objects between mobile client devices and a plurality of backend systems
US7194106B2 (en) * 2003-04-03 2007-03-20 Digimarc Corporation Creating electronic forms through digital watermarking
US20040237030A1 (en) * 2003-05-19 2004-11-25 Malkin Wayne Allan System and method of implementing calculation fields in an electronic form
US8504380B2 (en) * 2003-06-05 2013-08-06 Medidata Solutions, Inc. Assistance for clinical trial protocols
WO2004112301A2 (en) * 2003-06-11 2004-12-23 Wtviii, Inc. Mark up language authoring system
US7698176B2 (en) * 2003-07-28 2010-04-13 At&T Intellectual Property I, L.P. Method, system, and computer-readable medium for updating inventory data in an inventory management system
JP4089655B2 (ja) * 2003-09-16 2008-05-28 セイコーエプソン株式会社 レイアウトシステムおよびレイアウトプログラム、並びにレイアウト方法
US7933762B2 (en) * 2004-04-16 2011-04-26 Fortelligent, Inc. Predictive model generation
US7424485B2 (en) * 2004-06-03 2008-09-09 Microsoft Corporation Method and apparatus for generating user interfaces based upon automation with full flexibility
US20060026522A1 (en) * 2004-07-27 2006-02-02 Microsoft Corporation Method and apparatus for revising data models and maps by example
US7584416B2 (en) * 2006-02-21 2009-09-01 Microsoft Corporation Logical representation of a user interface form

Also Published As

Publication number Publication date
US7665014B2 (en) 2010-02-16
EP1603033A3 (en) 2007-12-12
JP4812337B2 (ja) 2011-11-09
JP2005346722A (ja) 2005-12-15
US20060036634A1 (en) 2006-02-16
KR101130525B1 (ko) 2012-03-28
KR20060047321A (ko) 2006-05-18
CN1704937A (zh) 2005-12-07
EP1603033A2 (en) 2005-12-07

Similar Documents

Publication Publication Date Title
CN100580667C (zh) 利用表单类型生成表单的方法和装置
KR101219875B1 (ko) 메타데이터 구동 비즈니스 로직 프로세싱을 위한 방법 및장치
CN1704900B (zh) 基于具有完全灵活性的自动化生成用户界面的方法和装置
CN102754072B (zh) 规定用户界面元素
US9665841B2 (en) Cross-platform application framework
CN100426223C (zh) 从多个文件中构建软件产品的方法
US7398524B2 (en) Apparatus and method for subtractive installation
JP5809328B2 (ja) ウィジェットフレームワーク、リアルタイムサービス統合およびリアルタイムリソース集約
US20050066304A1 (en) Custom and customizable components, such as for workflow applications
US7793268B2 (en) Method, system, and program product for composing a virtualized computing environment
CN104798036A (zh) 使用声明性模板来标记出控件的用户界面控件框架
Allan Learning iOS Programming: From Xcode to App Store
Annuzzi et al. Advanced Android application development
US20080183537A1 (en) Approach to comprehensive requirements specifications for complex workflows
Keogh et al. OOP demystified
Biswas et al. Assessment of mobile experience engine, the development toolkit for context aware mobile applications
JP2009521043A (ja) 減算インストレーション装置及び方法
CN110796744A (zh) 一种三维在线组装方法
Likness Building Windows 8 Apps with C# and XAML
Ferracchiati et al. Windows Phone Recipes: A Problem Solution Approach
Powers et al. Visual Basic programmer's guide to the. NET Framework class library
Bakir et al. The Internet of Things with Swi for iOS

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

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

Effective date of registration: 20150505

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100113

CF01 Termination of patent right due to non-payment of annual fee