CN102187314B - 生成适用于数据集的资源脚本的方法和系统 - Google Patents

生成适用于数据集的资源脚本的方法和系统 Download PDF

Info

Publication number
CN102187314B
CN102187314B CN200980141549.XA CN200980141549A CN102187314B CN 102187314 B CN102187314 B CN 102187314B CN 200980141549 A CN200980141549 A CN 200980141549A CN 102187314 B CN102187314 B CN 102187314B
Authority
CN
China
Prior art keywords
script
resource
resource script
execution
design environment
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
CN200980141549.XA
Other languages
English (en)
Other versions
CN102187314A (zh
Inventor
D·K·舒克拉
A·G·班达卡
S·郭
A·帕拉斯尼斯
O·M·阿米加
R·E·恩德斯
G·M·摩尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102187314A publication Critical patent/CN102187314A/zh
Application granted granted Critical
Publication of CN102187314B publication Critical patent/CN102187314B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

在涉及可通过协议访问的数据集的场景中,可以形成用于对数据集执行各种操作的操作集,且可以根据脚本语言将该操作集表达成资源脚本。然而,由于诸如异步、网络传输、脚本语言的句法和协议的细节等的交互的复杂方面,难以设计这样的资源脚本。可以设计例如通过操纵可视元素来便于设计者生成资源脚本的设计环境。该设计环境可以抽象资源脚本的较低级工作细节,且可以允许设计者聚焦于操作集的逻辑设计。然后,该设计环境可以根据脚本语言和协议的约束自动地从操作集生成资源脚本。

Description

生成适用于数据集的资源脚本的方法和系统
背景 
许多计算场景涉及由主机管理的且基于操作集而被更新的数据集(例如文件系统、数据库、对象集等等),该操作集例如创建数据集中的一个或多个项、读取数据集中的一个或多个项、更新数据集中的一个或多个项和/或删除数据集中的一个或多个项(一起构成“CRUD”操作的标准集)。此外,可通过诸如HTTP等的特定协议访问主机,且各操作可以对应于协议中许可的一组动词(例如,HTTP POST(张贴)、HTTP GET(取)、HTTP PUT(放)和HTTP DELETE(删除))。操作集可以涉及被配置成序列以便取得特定结果(例如,将远程服务器的文件系统的部分与该文件系统的相同部分的本地存储版本双向同步起来)的一系列这样的操作。可以在不同于该主机的设备上执行此操作集,例如,通过将第一操作发给主机,且在接收完成该操作的通知时发起第二操作,等等。该操作集还可以在设备上作为应用程序的部分而被执行,例如,作为该应用程序中所展示的数据源与主机交换数据的数据驱动的应用程序。 
概述 
提供本发明内容以便以简化形式介绍下面在详细描述中进一步描述的概念的选集。本发明内容不旨在标识所要求保护的本主题的关键因素或必要特征,也不旨在用于限制所要求保护的本主题的范围。 
一种用于针对由主机管理的数据集执行操作集的技术涉及使用包括对应于协议的动词的数据集指令以及指定操作的执行流的变更流控制指令的脚本语言。根据此脚本语言表达的资源脚本可以由可解释资源脚本的操作的脚本处理器执行,以便将相应的协议动词应用到数据集且基于流控制操作变更资源脚本的执行流。此外,可以在设计时表达资源脚本,且当选择资源脚本以供执行时(即时地或在稍后的日期),然后,可以选择诸如本地执行(例如,通过将协议的相应动词发给主机)或远程执行(例如,通过将脚本传递给主机)等的执行上下文。因此可以在运行时选择执行上下文而不会损害其中指定的操作的逻辑流。 
然而,鉴于交互的底层复杂性,难以设计资源脚本。尽管努力编写实现特定逻辑(例如域专用的业务逻辑)的资源脚本,但资源脚本设计者必须理解和留意由于主机的配置以及与客户机的交互而产生的许多不相关的方面,例如网络传输、操作的异步性质、异常和补偿的处理以及和资源脚本的根据各种有线协议的串行化。 
此困难中的一些可以通过提供促进遵照脚本语言对操作集中的操作进行选择、组织和配置的资源脚本的可视设计环境来缓解。例如,可视设计环境可以向设计者呈现对应于脚本语言的指令的一组可视元素,这些可视元素可以放置(例如,借助于鼠标)成指示各操作的排序、属性和相互关系。可视设计环境还可以通过验证资源脚本并指示被不完整地或错误地配置的操作来促进设计句法上正确的资源脚本。在设计是完整的且操作集是经验证的时候,可视设计环境还可以促进资源脚本的生成、通过诸如断点和状态检查等的工具来进行的资源脚本的调试、以及资源脚本在各种执行上下文中的执行。 
为实现前述的和相关的目标,下列描述和附图陈述某些说明性的方面和实现。这些指示了可以采用一个或多个方面的方式,但仅是其中的一些。当结合附图考虑时,从下列详细明显看出本公开内容的其他方面、优点和新颖特征。 
附图说明
图1是阐释根据涉及资源脚本的协议由客户机通过主机访问数据集的示例性场景。 
图2是被配置成生成适用于可根据协议访问的数据集的资源脚本的示例性设计环境的阐释。 
图3是阐释生成适用于可根据协议访问的数据集的资源脚本的示例性方法的流程图。 
图4是阐释用于生成适用于可根据协议访问的数据集的资源脚本的示例性系统的组件框图。 
图5是涉及响应于输入在设计环境内重新排序操作集中的操作的示例性场景的阐释。 
图6是涉及响应于输入在设计环境内将操作集中的第一操作的属性数据绑定到第二操作的属性的示例性场景的阐释。 
图7是涉及在设计环境内验证操作集的示例性场景的阐释。 
图8是涉及在以断点和操作的属性的检查为特征的设计环境内对执行操作集的调试的示例性场景的阐释。 
图9阐释其中可以实现在此陈述的装置中的一个或多个的示例性计算环境。 
详细描述 
现在参考各图描述所要求保护的本主题,其中相似的参考数字自始至终被用于提及相似的元素。在下列描述中,出于解释的目的,陈述众多具体的细节以便提供对所要求保护的本主题透彻理解。然而,明显的是,无需这些具体的细节就可以实践所要求保护的本主题。在其他实例中,以框图形式示出各结构和设备以便促进描述所要求保护的本主题。 
许多计算场景涉及由主机管理的数据集,例如由文件系统主机主控的文件系统、由数据库服务器主控的数据库和由对象服务器主控的对象集。数据集可以被展示给可以对该数据集执行各种操作的各个客户机,例如设备和用户。许多这样的场景包括用于操纵数据集的基本操作集,例如创建、读取、更新和删除操作(统称为用于操纵数据集的“CRUD”模型)。此外,常常以特定的配置组合这些操作以便完成特定的任务,例如将服务器上的远程文件系统与该文件系统的本地版本同步起来,或者以事务性方式将记录插入到数据库中。 
如果根据特定的协议指定,则计算主机可以被配置成接收对执行这样的操作的请求。例如,主机可以被配置成HTTP端点(例如web服务器),且可以准许通过HTTP动词的标准集与数据集交互。超文本传输协议最初被设计成用于与web服务器(例如,经由HTTP GET请求存储在web服务器上的页面或资源)和其中提供的一组应用程序(例如可以经由HTTP POST以参数访问的HTTP网关脚本)通信,许多服务器将HTTP请求转换成用于操纵数据集的特定的指令(例如,对应于读取指令的HTTP POST;对应于创建指令的HTTP GET;对应于更新指令的HTTP PUT;以及对应于删除指令的HTTP DELETE)。有时被称为协议的代表性状态传输(“RESTful”)使用的此配置来准许服务器将对数据集的访问基于广泛支持的协议扩展到各种各样的应用程序。 
许多技术可以被设计成用于对可根据协议通过主机访问的数据集执行操作集。一种这样的技术涉及以两种类型的指令为特征的脚本语言:对应于协议的动词的数据集指令,以及流控制指令。数据集操作(指定数据集指令的那些操作)可以由主机根据协议的相应的动词处理(例如,包括读取指令的操作可以由主机处理成 HTTP GET操作),而流控制操作(指定流控制指令的那些操作)可以被评估且可以变更资源脚本的执行流(例如,通过重复特定的操作的执行,通过基于谓词有条件地进行特定指令的执行,和/或通过使得执行的流跳转重定位到目标操作)。通过表达具有至少一个数据集操作和至少一个流控制操作的资源脚本中的操作集,客户机可以准许主机在根据协议处理关于数据集的操作的相对轻量级的脚本处理器中评估资源脚本(例如,通过将各操作传递到通过协议处理请求的主机的各组件,例如web服务器),同时各流控制指令可以由脚本处理器管理。脚本语言还可以准许链接各指令;例如,条件操作可以按照前面的操作的成功或失败断言。另外,可以以平台不可知的方式指定资源脚本,以使得可以在其中可以执行资源脚本的执行上下文的执行时作出选择。如果选择了本地执行上下文,则本地脚本处理器可以在客户机上运行并将协议操作发给服务器;但是如果选择了主机执行上下文,则资源脚本可以被传递给位于主机上的脚本处理器以供远程执行。尽管资源脚本(以及利用资源脚本的应用程序)的执行可以因执行上下文的不同而不同,但执行相同的逻辑操作序列而不考虑脚本处理器的位置。 
尽管这样的资源脚本可以被有利地用来对数据集执行操作集,但由于交互的复杂性,难以设计这样的资源脚本。作为第一示例,资源脚本的设计者必须理解协议的细节,例如协议所允许的操作的类型以及协议请求所使用的数据的类型以及由协议响应所提供的数据的类型。作为第二示例,设计者必须理解并考虑通信的各种方面,例如建立和利用通信、诸如等待时间等的网络传输成本、用于跨越网络传输的数据的串行化和反串行化以及通信中断的适度处理(例如并行在线和离线操作集)。作为第三示例,设计者必须理解和考虑主机/客户机关系的各种方面,例如同步、认证以及短期运行资源脚本和长期运行资源脚本(其中主机可以挂起和存储长期运行资源脚本以供稍后再次开始和处理)两者的主机的状态性(statefulness)。作为第四示例,设计者必须理解脚本语言的细节,例如指定指令的句法、资源脚本中各操作的分层组织以及脚本语言的特定指令与协议的动词的相关性。这些和其他的复杂性可以使得设计者编写用于特定功能部件的资源脚本的努力显著复杂,且这样的复杂性与设计者希望实现的域专用的操作的本质和逻辑具有很少的关系。 
图1阐释涉及根据协议14客户机12通过主机18访问数据集20并涉及资源脚本22的使用的示例性场景10。此场景10中的客户机12试图读取数据集20,且因此将包括HTTP GET动词和指定数据集20的协议请求16发给主机18。主机18通过协议14提供对数据集20的访问(例如,通过作为将RESTful接口提供给数据 集20的web服务器的配置),且可以向客户机发送包括所请求的数据集20的协议响应28。然而,数据集20被限于在帐户存储24中标识的特定用户帐户,并且用在准许通过读取数据集20履行协议请求16之前认证由客户机12提供的一组凭证(例如用户名和密码)来给主机18分派任务。在执行此任务时,主机18利用将认证凭证传送给帐户存储24的资源脚本22,用“允许访问”消息和对数据集20的读取响应成功认证,且用“拒绝访问”消息响应失败的认证。设计者可以在利用数据集20(例如读取数据集20以供用于在客户机12上执行的数据驱动的应用程序)的许多场景中编写这样的资源脚本22。 
图1的伪代码框26阐释在协议请求16的履行期间可以被用来与帐户存储24交互的资源脚本22的内容。应明白,伪代码框26仅呈现根据可以在此内容中使用的一种脚本语言格式化的资源脚本22的一种表述,且按照这一脚本语言和其他脚本语言的许多其他资源脚本是可用的。 
然而,在图1的伪代码框26中表达的资源脚本22呈现相对于其他资源脚本和其他脚本语言的一些优点。作为第一示例,通过声明指定资源脚本,其包括一起描述执行认证操作中的过程的一组元素。与用根据诸如命令式编程范式、过程式编程范式以及面向对象编程范式和面向方面编程范式等的其他编程范式设计的脚本语言表达的资源脚本相比,由于例如可由被分层组织的文档对象模型赋予的规则结构,伪代码框26的声明式结构更易于人类阅读和更易于由解析器解析。作为第二示例,用基于协议14的脚本语言表达在图1的伪代码框26中呈现的资源脚本,这允许平台独立的执行,尤其是运行时可选择的执行上下文。例如,可以以独立于可以在其上执行资源脚本22的系统的硬件或软件体系结构的方式来设计和存储资源脚本22。在运行时,可以指定用于资源脚本22的执行上下文,并且可以在许多运行时指定的执行上下文执行资源脚本22而无需平台专用的重新配置并具有对数据集20的等效效果。作为第三示例,此伪代码框26的脚本语言的规则结构和相对简单结构(与诸如Java和C++等的编程语言的更复杂的结构相比)允许脚本处理器的相对轻量级的设计,这可以通过将它们传递到协议14来执行数据集操作(例如,供由主机18的web服务器组件处理),且可以通过变更资源脚本的执行流来执行流控制操作。尽管如此,仍然可以在相对简单的脚本语言内提供更高级的特征,例如故障补偿(通过使用流控制操作)和数据绑定(通过使用用于将操作的属性与另一操作的属性或者与客户机12、主机18、数据集20、协议请求16或协议响应28的方面关联起来的指令)。 
然而,还应明白,图1的伪代码框26对设计者来说是难以在没有协助的情况下编写的。无需协助就成功地用此伪代码框26中阐释的脚本语言表达资源脚本涉及图1的交互的许多方面的详尽知识。例如,设计者必须理解通过声明指定的资源脚本22的分层结构;脚本语言的句法和通过声明指定的资源脚本22的句法(例如各种参数的定义和诸如“Conditional(条件)”和“DataBind(数据绑定)”等的元素的封装);底层HTTP GET协议请求16的细节,以及脚本语言的指令与协议的动词的相关(例如使用通过脚本语言中的GET型语句来执行资源脚本22中的HTTP GET操作的方式);与协议请求16一起提供的用户凭证的本质,以及将用户凭证提供给帐户存储24的方式以及解释结果;使得各操作的各种属性相关以便实现资源脚本22的所期望的结果的数据绑定特征的使用;以及在网络上发出协议请求16时由资源脚本22招致的网络传输成本(例如滞后)。甚至对于熟练的设计者,设计正确地考虑所有这些概念同时还满足脚本语言的句法约束条件资源脚本22也是非常困难的。此外,所有这些复杂的细节与为促进在客户机12上的数据驱动的应用程序而开发资源脚本18以便读取数据集20的设计者的兴趣不相关。 
设计环境可以被设计成促进缓和由于其中指定的交互而产生的复杂性中的一些的资源脚本的创建。设计环境可以向设计者呈现按照脚本语言的指令集,且可以辅助设计者将这样的指令选择和安排成操作集的操作。作为一个示例,可以以允许设计者通过视窗化界面操纵各指令(例如通过键盘和鼠标手势来拖放指令以便选择、组织和关联操作集的操作)的部分图示的方式来呈现设计环境。这种性质的设计环境(有时被称为“可视的”设计环境)可以促进遮盖资源脚本的工作细节(例如脚本语言的句法、协议的细节和诸如连接建立和异步性等的网络参数)且允许设计者聚焦于资源脚本中各操作的逻辑配置的操作集的设计。另外,设计环境可以促进表达由设计者指定的操作集的操作的生成,且尤其可以自动地生成资源脚本中符合脚本语言的句法约束和逻辑约束的操作。 
图2阐释以设计环境32为特征的示例性场景30,设计环境32以可视方式呈现,且设计者可以使用设计环境32来指定操作集38并生成包括伪代码框26中指定的各操作的资源脚本22。设计环境32被配置成显示构成脚本语言(例如,在脚本语言工具箱34)的元素36和构成操作集38的操作40。设计环境32可以将操作集38显示为例如表示操作集38的操作40的结构和关系的嵌套节点的分层树。设计环境32还可以允许设计者通过将输入提供给设计环境32而构建和配置操作集38。例如,设计环境32可以允许用户通过双击脚本语言工具箱34中的元素36或 者通过将元素36拖放到操作集38中的特定位置来将操作40添加到操作集38。作为另一示例,设计环境32可以允许用户通过选择操作40(例如,通过用鼠标点击操作40)来配置操作40,且可以显示所选择的操作40的至少一个属性42(例如被指派给操作40的用于操作名称、操作类型和用于执行该操作的参数的值)。最终,可视设计器32可以准许设计者从操作集38生成资源脚本22(操作集包括逻辑上经组织和经配置的操作40,而资源脚本包括根据脚本语言的操作集38的表达式,例如伪代码框26中所阐释的)。一旦接收到对生成资源脚本22的请求,设计环境32就可以调用资源脚本生成组件44来根据脚本语言生成资源脚本22的操作。以此方式,设计环境32可以显著地促进设计者生成符合脚本语言的资源脚本22,同时自动地处理设计者不感兴趣的资源脚本22的复杂工作细节。 
图3呈现在此讨论且在图2中阐释的技术的第一实施方式,包括生成适用于可根据协议14访问的数据集20的资源脚本22的示例性方法50。示例性方法50在52开始,且涉及显示54包括对应于脚本语言的元素36的设计环境32,元素36又可以包括对应于协议14的至少一个动词的至少一个数据集指令,以及被配置成变更资源脚本22的执行流的至少一个流控制指令。示例性方法50还涉及在设计环境32内显示56操作集38的操作40。示例性方法50还涉及一旦接收选择元素36的输入就将指定对应于元素36的指令的操作40添加58到操作集38。示例性方法50还涉及一旦接收请求生成资源脚本22的输入就生成60资源脚本22。已经提供了接受将对应于脚本语言的该指令的操作40添加到操作集38的输入的设计环境32,且已经根据脚本语言从操作集38生成了资源脚本22,示例性方法50实现了促进设计者生成资源脚本22,且因此在62结束。 
图4呈现阐释在此讨论且在图2中阐释的技术的第二实施方式的场景70,包括用于生成适用于可根据协议14通过主机20访问的数据集22的资源脚本22的示例性系统72。示例性系统72包括设计环境显示组件76,设计环境显示组件76被配置成显示包括对应于脚本语言的元素36的设计环境32,元素36又可以包括对应于协议14的至少一个动词的至少一个数据集指令,以及被配置成变更资源脚本22的执行流的至少一个流控制指令。示例性系统72还包括操作集显示组件78,操作集显示组件78被配置成在设计环境32内显示操作集38的操作。示例性系统72还包括操作集构建组件80,操作集构建组件80被配置成一旦接收对设计环境32中的至少一个元素36的选择就将对应于元素36的指令添加到操作集38。示例性系统72还包括操作集存储组件76,操作集存储组件76被配置成存储操作集38。 示例性系统72还包括资源脚本生成组件82,资源脚本生成组件82被配置成一旦接收对生成资源脚本22的请求就生成资源脚本22。示例性系统72的组件由此合作实现向设计者呈现设计环境32,设计环境32可以促进操作集38中的操作40的组织和配置以及根据脚本语言的约束条件表达操作集38的资源脚本22的生成。 
在此讨论的技术可以被设计成带有许多方面的变更,且一些变更可以相对于这些和其他技术的其他变更呈现另外的优点和/或减少的缺点。此外,可以以组合来实现一些变更,且一些组合可以通过协同合作展示另外的优点和/或减少的缺点。各变更可以被合并在各种实施方式中(例如,图3的示例性方法50和图4的示例性系统72)以便给这样的实施方式授予个体的和/或协同的优点。 
可以随这些技术的实施方式改变的第一方面涉及其中可以应用这些技术的场景。作为第一示例,资源脚本22可以准备好应用于包括可部署的计算环境中的资源的数据集20。此场景可以被设计成解决由一组对象系统管理的日益庞大的和多样的一组对象。例如,计算环境可以包括由文件系统管理的一组文件、由数据库系统管理的一个或多个数据库、表示应用程序并由程序集缓存管理的一组可执行二进制文件、由操作系统的用户简档组件管理的一组用户简档和由数据缓存组件管理的各种数据缓存(例如由操作系统的复制缓冲器管理的一组复制项、由操作系统的撤销组件管理的一组撤销动作和由操作系统的项使用跟踪组件管理的一组“最近所使用的”项)。此外,可以在由一个或多个用户操作的多个设备中且根据一个或多个操作交换这样的对象(例如,合并两个对象集的对象同步操作和调节目标对象集以匹配源对象集的对象镜像操作)。以此方式,通过一组对象系统松散地组织并聚集各对象以表示计算环境。 
为了减少包括现代计算环境的对象的复杂种类和分散化,可以设计计算环境的可部署的表示,其中以可以由计算环境主机主控的对象分层组织构成计算环境的各对象。如果以统一的方式表示各对象并以一致的方式由对象系统管理各对象,则一组服务可以被设计成应用到计算环境的所有对象。此外,对象分层可以被传递到各种设备以代表相同的计算环境(包括相同的用户简档、应用程序、数据文件等等),且每一设备可以以一致的方式呈现计算环境但基于设备的能力定制(例如,用于从被附连到工作站的键盘设备接收数据输入的硬键盘接口,以及从蜂窝式电话设备接收数据输入的触摸屏软件键盘接口)。对于可部署的计算环境的概念,将至少一个服务器配置成管理该表示内的一个或多个数据对象并且作为通过协议(诸如HTTP上的RESTful交互)接受对这样的资源的访问的主机而操作是有益的。根据这些技 术,资源脚本22可以被配置成应用到可部署的计算环境中的资源的操作,可以根据协议的动词通过计算环境主机来访问该可部署的计算环境,该主机通过该协议提供对资源的访问。然而,本领域的普通技术人员可以设计其中可以应用在此讨论的技术的许多这样的场景。 
作为其中可以应用这些技术的第二示例性场景,开发环境32可以被设计成在许多上下文与设计者相互作用。作为第一示例,设计环境32可以包括在设备上执行的应用程序,例如计算机上的集成开发环境。在此示例中,可以在设计环境32上主控的设备上显示设计环境32。作为第二示例,设计环境可以包括web部署的应用程序,它可以被主控在应用程序主机上且可以部分地或完全地被加载到浏览器中以供执行。在此示例中,设计环境32可以被主控在应用程序主机上但被显示在浏览器内。浏览器还可以被配置成加载和执行设计环境32的诸如存储资源脚本和生成操作集等的一些或全部能力。相反,应用程序主机可以提供设计环境32的一些或全部能力;例如,浏览器可以作为在应用程序主机上执行的web应用程序的薄客户机界面而操作。本领域的普通技术人员可以设计设计环境32的许多体系结构,且可以选择设计环境32的部分或全部可以在其上操作并与设计者接口的许多平台,同时实现在此讨论的技术。 
可以随这些技术的实施方式改变的第二方面与设计环境32的呈现和设计者可以在设计环境32内执行的动作相关。尽管将设计环境32呈现成诸如文本编辑器等的基于文本的设计环境是可能的,但是可以通过以部分地图形的方式呈现设计环境32来实现显著的优点,其中设计环境32中的项可以作为视窗化操作界面中的控件而由设计者操纵,例如通过键盘和鼠标手势拖放指令来选择、组织和关联操作集38的操作40。设计环境32的此“可视的”布局可以显著地减少执行基本操作所涉及的输入量(例如,在文本编辑器中将操作40添加到操作集38可以涉及六十次键击,但是在面向视觉的设计环境32中仅涉及拖放操作)以及与数据输入相关联的错误,由此为设计者提供显著的便利和改进的体验,同时加速操作集38的开发。 
为促进面向视觉的设计环境32,此第二方面的第一示例可以涉及(例如,从设计者)接收指示将操作集中的操作重定位到目的地位置以及通过重定位操作集中的操作来响应的输入。图5阐释示例性场景90,其中用户首先用指针94(其可以通过诸如鼠标、触摸板或触摸屏界面等的指点设备来控制)选择操作92,且然后向下拖曳所选择的操作92以将所选择的操作92重定位到操作集38的序列中的稍后位置。开发环境32可以通过按操作集38的排序重定位所选择的操作92来响应,如 在设计环境内32内所显示的。作为第二示例,一旦接收选择操作集38中的操作92的输入(例如,通过用指针94点击操作92),设计环境32就可以通过显示操作92的至少一个属性来响应。另外,一旦接收配置操作94的至少一个属性的输入,设计环境32就可以通过根据该输入配置操作94的至少一个属性来响应。这种配置操作94的方式的一些示例涉及将操作94的属性数据绑定到数据源,以使得将操作94的属性与数据源单向或双向同步起来。例如,至少一个数据集指令可以包括与将协议14的动词应用到数据集20的请求相关的请求属性(例如,协议请求16方面),以及与通过将动词应用到数据集20生成的响应相关的响应属性(例如,协议响应28方面)。数据绑定这样的属性可以允许操作集38对协议请求16和/或协议响应28执行操作,且可以在设计环境32内响应于输入而形成这样的数据绑定。 
图6阐释一个这样的示例,其中操作集38中的第一操作102已经被指针94选择。设计环境32可以显示第一操作102的属性,例如第一操作102的名称、类型和执行中所使用的参数。用户可以通过选择诸如GET操作的CONTENT(内容)属性等的第二操作104的属性来配置此数据绑定操作的数据源属性。设计环境32可以通过配置第一操作102的属性以便数据绑定到第二操作104的属性来响应这样的输入。替代地或另外地,设计环境32可以从用户接收表示将操作40的属性数据绑定到执行资源脚本22的客户机12的一方面(例如在客户机12上运行的数据驱动的应用程序的一方面)的输入。设计环境32可以通过配置操作40的属性以便数据绑定到客户机12的一方面来响应。本领域的普通技术人员可以设计根据在此讨论的技术配置的设计环境32(尤其是面向视觉的设计环境32)的许多能力。 
可以随这些技术的实施方式改变的第三方面与设计环境32的操作集验证特征相关,由此可以在设计时审阅操作集38以便根据脚本语言来指示操作集38是有效的还是无效的以及是否可以从其生成资源脚本22。当用户构建和配置操作集38的操作40时,设计环境32可以(周期性地、连续地或应请求)监视操作集38的有效性,例如操作40的数据约束属性的有效性和操作40的完整的或不完整的配置。图7阐释示例性场景110,其中设计环境在设计时验证操作集38。在此示例性场景中,一个特定的操作包括无效操作(具有未指定的数据源的“DATABIND(数据绑定)”操作)。在此实施方式和其他实施方式中,一旦未能验证操作集112的至少一个无效操作,设计环境32就可以显示操作集38的无效操作的无效操作指示符114。此无效操作指示符114可以使设计者注意在可将操作集38表达成资源脚本22之前需要改正的无效操作。还可以在设计环境32内显示另外的指示符,例如指示资源脚 本38还不是有效的且不能被表达的无效操作集指示符112,以及指示被无效地配置的无效指令的属性的无效操作属性指示符116(例如,无效的“DATABIND”指令的“DESTINATION(目的地)”参数)。替代地,如果设计环境32验证操作集38,则设计环境32可以显示有效操作集指示符118,这表示,根据脚本语言操作集38是有效的,且可以被表达为资源脚本22。本领域的普通技术人员可以在根据在此讨论的技术开发的设计环境32内设计许多操作集验证特征。 
可以随这些技术的实施方式改变的第四方面与根据脚本语言从操作集38生成资源脚本22相关。可以在设计时经请求执行生成,且该生成可以向用户呈现用脚本语言指定的资源脚本22(例如,图1和图2的伪代码框26)。在一些实施方式中,还可以根据诸如JSON、Atom或RSS等的有线协议来执行生成。希望根据受可以在其上执行资源脚本22的特定主机18支持的有线协议来生成资源脚本22,且可以向资源脚本22的处理(例如众所周知的格式化和串行化过程)赋予优势。因而,在一些实施方式中,设计环境32可以接收请求根据有线协议生成资源脚本22的输入,并可以通过根据有线协议生成资源脚本32来响应。本领域的普通技术人员可以根据在此讨论的技术设计从操作集38生成资源脚本22的许多方式。 
可以随这些技术的实施方式改变的第五方面与资源脚本22的执行以及其中设计环境32的参与相关。当用平台不可知的脚本语言来表达资源脚本22时,可以在其中可以执行资源脚本22的执行上下文的执行时作出选择。如果选择了本地执行上下文,则本地脚本处理器可以在客户机12上运行并将协议操作发给主机18;但是如果选择了主机执行上下文,则可以将资源脚本22传递到位于主机18上的脚本处理器用于远程执行。尽管资源脚本22(以及利用资源脚本22的应用程序)的执行可以基于执行上下文而不同,但对数据集20执行各操作的相同逻辑序列而不考虑脚本处理器的位置,得到对数据集20执行资源脚本22的等效效果。 
考虑到资源脚本22的灵活的执行上下文,设计环境32可以允许设计者在特定的执行上下文中执行资源脚本22。例如,一旦接收请求执行资源脚本22的输入,设计环境32就可以呈现至少两个执行上下文,且可以等待由设计者作出的选择。一旦接收选择所选择的执行上下文的输入,设计环境32就可以根据所选择的执行上下文在脚本处理器上执行资源脚本22。例如,在输入指示选择主机执行上下文时,设计环境32可以通过将资源脚本22发送到主机18上的脚本处理器来执行资源脚本22。更具体地,主机可以被配置成接收根据诸如JSON、Atom和RSS等的一个或多个有线协议而格式化(例如,串行化)的资源脚本22。因此,通过选择受主 机18支持的有线协议、根据有线协议串行化资源脚本22以及将根据有线协议而串行化的资源脚本22发送到主机18上的脚本处理器,设计环境32可以在主机执行上下文中执行资源脚本22。替代地,当输入指示选择本地执行上下文时,设计环境32可以在本地脚本处理器上执行资源脚本22,本地脚本处理器可以被配置成通过将协议14的相应的动词发到主机18来处理数据集操作(可通过主机18来访问数据集20),并被配置成通过变更资源脚本22的执行流(例如,通过更改指示接下来将要执行的特定操作40的指令指针)来处理流控制操作。 
其中在本地执行上下文中执行资源脚本22是有益的特定场景涉及资源脚本22的调试,其中设计者可能希望在执行期间监视资源脚本22的一些方面(例如,通过资源脚本22的执行流、各种操作40的属性、或者与主机18和/或数据集20的交互)。与主机执行上下文相比,在本地执行上下文中执行资源脚本22可以促进这样的监视,这是因为主机18可能对于调试不被适当地配置或者可能不准许调试技术。 
设计环境32可以提供在资源脚本22正在本地执行上下文执行时可以利用的许多调试技术。图8阐释以可以被应用到执行操作集38的一些调试技术为特征的示例性场景120。作为第一示例,设计环境32可以准许使用断点,断点在感兴趣的特定点处停止执行操作集22。例如,一旦在操作40接收表示设置断点的输入时,设计环境32就可以将断点与操作40关联起来。图8阐释与操作集38的特定操作40相关联的一些断点122。如果设计环境32检测到与断点相关联的资源脚本22的操作40的执行,则设计环境32可以中断资源脚本22的执行。设计环境还可以为设计者显示同与所遭遇的断点122相关联的资源脚本22的操作40对应的操作集38的操作40。此外,一旦接收请求再次开始资源脚本22的执行的输入,设计环境32就可以再次开始资源脚本22的执行。在资源脚本38的执行期间或在资源脚本38的执行已经在断点122被中断时,可以被应用到执行资源脚本22的相关调试技术涉及资源脚本38的各种属性的检查。在这些场景中,且正如在图8中所阐释的,设计环境32可以接收表示选择执行资源脚本22的属性(例如,诸如与所遭遇的断点122相关联的操作40等的操作40的属性)的输入。设计环境32可以通过显示执行资源脚本32的属性来响应,由此准许设计者检查执行资源脚本32的各种方面。本领域的普通技术可以包括可以被应用到在根据在此讨论的技术实现的设计环境内的执行脚本的许多调试技术。 
尽管已经用对结构特征和/或方法论动作来说专用的语言描述了本主题,但应理解,在所附权利要求中界定的本主题不必限于以上所描述的具体的特征或动作。相反,以上所描述的具体的特征和动作是作为实现权利要求的示例形式而公开的。 
此申请中使用的术语“组件”、“模块”、“系统”、“界面”等等一般地预期是指计算机相关的实体,可以是硬件、硬件和软件的组合、软件或执行中的软件中的任一种。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行程序、执行的线程、程序和/或计算机。作为阐释,在控制器上运行的应用程序和控制器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一个计算机和/或分布在两个或更多计算机之间。 
此外,可以使用产生软件、固件、硬件或任何其组合的标准编程和/或工程技术来将所要求保护的本主题实现为方法、装置或制品,以便控制计算机实现所公开的本主题。在此所使用的术语“制品”预期包含可从任何计算机可读设备、载体或介质访问的计算机程序。当然,本领域中的技术人员应认识到,可以在不偏离所要求保护的本主题的范围或精神的前提下对此配置做出许多修改。 
图9和下列讨论提供实现在此陈述的装置的一个或多个的实施方式的合适的计算环境的简要且一般的描述。图9的操作环境仅是合适的操作环境的一个示例,且不旨在暗示对操作环境的使用范围或功能性的任何限制。示例计算设备包括但不限于个人计算机、服务器计算机、手持式设备或膝上型设备、移动设备(例如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费性电子设备、小型计算机、大型机计算机、包括任何以上系统或设备中的分布式计算环境等等。 
尽管不作要求,但在由一个或多个计算设备执行的“计算机可读指令”的一般上下文中描述各实施方式。计算机可读指令可以经由计算机可读介质(在下面讨论)而被分布。计算机可读指令可以被实现为程序模块,例如执行特定任务或实现特定抽象数据类型的函数、对象、应用程序编程界面(API)、数据结构等等。通常,在各种环境中,可以根据期望组合或分布该计算机可读指令的功能性。 
图9阐释包括被配置成实现在此提供的一个或多个实施方式的计算设备132的系统130的示例。在一种配置中,计算设备132包括至少一个处理单元136和存储器138。取决于计算设备的确切配置和类型,存储器138可以是易失性存储器(例如,诸如RAM)、非易失性存储器(例如,诸如ROM、闪速存储器等等)或两者的某种组合。在图9中由虚线134阐释此配置。 
在其他实施方式中,设备132可以包括另外的特征和/或功能性。例如,设备132还可以包括另外的存储(例如,可移动存储和/或不可移动存储),包括但不限于磁存储、光存储等等。在图9中由存储140阐释这样的另外的存储。在一种实施方式,实现在此提供的一个或多个实施方式的计算机可读指令可以是在存储140中。存储140还可以存储实现操作系统、应用程序程序等等的其他计算机可读指令。例如,计算机可读指令可以被加载到存储器138中以便由处理单元136执行。 
在此所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于诸如计算机可读指令或其他数据等的信息的存储任何方法或技术实现的易失性介质和非易失性介质、可移动介质和不可移动介质。存储器138和存储140是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪速存储器或其他存储器技术、CD-ROM、数字多用盘(DVD)或其他光存储、磁带盒、磁带盒、磁盘存储或其他磁存储设备、或可以用于存储所期望的信息且可以由设备132访问的任何其他介质。任何这样的计算机存储介质都可以是设备132的部分。 
设备132还可以包括允许设备132与其他设备通信的通信连接146。通信连接146可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射机/接收机、红外端口、USB连接或用于将计算设备132连接到其他计算设备的其他接口。通信连接146可以包括有线连接或无线连接。通信连接146可以发射和/或接收通信介质。 
术语“计算机可读介质”可以包括通信介质。通信介质通常以诸如载波等的“经调制的数据信号”或其他传输机制具体化计算机可读指令或其他数据,且包括任何信息传递介质。术语“经调制的数据信号”可以包括以将信息编码在信号中的方式来设置或改变其一种或多种特性的信号。 
设备132可以包括输入设备144,例如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外照相机、视频输入设备和/或任何其他输入设备。设备132中还可以包括诸如一个或多个显示器、扬声器、打印机和/或任何其他输出设备等的输出设备142。输入设备144和输出设备142可以经由有线连接、无线连接或其任何组合而被连接到设备132。在一种实施方式中,来自另一计算设备的输入设备或输出设备可以被用作计算设备132的输入设备144或输出设备142。 
计算设备132的各组件可以由诸如总线等的各种互连来连接。这样的互连可以包括诸如PCI Express等的外围组件互连(PCI)、通用串行总线(USB)、火线(IEEE 1394)、光学总线结构等等。在另一实施方式中,计算设备132的各组件可以由网络互连。例如,存储器138可以由位于由网络互连的不同物理位置的多个物理内存单元组成。 
本领域中的技术人员应认识到,被用来存储计算机可读指令的存储设备可以跨越网络而分布。例如,可经由网络148访问的计算设备150可以存储计算机可读指令以便实现在此提供的一个或多个实施方式。计算设备132可以访问计算设备150并下载计算机可读指令的部分或全部以供执行。替代地,计算设备132可以根据需要下载计算机可读指令的片段,或者可以在计算设备132执行一些指令且在计算设备150一些指令。 
在此提供各实施方式的各种操作。在一种实施方式中,所描述的各操作中的一个或多个可以构成被存储在一个或多个计算机可读介质上的计算机可读指令,如果这些计算机可读指令被计算设备执行,则将引起计算设备以执行所描述的各操作。描述各操作中的一些或全部的次序不应被解释成暗示这些操作是必定次序相关的。本领域中的技术人员应明白具有此描述中的益处的替代排序。进一步,应理解,并非所有操作都必定出现在在此提供的每一实施方式中。 
此外,在此使用词“示例性”来意指充当示例、实例或阐释。在此被描述为“示例性”的任何方面或设计的并不必定被解释成比其他方面或设计有益。相反,词“示例性”的使用旨在以具体的方式呈现各概念。在此申请中所使用的,术语“或”旨在意指包括在内的“或”而非排除在外的“或”。即是说,除非以另外方式指定或从上下文清楚看出,否则“X采用A或B”旨在意指自然地包括在内的排列中的任何。即是说,如果X采用A;X采用B;或X采用A和B两者,那么,“X采用A或B”满足任何前述各实例。另外,在此申请和所附权利要求中使用的冠词“一(a)”和“一个(an)”可以一般地被解释成意指“一个或多个”,除非以另外方式指定或从上下文清楚看出针对单数形式。 
应明白,资源脚本可以包括资源脚本。 
而且,尽管已经相对于一个或多个实现示出和描述了本公开内容,但本领域中的其他技术人员应基于此说明书和附图的阅读和理解想起等效的变更和修改。本公开内容包括所有这样的修改和变更,且仅由下列权利要求的范围限制。尤其考虑由上面所描述的组件(例如,元素、资源等等)执行的各种函数,除非以另外方式指示,用于描述这样的组件的各术语旨在对应于执行所描述的组件所指定的函数的任何组件(例如,功能上等效的组件),即使结构上不等效于执行本公开内容的在此所 阐释的示例性实现中的函数的所公开的结构。另外,尽管已经相对于若干实现中的仅一个公开了本公开内容的特定特征,但这样的特征可以与所期望的且任何给定的或特定的应用程序有益的其他实现的一个或多个其他特征组合。此外,就详细描述或权利要求中的任一个中使用术语的“包括”、“具有”、“拥有”、“带有”或其变种来说,这样的术语旨在是以类似于术语“包括”的方式包括在内。 

Claims (14)

1.一种生成适用于数据集的资源脚本的方法,所述方法包括:
显示包括分别对应于脚本语言的操作的元素的设计环境,所述操作包括:
影响所述数据集的至少一个数据集指令,以及
被配置成变更所述资源脚本的执行流的至少一个流控制指令;
在所述设计环境内显示操作集的操作;
一旦接收选择元素的输入,就将指定对应于所述元素的指令的操作添加到所述操作集;以及
一旦接收请求生成所述资源脚本的输入,就:
选择在其上执行所述资源脚本的主机支持的有线协议;以及
根据所述有线协议生成所述资源脚本。
2.如权利要求1所述的方法,所述数据集包括在由所述主机主控的可部署计算环境中表示的至少一个资源。
3.如权利要求1所述的方法,包括:一旦接收将所述操作集中的操作重定位到目的地位置的输入,就重定位所述操作集中的所述操作。
4.如权利要求1所述的方法,包括:
一旦接收选择所述操作集中的操作的输入,就显示所述操作的至少一个属性;以及
一旦接收配置所述操作的至少一个属性的输入,就配置所述操作的所述至少一个属性。
5.如权利要求4所述的方法:
至少一个数据集指令的所述属性包括:
与将所述有线协议的动词应用到所述数据集的请求相关的请求属性,以及
与通过将所述动词应用到所述数据集来生成的响应相关的响应属性。
6.如权利要求4所述的方法,包括:一旦接收将操作的属性数据绑定到执行所述资源脚本的客户机的方面的输入,就将所述操作的所述属性配置成数据绑定到所述客户机的所述方面。
7.如权利要求1所述的方法,包括:根据所述脚本语言验证所述操作集的所述操作。
8.如权利要求7所述的方法,包括:
一旦验证所述操作集的所述操作,就在所述设计环境内显示有效操作集指示符;以及
一旦未能验证所述操作集的至少一个无效操作,就在所述设计环境内显示所述操作集的所述至少一个无效操作的无效操作指示符。
9.如权利要求1所述的方法,包括:
一旦接收请求执行所述资源脚本的输入,就呈现至少两个执行上下文;以及
一旦接收选择所选择的执行上下文的输入,就根据所选择的执行上下文在脚本处理器上执行所述资源脚本。
10.如权利要求9所述的方法:
所述数据集可根据所述有线协议通过主机来访问;
所选择的执行上下文包括本地执行上下文;以及
所述执行包括:在本地脚本处理器上执行所述资源脚本,所述本地脚本处理器被配置成:
对于各个数据集操作,将所述有线协议的相应动词发给所述主机,以及
对于各个流控制操作,变更所述资源脚本的执行流。
11.如权利要求10所述的方法,包括:
一旦接收在操作处设置断点的输入,就将断点与所述操作关联起来;
一旦执行与所述断点相关联的操作,就:
中断所述资源脚本的执行,以及
一旦接收请求再次开始所述资源脚本的执行的输入,就再次开始所述资源脚本的执行。
12.如权利要求11所述的方法:
所选择的执行上下文包括主机执行上下文;以及
所述执行包括:
根据所述有线协议串行化所述资源脚本;以及
将根据所述有线协议串行化的所述资源脚本发送给所述主机上的脚本处理器。
13.一个用于生成适用于数据集的资源脚本的系统,所述系统包括:
被配置成显示包括分别对应于脚本语言的操作的元素的设计环境的设计环境显示组件,所述操作包括:
影响所述数据集的至少一个数据集指令,以及
被配置成变更所述资源脚本的执行流的至少一个流控制指令;
被配置成在所述设计环境内显示操作集的操作的操作集显示组件;
被配置成一旦接收对所述设计环境中的至少一个元素的选择就将对应于所述元素的指令添加到所述操作集的操作集构建组件;以及
被配置成存储所述操作集的操作集存储组件;
被配置成一旦接收生成所述资源脚本的请求就选择在其上执行所述资源脚本的主机支持的有线协议并且根据所述有线协议生成所述资源脚本的资源脚本生成组件。
14.如权利要求13所述的系统,包括:资源脚本执行组件,所述资源脚本执行组件被配置成:
一旦接收请求执行所述资源脚本的输入,就呈现至少两个执行上下文;以及
一旦接收选择所选择的执行上下文的输入,就根据所选择的执行上下文在脚本处理器上执行所述资源脚本。
CN200980141549.XA 2008-10-17 2009-10-16 生成适用于数据集的资源脚本的方法和系统 Active CN102187314B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/253,545 US8533666B2 (en) 2008-10-17 2008-10-17 Interactive design environments to visually model, debug and execute resource oriented programs
US12/253,545 2008-10-17
PCT/US2009/061024 WO2010045569A2 (en) 2008-10-17 2009-10-16 Interactive design environments to visually model, debug and execute resource oriented programs

Publications (2)

Publication Number Publication Date
CN102187314A CN102187314A (zh) 2011-09-14
CN102187314B true CN102187314B (zh) 2014-08-13

Family

ID=42107277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980141549.XA Active CN102187314B (zh) 2008-10-17 2009-10-16 生成适用于数据集的资源脚本的方法和系统

Country Status (5)

Country Link
US (1) US8533666B2 (zh)
EP (1) EP2340487A4 (zh)
KR (1) KR101635237B1 (zh)
CN (1) CN102187314B (zh)
WO (1) WO2010045569A2 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8776015B1 (en) * 2007-02-08 2014-07-08 The Mathworks, Inc. Pattern modeling methods and systems
US8954925B2 (en) * 2010-06-18 2015-02-10 Microsoft Technology Licensing, Llc User augmented reverse engineering
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
US9529355B2 (en) 2011-11-11 2016-12-27 Rockwell Automation Technologies, Inc. Control environment change communication
CN103543684B (zh) * 2011-11-11 2017-10-24 洛克威尔自动控制技术股份有限公司 用于传达对象的状态信息的变化的方法和自动控制部件
US10417314B2 (en) * 2012-06-14 2019-09-17 Open Text Sa Ulc Systems and methods of a script generation engine
US9052891B2 (en) * 2013-05-14 2015-06-09 International Business Machines Corporation Declarative configuration and execution of card content management operations for trusted service manager
US10606569B2 (en) * 2013-06-02 2020-03-31 Microsoft Technology Licensing, Llc Declarative configuration elements
US9910640B2 (en) 2014-05-15 2018-03-06 International Business Machines Corporation Modeling representational state transfer application programming interfaces
US11188308B2 (en) * 2014-07-23 2021-11-30 Apple Inc. Interactive code editing
US10325002B2 (en) 2014-09-29 2019-06-18 Sap Se Web service framework
CN108282314B (zh) * 2017-01-06 2022-04-29 中兴通讯股份有限公司 资源指示方法、装置、基站及终端
US10474436B1 (en) * 2017-06-06 2019-11-12 Prattle Analytics, LLC System and method for generative programming in an integrated development environment (IDE)
US11416226B2 (en) * 2017-07-07 2022-08-16 Nchain Licensing Ag System and method for compiling high-level language code into a script executable on a blockchain platform
CN110945478B (zh) * 2018-07-11 2021-07-06 埃森哲环球解决方案有限公司 管理用于软件应用开发的软件组件
CN110045962B (zh) * 2019-01-15 2022-08-30 创新先进技术有限公司 一种支持多语言脚本执行的方法和装置
US11356456B2 (en) * 2019-04-18 2022-06-07 Microsoft Technology Licensing, Llc Multi-participant and cross-environment pipelines
CN111796811B (zh) * 2020-07-08 2021-07-30 上海富数科技有限公司 联邦学习中实现支持断点调试的流控制引擎系统
CN114676418B (zh) * 2022-05-27 2022-09-02 太平金融科技服务(上海)有限公司深圳分公司 操作请求处理方法、装置、设备、存储介质和程序产品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1755722A (zh) * 2004-10-01 2006-04-05 微软公司 可扩展工作流模型的声明性表示

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5369570A (en) 1991-11-14 1994-11-29 Parad; Harvey A. Method and system for continuous integrated resource management
IL111154A0 (en) 1993-10-21 1994-12-29 Martino Ii John A Systems and methods for electronic messaging
US5564044A (en) 1994-04-15 1996-10-08 Wang Laboratories, Inc. Integration of result data from first program operations on dynamic source data into data of a second program
US5640572A (en) 1994-05-04 1997-06-17 National Instruments Corporation System and method for mapping driver level event function calls from a process-based driver level program to a session-based instrumentation control driver level system
US5862379A (en) * 1995-03-07 1999-01-19 International Business Machines Corporation Visual programming tool for developing software applications
FR2755268B1 (fr) * 1996-10-31 1998-11-27 Bull Sa Outil d'integration d'applications pour plate-forme informatique
US7080036B1 (en) * 1996-11-27 2006-07-18 Diebold, Incorporated Automated banking machine development method
US5991802A (en) 1996-11-27 1999-11-23 Microsoft Corporation Method and system for invoking methods of objects over the internet
US5826239A (en) 1996-12-17 1998-10-20 Hewlett-Packard Company Distributed workflow resource management system and method
US6134559A (en) 1998-04-27 2000-10-17 Oracle Corporation Uniform object model having methods and additional features for integrating objects defined by different foreign object type systems into a single type system
US7035943B2 (en) * 1998-05-29 2006-04-25 Yahoo! Inc. Web server content replication
US6178546B1 (en) * 1998-08-31 2001-01-23 Alcatel Usa Sourcing, L.P. System and method of making software product deliverables
US6668354B1 (en) 1999-01-05 2003-12-23 International Business Machines Corporation Automatic display script and style sheet generation
US6560777B2 (en) 1999-04-07 2003-05-06 Webtv Networks, Inc. Broadcast enhancement trigger addressed to multiple uniquely addressed information resources
US6910068B2 (en) 1999-06-11 2005-06-21 Microsoft Corporation XML-based template language for devices and services
US7181438B1 (en) 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
US6629127B1 (en) 1999-07-26 2003-09-30 Microsoft Corporation Methods and systems for processing HTTP requests
US6654950B1 (en) * 1999-08-24 2003-11-25 Bae Systems Mission Solutions Inc. Software rehosting system and method
US6601234B1 (en) * 1999-08-31 2003-07-29 Accenture Llp Attribute dictionary in a business logic services environment
US7289964B1 (en) 1999-08-31 2007-10-30 Accenture Llp System and method for transaction services patterns in a netcentric environment
US20010047394A1 (en) 1999-09-10 2001-11-29 Kloba David D. System, method, and computer program product for executing scripts on mobile devices
US7191397B2 (en) 1999-09-20 2007-03-13 Dell Products L.P. XML server pages language
US20030110096A1 (en) 1999-10-28 2003-06-12 Naiem Dathi Method, system, and apparatus for executing open services
US7073126B1 (en) * 1999-11-18 2006-07-04 Instaknow.Com Inc. Method and system of deploying server-based applications
US6775658B1 (en) 1999-12-21 2004-08-10 Mci, Inc. Notification by business rule trigger control
US6990513B2 (en) 2000-06-22 2006-01-24 Microsoft Corporation Distributed computing services platform
US7237034B2 (en) 2000-09-18 2007-06-26 Openwave Systems Inc. Method and apparatus for controlling network traffic
US7017162B2 (en) 2001-07-10 2006-03-21 Microsoft Corporation Application program interface for network software platform
US7194473B1 (en) 2002-02-15 2007-03-20 Oracle International Corporation Application platform development environment
US20030163567A1 (en) 2002-02-28 2003-08-28 Mcmorris Patrick Domain name validation using mapping table
WO2003083610A2 (en) 2002-03-25 2003-10-09 Myriagon Corporation Information management structure
US20040027379A1 (en) 2002-08-08 2004-02-12 Hong Huey Anna Onon Integrated visual development system for creating computer-implemented dialog scripts
US7171650B2 (en) 2002-08-23 2007-01-30 Sbc Properties, L.P. System and method for integrating resources in a network
US8108488B2 (en) 2002-11-18 2012-01-31 Jackbe Corporation System and method for reducing bandwidth requirements for remote applications by utilizing client processing power
JP3494376B1 (ja) 2002-12-05 2004-02-09 株式会社システムズ プログラム解析装置およびプログラム
US7610575B2 (en) * 2003-01-08 2009-10-27 Consona Crm Inc. System and method for the composition, generation, integration and execution of business processes over a network
US7607098B2 (en) * 2003-03-14 2009-10-20 Waters Investments Limited System and method for dynamically controlling operation of rheometric instruments
US7194733B2 (en) 2003-06-11 2007-03-20 Microsoft Corporation Transformation of an asynchronous transactional messaging language into a web services compatible language
US7765523B2 (en) * 2003-07-10 2010-07-27 Computer Associates Think, Inc. System and method for generating a web-enabled graphical user interface plug-in
DE102004043788A1 (de) * 2003-09-11 2005-04-14 Ingo Franz Programm Generator
US7779356B2 (en) 2003-11-26 2010-08-17 Griesmer James P Enhanced data tip system and method
US7444314B2 (en) * 2003-12-01 2008-10-28 International Business Machines Corporation Methods and apparatus for business rules authoring and operation employing a customizable vocabulary
US8381207B2 (en) * 2003-12-02 2013-02-19 International Business Machines Corporation Script generation engine and mapping semantic models for target platform
US7562343B2 (en) * 2003-12-09 2009-07-14 International Business Machines Corporation User configurable language independent code assist engine method, system, article of manufacture, and computer program product
US7313784B2 (en) * 2003-12-09 2007-12-25 International Business Machines Corporation Language independent code assist user preferences configuration method, system, article of manufacture, and computer program product
US20050138137A1 (en) 2003-12-19 2005-06-23 Microsoft Corporation Using parameterized URLs for retrieving resource content items
US7519960B2 (en) * 2003-12-19 2009-04-14 International Business Machines Corporation Method and system for debugging business process flow
US7581212B2 (en) * 2004-01-13 2009-08-25 Symphony Services Corp. Method and system for conversion of automation test scripts into abstract test case representation with persistence
US7392509B2 (en) * 2004-04-13 2008-06-24 University Of Maryland Method for domain specific test design automation
US7650432B2 (en) 2004-05-20 2010-01-19 Bea Systems, Inc. Occasionally-connected application server
US7441188B1 (en) 2004-08-04 2008-10-21 Sprint Communications Company L.P. Web construction framework presentation tier
US7561673B2 (en) 2004-09-30 2009-07-14 Microsoft Corporation Integration of speech services with telecommunications
US7631291B2 (en) * 2004-10-01 2009-12-08 Microsoft Corporation Declarative representation for an extensible workflow model
US7574692B2 (en) * 2004-11-19 2009-08-11 Adrian Herscu Method for building component-software for execution in a standards-compliant programming environment
US20070050446A1 (en) 2005-02-01 2007-03-01 Moore James F Managing network-accessible resources
US20060288332A1 (en) * 2005-06-21 2006-12-21 Microsoft Corporation Workflow debugger
US7950008B2 (en) 2005-07-06 2011-05-24 International Business Machines Corporation Software installation in multiple operating systems
US7600030B2 (en) 2005-08-31 2009-10-06 Microsoft Corporation Compounding of HTTP authoring protocol
US7721259B2 (en) 2005-11-15 2010-05-18 Oracle International Corporation Configurable and customizable software application system and metadata
US7661090B2 (en) * 2006-01-11 2010-02-09 Dell Products L.P. Task generation runtime engine
US7587450B2 (en) 2006-02-01 2009-09-08 Swift Creek Systems, Llc HTTP publish/subscribe communication protocol
US7818427B2 (en) 2006-03-21 2010-10-19 Kace Networks, Inc. IT automation scripting module and appliance
US8095416B2 (en) 2006-03-21 2012-01-10 International Business Machines Corporation Method, system, and computer program product for the dynamic generation of business intelligence alert triggers
US8069439B2 (en) * 2006-03-30 2011-11-29 Microsoft Corporation Framework for modeling continuations in workflows
WO2009082379A2 (en) * 2006-11-27 2009-07-02 Sourcecode Technology Holding, Inc. Methods and apparatus for debugging a workflow process
US20080201338A1 (en) 2007-02-16 2008-08-21 Microsoft Corporation Rest for entities
WO2009000334A1 (en) * 2007-06-27 2008-12-31 International Business Machines Corporation System and method for providing a composite display
KR20100080822A (ko) 2007-09-28 2010-07-12 엑세리온 악티에볼라그 네트워크 오퍼레이팅 시스템
US8060866B2 (en) * 2007-10-19 2011-11-15 GE Intelligent Platforms, Inc Systems and methods for debugging multiple workflow instances
US9122422B2 (en) 2008-01-17 2015-09-01 International Business Machines Corporation Representing models in systems development lifecycle (SDLC) tools using a network of internet resources
US20090249695A1 (en) 2008-04-04 2009-10-08 Material Sciences Corporation Damp rail assembly for garage door opening systems
US20090254881A1 (en) 2008-04-04 2009-10-08 Microsoft Corporation Code generation techniques for administrative tasks
US8291373B2 (en) * 2008-08-13 2012-10-16 Hewlett-Packard Development Company, L.P. Generating LoadRunner scripts
US9049182B2 (en) * 2009-08-11 2015-06-02 Novell, Inc. Techniques for virtual representational state transfer (REST) interfaces

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1755722A (zh) * 2004-10-01 2006-04-05 微软公司 可扩展工作流模型的声明性表示

Also Published As

Publication number Publication date
KR101635237B1 (ko) 2016-06-30
KR20110070982A (ko) 2011-06-27
CN102187314A (zh) 2011-09-14
US20100100868A1 (en) 2010-04-22
EP2340487A4 (en) 2016-06-22
WO2010045569A2 (en) 2010-04-22
US8533666B2 (en) 2013-09-10
WO2010045569A3 (en) 2010-08-05
EP2340487A2 (en) 2011-07-06

Similar Documents

Publication Publication Date Title
CN102187314B (zh) 生成适用于数据集的资源脚本的方法和系统
US10705942B1 (en) Simulated testing of API
CN102520841B (zh) 收集用户接口
US11797273B2 (en) System and method for enhancing component based development models with auto-wiring
US11635974B2 (en) Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction
CN103019718B (zh) 在集中式源控制环境中使用分布式源控制
US20160098254A1 (en) Rich tooling for rest application development
CN103597469A (zh) 集成开发环境中的实况浏览器工具
CN110928763A (zh) 测试方法、装置、存储介质及计算机设备
US10162628B2 (en) Transactional distributed data analysis and transformation
US20210117313A1 (en) Language agnostic automation scripting tool
US20150143267A1 (en) SYSTEM AND METHOD FOR DEVELOPING A RULE-BASED EVENT-DRIVEN MULTI-LAYERED FRONTEND FOR BUSINESS SERVICES AND RENDERING THE GUIs ON MULTIPLE CLIENT DEVICES
KR101161946B1 (ko) 스마트폰 어플리케이션 제작 시스템 및 그 방법
CN108351766A (zh) 从移动设备创建和修改应用
Snell et al. Microsoft Visual Studio 2012 Unleashed: Micro Visua Studi 2012 Unl_p2
JP2022541986A (ja) カスタマイズされた人工知能生産ラインを実行する装置及び方法、機器及び媒体
Yuan et al. Liferay portal systems development
Rimple et al. Spring Roo in action
Mei et al. Internetware: A New Software Paradigm for Internet Computing
CN108763296B (zh) 一种在线查看和编辑的数据库结构生成方法及装置
CN113253991A (zh) 任务可视化处理方法及装置、电子设备、存储介质
El-Ramly et al. Legacy systems interaction reengineering
Umuhoza Domain-specific modeling and code generation for cross-platform mobile and IoT-based applications
WO2023036540A1 (en) Managing an app, especially developing an app comprising an event artifact, method and system
Mattila Building a complete full-stack software development environment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150427

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

Effective date of registration: 20150427

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.