CN1668998A - 应用程序生成器 - Google Patents

应用程序生成器 Download PDF

Info

Publication number
CN1668998A
CN1668998A CNA038167700A CN03816770A CN1668998A CN 1668998 A CN1668998 A CN 1668998A CN A038167700 A CNA038167700 A CN A038167700A CN 03816770 A CN03816770 A CN 03816770A CN 1668998 A CN1668998 A CN 1668998A
Authority
CN
China
Prior art keywords
data
server
database
application
application program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA038167700A
Other languages
English (en)
Other versions
CN100385398C (zh
Inventor
A·库兹内特索夫
R·达维斯
H·Z·詹
M·S·丘
E·R·哈格拉维斯
S·卡辛
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.)
SYMDESK TECHNOLOGH CO
Original Assignee
SYMDESK TECHNOLOGH CO
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 SYMDESK TECHNOLOGH CO filed Critical SYMDESK TECHNOLOGH CO
Publication of CN1668998A publication Critical patent/CN1668998A/zh
Application granted granted Critical
Publication of CN100385398C publication Critical patent/CN100385398C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供了一种方法和系统,用于自定义配置、后台数据库、远程访问应用程序的创建和使用。客户端装置(60)经过网络(50)访问应用程序生成服务器(30),其提供用于所请求应用程序的配置。通过和服务器(30)的直接通信,应用程序或脚本的脱机使用,或者通过按照服务器所产生的链接,远程用户执行该应用程序,这些应用程序遵从配置信息中提供的数据类型、格式和显示特性,和/或限制。客户端装置、服务器或者其它服务器(和应用程序产生服务器连接)上的其它应用程序可以与所产生的应用程序交换数据。

Description

