CN102215252A - 用于实现瘦客户机的四层体系结构 - Google Patents
用于实现瘦客户机的四层体系结构 Download PDFInfo
- Publication number
- CN102215252A CN102215252A CN2011100961132A CN201110096113A CN102215252A CN 102215252 A CN102215252 A CN 102215252A CN 2011100961132 A CN2011100961132 A CN 2011100961132A CN 201110096113 A CN201110096113 A CN 201110096113A CN 102215252 A CN102215252 A CN 102215252A
- Authority
- CN
- China
- Prior art keywords
- client
- logical
- behalf
- thin client
- acting
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/08—Protocols specially adapted for terminal emulation, e.g. Telnet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/289—Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2895—Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
Abstract
提供了一种用于使基于逻辑客户机的3层应用程序能支持4层体系结构中的瘦客户机的申请结构。可使用驻留在所述瘦客户机中的代理逻辑客户机来扩展驻留在web服务器中的逻辑客户机。代理逻辑客户机包括用于逻辑形式和控件的瘦代理,使得它们能够运行在瘦客户机上并便于瘦客户机和3层体系结构中的应用程序的无缝交互。
Description
技术领域
本发明涉及计算机体系结构,尤其涉及用于实现瘦客户机的四层计算机体系结构。
背景技术
随着增强型通信网络和计算设备的迅速发展,用于客户机/服务器通信的web服务变得更为流行。Web服务可以位于企业的服务器中,或位于线上(托管提供)并由客户机为各种操作访问。文档共享、搜索、分析、报告、数据挖掘仅仅是web服务的一些示例。Web服务的日益流行带来了瘦客户机的发展,类似于在浏览器或移动客户应用程序中的带有丰富的用户接口(UI)的丰富互联网应用程序。
瘦客户机是严重依赖于另一个计算机(或服务器)以完成其传统计算职责的计算机程序。这与传统的胖客户机相反,传统的胖客户机是设计成由其自身执行这些职责的计算机程序(或设备)。瘦客户机设置中的服务器会承担多种职责,包括但不限于,提供数据持续性、信息处理、通信便利化、以及类似功能。
胖客户机体系结构通常包括客户机自身、应用程序服务器、以及对被处理数据进行管理的数据库服务器。因为胖客户机应用程序是最新的,使用3层胖客户机体系结构来设计基于web的系统的大部分。因此,在瘦客户机和其服务器之间(诸如,web服务器)的共享职责提出了将这种相对新的发展集成入传统系统的挑战。
发明内容
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在排他性地标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
实施例针对用于使基于逻辑客户机的3层应用程序能够支持4层体系结构的瘦客户机的应用程序结构。根据一些实施例,逻辑客户机可用驻留在瘦客户机中的代理逻辑客户机来扩展。代理逻辑客户机可包括用于逻辑形式和控件的逻辑代理,使得它们能够运行在瘦客户机上并便于瘦客户机和3层体系结构中的应用程序的无缝交互。
上述和其他特征和优点将通过阅读下述描述并参考所结合的附图而变得显而易见。可以理解到,前述概略描述和后续的详细描述均是示例性的,并且不限制所要求的范围。
附图说明
图1是对用于联网计算操作的3层和4层体系结构的比较的示意图;
图2示出可驻留在web服务器中的逻辑客户机结构;
图3示出根据各个实施例作为web服务器的逻辑客户机的扩展而可驻留在瘦客户机之中的代理逻辑客户机结构;
图4示出根据多个实施例的系统的示例性组件之间的交互;
图5示出根据一个实施例的用于胖客户机的示例性编程模型以及用于瘦客户机的对应示例性模型;
图6示出用于4层瘦客户机体系结构的示例性实施平台;
图7是其中可实现根据各实施例的系统的联网环境;
图8是其中可实现各实施例的示例计算操作环境的框图;以及
图9示出根据各个实施例的用于实现瘦客户机的4层体系结构的过程的逻辑流程图。
具体实施方式
如之前所简略描述的,通过当逻辑客户机运行在web服务器(体系结构的第3层)上时使用运行在瘦客户机(体系结构的第4层)上的代理逻辑客户机来扩展该逻辑客户机,从而可将胖客户机3层体系结构(其中客户机是围绕一逻辑客户机而构建的)扩展为4层瘦客户机体系结构。可以通过用于逻辑形式和控件的代理逻辑客户机的瘦代理来促进与3层结构内的应用程序的交互。在以下详细描述中,参考了构成了详细描述的一部分并作为说明示出了各具体实施方式或示例的附图。可组合些方面,可利用其他方面,并且可以做出结构上的改变而不背离本发明的精神或范围。因此,以下具体实施方式并不旨在限制,并且本发明的范围由所附权利要求及其等效方案来限定。
虽然在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了各实施方式,但是本领域技术人员会认识到各方面也可以结合其他程序模块实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,如本领域技术人员理解的,各实施例可以用其他计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子产品、小型计算机、大型计算机以及类似计算设备。各实施方式还能在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
各实施例可被实现为计算机实现的过程(方法)、计算系统、或者如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码包括用于使得计算机或计算系统执行示例过程的指令的计算机程序的计算机存储介质。例如,计算机可读存储介质可经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或紧致盘和类似介质中的一个或多个来实现。
在本说明书之中,术语“平台”可以是用于管理计算机和网络操作的软件和硬件组件的组合,其可包括瘦客户机。平台的示例包括但不限于,在多个服务器上执行的托管服务、在单个服务器上执行的应用程序以及类似系统。术语“服务器”一般指通常在联网环境中执行一个或多个软件程序的计算设备。然而,服务器还可被实现为视作网络上的服务器的、在一个或多个计算设备上执行的虚拟服务器(软件程序)。关于这些技术和示例操作的更多细节在以下提供。
图1是对用于联网计算操作的3层和四4体系结构进行比较的示意图。瘦客户机是更宽泛的计算机基础结构的组件,其中许多客户机与同一服务器共享它们的计算。因此,瘦客户机基础结构可以被视为跨越多个用户接口的计算服务的表示。瘦客户机的一个示例是低端计算机终端,其向终端用户提供图形用户接口,而由服务器提供诸如操作系统的剩余功能。
瘦客户机的其它示例包括浏览器应用程序、移动客户机应用程序、以及类似物中的web应用程序。瘦客户机通常不被设计为在3层体系结构上运行,3层体系结构诸如由华盛顿州雷德蒙的微软公司制作的框架。图100示出3层结构,包括胖客户机(层3)102、应用程序服务器(层2)104、以及数据库服务器(层1)106。胖客户机102至少具有通过网络到应用程序服务器104的间歇连接,并通常以在没有该连接的情况下执行许多功能的能力为特点。将由胖客户机102和应用程序服务器104的协同操作所处理的数据可以通过数据库服务器106从数据存储器(诸如,数据库、数据块、或其他任何数据存储设施)检索,或被存储在数据存储器之中。
相对于胖客户机102,瘦客户机112是4层结构的层4,并通常执行尽可能少的处理,在诸如每次输入数据需要被处理或被验证时依靠对网络的访问。在4层体系结构中,瘦客户机112通过web服务器(层3)114访问应用程序服务器(层2)116的资源。因此,在4层体系结构中瘦客户机112和web服务器114执行胖客户机的操作和任务。要被处理的数据仍然可由应用程序服务器116通过数据库服务器(层1)118从数据源检索,或存储在数据源之中。例如,瘦客户机112可包括使用户能使用基于web的文字处理服务的浏览器应用程序。文字处理服务本身可由应用程序服务器116来执行和管理,并通过瘦客户机112和web服务器14的交互来访问。
图2示出可驻留在web服务器中的逻辑客户机体系结构200。根据各个实施例的系统包括驻留在体系结构的第3层的web服务器中的逻辑客户机体系结构200。体系结构的逻辑客户机226可以在设计时间期间被创建,并描述或建模数据结构如何被变换供瘦客户机使用。逻辑客户机体系结构200可基于多个不同的应用程序中的数据结构而被建模,并被用于在多个不同的显示目标(诸如,显示目标222、224)上呈现用户接口(UI)的特定实施方式。应用程序可包括商业应用程序,诸如存储不同类型数据的ERP系统和CRM系统。
不同类型的显示目标222、224可被配置为捕捉由逻辑客户机226生成的逻辑内容,并将其逻辑内容呈现为UI形式。例如,如果显示目标是互联网浏览器,该互联网浏览器可捕捉逻辑客户机226的内容,并将这些内容呈现为web形式。在一些情况中,不同类型的显示目标可显示被包括在逻辑客户机中的逻辑内容的仅仅一个子集。除了对形式和控件的逻辑表示,逻辑客户机226可处理数据绑定和变更传播。逻辑客户机226通常独立于显示目标222和224。
图3在示意图300中示出根据各个实施例可驻留在瘦客户机中作为web服务器的逻辑客户机的扩展的代理逻辑客户机结构。根据各个实施例,瘦客户机312包括代理逻辑客户机334,代理逻辑客户机334允许层3上的逻辑客户机(图2中的逻辑客户机226)被扩展到(或被代理到)瘦客户机312上。逻辑客户机运行在web服务器层中,而对应的代理逻辑客户机运行在瘦客户机上。因此,逻辑客户机其本身出于实用目的而变成两层的。
代理逻辑客户机334可包括代理逻辑形式336和代理逻辑控件338。代理控件/形式(336,338)包括形式/控件的属性数据——状态,但不包括它们的行为。控件的行为可由层3的web服务器314上的逻辑客户机340执行。逻辑客户机340的其他产物,诸如数据绑定等,也可在层3上提供并执行。代理逻辑客户机334可与如前所述的瘦客户机的显示目标332进行交互。
逻辑客户机340可包括UI会话模块356。为了呈现UI形式,显示目标中的一个可发起由UI会话模块356提供的会话。会话可验证(验证348)用户的凭证。可建立逻辑UI表示,其包括关于逻辑形式342、控件344、动作354、以及数据绑定(352)的内容。逻辑UI表示的内容独立于数据源,并且独立于要在其上呈现该内容的显示目标。逻辑UI表示的内容(UI模式346)可向至少一个显示目标(诸如,显示目标332)展示,以用于UI形式的呈现。由逻辑客户机340执行的其他动作可包括格式化和/或解析350以及服务与第2层上的应用程序服务器的后端集成358。
图4示出根据各个实施例的系统的示例组件之间的交互。尽管在瘦客户机的代理逻辑客户机和web服务器的逻辑客户机之间可进行许多不同的交互以通过4层瘦客户机体系结构提供对远程服务的访问,为阐释目的,示例性的情景将被示出在图400中。
根据示例性的情景,(在层4上的)瘦客户机412的本机用户接口(UI)组件462(诸如,文本框、按钮等)可接收用户动作,并通过瘦客户机412的逻辑控制适配器464来指令代理逻辑控件466。为了执行逻辑客户机的行为,代理逻辑客户机可通过代理逻辑控件466进行对层3(414)逻辑客户机的回叫(callback)。逻辑客户机的逻辑控件468可随后使用服务器应用程序代码470在应用程序服务器(层2)416调用服务器动作,并接收响应的数据/状态改变。当回叫完成时,状态改变将从逻辑控件468转发到瘦客户机上的代理逻辑控件466。在代理逻辑客户机上,在该回叫期间发生的属性/数据改变可随后被应用以更新本机UI元件462上的自然形式,其确保了代理反映真实逻辑客户机的改变后的状态。
图5示出了根据一个实施例的用于胖客户机的示例性编程模型,以及用于瘦客户机的对应的示例性模型。如图500所示的,基于代理逻辑客户机的4层瘦客户机体系结构为瘦客户机502上的代码使用与胖客户机514的编程模型相类似的编程模型。在胖逻辑客户机中,模型包括逻辑控件572,逻辑控件572通过控制逻辑控制适配器574而被适配于本机控件576。
瘦客户机514上的编程模型是等效的。在瘦客户机上,开发者也会创建逻辑控制适配器582,其将瘦代理逻辑控件580适配于瘦客户机514上的本机控件584。逻辑控制适配器582针对代理工作的情况将对开发者和显示目标是透明的,并且将防止开发者对web服务器512上的真实逻辑控件578的直接访问。
图6示出用于4层瘦客户机体系结构的示例实施平台。因为代理逻辑客户机不要求整个框架或操作系统来运作,其可被实现并执行在瘦客户机上,诸如根据一个示例性情景的作为丰富web应用程序的一部分的浏览器612。
在示意图600的示例性体系结构中,浏览器612和web服务器614是web服务客户机的一部分。示例性的web服务可使用户能存储、共享、编辑、检索、以及查看各种文档,这些文档传统上是由安装在各个计算设备上的不同的应用程序处理的。
可通过控件/形式适配器628和浏览器控件/形式适配器630来促进在web服务器614上的web应用程序624以及对应的超文本标记语言(HTML)文档对象模型(DOM)/客户机web应用程序626之间的数据和状态交换,控件/形式适配器628提供逻辑和本机控件/形式之间的连接,浏览器控件/形式适配器630提供逻辑和HTML控件/形式之间的连接。控件/形式适配器628和浏览器控件/形式适配器630诸如使用超文本传输协议(HTTP)来通信。Web显示目标622可通过浏览器612来提供对来自逻辑客户机632以及代理逻辑客户机634的内容的呈现。
逻辑客户机632使用应用程序特定客户机综合层来处理形式和控件的逻辑表示,应用程序特定客户机综合层与应用程序服务器616(web应用程序)交换消息,应用程序服务器616执行UI和商业逻辑、从SQL数据库服务器618检索数据、激活对话、并验证字段。代理逻辑客户机634在瘦客户机(浏览器)612上显示web服务器托管的逻辑形式、控件、UI和会话。
已经使用特定服务器、客户机、软件模块、组件和交互来描述了图2到6的示例性系统。各实施例不限于根据这些示例配置的系统。用于瘦客户机的四层体系结构可在使用更少或额外组件并执行其他任务的配置中实现。此外,可以使用此处描述的原理用相似的方式来实现具体的协议和/或接口。
图7是可以实现各实施例的示例联网环境。提供4层体系结构中瘦客户机应用程序的平台可通过在一个或多个服务器744或单个服务器(诸如,web服务器)746上执行的软件(诸如,托管服务)来实现。该平台可通过网络740与各个计算设备上的瘦客户机应用程序进行通信,各个计算设备诸如智能电话743、膝上型计算机742、或台式计算机741(“客户机设备”)。
如前所述的,执行在客户机设备741-743的任何一个上的客户机应用程序可执行瘦客户机,瘦客户机连同运行在web服务器上(诸如,在服务器744上或在单个服务器746上)的逻辑客户机一起对在远程服务器(诸如,服务器744中之一)上执行的应用程序的访问,如前所描述的。远程应用程序服务器可直接地或通过数据库服务器748从数据存储器749检索相关数据,或将相关数据存储入数据存储器749。
网络740可包括服务器、客户端、因特网服务供应商、以及通信介质的任何拓扑结构。根据各实施例的系统可具有静态或动态拓扑结构。网络740可包括诸如企业网络等安全网络、诸如无线开放网络等非安全网络、或因特网。网络740还可通过诸如公共交换电话网络(PSTN)或蜂窝网络等其他网络来协调通信。此外,网络740可包括诸如蓝牙或类似网络等短程无线网络。网络740提供此处描述的节点之间的通信。作为示例而非限制,网络740可包括诸如声学、RF、红外线和其他无线介质等无线介质。
计算设备、应用程序、数据源、以及数据分布系统的各种其他的配置可被使用以实现用于瘦客户机的四层体系结构。进一步的,图7中所讨论的联网环境仅用于说明目的。各实施方式不限于示例应用程序、模块、或过程。
图8及相关联的讨论旨在提供对其中可实现各实施方式的合适计算环境的简要概括描述。参考图8,示出了根据各实施例的、诸如计算设备800等用于应用程序的示例计算操作环境的框图。在一个基本配置中,计算设备800可以是客户机设备并包括至少一个处理单元802和系统存储器804,客户机设备执行根据多个实施例的能通过代理逻辑客户机与web服务器进行交互的瘦客户机。计算设备800还可包括协作执行程序的多个处理单元。取决于计算设备的确切配置和类型,系统存储器804可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等)或是两者的某种组合。系统存储器804通常包括适用于控制平台操作的操作系统805,诸如,华盛顿州雷得蒙的微软公司出品的操作系统。系统存储器804也可包括一个或多个软件应用程序,诸如,程序模块806、瘦客户机应用程序822以及代理逻辑客户机826。
应用程序822可以是任何与远程应用程序或托管服务进行交互的瘦客户机应用程序。代理逻辑客户机826可通过回叫使得用户动作能够转发到web服务器上的逻辑客户机并在回叫完成时更新瘦客户机的状态。该基本配置在图8中由虚线808内的组件示出。
计算设备800可具有附加特征或功能。例如,计算设备800还可包括附加数据存储设备(可移动和/或不可移动),诸如例如磁盘、光盘或磁带。在图8中通过可移动存储器809和不可移动存储器810示出了这样的附加存储。计算机可读介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器804、可移动存储器809和不可移动存储器810都是计算机可读介质的示例。计算机可读介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带、磁盘存储或其它磁存储设备、或能用于存储所需信息且可以由计算设备800访问的任何其它介质。任何这样的计算机可读介质都可以是计算设备800的一部分。计算设备800也可具有输入设备812,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备和类似输入设备。还可包括输出设备814,诸如显示器、扬声器、打印机和其他类型的输出设备。这些设备在本领域中公知并且无需在此处详细讨论。
计算设备800还可包含通信连接816,该通信连接允许该设备诸如通过分布式计算环境中的有线或无线网络、卫星链接、蜂窝链接、短程网络和类似机制来与其他设备818进行通信。其他设备818可包括执行通信应用程序的计算机设备、其他web服务器和类似设备。通信连接816是通信介质的一个示例。通信介质可在其中包括计算机可读指令、数据结构、程序模块或其它数据。作为示例而非限制,通信介质包括有线介质,如有线网络或直接线连接,以及诸如声学、射频(RF)、红外线及其他无线介质之类的无线介质。
各示例实施例还包括各种方法。这些方法可以用任何数量的方式,包括本文中所描述的结构来实现。一种此类方式是通过本文中描述的类型的设备的机器操作。
另一可任选方式是结合一个或多个人类操作者执行该方法的各个操作中的某一些来执行该方法的一个或多个操作。这些人类操作者无需彼此同在一处,而是其每一个可以仅与执行程序的一部分的机器同在一处。
图9示出根据各个实施例将3层体系结构扩展到用于瘦客户机的4层体系结构的过程900的逻辑流程图。过程900可被实现为执行在客户机设备上的瘦客户机应用程序的一部分。
过程900从操作910开始,其中通过瘦客户机的UI接收到用户动作。可通过逻辑控制适配器将所请求的动作提供给执行在瘦客户机上的代理逻辑客户机,其在操作920中向驻留在web服务器之上的对应的逻辑客户机发出回叫。Web服务器上的逻辑客户机通过经由应用程序服务器从数据源检索数据而与执行请求的动作的底层的应用程序服务器进行交互,并在回叫完成时将状态改变提交给代理服务器。
在操作930,代理逻辑客户机接收状态改变,并在操作940中通过逻辑控制适配器更新本机形式而将属性改变向瘦客户机的本机UI元件提出。由此,代理逻辑客户机反映了web服务器上的真实逻辑客户机的改变后的状态。
在过程900中所包括的操作是出于说明目的。用于瘦客户机的4层体系结构可以通过使用在此描述的原理的具有更少或额外的步骤的类似过程,以及按照不同的操作顺序来实现。
以上说明书、示例和数据提供了对各实施方式组成的制造和使用的全面描述。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。此外,以上描述的特定特征和动作是实施权利要求和实施例的示例性形式。
Claims (15)
1.一种至少部分在计算设备执行中的方法,用于执行四层体系结构中的瘦客户机,所述方法包括:
在瘦客户机接收用户动作(910);
通过逻辑控制适配器将所述用户动作转发到执行在所述瘦客户机上的代理逻辑客户机;
从所述代理逻辑客户机向所述瘦客户机外部的逻辑客户机提交与所述用户动作相关联的回叫(920);
当回叫完成时,接收与所执行的用户动作相关联的状态改变(930);以及
通过从所述代理逻辑客户机提出属性改变,更新所述瘦客户机的状态(940)。
2.如权利要求1所述的方法,其特征在于,还包括:
通过本机用户接口元件462接收所述用户动作;以及
通过逻辑控制适配器464来更新所述本机用户接口元件处的本机形式。
3.如权利要求1所述的方法,其特征在于,所述代理逻辑客户机334包括代理逻辑控件338和代理逻辑形式336。
4.如权利要求3所述的方法,其特征在于,所述回叫是通过所述代理逻辑客户机334的代理逻辑控件338而提交给所述逻辑客户机340的。
5.如权利要求1所述的方法,其特征在于,所述瘦客户机312包括至少一个显示目标332,所述显示目标332适应于捕捉由所述逻辑客户机340生成的逻辑内容,并将所述逻辑内容呈现为用户接口(UI)形式。
6.如权利要求5所述的方法,其特征在于,所述代理逻辑客户机334对于显示目标的开发者而言是透明的。
7.如权利要求1所述的方法,其特征在于,还包括:
通过代理逻辑客户机334来管理瘦客户机312的用户接口会话。
8.一种用于促进通过瘦客户机的远程应用程序访问的计算设备800,所述计算设备包括:
存储器804;
处理器802,耦合到所述存储器,所述处理器连同存储在所述存储器中的指令一起执行瘦客户机312应用程序,其中所述瘦客户机包括:
显示目标332;以及
代理逻辑客户机334,所述代理逻辑客户机被配置为:
从本机用户接口元件接收用户动作(910);
向所述瘦客户机外部的逻辑客户机提交与所述用户动作相关联的回叫(920);
当回叫完成时,通过所述逻辑客户机接收与所执行的用户行为相关联的状态改变(930);以及
通过向所述本机用户接口元件提出属性改变,更新由所述瘦客户机所管理的状态和属性中的至少一个(940)。
9.如权利要求8所述的计算设备,其特征在于,所述代理逻辑客户机334更新还被配置成更新所述本机用户接口元件处的自然形式。
10.如权利要求8所述的计算设备,其特征在于,所述代理逻辑客户机334包括与远程执行的商业逻辑相关联的web服务器托管的控件和形式(336,338)的表示。
11.如权利要求8所述的计算设备,其特征在于,所述代理逻辑客户机334还管理用于瘦客户机312用户接口的内容以及用于显示目标332的用户接口会话356,所述显示目标呈现所述内容。
12.一种其上存储有指令的计算机可读存储介质,用于促进通过四层体系结构中的瘦客户机的远程应用程序访问,所述指令包括:
以对所述瘦客户机的开发者透明的方式,在执行在web服务器上的逻辑客户机340处,从执行在所述瘦客户机312上的代理逻辑客户机接收回叫(910);
响应于所述回叫,调用服务器动作来执行代理逻辑客户机控件的行为;
通过所述服务器动作来致使用户接口的执行、远程存储数据的检索、以及远程商业逻辑的执行;
在所述逻辑客户机上接收数据改变和状态改变中的至少一个(930);以及
向所述代理逻辑客户机提供所述状态改变,以使所述瘦客户机能更新所述瘦客户机的状态,所述瘦客户机的状态反映所述逻辑客户机的状态(940)。
13.如权利要求12所述的计算机可读存储介质,其特征在于,所述逻辑客户机340还被配置为处理数据绑定,并将逻辑用户接口表示向至少一个显示目标展示,以供呈现。
14.如权利要求12所述的计算机可读存储介质,其特征在于,在设计时间创建所述逻辑客户机340,所述逻辑客户机340对数据结构的变换进行建模,以为所述瘦客户机所用。
15.如权利要求14所述的计算机可读存储介质,其特征在于,基于多个远程执行的应用程序中的数据结构,对所述逻辑客户机340进行建模。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/754,072 | 2010-04-05 | ||
US12/754,072 US8650247B2 (en) | 2010-04-05 | 2010-04-05 | Four tier architecture for implementing thin clients |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102215252A true CN102215252A (zh) | 2011-10-12 |
CN102215252B CN102215252B (zh) | 2016-05-18 |
Family
ID=44710902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110096113.2A Expired - Fee Related CN102215252B (zh) | 2010-04-05 | 2011-04-02 | 用于实现瘦客户机的四层体系结构 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8650247B2 (zh) |
CN (1) | CN102215252B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120284735A1 (en) * | 2011-05-06 | 2012-11-08 | Microsoft Corporation | Interaction-Based Interface to a Logical Client |
US20120317504A1 (en) * | 2011-06-13 | 2012-12-13 | Microsoft Corporation | Automated user interface object transformation and code generation |
US20130290851A1 (en) * | 2012-04-30 | 2013-10-31 | Microsoft Corporation | User interface web services |
IN2012CH04482A (zh) * | 2012-10-26 | 2015-06-19 | Exceed Technology Solutions Private Ltd I |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377973B2 (en) * | 1998-09-30 | 2002-04-23 | Emrys Technologies, Ltd. | Event management in a system with application and graphical user interface processing adapted to display predefined graphical elements resides separately on server and client machine |
US20020083171A1 (en) * | 2000-12-22 | 2002-06-27 | Hoogenboom Peter J. | System and method of application input validation |
CN101159752A (zh) * | 2006-08-31 | 2008-04-09 | 卡西欧计算机株式会社 | 客户机装置、服务器装置、基于服务器的计算系统和程序 |
CN101313278A (zh) * | 2005-12-02 | 2008-11-26 | 国际商业机器公司 | 保持虚拟机环境内的会话状态 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738027B1 (en) | 2000-10-17 | 2004-05-18 | Sun Microsystems, Inc. | Method and apparatus for configuration using a portable electronic configuration device |
US8843909B2 (en) | 2001-05-11 | 2014-09-23 | Ca, Inc. | Method and apparatus for transforming legacy software applications into modern object-oriented distributed systems |
US7143420B2 (en) | 2002-08-29 | 2006-11-28 | Sun Microsystems, Inc. | Strategic technology architecture roadmap |
US20060167983A1 (en) * | 2005-01-07 | 2006-07-27 | Exacore Corporation | Inter-networked knowledge services (INKS) |
US7295719B2 (en) * | 2005-08-26 | 2007-11-13 | United Space Alliance, Llc | Image and information management system |
US20070143339A1 (en) * | 2005-12-20 | 2007-06-21 | Springett John C | Architecture for a smart enterprise framework and methods thereof |
TW200743000A (en) * | 2006-05-11 | 2007-11-16 | Ming-Ta Hsu | Report retrieval and presentation methods and systems |
-
2010
- 2010-04-05 US US12/754,072 patent/US8650247B2/en not_active Expired - Fee Related
-
2011
- 2011-04-02 CN CN201110096113.2A patent/CN102215252B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377973B2 (en) * | 1998-09-30 | 2002-04-23 | Emrys Technologies, Ltd. | Event management in a system with application and graphical user interface processing adapted to display predefined graphical elements resides separately on server and client machine |
US20020083171A1 (en) * | 2000-12-22 | 2002-06-27 | Hoogenboom Peter J. | System and method of application input validation |
CN101313278A (zh) * | 2005-12-02 | 2008-11-26 | 国际商业机器公司 | 保持虚拟机环境内的会话状态 |
CN101159752A (zh) * | 2006-08-31 | 2008-04-09 | 卡西欧计算机株式会社 | 客户机装置、服务器装置、基于服务器的计算系统和程序 |
Also Published As
Publication number | Publication date |
---|---|
US20110246559A1 (en) | 2011-10-06 |
US8650247B2 (en) | 2014-02-11 |
CN102215252B (zh) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11567750B2 (en) | Web component dynamically deployed in an application and displayed in a workspace product | |
US11762634B2 (en) | Systems and methods for seamlessly integrating multiple products by using a common visual modeler | |
US10628132B2 (en) | Inversion of control framework for multiple behaviors of a process | |
US7756905B2 (en) | System and method for building mixed mode execution environment for component applications | |
US7814404B2 (en) | System and method for applying workflow of generic services to component based applications for devices | |
US7509649B2 (en) | System and method for conversion of generic services' applications into component based applications for devices | |
US20190196793A1 (en) | Building enterprise mobile applications | |
US11797273B2 (en) | System and method for enhancing component based development models with auto-wiring | |
EP2806380A1 (en) | Methods and apparatus for translating forms to native mobile applications | |
US11640307B2 (en) | Process initiation | |
CN102215252A (zh) | 用于实现瘦客户机的四层体系结构 | |
CN101876998B (zh) | 一种实现数据编辑的方法和系统 | |
US10229093B2 (en) | Method and system for implementing a common data interface to web services | |
US10949176B2 (en) | Automatic view generation based on annotations | |
US11775261B2 (en) | Dynamic process model palette | |
US11294644B2 (en) | Inversion of control framework for multiple behaviors on top of a process | |
Mall et al. | Mobilizing your Enterprise with SAP | |
Kettner et al. | Logic Apps | |
KR101489677B1 (ko) | 웹 기반 생애 주기 관리 시스템을 구축하기 위한 동적 어플리케이션 개발 서비스 제공 방법 | |
Banavar | Evolution of Application Models for Pervasive Computing | |
Peddola | Developing Google android mobile clients for web services | |
Kim et al. | Convergence Mobile Application Architecture on Requirement View | |
GB2421825A (en) | Applying workflow of generic services to component based applications | |
AU2008202421A1 (en) | System and method for building wireless applications with intelligent mapping between user interface and data components |
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: 20150727 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150727 Address after: Washington State Applicant after: MICROSOFT TECHNOLOGY LICENSING, LLC Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160518 |