CN102754411B - 使用客户端-服务器网桥管理对象 - Google Patents

使用客户端-服务器网桥管理对象 Download PDF

Info

Publication number
CN102754411B
CN102754411B CN201080063818.8A CN201080063818A CN102754411B CN 102754411 B CN102754411 B CN 102754411B CN 201080063818 A CN201080063818 A CN 201080063818A CN 102754411 B CN102754411 B CN 102754411B
Authority
CN
China
Prior art keywords
change
message
client device
bridge
client
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.)
Active
Application number
CN201080063818.8A
Other languages
English (en)
Other versions
CN102754411A (zh
Inventor
J.M.法弗
J.戈尔德施拉格
D.W.帕门特
I.谢克特
T.韦克林
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.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology LLC
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 Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Publication of CN102754411A publication Critical patent/CN102754411A/zh
Application granted granted Critical
Publication of CN102754411B publication Critical patent/CN102754411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • 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/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种支持客户端和服务器之间的通信的方法,包括从客户端(202)接收(302,210)第一消息。该方法还包括响应于该第一消息而创建(312)对象。该方法还包括将对该第一消息的响应发送到(320,212)客户端。该方法还包括从服务器接收(224,406)对该对象的改变。该方法还包括存储(408)对该对象的改变。该方法还包括从该客户端接收(302,210,410)第二消息。该方法还包括利用对该第二消息的响应而向客户端发送(320,212,414)所存储的改变。

Description

使用客户端-服务器网桥管理对象
相关申请的交叉引用
本申请要求2009年12月14日提交的美国申请第61/286,293号的优先权,通过引用将该美国申请并入于此。
技术领域
本说明书涉及使用客户端-服务器网桥管理对象。
背景技术
一些客户端-服务器系统采用两种操作方法之一。一些系统具有“瘦”客户端,其呈现向用户提供具有独立于服务器执行操作的非常小的能力的外观(veneer)的界面(例如,HTML网页)。一些系统具有“胖”客户端,其利用客户端硬件的资源提供能够执行复杂操作的界面(例如,基于微软基础类的用户界面)。以相同或相似的编程语言将一些“胖”客户端编制为服务器应用程序,并且因此客户端可以紧密地耦接到后端服务器(例如,JavaRMI或微软COM+技术)。
发明内容
在一个方面,总的而言,支持客户端和服务器之间的通信的方法包括从客户端接收第一消息。该方法还包括响应于该第一消息而创建对象。该方法还包括将对该第一消息的响应发送到客户端。该方法还包括从服务器接收对该对象的改变。该方法还包括存储对该对象的改变。该方法还包括从该客户端接收第二消息。该方法还包括利用对该第二消息的响应而向客户端发送所存储的改变。
各方面可以包括以下特征中的一个或多个。
存储改变可以包括创建改变的日志,向客户端发送所存储的改变可以包括发送改变的日志。存储改变可以包括更新对象的当前状态,向客户端发送所存储的改变可以包括发送对象的当前状态。从客户端接收第一消息可以包括接收用于客户端对象的临时标识符;创建对象包括获得用于该对象的永久标识符;以及发送对第一消息的响应包括发送临时标识符和永久标识符之间的映射。获得永久标识符可以包括向服务器发送服务器消息。发送服务器消息可以包括将该服务器消息与其它服务器消息进行交织。
方法还可以包括向服务器注册对该对象的兴趣。接收对该对象的改变可以包括接收与服务器生成的事件相关联的、对该对象的改变。接收第一消息可以包括利用第一协议,并且接收改变包括利用与第一协议不同的第二协议。方法还可以包括存储对于多个客户端的多个对象的改变。
对象可以对应于数据流图的一部分,其包括表示数据流图的组件(components)的多个节点、以及表示各组件之间的数据流的节点间链接。从客户端接收第一消息可以包括接收用于定义数据流图的组件的至少一个特性的参数的值。方法可以包括提供以下界面,该界面接收用于定义数据流图的组件的相应特性的一个或多个参数。该界面可以显示多个用户界面元素,并且各用户界面元素之间的关系基于数据流图的各组件之间的依赖性。可以通过在服务器中存储的规范来定义所述关系。
接收第一消息可以包括接收对中间数据的请求,创建对象可以包括:编译数据流图的一部分,并且通过运行编译后的数据流图的该部分来产生输出至输出数据集。创建对象还可以包括:确定生成中间数据所需的第一组件集合;禁止数据流图中不在该第一组件集合中的组件;以及创建与数据流图耦接的中间数据宿(intermediatedatasink)以存储该输出数据集。确定第一组件集合可以包括:标识不将数据源连接到中间数据宿的链接。创建中间数据宿可以包括:确定至中间数据宿的链接呈现并行数据流;以及将并行数据宿创建为中间数据宿。
在另一方面,总的而言,一种计算机可读介质存储用于支持客户端和服务器之间的通信的计算机程序。该计算机程序包括用于使计算机执行以下操作的指令:从客户端接收第一消息;响应于该第一消息而创建对象;将对该第一消息的响应发送到客户端;从服务器接收对该对象的改变;存储对该对象的改变;从该客户端接收第二消息;以及利用对该第二消息的响应而向客户端发送所存储的改变。
在另一方面,总的而言,一种支持客户端和服务器之间的通信的系统包括:包括至少一个处理器的服务器;以及包括被配置来管理该系统中的对象至少一个处理器的网桥。所述管理包括:从客户端接收第一消息;响应于该第一消息而创建对象;将对该第一消息的响应发送到客户端;从服务器接收对该对象的改变;存储对该对象的改变;从该客户端接收第二消息;以及利用对该第二消息的响应而向客户端发送所存储的改变。
在另一方面,总的而言,一种支持客户端和服务器之间的通信的系统包括:用于服务数据的部件;以及用于管理该系统中的对象的部件。所述管理包括:从客户端接收第一消息;响应于该第一消息而创建对象;将对该第一消息的响应发送到客户端;从用于服务数据的部件接收对该对象的改变;存储对该对象的改变;从该客户端接收第二消息;以及利用对该第二消息的响应而向客户端发送所存储的改变。
各方面可以包括以下优点中的一个或多个。可以简化客户端和服务器之间的通信。为鲁棒性的客户端开发的服务器可以被适配为支持脚本客户端。可以跟踪对于对象的改变,并且可以在不必保持网桥和客户端之间的连续连接的情况下更新客户端。
本发明的其它特征和优点将从以下说明以及权利要求中变得明显。
附图说明
图1是桥接的客户端服务器系统的示意图。
图2是客户端、网桥、和服务器之间的示例通信模式的示意图。
图3-5是该系统执行的示例操作的流程图。
图6A是示例的数据流图的图。
图6B和6C是用于定制数据流图的界面的各部分的图。
图7A表示界面中的示例结果显示。
图7B是示例的数据流图的图。
图8是桥接的客户端服务器系统的示意图。
具体实施方式
与在典型的瘦客户端上可用的功能相比,一些工具在利用浏览器的客户端系统上使能更多功能。以与被用来创建服务器应用的编程语言不同的编程语言来构造这些工具中的一些。为了促进使用不同技术构建的客户端和服务器之间的通信,在客户端系统和服务器系统之间建立“网桥”通信层,如图1所示。客户端102a、102b、102c每个经由网桥110与在服务器104上运行的对应的服务器会话116a、116b、116c进行通信。从客户端102a、102b、102c到网桥110的消息被发送到消息处理器108,其将客户端102a、102b、102c的无状态协议(例如,超文本传输协议HTTP)转译至服务器104所提供的协议集合。在一些布置中,可以使用代码生成来使该转换自动化。在一些布置中,客户端、网桥110和服务器104每个都运行在独立的处理器或计算机系统上,并且通过网络进行通信。客户端102a、102b、102c可以是依赖于网桥110与服务器104进行通信的瘦客户端,并且可以存在其它的能够直接与服务器104进行通信的胖客户端(未示出)。
通常,单个客户端102a经由网桥112与单个客户端会话114a连接。网桥可以同时与多个客户端交互。单个客户端会话114a继而连接到单个服务器会话116a。消息处理器108创建响应对象以便封装被交换的信息,包括来自服务器的、对于来自客户端的消息的响应,并且消息处理器108将该响应对象发送到适当的客户端102a、102b、102c。然而,在一些实例中,可以使用其它配置。例如,可以通过负荷平衡器使得与网桥110的通信或者与服务器104的通信是负荷平衡的,以便提高性能。
如箭头120a、120b、120c所表示的,客户端102a、102b、102c与网桥110之间的通信可以包括请求和响应。客户端102a、102b、102c可以向网桥110做出请求并且等待响应。网桥110可以为客户端102a、102b、102c创建客户端会话114a、114b、114c,或者如果已经存在,则可以使用现有的会话。网桥110将输入消息转译至服务器104所理解的协议。可以在网桥110和服务器104之间、在消息流124a、124b、124c中传送各种类型的消息,包括远程例程调用(RPC)、数据(例如“字节流”和“对象流”)、以及事件(例如,单向消息)。
通常,RPC通过发送请求和接收响应来进行操作。该基本模式具有三个变型:“单机”RPC,其特征在于,等待或轮询响应而没有隐式的完成或失败通知的处理线程;“同步”RPC,其特征在于,阻塞(blocking)直至接收到指示成功或失败的响应的处理线程;以及“异步”RPC,其特征在于,注册在例程完成时将被触发的回叫。在一些示例中,确保按照特定线程所作出的RPC以它们所调用的顺序来运行。
网桥110和服务器104之间的通信使得包括RPC的消息流能够被交织。可以同时操纵多个不同的RPC消息流,使得消息彼此重叠地到达网桥。网桥110独立地接收并处理每个消息。网桥110还允许发送取消或放弃消息。在接收到放弃消息时,网桥110终止当前运行的例程,或者通知服务器104终止当前运行的例程。
网桥110和服务器104可以使用数据流进行通信。数据流是逻辑字节流,其采用窗口协议来限制可以一次传送的数据量。数据流可以作为RPC请求或响应消息、明文消息(plainmessage)、或进度消息的一部分而在网桥110和服务器104之间传递。一旦数据流被传递到网桥或服务器,就通过握手例程来建立数据流,该握手例程标识用于已经接收到流对象的连接侧的流、以及流控制参数。可以基于由服务器104或网桥110建立的约束来限制在流上传送的数据量。
参考图2,在一些布置中,客户端202可以保持在服务器104上可运行并存储的处理和信息的表示。可以使客户端202意识到服务器104上的处理和信息发生的改变。如箭头210、212所示,客户端202可以与网桥110通信。在一些布置中,该通信可以源自与在客户端202上存储的数据的表示进行的编程交互。网桥110接收请求,并且可以与服务器104通信,如由处理箭头214、216表示的。如上面讨论的,与客户端202和网桥110之间的通信相比,网桥110和服务器104之间的通信可以利用一组更具鲁棒性的协议。如箭头224所示,服务器104在当前没有处理消息时,可以向网桥110通知对底层对象(underlyingobject)的改变。例如,网桥110可以注册对给定对象的兴趣,并且服务器104可以向网桥110通知何时该对象被变更或访问。在一些布置中,客户端202和网桥110之间的通信的无状态特性防止了网桥110将改变立即发送给客户端202。在这些情况下,信息可以被存储在网桥110中,并且可以作为对随后的请求的响应的一部分而被递送给客户端202。在其它布置中,可以在客户端和服务器之间建立数据流以便允许持续更新。
在一些布置中,客户端202可以创建在服务器104上不存在的信息的表示,例如,创建新的客户对象。该新创建的信息可以被提供有临时标识符。客户端202可以随后利用该新信息执行若干动作。在一些布置中,客户端202可以执行利用该新信息和从服务器访问的现有信息两者的操作,有时候使用临时标识符来更新现有信息。客户端202可以在向服务器104进行通知之前使用该信息执行各种操作。最终,客户端202可以向网桥110发送一个或多个请求,请求在服务器104上运行操作。网桥110识别在服务器104上不存在的新信息。结果,网桥可以创建表示服务器上的信息的记录,并且获得永久标识符。网桥110然后使得消息上提供的临时标识符与永久标识符相一致(reconcile)。作为响应的一部分,网桥110向客户端202提供临时标识符到永久标识符的映射。
在网桥110上,消息处理器108所管理的消息服务接收输入消息。在一些布置中,该消息可以指定使用多个对象可执行的多个操作。一些对象可能已经存在,而其它对象可能是新的。通常,将使用标识符来标识所有对象。将使用永久标识符来标识现有对象,而使用临时标识符来标识新创建的对象。消息服务标识需要执行哪些操作。
网桥110上的对象服务标识哪些对象已经存在于服务器104上并且将它们取回。对于新信息,将数据添加到服务器104并且分配永久标识符,对象服务提供永久标识符和临时标识符之间的映射。
参考图3,流程图300表示网桥110所执行的操作的示例布置。典型地,通过该网桥所驻留的计算机系统的一个或多个处理器来运行操作。尽管典型地由单个电子设备运行,但是在一些布置中,可以在两个或多个电子设备(例如,计算机系统)之间分布操作运行。
操作包括接收具有参考的消息302。例如,参考可以是指向存储器中所存储的对象的指针,或者参考可以是定位对象的标识符。该消息可以参考多个对象。可以在分离的列表中提供参考,或者它们可以被嵌套在该消息内部。
操作还包括检查以确定对象是否存在304。在一些情况下,网桥可以向服务器发送消息来询问对象是否存在。在其它情况下,操作304可以与其它操作组合。例如,网桥可以执行操作以试图从服务器中取出对象306。可以使用特定标识符来标识新对象,例如,特定范围的关键词、特定关键词前缀、或者消息上的另一字段可以指示该对象是新的。网桥可以将该操作执行多次,对于该消息参考的每个对象执行一次。
操作还包括取出对象306。在一些情况下,网桥可以从服务器中取出在消息中标识的对象。在其它情况下,网桥可以在本地存储装置中高速缓存对象的本地副本。在向服务器发送消息之前,网桥可以在其本地存储装置中检查该对象,并且如果找到,则直接将响应返回客户端。如上面所讨论的,可以经由反向信道通信与服务器上的副本同步地保存对象的本地副本。在一些实现方式中,网桥可以与若干服务器交互,并且可以使用路由表来确定该对象位于哪个服务器上。
操作还包括检查以确定任何更新是否被挂起(pending)308。在一些布置中,网桥可以高速缓存对所述对象的本地副本做出的改变。这些改变可以被存储在特定的存储器位置、表、或其它存储设备中。可以基于对象类型和主关键词来标识所述改变,或者可以基于全局唯一标识符来标识所述对象。
操作还包括将更新添加到结果310。一旦网桥标识了对象的被挂起的更新,则网桥可以编译那些更新的列表并且将它们附于要递送给客户端的响应消息。
操作还包括创建对象312。在一些情况下,如果对象不存在,则网桥创建新对象。这通常通过向服务器发送消息而实现。新创建的对象将通常包括与客户端使用的标识符不同的新的标识符。
操作还包括创建映射314。例如,网桥创建用于将客户端标识符与在创建对象时提供的永久标识符配对的映射。一旦客户端意识到该映射,则客户端不再使用其原始标识符,而是对于所有的随后通信,可以采用永久标识符。
操作还包括将映射添加到结果316。在一些布置中,为了将映射传送给客户端,网桥将映射添加到响应消息上。
操作还包括处理消息318。一旦网桥已经标识、取出、并且创建了所有必需对象,则网桥执行所请求的操作。在一些实现方式中,该操作可以包括向服务器发送一个或多个消息。在一些实现方式中,网桥所支持的消息与服务器所执行的消息相同。在此情况下,可以自动地生成用于支持客户端和服务器之间的消息转译所需的编程。
操作还包括向客户端发送结果320。例如,一旦处理了消息,该消息的结果与任何更新和映射相组合并且被返回到客户端。
参考图4,流程图400表示网桥110所执行的操作的另一示例操作。典型地,通过该网桥所驻留的计算机系统的一个或多个处理器来运行操作。尽管典型地由单个电子设备运行,但是在一些布置中,可以在两个或更多个电子设备(例如,计算机系统)之间分布操作运行。
操作包括从客户端接收第一请求402。从客户端接收的请求可以导致创建或者访问来自服务器的一个或多个对象。可以在网桥上高速缓存这些对象,以便提高稍后访问的性能。
操作还包括向客户端发送结果404。在一些情况下,将对请求的响应发送到客户端。在处理该请求期间创建或访问的对象可以在网桥上保存于本地数据存储装置,例如存储器或数据库中。在一些布置中,可以对于期望访问该对象的所有客户端存储该对象的一个公用副本。在其它布置中,可以将对象连同客户端标识符一起存储,从而每个客户端具有在网桥上存储的各自副本。在其它布置中,在网桥上存储公用副本,除非客户端修改该对象,在此情况下,对于该客户端保存带有改变的对象的各自的版本。
操作还包括接收对该对象的更新406。例如,网桥可以从服务器接收对该对象的更新。可以通过数据流或基于事件的通信,从服务器发送更新。
更新还包括存储更新408。在一些布置中,对于该对象所接收的更新可以被存储在特定位置中。在一些布置中,改变可以被存储为审核跟踪(audittrail),其列出了被改变的字段和值、以及改变发生的时间。在其它布置中,基于何时向网桥通知改变,可以跟踪改变。在另一些布置中,即使仅改变了单个值,也可以更新整个对象。操作还可以包括从客户端接收也被网桥操纵的任何数量的另外请求。在将那些请求的结果提供回客户端时,可以包括对于对象的更新。该示例包括:从客户端接收第二请求410,以及将更新添加到结果412。网桥可以将从服务器接收的、对在服务器上存储的对象的改变添加到正在被发送到客户端的响应消息上。在一些情况下,网桥还可以将已经发生的任何改变添加到对象,以作为处理客户端消息的结果。操作还包括向客户端发送结果414。
参考图5,流程图500表示由与网桥110交互的客户端(图1,102a、102b、102c)执行的操作的示例布置。典型地,通过该客户端所驻留的计算机系统的一个或多个处理器来运行操作。尽管典型地由单个电子设备运行,但是在一些布置中,可以在两个或更多个电子设备(例如,计算机系统)之间分布操作运行。
操作包括向网桥发送消息502。例如,客户端可以向网桥发送消息,请求执行与在服务器上存储的对象相关的动作。
操作还包括从网桥接收响应504。例如,客户端从网桥接收响应,包括执行所请求的动作的结果。
操作还包括检查映射506。在一些情况下,在客户端从网桥接收响应时,客户端检查是否存在被附于消息的任何更新的映射。
如果存在更新的映射,则操作包括更新参考508。例如,客户端更新其已经创建的具有临时标识符的新对象,利用服务器所分配的永久标识符来替代在对象创建时分配的临时标识符。
操作还包括检查对象更新510。例如,客户端检查响应以查看是否在服务器处已经更新了任何现有对象。如果是,则操作包括在客户端处更新对象512。例如,客户端可以将在消息中包括的改变应用于当前存储在客户端处的对象的任何本地副本。
操作还包括处理结果514。例如,来自服务器的响应消息可以将信息传达到客户端,使得客户端能够基于结果采取预定动作。该响应消息可以指示所请求的操作是否成功或者该操作是否失败。该响应消息还可以包括与请求相关联的对象和其它信息。例如,对于访问特定的客户对象的请求可以导致在响应中返回该客户对象。
利用网桥的系统的一个示例是用于生成用户界面以允许非技术用户来配置参数化的数据流图的系统。数据流图是在数据流图运行环境下运行的计算机程序,其处理来自一个或多个数据源的数据。根据数据流图操纵并处理来自数据源的数据,并且该数据被导出到一个或多个数据宿(datasink)。例如,数据源和数据宿可以包括文件、数据库、数据流、或队列。数据流图被表示为有向图(directedgraph),该有向图包括表示数据处理组件的节点,每个包括用于处理来自至少一个数据输入的数据并且将数据提供给至少一个数据输出的代码,该有向图还包括表示用于访问数据源和/或数据宿的数据集对象的节点。节点通过有向链路被连接起来,所述有向链路表示组件之间的数据流,源于数据源并终止于数据宿。上游组件的数据输出端口连接到下游组件的数据输入端口。对于由数据集对象所表示的不同的数据源和不同的数据宿,可以重用数据流图。例如,用于实现数据流图的数据结构和程序代码可以通过被参数化来支持多种不同的配置,以使得容易替换不同的源和宿。此外,在一些布置中,通过使用参数可以更改数据流图的流程,使得可以旁路一个组件或者一系列组件。
运行环境可以宿主(host)于在合适的操作系统(诸如UNIX操作系统)的控制下的一个或多个通用计算机。例如,运行环境可以包括多节点并行计算环境,其包括使用多个中央处理单元(CPU)的计算机系统的配置:本地的(例如,诸如SMP计算机之类的多处理器系统)、或者本地分布的(例如,被耦接为簇的多个处理器或MPP)、或者远程的、或者远程分布的(例如,经由局域网(LAN)和/或广域网(WAN)耦接的多个处理器)、或者其任何组合。
数据流图的构造在一些情况下本质上可以是高度技术性的。在编写以实现特定业务端时,基于技术上的考虑来确定该图的结构和构造。例如,可以选择图的组件以便使重用性最大化,或者支持并行处理。另一方面,如何使用图以及在哪里使用图,可能很大程度上是业务决定。可以使用与参数化的数据流图相关联的一些参数,来使得业务用户能够定制数据流图,而无需用户理解在其实现方式背后的技术上的复杂性。参数化的数据流图简化了定制,并且促进了重用。
可以在客户端机器上呈现用于标识用以构造数据流图的参数值的界面。在一些实现方式中,客户端可以使用客户端上的提供了参数界面的网络浏览器、以及使用提供了一些客户端侧处理能力的脚本语言,来访问在服务器上运行的开发环境。脚本语言可以与服务器进行通信,以便更新参数并执行其它必要操作。该通信可以经由网桥机器进行,该网桥机器通过运行开发环境,来转译客户端和服务器之间的通信,存储对象和用于正在被构造的图的关联参数值。
例如,参考图6A,数据流图602可以包括数据源606a、606b,组件608a-c、610,以及数据宿612。源、组件、和宿每一个可以与一组参数604a-g相关联。用于一个源、组件、或宿的参数可以被用来评估用于不同的源、组件、或宿的参数。源606a、606b与组件608a、608c的输入端口连接。组件608a的输出端口与组件608b的输入端口连接。组件610的输出端口与数据宿612连接。源、组件、以及宿之间的连接定义了数据流。
一些数据源、组件或宿可能具有输入参数604a-g,其可以定义该图的一些行为。例如,参数可以定义数据源或宿在物理盘上的位置。参数还可以定义组件的行为,例如,参数可以定义拣选(sort)组件如何拣选输入(例如,按照zip代码来进行拣选)。在一些布置中,一个参数的值可能依赖于另一参数的值。例如,源606a可以被存储在特定目录下的文件中。参数集604a可以包括被称为“DIRECTORY”的参数和被称为“FILENAME”的另一参数。在该情况下,FILENAME参数将依赖于DIRECTORY参数(例如,DIRECTORY可以是“/usr/local/”,FILENAME可以是“/usr/local/input.dat”)。参数还可以依赖于用于其它组件的参数。例如,宿612的物理位置可能依赖于源606a的物理位置。在该示例中,宿612包括一组参数604g,其包括依赖于源606a的DIRECTORY参数的FILENAME参数(例如,组604g中的FILENAME参数可以是“/usr/local/output.dat”,其中值“/usr/local/”是从集合604a中的DIRECTORY参数获得的。)。
在客户端上的用户界面内,参数组604a-604g的参数可以被组合,并且被重新组织为不同的编组以与用户进行交互,其反映了商务上的考虑而不是技术上的考虑。以不必受限于服务器上的开发环境方面的灵活方式,基于用户输入用于接收参数值的用户界面根据参数之间的关系,可以显示不同的参数。例如,参考图6B,可以呈现其中利用表示参数间的依赖性的关系来显示图标的用户界面。在该示例中,参数被划分为第一参数编组,其由以下项来表示:表示用于第一源数据集的参数的第一源图标624、表示用于第二源数据集的参数的第二源图标626、表示用于宿数据集的参数的宿图标630、以及表示用于正在被配置的数据流图的一个或多个组件的参数的转换图标628,示出了它们与源数据集和宿数据集的关系。可以基于所存储的规范622做出该参数编组,所述规范622定义用户将如何在客户端的用户界面内与来自数据流图的参数进行交互、以及用户界面元素(诸如图标624、626、628、630)将如何被彼此相关并且被布置为呈现在用户界面中。在一些实现方式中,规范为XML文档。该规范还可以标识数据流图组件,并且可以标识在用户正在配置该图的同时可以执行其某些功能的特定组件,诸如观看样本数据,如下面更详细描述的。
在一些情况下,该规范可以包括对于将如何显示参数的指令。例如,参考图6B和6C,规范622可以指示:响应于与源数据集图标624的交互,应将一个参数显示为用户可以填写的文本框702,而另一个参数应是具有预填充值的下拉列表704(例如,在规范中提供的值、或者在查找表中提供的值的列表),又一参数可以被显示为单选按钮706等等。因此,该规范在如何向用户呈现参数以便可以为商务和/或非技术性用户量身定制的方式定制数据流图方面提供了灵活性。例如,可以基于对数据库运行的查询(例如SQL查询)的值或者来自位于文件系统上的文件的值来填充用户界面。在一些情况下,该规范可以使得用户能够选择应用的数据源。例如,该规范可以允许用户选择数据库、表、或文件。一个或多个参数可以成编组地一起显示。例如,规范可以声明:参数将要一起呈现在用户界面上的方框中。在一些实现方式中,用户界面可以被划分为列和行。规范可以基于用户界面上要显示参数的部分,来标识参数的位置或参数的集合(collection)。
在一些情况下,规范可以包括用户选择由组件处理的字段的能力。可以在用户界面中显示可用字段,并且用户可以选择一个或多个字段以便包括在参数集中。规范可以使得用户能够通过选择用于特定字段的值而对数据集进行过滤(例如,状态为“FL”的字段)。
在一些情况下,规范可以约束商务用户填充参数值的顺序。由虚线所表示的,与宿630相关联的参数可能对于用户不可见,直至用户满足了一些预先定义的条件。例如,在数据宿参数集出现之前,用户可能必须提供特定参数值或填入参数集。还可以如所需要地定义参数,指示必须向参数分配值。
在一些情况下,规范可以基于用户角色来呈现不同的参数。例如,模板可能隐藏或禁止一组文本输入控件和链接,除非用户具有“管理者”角色。在一些实现方式中,如由参数值所配置的,系统可以允许用户从用户界面内发起在服务器上执行图而通过该图运行样本数据,并且允许在用户界面中将样本运行的结果702显示给用户,如图7A所示。依赖于在结果702中包括什么类型的数据,可以在用户界面的适当浏览器或者编辑器中观看结果702。在该示例中,结果702包括与样本数据内的记录相对应的行、以及与用于不同字段的记录中的值相对应的列。可以响应于客户端处的多种动作中的任一种,例如,响应于用户向参数提供值,来触发使用测试数据在服务器上运行该图。
参考图7B,在一些实现方式中,系统通过添加观察器(watcher),可以捕获流过该系统的数据。例如,数据流图710包括数据源712、726,组件714、720、728和730,以及数据宿732。用户可以在数据流图中的任何链接处添加观察点。例如,用户可以向组件720和组件730之间的链接添加观察点722。系统检测观察点722,并且生成该图的修改版本以便将数据流从组件720重定向到存储观察点的数据的中间数据宿724。在一些实现方式中,观察点722被实现为允许数据流到中间数据宿724和数据组件730的复制器。
在一些实现方式中,系统确定:对于生成观察点722的数据而言,不需要组件728、730,数据源726,以及数据宿732。系统可以选择禁止这些不必要的组件以便节约系统资源。此外,禁止不必要的组件可以具有简化开发的附加优点,这是因为未使用的组件(例如,组件728)的下游组件(例如,组件730)可能尚未被完全实现或配置。在禁止这些组件时,系统可以运行该图的一部分,而无需开发者完全配置整个图。
在一些实现方式中,系统标识对于产生观察点的数据而言不需要的链接。例如,系统可以标识不将任何源(例如,数据源712)连接到中间数据宿724的链接。可以移除向这些链接提供数据的组件。
在一些实现方式中,系统可以利用来自前一观察点的数据来确定随后观察点的数据。例如,在前一次运行该图时,开发者将观察点716添加到组件714和组件720之间的链接。观察点716的数据被存储在数据宿718中。如果在随后运行中,开发者在没有改变或修改数据源712或数据组件714的情况下添加观察点722,系统可以将数据宿718中的数据用作组件720的数据源,并且因此可以禁止数据源712和组件714。
系统可以检测数据流是正常流还是并行流。并行流是已经被划分的数据流。并行流上的观察点对于每个数据流使用独立的数据宿。例如,已经被划分为六个独立部分的并行数据流将在六个独立的数据宿中生成观察数据。
图可以被划分为阶段。之前阶段中的组件在之后阶段的组件之前完成所有运行。例如,如果组件730在组件728的之后阶段,则将高速缓存来自组件728的数据流,直至组件728已经完成对所有数据的处理。一旦组件728完成处理所有数据,则组件730将开始处理数据。在一些情形下,数据流图710包括未连接到其它组件(例如,查找表)的组件(诸如组件734)。如果组件在观察点的之后阶段,则从数据流图中排除未连接的组件,而如果组件与观察点在同一阶段或者在观察点的之前阶段,则在数据流图中包括未连接的组件。
参考图8,客户端系统802可以向用户显示上述的用户界面804。基于通过用户界面804与用户的交互而生成的参数集814可以存储在服务器808上。因此,通过用户界面804做出的改变经由网桥806从客户端802被发送到服务器808。如箭头820所示,客户端802以一种格式向网桥806发送消息,例如使用简单对象访问协议(SOAP)发送的消息。网桥806将该消息转译为新格式,并且如果需要,则与服务器808开始客户端会话。如箭头822所示,网桥806以服务器808所理解的格式向服务器808发送消息,例如COM+消息。服务器808接收该消息,并更新参数集。如箭头824所示,服务器808向网桥806发送应答,包含由于客户端802所接收的输入而对参数集发生的任何改变。网桥806解码该消息并创建对客户端802的应答消息。如箭头826所示,网桥806向客户端802发送该应答消息。客户端802更新用户界面804以反映改变,这包括显示如上所述的由于先决条件未满足之前被隐藏的任何组件。
用户还可以向客户端802指示:他希望运行使用基于当前的参数集(可能完整或者可能不完整)的样本数据构造的图。如上,客户端802经由网桥806向服务器806发送消息。服务器808应用对参数集的任何改变,并且在服务器上运行的处理816编译该数据流图。服务器运行编译的数据流图,其从样本数据集810、812接收数据。运行的数据流图产生请求的输出至输出数据集818。数据流图的输出是客户端802所请求的中间数据,并且不一定是通过完全运行数据流图将产生的数据。
在一些实现方式中,例如,如果未定义足够参数来使能完整图的编译,或者如果客户端802请求查看用于正在被客户端802配置的数据流图内的特定链接的中间数据,则服务器808可以编译数据流图的子集。为了确定要编译并运行的数据流图的子集,服务器可以使用上面关于图7B描述的处理,其中对于正在被配置的链接而不是对于观察点添加中间数据宿。
如上所述,作为结果的数据从服务器808经由网桥806被发送到客户端802。
可以使用计算机上运行的软件来实现上述的对象管理方法。例如,软件形成在一个或多个编程的或可编程的计算机系统(其可以是各种架构,诸如分布式的、客户端/服务器、或者网格)上运行的一个或多个计算机程序中的例程,每个计算机系统包括至少一个处理器、至少一个数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备或端口、以及至少一个输出设备或端口。软件可以形成更大程序的一个或多个模块,例如,该更大程序提供与计算图的设计和配置有关的其它服务。可以将该图的节点和元件实现为在计算机可读介质中存储的数据结构、或者符合在数据储存库中存储的数据模型的其它组织数据。
软件可以在通用或专用可编程计算机可读取的存储介质(诸如CD-ROM)上提供,或者可以通过网络的通信介质(在传播信号中编码的)递送到执行该软件的计算机。可以在专用计算机上、或者使用专用硬件(诸如协处理器)来执行所有功能。软件可以以分布式方式实现,在分布式方式下,软件所规定的不同计算部分由不同计算机执行。每个这样的计算机程序优选地被存储在或者被下载到通用或专用可编程计算机可读取的存储介质或设备(例如,固态存储器或介质、或者磁或光介质)上,在计算机系统读取该存储介质或设备时,所述计算机程序用于配置并操作计算机以便执行这里描述的例程。还可以考虑将本发明的系统实现为配置有计算机程序的计算机可读存储介质,其中如此配置的存储介质使得计算机系统以特定的且预先定义的方式操作,以便执行这里描述的功能。
已经描述了本发明的多个实施例。然而,将理解,在不偏离本发明的精神和范围的情况下可以做出各种修改。例如,上述的一些步骤可以是与顺序无关的,并且因此可以与上面描述的顺序不同的顺序来执行。
应理解,前述说明意图例示而非限制本发明的范围,本发明的范围由所附权利要求的范围定义。例如,可以以不同顺序执行上述的多个功能步骤,而没有在实质上影响整体处理。其它实施例也在以下权利要求的范围内。

Claims (25)

1.一种由网桥执行的用于支持客户端设备和服务器设备之间的通信的方法,包括:
提供接收用于定义数据流图的组件的相应特性的一个或多个参数的界面,该数据流图包括表示数据流图的组件的多个节点、以及表示各组件之间的数据流的节点之间的链接;
通过所述网桥从客户端设备接收第一消息;
通过所述网桥询问在服务器设备上是否存在该第一消息参考的对象;
当服务器设备上不存在所述对象时,通过所述网桥创建所述对象;
通过所述网桥将对该第一消息的响应发送到客户端设备;
通过所述网桥从服务器设备接收对该对象的改变;
通过所述网桥存储对该对象的改变;
在接收到所述改变之后,通过所述网桥从该客户端设备接收第二消息;以及
通过所述网桥利用对该第二消息的响应而向客户端设备发送所存储的改变,
其中,该对象对应于数据流图的一部分,
其中,该界面显示多个用户界面元素,并且各用户界面元素之间的关系基于数据流图的各组件之间的依赖性,以及
其中,通过在服务器设备中存储的规范来定义所述关系。
2.如权利要求1所述的方法,其中存储改变包括创建改变的日志,并且其中向客户端设备发送所存储的改变包括发送改变的日志。
3.如权利要求1所述的方法,其中,存储改变包括更新对象的当前状态,并且向客户端设备发送所存储的改变包括发送对象的当前状态。
4.如权利要求1所述的方法,其中,从客户端设备接收第一消息包括接收用于客户端对象的临时标识符;创建对象包括获得用于该对象的永久标识符;以及发送对第一消息的响应包括发送临时标识符和永久标识符之间的映射。
5.一种由网桥执行的用于支持多个客户端设备和服务器设备之间的通信的方法,包括:
通过所述网桥从客户端设备接收第一消息;
响应于该第一消息,通过所述网桥创建对象;
通过所述网桥将对该第一消息的响应发送到客户端设备;
通过所述网桥从服务器设备接收对该对象的改变;
通过所述网桥存储对该对象的改变;
在接收到所述改变之后,通过所述网桥从该客户端设备接收第二消息;以及
通过所述网桥利用对该第二消息的响应而向客户端设备发送所存储的改变,
其中,该对象对应于数据流图的一部分,该数据流图包括表示数据流图的组件的多个节点、以及表示各组件之间的数据流的节点之间的链接,
其中,接收第一消息包括接收对中间数据的请求;以及
创建对象包括:
编译数据流图的一部分;以及
通过运行编译后的数据流图的该部分来产生输出至输出数据集,
其中创建对象还包括:
确定生成中间数据所需的第一组件集合;
禁止数据流图中不在该第一组件集合中的组件;以及
创建与数据流图耦接的中间数据宿以存储该输出数据集。
6.如权利要求5所述的方法,包括在第一数据处理器上执行客户端的处理,在第二数据处理器上执行网桥的处理,在第三数据处理器上执行服务器的处理。
7.如权利要求5所述的方法,其中,存储所述改变包括以下之一或两者:创建改变的日志并且其中向客户端设备发送存储的改变包括发送所述改变的日志;以及更新对象的当前状态并且其中向客户端设备发送存储的改变包括发送对象的当前状态。
8.如权利要求5所述的方法,还包括向服务器设备注册对该对象的兴趣。
9.如权利要求8所述的方法,其中,接收对该对象的改变包括接收与服务器设备生成的事件相关联的、对该对象的改变。
10.如权利要求5所述的方法,其中,接收第一消息包括利用第一协议,并且接收对该对象的改变包括利用与第一协议不同的第二协议。
11.如权利要求5所述的方法,还包括存储对于多个客户端设备的多个对象的改变。
12.一种支持客户端设备和服务器设备之间的通信的系统,该系统包括:
包括至少一个处理器的服务器设备;以及
包括被配置用以管理该系统中的对象的至少一个处理器的网桥设备,
其中,所述管理包括:
从客户端设备接收第一消息;
询问在服务器设备上是否存在该第一消息参考的对象;
当服务器设备上不存在所述对象时,创建所述对象;
将对该第一消息的响应发送到客户端设备;
从服务器设备接收对该对象的改变;
存储对该对象的改变;
在接收到所述改变之后,从该客户端设备接收第二消息;以及
利用对该第二消息的响应而向客户端设备发送所存储的改变,
其中,该对象对应于数据流图的一部分,该数据流图包括表示数据流图的组件的多个节点、以及表示各组件之间的数据流的节点之间的链接,
其中,接收第一消息包括接收对中间数据的请求;以及
创建对象包括:
编译数据流图的一部分;以及
通过运行编译后的数据流图的该部分来产生输出至输出数据集,
其中创建对象还包括:
确定生成中间数据所需的第一组件集合;
禁止数据流图中不在该第一组件集合中的组件;以及
创建与数据流图耦接的中间数据宿以存储该输出数据集。
13.如权利要求12所述的系统,其中存储改变包括创建改变的日志,并且其中向客户端设备发送所存储的改变包括发送改变的日志。
14.如权利要求12所述的系统,其中,存储改变包括更新对象的当前状态,并且向客户端设备发送所存储的改变包括发送对象的当前状态。
15.如权利要求12所述的系统,所述网桥的至少一个处理器被配置为向服务器设备注册对该对象的兴趣。
16.如权利要求15所述的系统,其中,接收对该对象的改变包括接收与服务器设备生成的事件相关联的、对该对象的改变。
17.如权利要求12所述的系统,其中,接收第一消息包括利用第一协议,并且接收对该对象的改变包括利用与第一协议不同的第二协议。
18.如权利要求12所述的系统,所述网桥的至少一个处理器还被配置为存储对于多个客户端设备的多个对象的改变。
19.一种使用网桥支持客户端设备和服务器设备之间的通信的系统,该系统包括:
用于服务数据的部件;以及
用于管理该系统中的对象的部件,其中,所述管理包括:
从客户端设备接收第一消息;
询问在服务器设备上是否存在该第一消息参考的对象;
当服务器设备上不存在所述对象时,创建所述对象;
将对该第一消息的响应发送到客户端设备;
从用于服务数据的部件接收对该对象的改变;
存储对该对象的改变;
在接收到所述改变之后,从该客户端设备接收第二消息;以及
利用对该第二消息的响应而向客户端设备发送所存储的改变,
其中,该对象对应于数据流图的一部分,该数据流图包括表示数据流图的组件的多个节点、以及表示各组件之间的数据流的节点之间的链接,
其中,接收第一消息包括接收对中间数据的请求;以及
创建对象包括:
编译数据流图的一部分;以及
通过运行编译后的数据流图的该部分来产生输出至输出数据集,
其中创建对象还包括:
确定生成中间数据所需的第一组件集合;
禁止数据流图中不在该第一组件集合中的组件;以及
创建与数据流图耦接的中间数据宿以存储该输出数据集。
20.如权利要求19所述的系统,其中存储改变包括创建改变的日志,并且其中向客户端设备发送所存储的改变包括发送改变的日志。
21.如权利要求19所述的系统,其中,存储改变包括更新对象的当前状态,并且向客户端设备发送所存储的改变包括发送对象的当前状态。
22.如权利要求19所述的系统,还包括用于向服务器设备注册对该对象的兴趣的部件。
23.如权利要求22所述的系统,其中,接收对该对象的改变包括接收与服务器设备生成的事件相关联的、对该对象的改变。
24.如权利要求19所述的系统,其中,接收第一消息包括利用第一协议,并且接收对该对象的改变包括利用与第一协议不同的第二协议。
25.如权利要求19所述的系统,还包括用于存储对于多个客户端设备的多个对象的改变。
CN201080063818.8A 2009-12-14 2010-12-14 使用客户端-服务器网桥管理对象 Active CN102754411B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US28629309P 2009-12-14 2009-12-14
US61/286,293 2009-12-14
PCT/US2010/060270 WO2011081925A1 (en) 2009-12-14 2010-12-14 Managing objects using a client-server bridge

Publications (2)

Publication Number Publication Date
CN102754411A CN102754411A (zh) 2012-10-24
CN102754411B true CN102754411B (zh) 2016-05-04

Family

ID=43640108

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201080063806.5A Active CN102754072B (zh) 2009-12-14 2010-12-03 规定用户界面元素
CN201610878767.3A Active CN107102848B (zh) 2009-12-14 2010-12-03 规定用户界面元素
CN201080063818.8A Active CN102754411B (zh) 2009-12-14 2010-12-14 使用客户端-服务器网桥管理对象

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201080063806.5A Active CN102754072B (zh) 2009-12-14 2010-12-03 规定用户界面元素
CN201610878767.3A Active CN107102848B (zh) 2009-12-14 2010-12-03 规定用户界面元素

Country Status (8)

Country Link
US (4) US10845962B2 (zh)
EP (2) EP2513782A1 (zh)
JP (4) JP6084037B2 (zh)
KR (2) KR101862235B1 (zh)
CN (3) CN102754072B (zh)
AU (3) AU2010337218B2 (zh)
CA (3) CA2782414C (zh)
WO (2) WO2011081776A1 (zh)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2399192A4 (en) 2009-02-13 2016-09-07 Ab Initio Technology Llc COMMUNICATION WITH DATA STORAGE SYSTEMS
CA2782414C (en) 2009-12-14 2021-08-03 Ab Initio Technology Llc Specifying user interface elements
US9141403B2 (en) * 2011-02-15 2015-09-22 Microsoft Technology Licensing, Llc Data-driven schema for describing and executing management tasks in a graphical user interface
US20150135010A1 (en) * 2011-09-07 2015-05-14 Scott Thomas MacQuarrie High availability system, replicator and method
US8782595B1 (en) * 2011-10-06 2014-07-15 Google Inc. Systems and methods for rule based meta-programming of actions for rule based build systems
US10346422B2 (en) * 2012-10-18 2019-07-09 International Business Machines Corporation Use of proxy objects for integration between a content management system and a case management system
US20140114864A1 (en) * 2012-10-22 2014-04-24 International Business Machines Corporation Case management integration with external content repositories
US9811233B2 (en) * 2013-02-12 2017-11-07 Ab Initio Technology Llc Building applications for configuring processes
US11061539B2 (en) * 2013-03-15 2021-07-13 The Mathworks, Inc. Reference nodes in a computational graph
CA2932763C (en) 2013-12-05 2022-07-12 Ab Initio Technology Llc Managing interfaces for dataflow graphs composed of sub-graphs
US10067652B2 (en) * 2013-12-24 2018-09-04 Dropbox, Inc. Providing access to a cloud based content management system on a mobile device
US9423922B2 (en) * 2013-12-24 2016-08-23 Dropbox, Inc. Systems and methods for creating shared virtual spaces
US9575639B2 (en) 2014-02-27 2017-02-21 Ab Initio Technology Llc Compound controls
US9607073B2 (en) * 2014-04-17 2017-03-28 Ab Initio Technology Llc Processing data from multiple sources
US9766789B1 (en) * 2014-07-07 2017-09-19 Cloneless Media, LLC Media effects system
SG11201701667WA (en) * 2014-09-02 2017-04-27 Ab Initio Technology Llc Visually specifying subsets of components in graph-based programs through user interactions
US9760406B2 (en) 2014-09-02 2017-09-12 Ab Initio Technology Llc Controlling data processing tasks
US10496619B2 (en) 2014-09-02 2019-12-03 Ab Initio Technology Llc Compiling graph-based program specifications
AU2015311999B2 (en) * 2014-09-02 2019-09-19 Ab Initio Technology Llc Controlling data processing tasks
US9933918B2 (en) * 2014-09-02 2018-04-03 Ab Initio Technology Llc Specifying control and data connections in graph-based programs
EP3189422A1 (en) * 2014-09-02 2017-07-12 AB Initio Technology LLC Executing graph-based program specifications
EP2998817B1 (en) * 2014-09-16 2017-06-07 Aviovision System for calculating aircraft performance and method for performing the same
US9880818B2 (en) * 2014-11-05 2018-01-30 Ab Initio Technology Llc Application testing
US10055333B2 (en) 2014-11-05 2018-08-21 Ab Initio Technology Llc Debugging a graph
US10657134B2 (en) * 2015-08-05 2020-05-19 Ab Initio Technology Llc Selecting queries for execution on a stream of real-time data
US10181105B2 (en) 2015-12-11 2019-01-15 Adp, Llc Object oriented organization management with dynamic grouping
US11016646B1 (en) * 2016-03-22 2021-05-25 Open Text Corporation Method and mechanism for context driven alteration of UI artifacts instances behavior using expression based pluggable UI aspects
US10949748B2 (en) * 2016-05-13 2021-03-16 Microsoft Technology Licensing, Llc Deep learning of bots through examples and experience
US10936289B2 (en) 2016-06-03 2021-03-02 Ab Initio Technology Llc Format-specific data processing operations
JP6686762B2 (ja) * 2016-07-22 2020-04-22 富士通株式会社 情報処理システム、情報処理装置、情報処理方法及びプログラム
US11853529B2 (en) * 2016-11-07 2023-12-26 Tableau Software, Inc. User interface to prepare and curate data for subsequent analysis
US10802945B2 (en) * 2016-12-07 2020-10-13 Ab Initio Technology Llc Differencing of executable dataflow graphs
US10572280B2 (en) * 2017-02-17 2020-02-25 Google Llc Mobile application activity detector
US11947978B2 (en) 2017-02-23 2024-04-02 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US10831509B2 (en) * 2017-02-23 2020-11-10 Ab Initio Technology Llc Dynamic execution of parameterized applications for the processing of keyed network data streams
US11194551B2 (en) 2017-06-07 2021-12-07 Ab Initio Technology Llc Dataflow graph configuration
US11423083B2 (en) 2017-10-27 2022-08-23 Ab Initio Technology Llc Transforming a specification into a persistent computer program
CN108037973B (zh) * 2017-12-20 2021-11-16 苏州优圣美智能系统有限公司 一种与数据处理工具交互的数据流建模和处理系统
CA3106682A1 (en) 2018-07-19 2020-01-23 Ab Initio Technology Llc Publishing to a data warehouse
CN109656453A (zh) * 2018-12-20 2019-04-19 树根互联技术有限公司 规则编辑方法、装置和设备
US11061596B2 (en) * 2019-11-04 2021-07-13 Google Llc Multi-pass distributed data shuffle
US20210191845A1 (en) 2019-12-23 2021-06-24 Ab Initio Technology Llc Unit testing of components of dataflow graphs
CN112199215B (zh) * 2020-10-13 2024-01-19 恒生电子股份有限公司 消息处理方法、装置、设备及存储介质
CN112306578B (zh) * 2020-11-06 2022-04-19 湖南快乐阳光互动娱乐传媒有限公司 可配置数据源的DataFetcher实现系统和方法
US11567758B2 (en) 2020-12-09 2023-01-31 Adp, Inc. Configuration properties management for software
CN114063877B (zh) * 2021-10-29 2024-08-16 深圳市正浩创新科技股份有限公司 储能设备数据显示方法、装置与设备

Family Cites Families (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5291587A (en) * 1986-04-14 1994-03-01 National Instruments, Inc. Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs
US4901221A (en) * 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method
US5481741A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing attribute nodes in a graphical data flow environment
US4914568A (en) * 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US5301301A (en) * 1991-01-30 1994-04-05 National Instruments Corporation Polymorphic dataflow block diagram system and method for programming a computer
JPH05265802A (ja) * 1992-03-18 1993-10-15 Shimadzu Corp ソフトウェアデバッグ装置
US5438659A (en) * 1992-10-08 1995-08-01 Hewlett-Packard Company Object-action user interface management system
JPH06230953A (ja) * 1993-02-03 1994-08-19 Mitsubishi Electric Corp グラフィカル・ユーザインタフェース設計装置
JPH07152544A (ja) * 1993-09-17 1995-06-16 Toshiba Corp ダイヤグラム作成支援システム及びダイアグラム作成支援方法
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US5844554A (en) * 1996-09-17 1998-12-01 Bt Squared Technologies, Inc. Methods and systems for user interfaces and constraint handling configurations software
US6064812A (en) * 1996-09-23 2000-05-16 National Instruments Corporation System and method for developing automation clients using a graphical data flow program
US6102965A (en) * 1996-09-23 2000-08-15 National Instruments Corporation System and method for providing client/server access to graphical programs
US6437805B1 (en) * 1996-09-23 2002-08-20 National Instruments Corporation System and method for accessing object capabilities in a graphical program
JPH10222355A (ja) * 1997-01-31 1998-08-21 Toshiba Corp Guiアプリケーション開発装置
US6219628B1 (en) * 1997-08-18 2001-04-17 National Instruments Corporation System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
US6173438B1 (en) * 1997-08-18 2001-01-09 National Instruments Corporation Embedded graphical programming system
US6102968A (en) 1998-05-21 2000-08-15 Lucent Technologies Inc. Method for automatically closing open reactive systems
US6341279B1 (en) 1998-10-12 2002-01-22 Starwave Corporation Method and apparatus for event modeling
US6813640B1 (en) * 1998-12-08 2004-11-02 Macrovision Corporation System and method for controlling the editing by user action of digital objects created in a document server application
US7000190B2 (en) * 1999-08-19 2006-02-14 National Instruments Corporation System and method for programmatically modifying a graphical program in response to program information
US7937665B1 (en) * 2000-06-13 2011-05-03 National Instruments Corporation System and method for automatically generating a graphical program to implement a prototype
US7120876B2 (en) * 1999-08-19 2006-10-10 National Instruments Corporation System and method for programmatically generating a graphical program in response to user input
US8146007B2 (en) * 1999-08-19 2012-03-27 National Instruments Corporation Converting a first graphical program into an intermediate abstract representation for new graphical program generation
US7210117B2 (en) * 1999-08-19 2007-04-24 National Instruments Corporation System and method for programmatically generating a graphical program in response to program information
US6694321B1 (en) 1999-09-23 2004-02-17 Affymetrix, Inc. System, method, and product for development and maintenance of database-related software applications
AU2001243597A1 (en) 2000-03-03 2001-09-17 Radiant Logic, Inc. System and method for providing access to databases via directories and other hierarchical structures and interfaces
JP2001344105A (ja) * 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体
US6763515B1 (en) * 2000-06-05 2004-07-13 National Instruments Corporation System and method for automatically generating a graphical program to perform an image processing algorithm
ATE370448T1 (de) 2000-06-09 2007-09-15 Univ Columbia Fifo schaltungen mit niedriger verzögerung für gemischte synchrone und asynchrone systeme
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
WO2002017082A1 (en) * 2000-08-22 2002-02-28 Akamai Technologies, Inc. Dynamic content assembly on edge-of-network servers in a content delivery network
US20070192863A1 (en) 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
US8042098B2 (en) 2000-12-06 2011-10-18 Axiomatic Design Software, Inc. Method and apparatus for producing software
US7188091B2 (en) 2001-03-21 2007-03-06 Resolutionebs, Inc. Rule processing system
FI114265B (fi) * 2001-03-26 2004-09-15 First Hop Oy Menetelmiä ja järjestelyjä tehokkaan tiedonsiirron toteuttamiseksi nopeudeltaan rajoitetun tiedonsiirtolinkin yli
US20040210445A1 (en) * 2001-04-05 2004-10-21 Luca Veronese Method and system for specifying and implementing business applications
US6801229B1 (en) 2001-04-06 2004-10-05 Plumbdesign System for creation of visual representation of data
US7493397B1 (en) 2001-06-06 2009-02-17 Microsoft Corporation Providing remote processing services over a distributed communications network
US20040093342A1 (en) 2001-06-27 2004-05-13 Ronald Arbo Universal data mapping system
EP1563389A4 (en) * 2001-08-01 2008-06-25 Actona Technologies Ltd VIRTUAL DATA DISTRIBUTION NETWORK
US20030172193A1 (en) * 2002-03-07 2003-09-11 Olsen Jesse Dale User interface generator and method of automatically generating a user interface
US20030174165A1 (en) 2002-03-18 2003-09-18 Barney Rock D. System and method for rendering a directed graph
US7353464B1 (en) 2002-04-01 2008-04-01 Microsoft Corporation Hierarchical data navigation tool populated by a web service
US20080091491A1 (en) * 2002-04-18 2008-04-17 Bdna Corporation Method and/or system for flexible data handling
US7574652B2 (en) 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
US20040030993A1 (en) * 2002-08-08 2004-02-12 Hong Huey Anna Onon Methods and apparatus for representing dynamic data in a software development environment
AU2003259744A1 (en) 2002-08-09 2004-02-25 Corticon Technologies, Inc. Rule engine
EP1535164B1 (en) 2002-08-26 2012-01-04 International Business Machines Corporation Determining threat level associated with network activity
US7167850B2 (en) 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
US7840545B2 (en) 2002-10-25 2010-11-23 International Business Machines Corporation Method and system for providing access to a database
JP2004172695A (ja) * 2002-11-18 2004-06-17 Alpine Electronics Inc マルチメディア再生方法およびマルチメディア再生システム、操作画面カスタマイズ用プログラム
AU2002953555A0 (en) 2002-12-23 2003-01-16 Canon Kabushiki Kaisha Method for presenting hierarchical data
US7644361B2 (en) 2002-12-23 2010-01-05 Canon Kabushiki Kaisha Method of using recommendations to visually create new views of data across heterogeneous sources
JP4127194B2 (ja) * 2003-01-15 2008-07-30 セイコーエプソン株式会社 レイアウトシステム及びレイアウトプログラム、並びにレイアウト方法
GB0306971D0 (en) 2003-03-26 2003-04-30 British Telecomm Client server model
US7167580B2 (en) * 2003-04-30 2007-01-23 Unisys Corporation Image quality assurance systems and methodologies for improving the identification of and access speed to image quality suspects in documents
JP2004349355A (ja) * 2003-05-20 2004-12-09 Sharp Corp 半導体記憶装置、その冗長回路及び携帯電子機器
US20040239674A1 (en) 2003-06-02 2004-12-02 Microsoft Corporation Modeling graphs as XML information sets and describing graphs with XML schema
US7624375B2 (en) 2003-06-12 2009-11-24 National Instruments Corporation Automatically configuring a graphical user interface element to bind to a graphical program
EP1665034B1 (en) 2003-08-13 2017-03-22 National Instruments Corporation Creating a graphical user interface for selected parameters of a graphical program
ATE515746T1 (de) 2003-09-15 2011-07-15 Ab Initio Technology Llc Datenprofilierung
US7756907B2 (en) 2003-09-16 2010-07-13 The Board Of Trustees Of The Leland Stanford Jr. University Computer systems and methods for visualizing data
US7448047B2 (en) 2004-04-29 2008-11-04 Sybase, Inc. Database system with methodology for providing stored procedures as web services
US7913231B2 (en) 2004-05-11 2011-03-22 Sap Ag Testing pattern-based applications
US8296665B2 (en) * 2004-05-11 2012-10-23 Sap Ag Developing and executing applications with configurable patterns
US7530052B2 (en) * 2004-05-14 2009-05-05 National Instruments Corporation Creating and executing a graphical program with first model of computation that includes a structure supporting second model of computation
US7281018B1 (en) * 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US8533229B2 (en) * 2004-06-16 2013-09-10 Salesforce.Com, Inc. Soap-based web services in a multi-tenant database system
JP4275013B2 (ja) 2004-06-21 2009-06-10 三洋電機株式会社 データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
US7730012B2 (en) 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
US20050289356A1 (en) 2004-06-29 2005-12-29 Idan Shoham Process for automated and self-service reconciliation of different loging IDs between networked computer systems
WO2006043012A1 (en) * 2004-10-22 2006-04-27 New Technology/Enterprise Limited Data processing system and method
US7899833B2 (en) * 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
US7523440B2 (en) * 2004-11-16 2009-04-21 The Mathworks, Inc. Dynamic generation of formatted user interfaces in software environments
US7349384B2 (en) 2004-12-10 2008-03-25 Microsoft Corporation Reliable one-way messaging over request-response transport protocols
GB0501153D0 (en) * 2005-01-20 2005-03-02 Ibm System and method for subscription management in a messaging system
US20060190480A1 (en) 2005-02-22 2006-08-24 Transparency Software, Inc. Generation of names related to organization actions
US20060190488A1 (en) 2005-02-22 2006-08-24 Transparency Software, Inc. System and method for determining information related to user interactions with an application
US7877350B2 (en) * 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US7716630B2 (en) * 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
JP2007011809A (ja) * 2005-06-30 2007-01-18 Kureo:Kk 業務フローを搭載した業務管理システム
AU2006280194A1 (en) * 2005-08-11 2007-02-22 Merck & Co., Inc. Non-nucleoside reverse transcriptase inhibitors
US8078954B2 (en) 2005-09-27 2011-12-13 Oracle International Corporation System and method for page flow editor
US7739292B2 (en) 2005-09-28 2010-06-15 Altova Gmbh System and method for modeling and managing enterprise architecture data and content models and their relationships
US8095565B2 (en) * 2005-12-05 2012-01-10 Microsoft Corporation Metadata driven user interface
US7650316B2 (en) * 2006-03-10 2010-01-19 National Instruments Corporation Automatic generation of help information for specified systems
US20070233655A1 (en) * 2006-04-03 2007-10-04 National Instruments Corporation Graphical program representation of queries
JP2007280189A (ja) * 2006-04-10 2007-10-25 Toshiba Corp プログラム生成装置、プログラム生成方法、及びプログラム生成プログラム
WO2007134265A2 (en) * 2006-05-12 2007-11-22 Captaris, Inc. Workflow data binding
US7870556B2 (en) * 2006-05-16 2011-01-11 Ab Initio Technology Llc Managing computing resources in graph-based computations
JP2007316884A (ja) * 2006-05-25 2007-12-06 Hitachi Ltd 制御装置、制御方法、及び、制御プログラム
US8396848B2 (en) * 2006-06-26 2013-03-12 Microsoft Corporation Customizable parameter user interface
US7701869B2 (en) 2006-07-21 2010-04-20 National Instruments Corporation Generating a data flow diagram
AU2007286155B2 (en) 2006-08-10 2013-12-12 Ab Initio Technology Llc. Distributing services in graph-based computations
CN100527131C (zh) 2006-12-30 2009-08-12 中国建设银行股份有限公司 一种ims数据库互动式访问方法和工具
US8069129B2 (en) 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US7644254B2 (en) 2007-04-18 2010-01-05 International Business Machines Corporation Routing data packets with hint bit for each six orthogonal directions in three dimensional torus computer system set to avoid nodes in problem list
US8271943B2 (en) * 2007-04-24 2012-09-18 National Instruments Corporation Automatically generating a graphical program with a plurality of models of computation
US9594731B2 (en) * 2007-06-29 2017-03-14 Microsoft Technology Licensing, Llc WYSIWYG, browser-based XML editor
US8954482B2 (en) * 2007-09-20 2015-02-10 Ab Initio Technology Llc Managing data flows in graph-based computations
US8156481B1 (en) 2007-10-05 2012-04-10 The Mathworks, Inc. Profiler-based optimization of automatically generated code
US7886050B2 (en) * 2007-10-05 2011-02-08 Citrix Systems, Inc. Systems and methods for monitoring components of a remote access server farm
US8458727B2 (en) * 2007-11-05 2013-06-04 Microsoft Corporation Asynchronous client to server updates
JP5643654B2 (ja) * 2008-02-26 2014-12-17 アビニシオ テクノロジー エルエルシー データ関連性のグラフ表現
US20090319494A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Field mapping for data stream output
JP5331203B2 (ja) 2008-06-30 2013-10-30 アビニシオ テクノロジー エルエルシー グラフベース計算におけるデータ記録
US20100235495A1 (en) 2008-09-10 2010-09-16 Salesforce.Com, Inc. Methods and systems for reducing a load on a multi-tenant database
EP2399192A4 (en) 2009-02-13 2016-09-07 Ab Initio Technology Llc COMMUNICATION WITH DATA STORAGE SYSTEMS
CN102405631B (zh) * 2009-02-20 2015-02-18 思杰系统有限公司 用于中间设备压缩通过远程显示协议传递的数据的系统和方法
US8560941B2 (en) * 2009-04-08 2013-10-15 Microsoft Corporation Schema based user interface mechanisms
KR20120115233A (ko) 2009-11-13 2012-10-17 아브 이니티오 테크놀로지 엘엘시 레코드 포맷 정보의 관리
CA2782414C (en) 2009-12-14 2021-08-03 Ab Initio Technology Llc Specifying user interface elements
US9552280B2 (en) 2010-05-13 2017-01-24 Microsoft Technology Licensing, Llc Visual analysis and debugging of complex event flows
KR20150042297A (ko) 2010-06-15 2015-04-20 아브 이니티오 테크놀로지 엘엘시 동적으로 로딩하는 그래프 기반 계산
CN103098053B (zh) 2010-09-10 2017-06-13 起元技术有限责任公司 基于属性管理数据选择的方法和设备
US8627296B1 (en) 2010-09-15 2014-01-07 Google Inc. Unified unit and integration test with automatic mock creation
US20120131559A1 (en) 2010-11-22 2012-05-24 Microsoft Corporation Automatic Program Partition For Targeted Replay
US9997659B2 (en) * 2012-09-14 2018-06-12 The Boeing Company Group-IV solar cell structure using group-IV or III-V heterostructures
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
US9811233B2 (en) 2013-02-12 2017-11-07 Ab Initio Technology Llc Building applications for configuring processes
US20140189650A1 (en) 2013-05-21 2014-07-03 Concurix Corporation Setting Breakpoints Using an Interactive Graph Representing an Application
JP2017520032A (ja) 2014-04-17 2017-07-20 アビニシオ テクノロジー エルエルシー 処理環境の統合監視および制御
US10055333B2 (en) 2014-11-05 2018-08-21 Ab Initio Technology Llc Debugging a graph

Also Published As

Publication number Publication date
KR20120101706A (ko) 2012-09-14
CA2782402C (en) 2019-08-06
AU2010337107B2 (en) 2016-04-07
US8661154B2 (en) 2014-02-25
CN107102848A (zh) 2017-08-29
US20110145748A1 (en) 2011-06-16
CA2782414C (en) 2021-08-03
JP2017062839A (ja) 2017-03-30
KR101862235B1 (ko) 2018-05-29
EP2514176A1 (en) 2012-10-24
US20110153711A1 (en) 2011-06-23
EP2513782A1 (en) 2012-10-24
CN102754411A (zh) 2012-10-24
CN102754072B (zh) 2016-10-19
JP5813655B2 (ja) 2015-11-17
JP6084037B2 (ja) 2017-02-22
US20160248643A1 (en) 2016-08-25
WO2011081925A4 (en) 2011-08-25
KR20120104267A (ko) 2012-09-20
US20140164495A1 (en) 2014-06-12
CA3012113A1 (en) 2011-07-07
CA2782402A1 (en) 2011-07-07
JP2013513864A (ja) 2013-04-22
US10845962B2 (en) 2020-11-24
US10129116B2 (en) 2018-11-13
CN107102848B (zh) 2020-11-24
JP6200472B2 (ja) 2017-09-20
AU2016201350B2 (en) 2017-12-21
AU2010337107A1 (en) 2012-06-14
JP2013513872A (ja) 2013-04-22
WO2011081776A1 (en) 2011-07-07
CN102754072A (zh) 2012-10-24
JP2016001502A (ja) 2016-01-07
AU2010337218A1 (en) 2012-06-14
JP6313838B2 (ja) 2018-04-18
KR101784784B1 (ko) 2017-10-12
WO2011081925A1 (en) 2011-07-07
AU2010337218B2 (en) 2015-09-24
CA2782414A1 (en) 2011-07-07
AU2016201350A1 (en) 2016-03-24

Similar Documents

Publication Publication Date Title
CN102754411B (zh) 使用客户端-服务器网桥管理对象
Bellemare Building event-driven microservices
CN112534398A (zh) 用于连接器开发和集成通道部署的系统和方法
Margara et al. We have a DREAM: Distributed reactive programming with consistency guarantees
US20030229884A1 (en) Interaction manager template
CN103180826A (zh) 在代表计算机程序的数据流图中管理数据集对象
CN101421726A (zh) 偶尔连接的应用服务器
US20230319054A1 (en) Tenant-specific solution subscriptions for an extensibility platform
Qian Software architecture and design illuminated
US20230315418A1 (en) Flexible meta model (fmm) for an extensibility platform
US20230315428A1 (en) Extensibility platform
Mukhiya et al. An Architectural Style for Single Page Scalable Modern Web Application.
WO2023192418A1 (en) An extensibility platform
Millham Software asset re-use: migration of data-intensive legacy system to the cloud computing paradigm
Vissani et al. A full operational semantics for Asynchronous Relational Networks
Fan DDSOS: A dynamic distributed service-oriented modeling and simulation framework
Εμμανουήλ IoT platform and data management using microservices
US20230315514A1 (en) Configuration-driven data processing pipeline for an extensibility platform
Jiang et al. Service Selection Based On Behavior Matching.
Fleischer Applying event-driven architecture in the jvalue ods
Duarte Implementation of microservices and network management for Cyber-Physical Systems
De Porre CScript: A Distributed Programming Language for Available and Consistent Sharing of Objects
Macero et al. Starting with microservices
Guerrero Looking into the past: Enhancing mobile publish/subscribe middleware
Portilho Araujo Ferreira Unidirectional circular dataflow architecture for real-time updates

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