应用程序生成器
相关申请的引用
优先权要求共同未定的美国暂定专利申请60/291744,其申请日是2001年5月17日。
背景
本发明涉及远程可执行的计算机程序。更具体地说,本发明涉及定制的远程访问、后台数据库应用程序的创建和使用。远程可访问应用程序开发的现有系统和技术苦于在能力和简便使用方面存在局限性。因此,有必要对远程应用程序的生成和使用技术有更进一步的贡献和改善。
概述
本发明的一个目标是提供一种经改进的、用于产生和使用后台数据库应用程序的系统和方法。
这个目标及其它目标可以通过这里公开的本发明的不同形式来实现,本领域的技术人员将会想到给出的本发明。
本发明的一个形式提供了一种用于产生应用程序的、基于网络的用户界面(UI)。该应用程序配置信息保存在一个数据库中,该数据库具有应用程序本身使用的数据。生成应用程序的链接,用于程序设计者或其他用户的远程访问,而产生的应用程序配置信息被输出,使用一种脚本解释器(引擎)在各种各样的客户端平台上进行远程执行,以将配置文件转换为用户界面组件、业务规则,并且将UI组件映射到后端(服务器端)数据库字段。
附图的简短说明
附图1是根据本发明一个实施例的远程可访问应用程序的生成和使用系统的方框图。
附图2是本发明一个实施例中典型的客户端、应用程序生成器服务器和数据库服务器组件的方框图。
附图3是根据本发明的一个实施例的典型的客户端装置和应用程序生成器服务器间通信的信号映射。
附图4是描述根据本发明的一个实施例的应用程序生成器服务器操作的流程图。
附图5是用于远程使用主效率应用程序(hosted productivityapplication)以及一个或多个产生的应用程序系统的方框图。
示出实施例的描述
为了加深对本发明原理的理解,现在对在附图中示出的实施例做一些说明,并且对其使用专用语言来描述。然而,可以理解的是并不是因此而限制本发明的范围;描述或示出的实施例的任何变化和更进一步的修改,以及其中示出本发明原理的更进一步应用都是可以想到的,即这些通常都可以由与本发明有关技术领域的技术人员想到。
一般地,关于附图1-4描述的应用程序的生成和使用系统以及方法为用户提供了一个简单而有效的方法来创建后台数据库应用程序(即,那些允许一个或多个用户登录、修改、查看和删除保存在远离客户端装置数据库中的数据的应用程序)。这些应用程序能够由程序设计者以及有权访问应用程序生成器(“APPGEN”)服务器的人作为主应用程序来使用。为便于这种访问,这种系统可以产生一个统一资源定位器(URL)、超级连接或访问应用程序的这种用户使用的其它连接。在有些形式中,配置信息可以输出到一个配置文件,该配置文件可由任何各式各样的客户端装置中的脚本引擎或其它客户端软件读取,以给出用于登录数据应用程序的用户界面、执行业务规则和对输入数据验证要求,在应用程序法中产生数据的输出报告,维持同步,等等。这些形式将在下文中更详细地加以论述。
附图1示出系统20的总体框图,包括应用程序生成器服务器30、数据库服务器40、网络50,以及客户端装置,其包括工作站60a、服务器60b、手持装置60c和网络蜂窝式电话60d(这些客户端装置一般地被称为“典型的客户端”或“客户端装置”60)。在这个说明性的实施例中,任何客户端装置60可以经过网络50访问应用程序生成器服务器30。在该实施例中,这些连接不一定是恒定不变的(或者几乎是恒定不变的)。例如,经过网络蜂窝式电话技术的访问多少比陆地线路连接更昂贵,因此移动电话连接通常仅仅在需要时才提出和采取。另一方面,应用程序生成器服务器30和数据库服务器40间的连接,最好是通过一个非常可靠的媒体,如本领域所众所周知的。然而,网络50通常可以是局域网(LAN)、例如国际互联网络的广域网(WAN)、或本领域的技术人员可能想到的其它网络类型的形式。
一般而言,客户端装置60经过网络50连接到应用程序服务器30,其使用由客户端装置60的用户提供的配置信息创建一个应用程序。这些应用程序配置信息保存在数据库服务器40中待将来使用。程序设计者或客户端装置60的其它用户然后访问APPGEN服务器30中的应用程序,添加、使用和删除所需要的应用程序数据。数据库服务器40存储这些数据,以用于后来由用户控制的编辑、查看以及删除。
继续参考附图1的同时现在考虑附图2,其显示了典型客户端60、APPGEN服务器30和数据库服务器40的组成部分。在该实例中,典型的客户端60具有处理器61、一个或多个输入组件62、随机存取存储器(RAM)63、一个或多个输出组件64、只读存储器(ROM)和/或电可擦除可编程只读存储器(EEPROM)64、存储器67,以及一个或多个网络与通信组件69。应当注意,典型的客户端60可以包括超过一个处理器或CPU以及一个或多个类型的存储器,其中存储器63、65和67表示一个或者多个类型。处理器61可以包括配置为独立单元的一个或者多个组件。换句话说,多组件形式的时候,处理器61可以具有位于相对于其它组件远端的一个或多个组件。处理器61的一个或多个组件可以是包括数字电路、模拟电路或者两者结合的电子种类。在一个实施例中,处理器61是一个传统的、集成电路微处理器方案,例如由INTEL公司提供的一个或多个PENTIUMIII或PENTIUM4处理器,或由MOTOROLA公司提供的一个或多个680x0微处理器。
存储器元件63、65和67可以包括一种或多种固体电子元件存储器、磁存储器或者光存储器,仅仅举了几个例子。作为非限制实例,存储器63、65和67可以包括固体电子元件RAM、顺序可访问存储器(SAM)(例如先进先出(FIFO)类或者后进先出(LIFO)类)、可编程只读存储器(PROM)、电可编程只读存储器(EPROM),或EEPROM;光盘存储器(例如DVD或CD-ROM);磁性编码硬盘、软盘、磁带或盒式磁盘媒体;或任何这些存储器类型的结合。同样地,存储器63、65和67可以是易失的、非易失性的、或易失的和非易失性的种类的混合式结构。
一个或多个操作者输入组件62可以包括例如键盘、鼠标、跟踪球、光笔和/或扩音器,仅举几个典型的例子。同样,一个或多个输出组件64可以包括例如监视器或其它查看装置,或扩音器。一个或多个网络/通信组件69可以包括一个或多个网络接口卡(NICs)、其它卡、接口或能够通过一个或多个有线的或者无线网络提供连接的其它装置,包括本领域公知的的网络50。
在这个实施例中,APPGEN服务器30包括处理器31、RAM 33、ROM 35、存储器37和一个或多个网络/通信元件39,尽管它们可以不必包含任何具体客户端60对应部分的相同部件,但是它们分别提供对应元件61、63、65、67和69相同的功能。同样地,数据库服务器40包括处理器41、RAM43、ROM45、存储器47和一个或多个网络/通信元件49,同样其分别提供对应元件61、63、65、67和69相似的功能,然而它们可以或可以不必包含典型客户端60或APPGEN服务器30部分对应的同样的元件。
典型客户端装置60和APPGEN服务器30间发送的一系列示例性信号作为非限制实例如图3所示,并且现在继续参考附图1的组成部分加以讨论。在这个实例中,从客户端60到APPGEN服务器30的配置信息信号70表示应用程序的用户选择配置参数,该应用程序是用户希望产生的应用程序。这个信息由用户使用本领域已知的一种或多种方法输入,例如通过使用客户端应用程序或一系列HTML表格。
在这个实例中提供的用于输入配置信息的用户界面,优选的适合于创建连接的客户端装置60类型,并且优选的为用户提供几个有效选项用于数据字段的配置,所述数据字段由这些应用程序的用户所使用,以及创建用户希望允许的数据的处理。存在于这个示范性实施例中的其它配置信息包括:允许查看的用户的第一组用户名,修改,和删除这些应用程序的数据(读写访问),仅允许查看这些数据(只读访问)的用户的第二组用户名,用户界面配置(包括用户界面单元例如按钮、列表、标签和输入单元,其具有外形、特征和位置),等等。这些配置信息保存在数据库42中,其有效地创建一个具有所请求配置可用的新的应用程序。创建事件(70a)被确认,一列可用的应用程序在响应信号71上被提供。
该新的应用程序的创建者或所有者在信号72上提交一个新的认证管理功能请求。这些功能可以包括,例如编辑、修订、扩充或者删除在信号70中提供的全部或者部分配置信息。这种请求的认证可以包括或使用本领域公知的任何合适的用户和/或装置认证技术,例如基于HTTP的“基本”或“摘要”认证、基于表格的用户名/密码输入、生物测定技术,等等。如果APPGEN服务器30确定这种管理功能的执行是由授权执行这些操作(或取决于授权方案的颗粒性的“那些操作”)的用户所请求,那么它执行(72a)所请求的应用程序管理功能(因此更新数据库42),并且在信号73上向客户端提供性能和UI更新的结果。
接下来,所有者使用任何可行的技术(参见上述信号72的讨论)验证他或她自己,向服务器30发送一个注册信号74。APPGEN服务器30然后开始(74a)一个经用户会话。使用确认信号75,服务器30确认客户端装置60的服务器注册是成功的。APPGEN服务器30然后传输信号76给客户端装置60。信号76传递信息给客户端装置60,以启动通过用户使用的用户界面显示,以在应用程序的数据上执行查看、编辑、报表以及删除操作。利用这个用户界面,认证用户在信号77上向APPGEN服务器30发送新的数据。随着用户的输入,呈现在客户端装置60上的用户界面最好执行业务逻辑规则。这些规则可以包括,例如显示规则,基于向其他的字段执行给定公式显示值的用户界面字段,取决于数据字段或计算值的显示风格等等,表格登录规则(字段的大小限制,数据格式,必要条件等等),数据库更新规则以及数据验证规则。当接收到新的数据,APPGEN服务器30经过数据库服务器40更新(77a)数据库42,然后确认这种更改,经过信号78更新客户端装置60上的用户界面。
在另一个操作中,客户端装置60的用户修改现有的应用程序数据。当修改已经通过由用户界面执行的验证和更新条件,那么客户端装置60向APPGEN服务器30发送一个“经修改的数据”信号79。APPGEN服务器30再次确认修改并且因此更新(77a)数据库42。APPGEN服务器30以信号80响应,其再次更新客户端装置60上的用户界面并且确认更改。
在另一项处理中,客户端装置60的用户删除现有的应用程序数据。遵循通常的合法性和更新检验,客户端装置60发送信号81,向APPGEN服务器30请求删除来自数据库42的数据。在自身验证过程成功地完成之后,APPGEN服务器30更新(77a)数据库42并且以信号82响应,所述信号确认这种更改并且更新客户端装置60上的用户界面。只要任何合法性或更新验证失败,那么用于纠正的错误信息和/或提示,使用本领域公知的装置和方法,经过客户端装置60呈现给用户。当用户的修改完成之后,他或她退出应用程序,该事件即是通过客户端装置60向APPGEN服务器30发送退出信号83实现的。APPGEN服务器30结束(83a)这种用户会话,并且可以选择性地更新(未示出)客户端装置60上的用户界面,以反映这种会话的成功结束。
当只允许只读访问的用户组中的一个用户经过用户注册信号84访问登录APPGEN服务器30时,APPGEN服务器30开始(84a)一个用户会话,同样经过信号85确认,并且给出一个用户界面(不同于由信号76描述的用户界面),该用户界面用于经过信号86的应用程序只读使用。这种用户界面为用户提供了一个装置,用于查看(也许是有限的部分)与这个应用程序有关的数据。利用这个用户界面,客户端装置60的用户可以通过检索查询信号87提交一个查询,该查询用于检索应用程序数据所有或者选择部分的一个具体视图。与数据库服务器40连接的APPGEN服务器30检索数据库42中有关的数据,并且提供需要经过搜索结果信号88创建所请求视图的信息。当用户已经结束查询和查看这种数据时,用户退出应用程序,客户端装置60向APPGEN服务器30发送用户注销信号89,其结束(89a)这种特许用户会话。
现在结合附图2的元件,本发明的一些实施例中所执行的步骤将在附图4中加以描述。处理过程100从“开始”点101开始,并且在方框103中初始化服务器。这种初始化让服务器准备接收来自远程装置的连接,检验和一个或者多个由这种服务器使用的数据库的连接,以用于存储和检索应用程序和应用程序数据,以及执行其它初始化任务,如本领域技术人员所执行的。服务器然后等待来自远程装置的输入连接。
服务器在输入块105接收一个输入信号。在不同的示例性实施例中,这种输入信号可能采取HTTP请求、远程过程调用、异步信息送达的形式,或本领域技术人员能想到的其它信号。然后,一般地,服务器决定到达信号的类型,然后采取将在下文中描述的适当的操作和/或提供一个适当的响应。在不同的实施例中,每个输入信号可以是在处理器31执行的一个单独的线程中处理,在一个事件或轮询循环中的单个线程或使用其它本领域技术人员能想到的技术。
在判定块110,确定输入信号是否表示这样一个请求,该请求由远程装置的用户请求以验证访问该服务器的一个或多个应用程序。如果是这样的话(在判定块110中肯定的结果),服务器在方框111中正如以上所讨论的那样来验证用户。如果授权处理过程失败(在判定块113中否定的结果)服务器返回到等待输入信号(“等待状态”处理方框105),使用本领域公知的技术随意地以一个表示试图认证失败的信号作出响应。如果认证成功(在判定块113肯定的结果),则服务器在方框115开始一个新用户会话,如本领域公知的。这种处理过程一般地包括会话标识符的分配,其存储在服务器中,并且在会话期间提交来自客户端的每个请求。服务器然后在方框117响应输入信号,这是通过提供足够的信息向用户显示(经过客户端60的输出组件)一列通用的应用程序,然后返回到它的等待状态。
如果输入信号不是请求一个新的验证会话(在判定块110否定的结果),则服务器决定输入信号是否一个结束会话、或“退出”服务器的请求。如果是这样的话(在判定块120肯定的结果),那么服务器在方框125中释放用户会话有关的资源并且使会话标识符无效。然后服务器返回到它的等待状态。
如果输入信号不是结束注册会话的请求(在判定块120否定的结果),则服务器决定输入信号是否是创建一个新的应用程序的请求(判定块130)。如果是这样的话(在判定块130肯定的结果),则在方框131服务器提示用户该新的应用程序的配置信息。在输入块133服务器接收那些配置信息并且在方框135将它存储在系统数据库42中。正如以上的讨论,这些提示/接收/存储过程可以包含提供一个或多个HTML表格、反复验证以及接收附加配置信息、限制有效特性输入等等。
配置获取处理过程(方框131,133以及135)将会从用户处获得一个或多个应用程序数据库中建立字段的名称和数据类型、数据输入的字段长度以及有效性规则等等。在一些实施例中,配置信息同时(明确地或内隐地)确定用于新记录的缺省值、显示格式(当前值、日期、时间、指数记数法等等)、表示一个具体的字段是否可由用户编辑的标记、和/或在每一管理者、控制者以及用户群中的用户默认UT表格。配置信息可以包括一个或多个预先配置数据类型、自定义数据类型或二者结合的索引。它最初可以取自现有的应用程序配置的副本,或可以是从暂存区中创建。一旦配置信息已经接收并且存储,服务器就返回到它的等待状态。
如果输入信号不是产生一种新的应用程序的请求(判定块130否定的结果),则服务器决定这种输入信号是否是向现有的应用程序添加数据的请求(判定块140)。如果是(判定块140肯定的结果),服务器在方框145中确认和存储这种新建的数据、更新客户端的用户界面来反映这种数据的接收。服务器然后返回到它的等待状态。
如果输入信号不是一个添加新建数据的请求(在判定块140否定的结果),则服务器决定输入信号是否是一个为应用程序输出该配置信息的请求(判定块150)。如果是这样的话(在判定块150肯定的结果),那么服务器产生一个配置文件并且将该文件传输给客户端装置。服务器然后返回到它的等待状态。在这个实施例中,配置文件可以由客户端脚本引擎解释来给出一个用户界面,所述用户界面用于该输出的应用程序,使客户端装置的用户“执行”该应用程序而脱离服务器,包括认证、UI以及添加、删除、编辑以及查看该应用程序的数据。用户界面同时允许客户端装置的用户同步进行这种具有服务器上应用程序数据的远程修改的数据(参见下面方框175的讨论)。该配置文件可以采取数据库文件、XML(或其扩展)文件、由多用途的脚本引擎可执行的脚本的形式,或本领域技术人员可能想到的其它表格。
如果输入信号不是应用程序输出的请求(在判定块150否定的结果),那么服务器决定输入信号是否是一个产生连接到应用程序的请求(判定块160)。如果是这样的话(在判定块160肯定的结果),那么服务器产生一个连接,例如文本URL、包含URL的数据文件、建立指定连接可执行程序或其它本领域的技术人员能够想到的形式。这种连接以一种编码的或者未编码的格式可以包含指定应用程序的标识符,用于产生连接的标识符、经过连接允许使用该应用程序访问的级别或范围、用于使用该连接的认证参数(例如用户或组标识符、使用的特定口令以及可接受的认证协议)、连接上的时间限制或者使用计数限制和/或连接中的其它元素。换句话说或另外,一个或多个这些连接数据元素可以保存在数据库42中,并且由产生的连接中的数据库主键所参考。一旦该连接产生并且可用或发送给该客户端装置,那么服务器返回到它的等待状态。
如果输入信号不是产生应用程序连接的请求(判定块160否定的结果),则服务器决定这种输入信号是否是对具有存储在这种服务器中应用程序数据的远程数据(判定块170)进行同步的请求。如果是这样的话(在判定块170肯定的结果),在方框175服务器继续同步在这种远程装置具有服务器端应用程序数据的数据。同步可以使用任何适当的方法进行。当同步完成,服务器返回到它的等待状态。如果输入信号不是同步请求(在判定块170否定的结果),则服务器决定这种输入信号是否是关闭命令(判定块180)。如果不是(在判定块180否定的结果),服务器处理一个默认操作,例如返回到它的等待状态,在客户端装置显示一个错误信息(未显示),或其它本领域技术人员能够想到的操作。如果这种输入信号是一个关闭命令(在判定块180肯定的结果),则这种服务器关闭并且处理过程100在“结束”点199结束。
本发明更进一步的实施例现在结合附图5中的系统200加以讨论。客户端260访问应用程序服务器220上的主应用程序(例如,字处理或电子表格应用程序),其由本领域众所周知的应用程序服务供应商(ASP)210操作。应用程序服务器220和应用程序生成器服务器230进行通信,其也是由ASP 210操作。在这个实施例中,向所产生的应用程序的所有者和/或用户提供工具,以创建数据登记项表格,其与应用程序连接,然而经过应用程序服务器220处理的应用程序可用来添加、编辑、查看和/或删除这种产生的应用程序的原始数据(和/或它的脱机副本)。同样地,提供工具以产生来自所产生的应用程序的数据报告,其在这种主应用程序中是以直接可用的、可查看的以及可处理的形式。在主应用程序上输入和/或修改的数据可以在本地存储(在客户端上),并且后来与这种产生的应用程序数据库同步,或可以以穿越(pass-through)方式操作来实时更新这种产生的应用程序数据,同时使用这种表格做出校订。
代替附图5中示出的系统,效率应用程序和/或它们操作的文档驻留在客户端,而且包括这种到所产生应用程序数据的连接。在一些这样的实施例中,用于客户端效率应用程序的本地网络和数据库为所产生的应用程序数据平衡地提供连接。在其它这种实施例中,客户端效率应用程序被加强来访问那些数据。
虽然本发明的一些方面已经相当详细地加以论述,但是可以理解的是本领域的技术人员不经过过多实验就可以得到各种各样的修改。例如,不同的实施例可以利用一个或多个以下变化:任何适合于系统中装置的有线协议都是可以使用的,并且可以提供附加的网络和/或连接;关于数据库40(附图1和2)的数据库功能可以结合关于APPGEN服务器30描述的功能,以用于在单个计算机系统上执行,或如上所述用于那些装置的功能可以分配给几个计算装置;代理服务器可以放在网络50和APPGEN服务器30之间,根据它们的来源、内容或其它特征或条件来重新定向输入查询;负荷平衡技术可以用来在服务器端处理过程和/或通过这种系统路由信号;根据网络地址、应用程序标识符或其它数据元素,用户和/或装置标识符可以明确地或内隐地互换(正如以上的讨论);并且使用本领域公知的技术,提供从外部文件输入用户数据和/或数据库。
在另一个实施例中,输出配置文件存储在服务器上(或实时产生),然而是使用浏览器插件或者其它代理机构按要求在客户端上执行的。这种用户代理经常提供附加输入/输出和/或处理过程能力,而非天然地存在于一个给出的用户环境中,并且在本发明中起到杠杆作用来删除一些资源,其来自如上所述涉及脚本读取实施例中的客户端装置。
在另一个实施例中,数据可以在产生的应用程序之间交换。例如,参考附图5,一个“地址薄”应用程序232可以连接到APPGEN服务器230上的“产品出货”应用程序234。使用产品出货应用程序234创建的发货单和发货标签可以从地址薄应用程序232中检索当前姓名和地址信息;同样地,例如地址薄232可以给一个具体的联系人显示有关最近的发货数据。
在另一个实施例中,参考附图1,APPGEN服务器30可以给出一个″网络服务″接口由客户装置60使用,而不呈现出由用户控制。使用本领域公知的技术,通过自动化数据交换及其他网络服务方法,客户端装置可以包含应用程序间的自动化数据交换,而无需用户干涉。
所有出版物、现有的应用程序及其他这里引用的文档在此一并引用以作参考,如同每一个已经分别结合参考并完全阐明。
虽然本发明已经以附图和上述说明示出和详细描述,但是这些被认为是说明性的,而非在性质上的限制,可以理解的是仅仅示出和描述了优选的实施例,相关领域技术人员能够想到的所有变化和修改都是被希望保护的。

Claims (19)

1.一种产生计算机应用程序的方法,包括:
提供一个服务器;
在服务器端接收来自第一远程装置的第一组一个或者多个相关请求信号,所述信号共同表示产生第一后台数据库的计算机应用程序请求,该一个或多个相关请求信号包括第一应用程序配置信息;
根据第一应用程序配置信息创建和配置第一计算机应用程序;
在服务器端接收数据提交信号,该数据提交信号表示向第一计算机应用程序添加第一个数据的请求;并且
根据数据提交信号向第一计算机应用程序添加第一个数据。
2.权利要求1的方法,其中:
所述创建和配置包括在第一数据库中存储至少部分所述第一应用程序配置信息;并且
所述添加包括在所述第一数据库中存储所述第一个数据。
3.权利要求1的方法,进一步的包括:
在服务器端接收来自第二远程装置的第二组一个或多个相关请求信号,所述相关请求信号共同表示产生第二后台数据库计算机应用程序请求,该一个或多个相关请求信号包括第二应用程序配置信息;
根据第二应用程序配置信息创建和配置第二计算机应用程序;
在服务器端接收数据提交信号,该数据提交信号表示向第二计算机应用程序添加第二数据的请求;并且
根据这种数据提交信号向第二计算机应用程序添加第二个数据。
4.权利要求1的方法:
其中所述配置信息进一步包括每一个大量用户群的访问信息,并且
进一步的包括根据这种访问信息限制大量用户群中至少一个用户访问第一计算机应用程序。
5.一种系统,包括:
包括一个或多个表格的数据库,每一个表格具有零个或多个记录,包含第一应用程序的配置信息,在所述一个或多个表格中其包括第一组一个或者多个记录;和
所述一个或多个表格中第二应用程序配置信息包括第二组一个或多个记录;和
应用程序产生装置,用于为选择的应用程序从所述数据库中的一个或多个记录中读取具体的配置信息,以及用于根据这种具体的配置信息给出一种用户界面,其中所述用户界面执行至少一个显示数据,所述显示数据与所述选择的应用程序有关,并且
接收与所述选择的应用程序有关的存储器中的新的数据。
6.权利要求3的系统,进一步包括一个应用程序管理装置,用于为一个或多个验证用户提供修改所述具体的配置信息的能力。
7.权利要求6的系统,其中:
第一用户群被验证以管理所述第一应用程序,
第二用户群被验证以管理所述第二应用程序,并且
所述第一用户群和第二用户群是不同的。
8.权利要求7的系统,其中所述第一用户群包括单个用户。
9.权利要求3的系统,进一步包括用于将至少一部分所述具体的配置信息输出到一种文件的装置。
10.一种系统,包括:
第一计算机,经过一个用户界面提供到至少一种字处理应用程序和一种电子表格应用程序的访问;以及
连接到数据库的第二计算机;
其中所述界面包括能处理所述数据库中数据的数据表单。
11.权利要求10的系统,其中所述第一计算机是所述第二计算机。
12.权利要求10的系统,其中所述访问是只读的。
13.权利要求10的系统,其中所述访问是读写的。
14.一种系统,包括:
与数据库连接的服务器,所述数据库具有至少一个表格,其具有至少两个字段;
与所述服务器连接的处理器;
和所述处理器连接的存储介质,并编码有所述处理器执行的程序指令以:
提供一个用户界面;
通过所述用户界面接收用户输入数据;
在所述用户输入数据上执行业务规则;
定义至少第一部分所述用户输入数据和所述至少两个字段之间的关系;
其中配置文件包括所述处理器可用的信息,其根据所述程序指令来定义所述用户界面、所述业务规则和所述关系。
15.权利要求14的系统,其中所述配置文件由所述服务器创建。
16.权利要求14的系统,其中至少第二部分所述用户输入数据保存在所述处理器本地的非易失性存储器中,而所述处理器没有与所述数据库连接。
17.权利要求16的系统,其中所述第二部分所述用户输入数据与所述数据库所述至少两个字段中的数据同步。
18.权利要求14的系统,其中所述数据库共享所述服务器的存储器和处理资源。
19.权利要求14的系统,其中所述数据库使用不能被所述服务器访问的存储器和处理资源。
CNB038167700A 2002-05-17 2003-05-13 应用程序生成器 Expired - Fee Related CN100385398C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/147,833 US6832366B2 (en) 2001-05-17 2002-05-17 Application generator
US10/147,833 2002-05-17

Publications (2)

Publication Number Publication Date
CN1668998A true CN1668998A (zh) 2005-09-14
CN100385398C CN100385398C (zh) 2008-04-30

Family

ID=29582022

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB038167700A Expired - Fee Related CN100385398C (zh) 2002-05-17 2003-05-13 应用程序生成器

Country Status (12)

Country Link
US (1) US6832366B2 (zh)
EP (1) EP1506476A4 (zh)
JP (1) JP2005526334A (zh)
KR (1) KR100972306B1 (zh)
CN (1) CN100385398C (zh)
AU (1) AU2003229051A1 (zh)
BR (1) BR0310093A (zh)
CA (1) CA2486185A1 (zh)
EA (1) EA007778B1 (zh)
HK (1) HK1083253A1 (zh)
MX (1) MXPA04011432A (zh)
WO (1) WO2003100609A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968296A (zh) * 2011-10-25 2013-03-13 微软公司 在没有web托管知识的情况下使用基于云的无摩擦数据库来创建web应用
CN104363285A (zh) * 2014-11-18 2015-02-18 东方网力科技股份有限公司 一种网络通信程序生成方法及装置
CN108572833A (zh) * 2012-06-19 2018-09-25 谷歌有限责任公司 自动应用更新

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005854B2 (en) * 2003-03-14 2011-08-23 Sybase, Inc. System with methodology for executing relational operations over relational data and data retrieved from SOAP operations
WO2004086222A2 (en) * 2003-03-26 2004-10-07 Bizplus Limited Development of software systems
US8352588B2 (en) * 2003-07-09 2013-01-08 Hewlett-Packard Development Company, L.P. Systems and methods for collecting data regarding network service operation
US7197712B2 (en) 2003-11-18 2007-03-27 Essex Radez Llc Server visualization and control
US7415267B2 (en) * 2003-12-15 2008-08-19 Jp Morgan Chase Bank Methods and systems for managing call reports for the financial services industry
GB0404657D0 (en) * 2004-03-02 2004-04-07 Koninkl Philips Electronics Nv Hierarchical broadcast of UI assets
US7743012B2 (en) * 2004-09-08 2010-06-22 Universal Electronics Inc. Configurable controlling device and associated configuration upload and download system and method
US11687217B2 (en) 2004-09-08 2023-06-27 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US9632665B2 (en) 2004-09-08 2017-04-25 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US7941786B2 (en) * 2004-09-08 2011-05-10 Universal Electronics Inc. Configurable controlling device and associated configuration distribution system and method
US20060089147A1 (en) * 2004-10-21 2006-04-27 Beaty Robert M Mobile network infrastructure for applications, personalized user interfaces, and services
US20060106789A1 (en) * 2004-11-16 2006-05-18 Unival, Inc. System and method for collecting data from data sources using data collection tools
US7519622B2 (en) * 2004-11-16 2009-04-14 Unival, Inc. System and method for collecting data from data sources using data collection tools
US20060230399A1 (en) * 2005-04-12 2006-10-12 International Business Machines Corporation Remote scriptlet execution
US7930363B2 (en) 2005-10-12 2011-04-19 Powerreviews, Inc. Application service provider delivery system
US20070106631A1 (en) * 2005-11-10 2007-05-10 Bruce Wobbe Database server discovery using a configuration file
DE202005020364U1 (de) * 2005-12-29 2006-02-23 Csb-System Ag Anordnung zur Nutzung von ERP-Systemen auf vorzugsweise mobilen Endgeräten
CN101102259A (zh) * 2006-07-05 2008-01-09 鸿富锦精密工业(深圳)有限公司 网络访问控制系统及方法
US20080127162A1 (en) * 2006-11-29 2008-05-29 Sap Ag Method and apparatus for configuring application software
JP5396821B2 (ja) * 2008-11-05 2014-01-22 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
JP5525541B2 (ja) 2008-12-02 2014-06-18 アビニシオ テクノロジー エルエルシー データ管理システム内のデータセットのインスタンスのマッピング
EP2583225A4 (en) * 2010-06-21 2014-03-05 Hewlett Packard Development Co SYSTEM FOR TESTING AND CERTIFYING A VIRTUAL DEVICE ON A CLIENT COMPUTER SYSTEM
CA2814835C (en) 2010-10-25 2019-01-08 Ab Initio Technology Llc Managing data set objects in a dataflow graph that represents a computer program
US20130066975A1 (en) * 2011-09-08 2013-03-14 Microsoft Corporation Group Opt-In Links
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US9195438B2 (en) * 2012-12-19 2015-11-24 Salesforce.Com, Inc. System, method and computer program product for creating an application within a system
US9015328B2 (en) 2013-03-07 2015-04-21 Fiserv, Inc. Single sign-on processing for associated mobile applications
US9641498B2 (en) * 2013-03-07 2017-05-02 Fiserv, Inc. Single sign-on processing for associated mobile applications
US10250579B2 (en) * 2013-08-13 2019-04-02 Alcatel Lucent Secure file transfers within network-based storage
US10320757B1 (en) * 2014-06-06 2019-06-11 Amazon Technologies, Inc. Bounded access to critical data
EP3191962B1 (en) 2014-07-18 2019-12-11 AB Initio Technology LLC Managing parameter sets
US9626393B2 (en) * 2014-09-10 2017-04-18 Ab Initio Technology Llc Conditional validation rules
CN104202331B (zh) * 2014-09-15 2018-01-02 北京奇虎科技有限公司 客户端功能的生成方法和装置
US11227591B1 (en) 2019-06-04 2022-01-18 Amazon Technologies, Inc. Controlled access to data

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601095B1 (en) * 1991-04-18 2003-07-29 International Business Machines Corporation Method and apparatus for remote administration of programmable workstations in a data processing system
US6026366A (en) * 1993-09-22 2000-02-15 Motorola, Inc. Method for providing software to a remote computer
US5940074A (en) * 1996-06-03 1999-08-17 Webtv Networks, Inc. Remote upgrade of software over a network
CN1225186A (zh) * 1996-12-18 1999-08-04 亚历山大S·奥伦斯坦 用于从远程站访问应用服务程序的安全系统
JP3241634B2 (ja) * 1997-05-28 2001-12-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 電子メールを利用した情報処理方法及び情報処理装置、情報処理装置を制御するプログラムを格納した記憶媒体
US6256635B1 (en) * 1998-05-08 2001-07-03 Apple Computer, Inc. Method and apparatus for configuring a computer using scripting
US6421671B1 (en) * 1999-04-30 2002-07-16 Dell Products L.P. Method and system for automated distribution of software
US20020032768A1 (en) * 2000-04-10 2002-03-14 Voskuil Erik K. Method and system for configuring remotely located applications
EP1330724B1 (en) * 2000-09-15 2018-11-14 Schneider Electric Software, LLC An industrial process control data access server supporting multiple client data exchange protocols
KR20020036908A (ko) * 2000-11-11 2002-05-17 김상용 서버/클라이언트간 애플리케이션 공유방법 및 시스템
US7040987B2 (en) * 2001-04-11 2006-05-09 Walker Digital, Llc Method and apparatus for remotely customizing a gaming device

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102968296A (zh) * 2011-10-25 2013-03-13 微软公司 在没有web托管知识的情况下使用基于云的无摩擦数据库来创建web应用
CN102968296B (zh) * 2011-10-25 2016-04-27 微软技术许可有限责任公司 使用基于云的无摩擦数据库来创建web应用的方法及系统
CN108572833A (zh) * 2012-06-19 2018-09-25 谷歌有限责任公司 自动应用更新
CN108572833B (zh) * 2012-06-19 2021-11-02 谷歌有限责任公司 自动应用更新
CN104363285A (zh) * 2014-11-18 2015-02-18 东方网力科技股份有限公司 一种网络通信程序生成方法及装置
CN104363285B (zh) * 2014-11-18 2018-04-10 东方网力科技股份有限公司 一种网络通信程序生成方法及装置

Also Published As

Publication number Publication date
US6832366B2 (en) 2004-12-14
US20020194314A1 (en) 2002-12-19
CN100385398C (zh) 2008-04-30
BR0310093A (pt) 2007-03-20
JP2005526334A (ja) 2005-09-02
HK1083253A1 (en) 2006-06-30
MXPA04011432A (es) 2005-02-17
KR100972306B1 (ko) 2010-07-26
EA007778B1 (ru) 2007-02-27
CA2486185A1 (en) 2003-12-04
KR20040111638A (ko) 2004-12-31
WO2003100609A1 (en) 2003-12-04
EA200401513A1 (ru) 2006-02-24
EP1506476A1 (en) 2005-02-16
AU2003229051A1 (en) 2003-12-12
EP1506476A4 (en) 2006-08-30

Similar Documents

Publication Publication Date Title
CN100385398C (zh) 应用程序生成器
US9578027B1 (en) Multiple data store authentication
CA2566900C (en) Remote access system and method and intelligent agent therefor
US7200806B2 (en) System and method for generating pre-populated forms
JP2004538574A (ja) 文書バージョン管理が可能なワークフローシステム及びこれを用いた文書バージョン管理方法
KR19980063503A (ko) 월드 와이드 웹 상에서 소프트웨어 애플리케이션과 컴퓨터간에 통신하기 위한 컴퓨터 장치 및 방법
US7540416B2 (en) Smart card authentication system with multiple card and server support
WO2003041003A1 (en) Method and apparatus for work management for facility maintenance
US6950934B2 (en) Method for managing certificate revocation list by distributing it
CN110515827A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN110909013A (zh) 业务清单生成方法、装置、设备及计算机可读存储介质
CN111654542A (zh) 代理服务器、执行服务器、接收设备以及任务执行方法
US20050049883A1 (en) Facilitating the design specification and ordering from a manufacturer of a particular display product
US7254542B2 (en) Portal data passing through non-persistent browser cookies
CN1472911A (zh) 无线设备同步系统及方法
US6957347B2 (en) Physical device placement assistant
US20060242653A1 (en) Request-response handling system for web-based applications
US20050039009A1 (en) Web management system and method based on authentication
US6941178B2 (en) Remote programming of serialized semiconductor devices using web or internet protocols
KR20220068077A (ko) 제작 비용이 경제적이며 수정이 용이한 홈페이지 제작시스템
MXPA05005647A (es) Validando una transaccion electronica.
JP2002312427A (ja) 情報処理装置、ネットワークシステム、情報処理方法、及び記憶媒体
WO2003010623A2 (en) Remote online consulting system
AU2002363475A1 (en) Method and apparatus for work management for facility maintenance
JP2008287642A (ja) ソフトウェアの入出力情報及び保持情報の検証システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1083253

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1083253

Country of ref document: HK

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

Granted publication date: 20080430

Termination date: 20100513