CN108292208A - 并行前端应用和工作流开发 - Google Patents

并行前端应用和工作流开发 Download PDF

Info

Publication number
CN108292208A
CN108292208A CN201680068051.5A CN201680068051A CN108292208A CN 108292208 A CN108292208 A CN 108292208A CN 201680068051 A CN201680068051 A CN 201680068051A CN 108292208 A CN108292208 A CN 108292208A
Authority
CN
China
Prior art keywords
user
workflow
application
gui
user interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680068051.5A
Other languages
English (en)
Other versions
CN108292208B (zh
Inventor
J·特威斯特
P·库玛
S·C·斯西利亚诺
H·雅格拉瓦尔
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 Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108292208A publication Critical patent/CN108292208A/zh
Application granted granted Critical
Publication of CN108292208B publication Critical patent/CN108292208B/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
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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/0486Drag-and-drop
    • 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
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

提供用于开发包括工作流的用户应用并且特别地用于并行开发用户应用和工作流的方法、系统、装置以及计算机程序产品。在显示屏上提供使得用户应用的图形用户界面(GUI)能够被配置的第一用户界面。使得控件能够被选择用于包括在用户应用的GUI中。使得工作流逻辑能够与被包括在GUI中的控件相关联。第二用户界面与第一用户界面同时被提供在显示屏上。第二用户界面使得工作流逻辑能够被生成。使得步骤能够被选择用于包括在工作流逻辑中。每个步骤被配置为对经由GUI录入的数据和/或工作流逻辑的另一步骤的数据进行操作。

Description

并行前端应用和工作流开发
背景技术
商业或者企业应用是由商业用户用于执行各种商业功能的计算机程序。当可用的现用软件未完全地解决期望的功能时,常常开发商业应用。许多商业应用是交互式的,其具有用户可以将数据输入到其、用来提交数据查询、用来执行操作和/或用来查看结果的图形用户界面(GUI)。消费者应用是较少商业关注的,相反关注消费者的需要。
由于应用复杂性和所要求的编程专业知识,商业和消费者用户倾向于信息技术(IT)人员对其应用进行编码。仅设计从远程源(例如,云服务)提取数据的应用是困难的,通常要求有经验的软件开发者。
发明内容
提供本发明内容以引入以在具体实施方式中下面进一步描述的简化形式的概念的选择。本发明内容不旨标识要求保护的主题的关键特征或基本特征,其也不旨在用于限制要求保护的主题的范围。
提供用于开发包括工作流的用户应用并且特别地用于并行开发用户应用图形用户界面(GUI)和工作流的方法、系统、装置和计算机程序产品。在显示屏上提供使得用户应用的GUI能够被配置的第一用户界面。使得控件能够被选择以用于包括在GUI中。使得工作流逻辑能够与被包括在GUI中的控件相关联。使得工作流逻辑能够被生成的第二用户界面与第一用户界面同时被提供在显示屏上。使得步骤能够被选择以用于包括在工作流逻辑中。工作流逻辑的每个步骤被配置为对经由用户应用的GUI录入的数据和/或工作流逻辑的另一步骤的数据进行操作。
参考附图下面详细描述了本发明的进一步的特征和优点以及各种实施例的结构和操作。应注意到,本发明不限于在此所描述的特定实施例。仅出于说明性目的,在此呈现这样的实施例。基于在此包含的教导,附加的实施例对于(一个或多个)相关领域的技术人员而言将是明显的。
附图说明
在此并入并且形成说明书的一部分的附图图示了本申请的实施例,并且连同说明书一起还用于解释实施例的原理并且使得相关领域的技术人员能够做出和使用实施例。
图1示出了根据示例实施例的被配置用于用户应用GUI和工作流的并行开发的应用开发系统。
图2示出了根据示例实施例的提供用于用户应用GUI和工作流的并行开发的过程的流程图。
图3示出了根据示例实施例的被配置用于用户应用GUI和工作流的并行开发的应用开发工具的块图。
图4示出了根据示例实施例的图示用于并行用户应用GUI和工作流开发的用户界面的显示屏的块图。
图5、图6、图8至图10、图12、图14和图16示出了根据示例实施例的并行用户应用和工作流开发的各阶段中的GUI的视图。
图7示出了根据示例实施例的用于选择工作流步骤的过程。
图11示出了根据示例实施例的用于使得对象能够被用作工作流开发界面中的步骤的输入数据的过程。
图13示出了根据示例实施例的用于将来自用于应用开发的用户界面的对象拖曳到用于工作流开发的用户界面中的输入数据字段中的过程的流程图。
图15示出了根据示例实施例的用于指派工作流的输入数据的绑定的类型的过程。
图17示出了根据示例实施例的用于将条件并入工作流中的过程。
图18示出了根据示例实施例的用于操作包括一个或多个工作流的用户应用的系统的块图。
图19示出了根据示例实施例的提供用于执行包括一个或多个工作流的用户应用的过程的流程图。
图20示出了可以被用于实现实施例的示例计算设备的块图。
本发明的特征和优点将从当结合附图理解时下面所阐述的具体实施方式变得更明显,其中相同参考数字自始至终标识对应的元素。在附图中,相同参考数字通常指示相同、功能上类似和/或结构上类似的元素。元素首先出现的附图由对应的参考数字中的(一个或多个)最左边的数字来指示。
具体实施方式
I.介绍
本说明书和附图公开了包含本发明的特征的一个或多个实施例。本发明的范围不限于所公开的实施例。所公开的实施例仅例示本发明,并且所公开的实施例的修改版本也由本发明涵盖。本发明的实施例由附加到其的权利要求来定义。
说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定特征、结构或者特点,但是每个实施例可以不必包括特定特征、结构或者特点。而且,这样的短语不必指代相同实施例。进一步地,当在结合实施例描述特定特征、结构或者特点时,应当提出其在本领域的技术人员的知识内以结合无论是否明确地描述其他实施例实现这样的特征、结构或者特点。
在讨论中,除非另外说明,否则诸如修改本公开的实施例的一个或多个特征的条件或者关系特点的“基本上”和“大约”的形容词被理解为意味着条件或者特点被定义在对于其旨在用于的应用的实施例的操作可接受的容限内。
许多示例性实施例被描述如下。应注意到,在此所提供的任何章节和子章节标题不旨在是限制性的。贯穿该文档描述实施例,并且任何类型的实施例可以被包括在任何章节/子章节下。而且,在任何章节/子章节中所公开的实施例可以以任何方式与在相同的章节/子章节和/或不同的章节/子章节中所描述的任何其他实施例相组合。
II.用于具有工作流的用户应用开发的示例实施例
当可用的现用软件未完全地解决期望的功能时,通常创建商业应用和消费者应用。许多商业和消费者应用是交互式的,其具有用户可以将数据输入到其、用来提交数据查询、用来执行操作和/或用来查看结果的图形用户界面(GUI)。
由于应用复杂性和所要求的编程专业知识,用户倾向于信息技术(IT)人员对其应用进行编码。例如,配置将数据从感兴趣源提取到企业或者消费者(例如,来自SQL(结构化查询语言)的数据、数据库的应用、来自加利福尼亚州旧金山的Salesforce.com的消费者关系信息、来自由加利福尼亚州帕洛阿尔托的Facebook公司操作的或者由加利福尼亚州旧金山的Twitter公司操作的的社交网络信息)是困难的过程。
实施例实现更容易地开发用户应用,包括商业应用和消费者应用。使得用户能够在不必是专家程序员的情况下开发用户应用。使得用户能够配置用于用户应用的GUI,并且通过与由应用开发工具所提供的用户界面交互来创建由用户应用所执行的工作流。第一用户界面使得用户能够配置用于用户应用的GUI,而第二用户界面使得用户能够生成工作流。为了生成工作流,例如,可以使得用户能够挑选并且选择工作流步骤、排序步骤并且配置用于步骤的输入数据。第一接口和第二接口彼此邻近(例如,并排式)被提供以用于无缝体验。例如,可以使得用户能够将对象从用户界面中的一个拖曳以放在另一个中,从而利用显示屏上的第一用户界面和第二用户界面的并行显示。
在实施例中,控件(例如,用户界面元素)可以由用户放置在用户应用GUI中。控件可以被配置为执行由用户创建的工作流。工作流的每个步骤可以被配置有来自先前工作流步骤的输入数据和/或来自用户应用GUI的数据。当用户与用户应用GUI中的相关联的控件交互时,执行工作流。
在一个说明性场景中,实施例提供其中用户可以建立使得用户(或者其他用户)采取命令(例如,将命令数据输入到用户应用GUI中)的应用的单个无缝体验。根据当用户与所显示的控件交互(例如点击按钮)时本地或者在“云”中(在网络上远程地)运行的命令,触发工作流逻辑。可以由用户应用从在工作流期间访问的应用接收通知,以指示命令的接受、命令的拒绝、提供响应数据和/或指示其他所执行的操作或者功能。
因此,实施例实现设计相同的设计表面(例如,同时地被显示在相同屏幕上)的前端应用(用户应用GUI)和后端逻辑(工作流逻辑)。而且,实施例使得工作流逻辑能够通过前端应用直观地与被显示在屏幕上的控件相关联。更进一步地,实施例实现将数据从前端应用传递到后端逻辑。
在用于用户应用GUI和工作流的并行开发和用于得到的用户应用的运行时行为的以下章节中描述示例实施例。在以下描述中,使用在此所描述的技术开发用户应用的人员被称为“开发者”,以与在运行时使用用户应用的人员(“用户”或者“终端用户”)进行区分。然而,应注意到,如在此所提到的“开发者”不需要具有计算机编程方面的专业知识。在此所描述的实施例实现在没有特殊编程技能的情况下进行应用开发。
A.示例开发时实施例
可以以各种方式实现用户应用GUI和工作流的并行开发。例如,图1示出了根据示例实施例的应用开发系统100。如在图1中所示,系统100包括计算设备102、存储装置104、第一基于网络的应用124A和第二基于网络的应用124B。计算设备102包括应用开发工具106和显示屏108。应用开发工具106包括应用设计器110和工作流生成器112。存储装置104存储本地应用122。系统100被描述如下。
计算设备102可以是任何类型的固定或移动计算设备,包括移动计算机或者移动计算设备(例如,设备、膝上型计算机、笔记本计算机、平板计算机(诸如Apple iPadTM、上网本等)、可穿戴计算设备(例如,包括智能眼镜(诸如GlassTM等))或者固定计算设备(诸如台式计算机或PC(个人计算机))。
存储装置104中的本地应用122是在未通过网络通信的情况下由计算设备102可访问的应用的示例。本地应用122可以被配置为当由计算设备102的处理器执行时执行数据处理和/或数据托管操作,并且可以将数据132提供到在那些用户应用的运行时期间由应用开发工具106所创建的用户应用。本地应用122可以是任何类型的本地应用/服务,诸如数据库应用(例如,电子表格)、消息应用(例如,)、生产应用(例如,等)或者另一类型的应用。虽然图1示出了单个本地应用,但是任何数目的本地应用可以存在于计算设备102处,包括数十、数百或者更多数目的数目。
第一基于网络的应用124A和第二基于网络的应用124B是基于网络的应用的示例,还被称为“云”应用或服务。基于网络的应用124A和124B是通过网络126由设备102可访问的,可以被配置为执行数据处理和/或数据托管操作,并且可以将数据130A和130B分别提供到在那些用户应用的运行时期间由应用开发工具106创建的用户应用。基于网络的应用124A和124B可以各自是任何类型的网络可访问应用/服务,诸如数据库应用、社交网络应用、消息应用、金融服务应用、新闻应用、搜索应用、可网络访问的生产应用、云存储和/或文件托管应用等。这样的应用的示例包括可网络访问的SQL(结构化查询语言)数据库、Salesforce.comTM 金融、The New York(在www.nytimes.com)、Google搜索、Bing、Google DocsTMOffice 365、DropboxTM等。虽然图1示出了两个基于网络的应用,但是任何数目的基于网络的应用可以是在网络126上可访问的,包括数十、数百或者更多数目的数目。
注意,数据128、数据130A、数据130B和数据132可以各自包括任何类型的数据,包括消息、通知、所计算的数据、所取回的数据和/或由用户应用所请求或者可用的任何其他类型的信息。
计算设备102可以包括实现通过网络126与基于网络的应用124A和124B通信的至少一个网络接口。这样的有线或无线网络接口的示例包括IEEE 802.11无线LAN(WLAN)无线接口、微波访问全球互通(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、BluetoothTM接口、近场通信(NFC)接口等。在此在其他地方描述了网络接口的进一步的示例。网络126的示例包括局域网(LAN)、广域网(WAN)、个域网(PAN)和/或通信网络(诸如因特网)的组合。
应用开发工具106被配置为由开发者操作/交互以创建用户应用。应用开发工具106包括应用设计器110和工作流生成器112。虽然应用设计器110和工作流生成器112在图1中被示出为被实现在计算设备102上,但是在其他实施例中,应用设计器110和工作流生成器112(或其部分)之一或二者可以由通过网络可访问的远程服务来实现(例如,可以被实现在“云”中)。
应用设计器110被配置为生成被显示在显示屏108中的第一用户界面114。第一用户界面114通过开发者交互以生成用户应用GUI118。用户应用GUI 118可以被创建以显示信息、提供用于数据的输入并且显示交互式控件。当生成用户应用GUI 118时,开发者可以将控件(用户界面元素)配置为在运行时期间触发工作流逻辑120。如此,应用设计器110可以调用工作流生成器112以生成被显示在显示屏108中的第二用户界面116。第二用户界面116通过开发者交互以生成工作流逻辑120。例如,开发者可以插入并且排序工作流逻辑120中的多个工作流步骤,其中步骤中的一个或多个步骤与本地或者基于网络的应用相关联。当完成时,用户应用可以由应用开发工具106打包以包括用户应用GUI 118和工作流逻辑120。用户应用可以随后由终端用户在运行时调用。
在用户应用的运行时期间,工作流逻辑120可以由用户应用GUI118触发(例如,通过用户与用户应用GUI 118中的控件的交互),调用与工作流逻辑120的工作流步骤相关联的一个或多个本地或者基于网络的应用的操作。每个工作流步骤可以接收来自用户应用GUI118的输入数据128、来自本地应用122的数据132、来自本地或者基于网络的应用124A和124B之一或二者的数据130A或者数据130B、和/或来自工作流逻辑120的另一工作流步骤的数据。
应用开发工具106可以以各种方式操作以实现开发用户应用。例如,在实施例中,应用开发工具106可以根据图2操作。图2示出了根据示例实施例的提供用于用户应用GUI和工作流的并行开发的过程的流程图200。流程图200和应用开发工具106关于图3和4被描述如下。图3示出了根据示例实施例的应用开发工具106的块图。如在图3中所示,应用开发工具106包括应用设计器110和工作流生成器112。应用设计器110包括数据选择器302、GUI格式化器304、控件选择器306、行为分配器308和应用包装器310。工作流生成器112包括步骤选择器312和输入数据选择器314。图4示出了根据示例实施例的图示第一用户界面114和第二用户界面116的示例的显示屏108的块图。图1至4进一步被描述如下。
图2的工作流200从步骤202开始。在步骤202中,在显示屏上提供使得用户应用的图形用户界面(GUI)能够被配置的第一用户界面,包括使得控件能够被选择以用于包括在用户应用的GUI中,并且使得工作流逻辑能够与被包括在用户应用的GUI中的控件相关联。如上文所描述的,应用设计器110可以在显示屏108上生成第一用户界面114。应用设计器110使得开发者能够通过与第一用户界面114交互来生成用户应用。例如,应用设计器110使得开发者能够生成用户应用GUI 118。
参考图3,应用设计器110可以显示用于数据选择器302、GUI格式化器304、控件选择器306、行为分配器308和应用包装器310。这些控件(以及在此所提到的任何其他控件)的示例包括图形用户界面元素,诸如文件导航器、按钮、下拉菜单、弹出式菜单、单选按钮、滑动条、文本输入框、任何另一其他适合的类型的用户界面元素。由应用设计器110所提供的控件可以通过开发者或者终端用户以任何方式进行交互,包括通过键入、鼠标点击、触摸、语音、手势、手指悬停和/或通过其他交互类型。
如果这样的输入源被使用,则数据选择器302使得开发者能够选择用于用户应用的数据的输入源以在运行时被加载。例如,开发者可以使能以指示电子表格、数据库、文件等在运行时被加载。备选地或者附加地,在运行时期间,数据可以通过终端用户(例如,通过键入、通过语音等)直接地输入到用户应用GUI 118中。
GUI格式化器304使得开发者能够以任何方式将输入数据对象定位并且布置在用户应用GUI 118中,并且对数据对象进行格式化。例如,GUI格式化器304可以使得开发者能够使用一个或多个控件来选择数据对象(例如,通过触摸、鼠标点击等)、重定位数据对象并且设定字体大小、字体类型、字体颜色等。
在图4中,对象402A和402B是各自包括一个或多个参数的示例数据对象。可以存在任何数目的目标。GUI格式化器304使得开发者能够将对象402A、402B等定位在用户应用GUI114中,以及对对象402A、402B的显示进行格式化等。
图3的控件选择器306使得开发者能够选择并且定位用户应用GUI 118中的一个或多个控件。例如,开发者可以选择并且放置来自可用控件的显示的控件(例如,通过触摸、鼠标点击等)。
行为分配器308使得开发者能够通过控件选择器306将行为(动作)分配到被添加在用户应用GUI 118中的控件。例如,行为分配器308可以在弹出式列表、功能区部分、菜单中或者以另一方式显示可用的行为。开发者可以从所显示的行为选择行为(例如,通过触摸、鼠标点击等)。作为一个选项,行为分配器308可以使得开发者能够将工作流分配到控件作为行为。工作流可以是现有工作流,或者开发者可以选择创建新工作流。在运行时期间,当用户与控件交互时,分配的工作流被触发以进行操作。
例如,控件选择器306可以使得在图4中所示的控件404A、404B等能够被插入到用户应用GUI 114中。可以插入任何数目的控件。行为分配器308使得行为能够被分配到各个插入控件。
返回参考图2,在步骤204中,与第一用户界面同时在显示屏上提供使得工作流逻辑能够被生成的第二用户界面,包括实现选择一个或多个步骤以用于包括在工作流逻辑中,并且将工作流逻辑的每个步骤配置为对用户应用的数据或者工作流逻辑的另一步骤的数据中的至少一个进行操作。如上文所描述的,工作流生成器112可以在显示屏108上生成第二用户界面116。工作流生成器112使得开发者能够通过与第二用户界面116交互来生成工作流逻辑120。
参考图3,为了设计用于用户应用的工作流逻辑120,工作流生成器112可以显示用于步骤选择器312和输入数据选择器314的控件。在此在其他地方提到这样的控件的示例。步骤选择器312使得开发者能够选择步骤以用于包括在工作流逻辑中,并且对步骤进行排序。步骤选择器312可以显示用于在列表、下拉菜单中或以另一方式选择的工作流步骤。开发者可以选择并且放置来自所显示的步骤的步骤(例如,通过触摸、鼠标点击等)。例如,步骤选择器312可以使得开发者能够选择与本地应用(诸如)或者基于网络的应用(诸如)相关联的步骤。步骤选择器312使得步骤能够按顺序一起(可选地条件步骤)被链接以创建工作流逻辑120。
输入数据选择器314使得开发者能够对用于每个步骤的输入数据进行配置。例如,开发者可以键入或者以其他方式将输入数据录入文本输入框或者工作流步骤的其他数据输入元素中。在另一示例中,开发者可以将先前步骤的输出配置为用于步骤的输入数据。在又一示例中,输入数据选择器314可以使得开发者能够将在用户应用GUI 118中(在第一用户界面114中)的对象选择为工作流逻辑120的步骤的(在第二用户界面116中)输入。输入数据选择器314可以使得对象能够从用户应用GUI 118被复制和粘贴、拖放或者以其他方式录入复制到工作流逻辑120的输入中。
例如,如在图4中所示,工作流生成器步骤选择器312可以使得步骤406A、406B和406C能够被选择以用于插入到工作流逻辑120中。可以插入任何数目的步骤。输入数据选择器314使得输入数据能够被分配给各个插入步骤的输入。
返回参考图3,应用包装器310被配置为包装并且生成输出用户应用316,其在它们完成创建时包括用户应用GUI 118和工作流逻辑120。例如,应用包装器310可以以可执行文件、压缩文件的形式或者其他形式包装用户应用316,其可以以独立的方式被执行、可以在浏览器中被执行或者可以以另一方式被执行,这取决于正被生成的用户应用的特定类型。
因此,流程图200和应用开发工具106使得开发者能够并排创建用户应用GUI和工作流。被描述如下的图5至图17示出了流程图200和应用开发工具106的进一步的示例方面,包括示例工具窗口的视图以及用于并行用户应用和工作流开发的示例过程。
例如,图5示出了示例应用开发工具(ADT)GUI 500的视图。ADT GUI 500被显示在显示屏(例如,显示屏108)上并且使得用户应用能够被配置。如在图5中所示,ADT GUI 500包括控件502的示例集并且第一用户界面114的示例。如上文所描述的,第一用户界面114使得用户应用GUI能够被生成(在图2中的步骤202)。控件502由开发者用于建立第一用户界面114中的用户应用GUI。注意,在图5中所示的控件502的示例被提供用于图示的目的,并且不旨在是限制性的。
如在图5中所示,控件502包括标签化功能区,其中每个标签可以被选择以显示承载可选择的GUI元素的对应的工具栏。标签化功能区包括以下各项的标签:“文件”、“主页”、“插入”、“数据”、“行为”、“屏幕”和“视图”。控件502可以交互以对在第一用户界面114中被显示的用户应用GUI 506进行配置。例如,“文件”可以包含实现打开并且保存用户应用开发项目的控件。“主页”可以包含用于用户应用GUI 506(例如,GUI格式化器304)的编辑/格式化控件。“插入”包含用于放置在用户应用GUI 506(例如,控件选择器306)中的控件。“数据”可以交互以对用于用户应用(例如,数据选择器302)的输入数据的源进行配置。“行为”可以交互以将行为分配到控件(例如,行为分配器308)。“屏幕”和“视图”可以提供实现正被开发的用户应用的各种视图的控件。
第一用户界面114显示用户应用GUI 506。用户应用GUI 506是被开发用于处理命令的用户应用的示例GUI,并且被示出用于图示的目的。用户应用GUI可以包括数据对象和控件的任何配置,并且可以以任何数目的表格、视图、页面等的形式而被配置。在运行时期间,用户应用GUI 506自动地(例如,从文件)或者手动地(例如,通过用户键入、通过语音等)被填充有命令的数据。
如在图5中所示,用户应用GUI 506包括各种数据对象(包括标题字段和对象508A-508D),并且显示控件510。出于说明性目的,对象508A-508D中的每个对象填充与题为“膝上型计算机Pro 13”的示例命令有关的示例数据。开发者使用ADT GUI 500与控件502交互以分配用户应用GUI 506,包括选择并且定位标题、对象508A-508D和控件510。
开发者具有标签化的控件510“批准提交”。开发者可以期望在运行时期间,填充用户应用GUI 506的命令可以被提交用于由对象508C指示的人员(例如,johndoe@contoso.com”)的批准。如此,开发者可能期望将该行为分配到控件510。
在图5中,控件510已经由开发者选择(如由控件510的深色轮廓所指示的)。在选择控件510之后,控件502中的“行为”由开发者选择,这导致正被显示的行为选项的示例集。行为选项包括“导航”、“收集”、“移除”、“开启选择”和“添加流”(添加流行为512)。开发者可以选择添加流行为512(例如,通过触敏、通过语音等使用指针512)将工作流分配到控件510。
例如,图6示出了在开发者已经选择将工作流分配到控件510之后ADT GUI 500的示例视图。如在图6中所示,响应于选择添加流行为512,第二用户界面116与第一用户界面114并排式被提供在ADTGUI 500中(如在图2中的流程图200的步骤204中)。相对于图5,第一用户界面114在图6中(并且在图8-10、12、14和16中)未改变。而且,在图6中(并且在图8-10、12、14和16中),控件502由包括“关闭”选项(关闭选项604)的工作流标签602来替换。工作流标签602是在其下可以开发工作流的ADT GUI 500的标签。
注意,虽然并排式被示出在图6中,第一用户界面114和第二用户界面116可以以任何空间关系(包括上下布置等)被显示在ADTGUI 500中。
在图6中,第二用户界面116使得开发者能够选择用于分配到控件510的现有工作流,或者创建用于分配到控件510的新工作流。如在图6中所示,第二用户界面116显示第一控件606和第二控件608。第一控件606可以与开发者交互以从包括第一工作流、第二工作流等的列表选择现有工作流。开发者可以使用所选择的工作流作为用于另一工作流开发的模板,或者可以“原样”使用所选择的工作流。备选地,开发者可以与第二控件608交互以创建新工作流。开发者可以以任何方式(例如,通过触摸使用指针点击、通过语音等)与第一控件606和第二控件608交互。
在假定开发者与第二控件608交互以创建新工作流的情况下,图7至图17被描述如下。然而,图7至图17还适用于选择修改现有工作流的开发者。
在开发者与第二控件608交互以发起创建新工作流之后,第二用户界面116改变到用于工作流开发的接口中,其中工作流步骤可以被插入、被排序并且被配置。图7示出了根据示例实施例的用于选择工作流步骤的步骤702。参考图8描述了图7。图8示出了在开发者已经选择创建用于控件510的新工作流之后ADT GUI 500的示例视图。如在图8中所示,第二用户界面116已经改变到用于配置工作流、显示开始步骤802(标记为“当按钮被点击时”)、占位符步骤804和步骤库806的界面。
在图7的步骤702中,使得步骤能够从步骤库被选择以用于包括在工作流逻辑中,步骤包括一个或多个基于网络的应用和一个或多个客户端应用。如在图8中所示,使得开发者能够从步骤库806选择工作流步骤以插入到占位符步骤804的位置中的工作流中。
步骤库806可以包括任何数目的工作流步骤。被包括在步骤806库中的工作流步骤可以与在此在其他地方所提到或者以其他方式已知的基于网络的应用和/或与在此在其他地方所提到或者以其他方式已知的本地应用(例如,)相关联。每个工作流步骤被配置用于插入并且放置到工作流逻辑中。每个工作流步骤被配置有适当的(一个或多个)逻辑和/或接口以执行其相应的(一个或多个)功能,其可以包括与本地或者远程应用通信。例如,工作流步骤可以被配置为传送对应用的查询(例如,搜索引擎的搜索查询、数据库的数据库查询、来自社交网络应用的数据的请求等),其被预配置为如何适当地传送并且格式化对应用的这种请求。工作流步骤可以被配置为接收对请求的响应,其被预配置为如何解析用于期望的响应数据的响应。如此,由于工作流步骤已经设立,用户应用的开发者不需要知道如何以编程语言编写程序代码,与复杂应用接口(例如,应用编程接口(API))进行对接,或者理解网络通信协议。当工作流步骤由开发者插入到工作流逻辑中时,开发者将输入配置到工作流步骤(如下文所描述的),并且否则预配置的工作流步骤处理与其他应用的任何通信。
开发者可以以各种方式插入来自步骤806库的工作流步骤。例如,开发者可以在占位符步骤804中录入字符(导致自然语言搜索在步骤806库中被执行,返回匹配录入字符的工作流步骤的列表)或者可以以另一方式找到步骤806库中的工作流步骤(例如,通过滚动工作流步骤的列表、通过语音等),并且选择工作流步骤(例如,通过触摸使用指针点击、通过语音等)。
图9示出了在开发者已经从步骤806库选择特定工作流步骤以替换占位符步骤804之后ADT GUI 500的示例视图。如在图9中所示,开发者将第一工作流步骤902插入到工作流中作为工作流逻辑。在插入第一工作流步骤902之后,使得开发者能够对第一工作流步骤902的输入数据进行配置。例如,如在图9中所示,输入数据配置区域904可以与第一工作流步骤902相关联被显示。输入数据配置区域904包括一个或多个用户界面元素(例如,文本输入框、导航器按钮等),其使得开发者能够对在运行时期间由第一工作流步骤902使用的输入数据进行配置。输入数据可以是持久性数据,其总是具有在运行时期间相同的数据值,或者可以是可变数据,其在工作流的不同的运行时迭代期间具有不同值(例如,每次命令被处理时、每次消息被发送时等)。
例如,在图9的示例中,第一工作流步骤902可以是文件取回应用(例如,DropboxTM)。第一工作流步骤902的文本输入框908可以指示待取回的文件的文件夹位置。因此,开发者可以将文件夹位置录入文本输入框908中。如果文件夹位置在第一工作流步骤902的每个运行时迭代期间相同(持久性数据),则开发者可以将实际的文件夹位置录入文本输入框908中(例如,通过键入、通过语音、通过使用导航器按钮910导航到文件夹位置等)。如果文件夹位置在每个运行时迭代期间是不同的,则开发者可以将变量录入文本输入框908中。录入的变量指示可以随着第一工作流步骤902的每次运行时迭代而改变的文件取回的位置的指示。变量的值可以被绑定到在第一用户界面114中所显示的数据对象的属性值,或者以另一方式被确定。
应注意到,在一些实施例中,工作流步骤(诸如第一工作流步骤902)可以要求凭证(例如,登录和密码)访问所指示的数据(例如,访问在文本输入框908中所指示的位置处的文件)。如此,开发者可以被请求以提供与第一工作流步骤902相关联的凭证信息,使得当第一工作流步骤902在运行时期间被执行时,数据可以被访问。如在图9中所示,可以提供使得开发者能够输入或者改变与第一工作流步骤902相关联的凭证的控件912(例如,链接等)。例如,开发者可以触摸、点击等控件912以实现录入,并且验证相对于相关联的应用的凭证信息。
当开发者已经完成配置第一工作流步骤902时,开发者可以与控件906交互以继续工作流开发。控件906被示出为图9中的交互式按钮,但是在其他实施例中可以具有在此所提到或以其他方式已知的任何其他形式。
例如,开发者可以通过选择“删除”按钮来删除第一工作流步骤902。开发者可以指示工作流通过选择“完成”按钮完成。开发者可以通过选择“添加动作”按钮来添加下一工作流步骤。
图10示出了在开发者已经选择将另一工作流步骤添加到工作流之后ADT GUI 500的示例视图。如在图10中所示,开发者(例如,从图8中的步骤806库)选择第二工作流步骤1002,其已经被录入到工作流中。第二工作流步骤1002在适当的位置以在第一工作流步骤902被执行之后在工作流运行时内被执行。以与第一工作流步骤902类似的方式,在将第二工作流步骤1002被插入到工作流中之后,使得开发者能够对其输入数据进行配置。如在图10中所示,输入数据配置区域1004与第二工作流步骤1002相关联地被显示。输入数据配置区域1004包括一个或多个用户界面元素,其使得开发者能够对在运行时期间由第二工作流步骤1002使用的输入数据进行配置。输入数据可以是持久性数据或者可变数据。
在图10的示例中,第二工作流步骤1002可以是消息应用(例如,)。第二工作流步骤1002的文本输入框1006可以指示待发送的由第二工作流步骤1002所生成的消息的“发送到”位置。例如,消息可以包括在第一工作流步骤902期间访问的文件。因此,开发者可以将消息指派地址(例如,电子邮件地址)录入配置的消息被发送到(利用文件)的文本输入框1006中。如果目的地地址在第二工作流步骤1002的每次运行时迭代(持久性数据)期间是相同的,则开发者可以将实际的目的地地址输入文本输入框1006中。如果目的地地址在每次运行时迭代期间是不同的,则开发者可以将变量录入文本输入框1006中,其支持随着工作流的每次运行时迭代改变的可变目的地地址。同样地,第二工作流步骤1002的文本输入框1008可以指示用于消息的“主题”。因此,开发者可以将主题文本录入文本输入框1008,其可以是持久性或者可变文本。用于第二工作流步骤1002的进一步的字段可以存在但是在图10中不可见(例如,用于消息的“主体”文本、待包括在消息中的一个或多个控件(例如,“批准”按钮、“拒绝”按钮等)等)。
图11至图13图示了用于定义利用第一用户界面114和第二用户界面116的并行显示的工作流步骤的输入数据的技术。
例如,图11示出了根据示例实施例的用于使得第一用户界面114中的对象能够被用作工作流步骤的输入数据的步骤1102。
在步骤1102中,使得在第一用户界面中所显示的用户应用的GUI中的对象能够被选择,以使用对象的参数值作为第二用户界面中的工作流逻辑的步骤的输入。在实施例中,在用户应用GUI 506中所显示的对象可以被选择为被用作在第二用户界面116中所显示的工作流步骤的输入。这样的选择可以以任何方式被做出。例如,用户应用GUI506中的数据对象可以被选择(例如,通过长触摸、指针右击等)以使得弹出式菜单显现包括“转到流”选项。在另一示例中,数据对象可以由(触摸或者指针)拖放到在用于工作流步骤的第二用户界面116中所显示的期望的控件。
图12示出了图示开发者将数据对象从第一用户界面114中的用户应用GUI 506拖放到第二用户界面116中的工作流步骤的ADT GUI500的示例视图。图13示出了根据示例实施例的提供用于这样的拖放操作的过程的流程图300。参考流程图1300如下描述图12。
在流程图1300的步骤1302中,在第一用户界面中实现用户应用的GUI中的对象的选择。如在图12中所示,开发者的手1202的手指触摸用户应用GUI 506中的对象508C。对象508C是包括一个或多个参数的数据对象,包括具有“johndoe@contoso.com”的对应的参数值的“批准电子邮件”的参数名。通过触摸显示屏上的对象508C,开发者选择对象508C。
在步骤1304中,实现将对象拖曳到第二用户界面以指示参数值作为工作流逻辑的步骤的输入。如由图12中的手1102的移动所指示的,开发者在文本输入框1006上拖曳对象508C。开发者可以然后释放对象508C,使得被表示为“标签3!文本”的变量1204被拖曳到文本输入框1006中。变量1204指示对象508C的该参数值是变量,其在该示例中具有用于每个命令的不同值。因此,在该示例中,持久性数据值未被录入文本输入框1006中(例如,johndoe@contoso.com)。相反,“标签3!文本”被录入文本输入框1006中,使得在用户界面GUI 506中的不同的命令上的工作流的每次迭代期间,文本输入框1006将自动地填充对象508C的“批准者电子邮件”的对应的参数值,其与变量“标签3!文本”相关联。
因此,如从图11至图13的描述可以看到,与第二用户界面(对于工作流逻辑开发而言)并排式并行地显示第一用户界面114(对于用户应用GUI开发而言)实现减轻关于用户应用GUI和工作流的独立开发不可能的接口之间的数据共享。
应注意到,变量可以被配置用于“前期绑定”或者用于“后期绑定”。“前期绑定”指代将数据值分配到在工作流由终端用户触发时的工作流的变量。“后期绑定”指代将数据值分配到在工作流运行时期间在稍后时间处的工作流的变量——当变量实际上由对应的工作流步骤利用时。因此,在实施例中,第二用户界面116可以使得变量能够被设定用于前期绑定或者后期绑定。
例如,图14示出了图示可变绑定可以如何设定的ADT GUI 500的示例视图。此外,图15示出了根据示例实施例的用于指派工作流的输入数据的绑定的类型的步骤1502。图14关于步骤1502被描述如下。
在步骤1502中,使得工作流逻辑的变量能够被指派为前期绑定或者后期绑定。如关于图11-13上文所描述的,变量1204可以被分配到“发送到”输入数据文本输入框1006。在实施例中,变量1204可以以任何方式被设定为前期绑定或者后期绑定。例如,如在图14中所示,开发者可以选择文本框1006中的变量(通过指针512、通过触摸等),并且可以显示实现选择前期绑定或者后期绑定的弹出式菜单1404。在其他实施例中,在此在其他地方所描述或者以其他方式已知的其他技术和/或控件可以被用于针对变量设定前期绑定或者后期绑定。
因此,在上文所描述的方式中,工作流步骤可以被选择以用于包括在工作流中。在实施例中,逻辑元素可以被选择以用于包括在工作流中,包括基于在更早的工作流步骤中所确定的变量值操作的算术逻辑(例如,加法器、乘法器等)、条件逻辑等。
例如,图16示出了图示附加逻辑元素可以如何被包括在工作流中的ADT GUI 500的示例视图。而且,图17示出了根据示例实施例的用于将条件逻辑并入工作流中的步骤1702。图16关于步骤1702被描述如下。
在步骤1702中,实现条件的选择以用于包括在工作流逻辑中。例如,如关于图9上文所描述的,控件906被显示在第二用户界面116中。在实施例中,如在图9和图16中所示,控件906可以包括“添加条件”按钮。开发者可以与“添加条件”按钮交互以将条件插入工作流逻辑中。如在图16中所示,当开发者与“添加条件”按钮交互(例如,按压)时,条件步骤1602在先前地配置的工作流步骤之后被添加到工作流逻辑。条件步骤1602使得工作流步骤能够基于条件的确定(例如,变量值)进行分叉。
在一个说明性示例中,条件步骤1602的条件是批准指示否是从第二工作流步骤1002的消息被发送到的“批准者电子邮件”地址(例如,johndoe@conteso.com)处的人员被接收。例如,消息可能已经包含用于由消息接收器交互的一个或多个控件以指示其批准或者拒绝(例如,当前命令的、附加文件的和/或由消息所提供的其他信息)。控件可以被配置为将返回消息(例如,通过链接、电子邮件、文本消息等)发送到用户应用。如在图16中所示,如果批准被接收(“是”),则开发者已经选择第三工作流步骤1604以被执行。如果拒绝被接收(“否”),则开发者可以选择第四工作流步骤(FWS)1606以被执行。
条件步骤1602的该示例被提供用于图示的目的并且不旨在是限制性的。可以对进一步类型的条件步骤进行配置,诸如具有超过两个可能的条件和/或除是/否之外的其他类型的条件,如对于(一个或多个)相关领域的技术人员将明显的。
在图16的示例中,当开发者已经添加并且配置用户界面116中的所有期望的工作流步骤时,第二用户界面116使得开发者能够通过选择控件906中的“完成”按钮来保存并且关闭工作流,从而保存工作流逻辑120,并且可以选择关闭选项604以返回到控件502的显示(如在图5中)。开发者可以继续开发用户应用GUI 506,并且可以根据期望生成与用户应用GUI 506中的控件相关联的附加的工作流。当开发者已经完成开发用户应用时,用户可以将用户应用保存在“文件”标签下。在这样的情况下,图3的应用包装器310可以生成用户应用316,其包括用户应用GUI 118和工作流逻辑120。例如,应用包装器310可以以可执行文件、压缩文件的形式或者其他形式打包用户应用316。
B.示例运行时实施例
根据实施例,如在此所描述的开发的用户应用(诸如用户应用316)可以由终端用户执行。在操作期间,终端用户可以与用户应用的GUI交互,其可能导致工作流逻辑被执行。工作流逻辑可以本地或者在远程服务处(在“云”中)执行,或者可以被分割,使得第一逻辑部分本地执行,而第二逻辑部分在远程服务处执行。工作流逻辑可以访问本地或者网络可访问的一个或多个应用的数据,如由开发者所配置的。因此,用户应用执行其预期功能。
图18示出了根据示例实施例的用于操作包括一个或多个工作流的用户应用的系统1800的块图。如在图18中所示,系统1800包括计算设备1802、第一基于网络的应用124A、第二基于网络的应用124B和基于网络的服务1804。计算设备1802包括用户应用316和本地应用122。用户应用316包括用户应用GUI 118和可选地工作流逻辑120。基于网络的服务1804可选地包括工作流逻辑120。系统100被描述如下。
取决于用户应用316的配置,第一基于网络的应用124A和第二基于网络的应用124B和基于网络的服务1804各自可选地存在。取决于用户应用316的配置,进一步的基于网络的应用可以存在。
计算设备1802可以是在此所描述或以其他方式已知的任何类型的固定或者移动计算设备。计算设备1802被配置为通过网络126与第一基于网络的应用124A和第二基于网络的应用124B以及基于网络的服务1804通信。
计算设备1802的终端用户可以执行用户应用316以使得其功能被执行。例如,用户应用316可以被执行为独立的应用、浏览器托管的应用或者以另一形式。在一个实施例中,用户应用316的所有功能可以本地托管在计算设备1802处。在另一实施例中,用户应用316的功能可以在基于网络的服务1804处被托管。例如,如在图18中所示(通过虚线),所有工作流逻辑120可以在计算设备1802处执行,所有工作流逻辑120可以在基于网络的服务1802处执行(并且可以将显示信息传递到计算设备1802),或者工作流逻辑120的第一部分可以在计算设备1802处执行并且工作流逻辑120的第二部分可以在基于网络的服务1804处执行。
图19示出了根据示例实施例的提供用于执行用户应用316的过程的流程图1900。出于说明性目的,流程图1900关于图18的系统1800被描述如下。
流程图1900从步骤1902开始。在步骤1902中,执行用户应用。在实施例中,计算设备1802处的终端用户可以使得用户应用316被执行(诸如通过命令行、通过点击/轻叩、或其他方式与表示应用的图标交互、通过浏览器中的选择、或以另一方式)。
在步骤1904中,显示用户应用GUI。当被执行时,用户应用GUI118被显示给用户。用户可以通过审核所显示的数据(例如,从文件、数据库记录、电子表格或者由用户应用读取的其他数据结构)、通过将数据录入用户应用GUI 118(例如,通过键入、通过语音等)和/或通过与在用户应用GUI 118中所显示的一个或多个控件交互,来与用户应用GUI 118交互。
在步骤1906中,工作流逻辑基于与用户应用的交互而被触发。当用户与具有相关联的工作流逻辑120的用户应用GUI 118中的控件交互时,相关联的工作流逻辑120被执行。如上文所描述的,工作流逻辑120可以在计算设备1802和/或基于网络的服务120处执行。当被执行时,工作流逻辑120的工作流步骤以配置的顺序被执行。因此,工作流步骤中的一个或多个工作流步骤可以对应用进行调用以执行其功能,诸如本地应用122(以返回数据132)、基于网络的应用124A(以返回数据130A)、基于网络的应用124B(以返回数据130B)和/或本地或者基于网络的其他应用。
注意,工作流逻辑120中的变量将进行绑定,如在工作流逻辑120的开发期间所配置的(例如,如关于图14和图15上文所描述的)。被配置用于前期绑定的变量将在工作流逻辑120首先被执行时与输入数据绑定。被配置用于后期绑定的变量将在变量被使用时与输入数据绑定。
以这种方式,用户应用316执行其功能,诸如处理命令、跟踪信息、生成消息、处理文档以生成任务或者信息、收集反馈和/或任何其他功能。
III.示例移动和固定设备实施例
计算设备102、应用开发工具106、应用设计器110、工作流生成器112、本地应用122、基于网络的应用124A、基于网络的应用124B、数据选择器302、GUI格式化器304、控件选择器306、行为分配器308、应用包装器310、步骤选择器312、输入数据选择器314、计算设备1802、基于网络的服务1804、流程图200、步骤702、步骤902、步骤1102、流程图1300、步骤1502、步骤1702和流程图1900可以被实现在硬件或者与软件和/或固件组合的硬件中。例如,应用开发工具106、应用设计器110、工作流生成器112、本地应用122、基于网络的应用124A、基于网络的应用124B、数据选择器302、GUI格式化器304、控件选择器306、行为分配器308、应用包装器310、步骤选择器312、输入数据选择器314、流程图200、步骤702、步骤902、步骤1102、流程图1300、步骤1502、步骤1702和/或流程图1900可以被实现为被配置为被执行在一个或多个处理器中并且被存储在计算机可读存储介质中的计算机程序代码/指令。备选地、应用开发工具106、应用设计器110、工作流生成器112、本地应用122、基于网络的应用124A、基于网络的应用124B、数据选择器302、GUI格式化器304、控件选择器306、行为分配器308、应用包装器310、步骤选择器312、输入数据选择器314、流程图200、步骤702、步骤902、步骤1102、流程图1300、步骤1502、步骤1702和/或流程图1900可以被实现为硬件逻辑/电子电路。
例如,在实施例中,应用开发工具106、应用设计器110、工作流生成器112、本地应用122、基于网络的应用124A、基于网络的应用124B、数据选择器302、GUI格式化器304、控件选择器306、行为分配器308、应用包装器310、步骤选择器312、输入数据选择器314、流程图200、步骤702、步骤902、步骤1102、流程图1300、步骤1502、步骤1702和/或流程图1900的任何组合中的一个或多个可以一起被实现在SoC中。SoC可以包括集成电路芯片,其包括以下中的一项或多项:处理器(例如,中央处理单元(CPU)、微控件器、微处理器、数字信号处理器(DSP)等)、存储器、一个或多个通信接口和/或进一步的电路,并且可以可选地执行接收到的程序代码和/或包括嵌入式固件以执行功能。
图20描绘了在其中可以实现实施例的计算设备2000的示例性实现。例如,计算设备102和1802和基于网络的服务1804中的任一个可以被实现在与固定或移动计算机实施例中的计算设备2000类似的一个或多个计算设备中,包括计算设备2000的一个或多个特征和/或备选特征。在此所提供的计算设备2000的描述被提供用于图示的目的,并且不旨在是限制性的。实施例可以被实现在其他类型的计算机系统中,如将由(一个或多个)相关领域中的技术人员已知的。
如在图20中所示,计算设备2000包括一个或多个处理器,被称为处理器电路2002、系统存储器2004和将包括系统存储器2004的各种系统部件耦合到处理器电路2002的总线2006。处理器电路2002是在一个或多个物理硬件电器电路设备元素和/或集成电路设备(半导体材料芯片或者管芯)中被实现为中央处理单元(CPU)、微控件器、微处理器和/或其他物理硬件处理器电路的电子和/或光学电路。处理器电路2002可以执行被存储在计算机可读介质中的程序代码,诸如操作系统2030的程序代码、应用程序2032、其他程序2034等。总线2006表示任何数种类型的总线结构中的一个或多个,包括存储器总线或者存储器控件器、外围总线、加速图形端口和处理器或者使用任何各种总线架构的本地总线。系统存储2004包括只读存储器(ROM)2008和随机存取存储器(RAM)2010。基本输入/输出系统2012(BIOS)被存储在ROM 2008中。
计算设备2000还具有以下驱动器中的一个或多个:硬盘驱动器2014,其用于从硬盘读取并且写到硬盘;磁盘驱动器2016,其用于从可移除磁盘2018读取或者写到可移除磁盘2018;以及光盘驱动器2020,其用于从可移除光盘2022读取或者写到可移除光盘1322(诸如CD ROM、DVD ROM或者其他光学介质)。硬盘驱动器2014、磁盘驱动器2016和光盘驱动器2020分别通过硬盘驱动器接口2024、磁盘驱动器接口2026和光学驱动器接口2028被连接到总线2006。驱动器和其相关联的计算机可读介质提供计算机可读指令、数据结构、程序模块和用于计算机的其他数据的非易失性存储。虽然描述了硬盘、可移除的磁盘和可移除的光盘,但是其他类型的基于硬件的计算机可读存储介质可以被用于存储数据(诸如闪存卡、数字视频盘、RAM、ROM和其他硬件存储介质)。
多个程序模块可以被存储在硬盘、磁盘、光盘、ROM或RAM上。这些程序包括操作系统2030、一个或多个应用程序2032、其他程序2034和程序数据2036。应用程序2032或者其他程序2034可以包括例如用于实现以下各项的程序逻辑(例如,计算机程序代码或者指令):应用开发工具106、应用设计器110、工作流生成器112、本地应用122、基于网络的应用124A、基于网络的应用124B、数据选择器302、GUI格式化器304、控件选择器306、行为分配器308、应用包装器310、步骤选择器312、输入数据选择器314、流程图200、步骤702、步骤902、步骤1102、流程图1300、步骤1502、步骤1702和/或流程图1900(包括流程图200、1300、1900的任何适合的步骤)和/或在此所描述的进一步的实施例。
用户可以通过输入设备(诸如键盘2038和指点设备2040)将命令和信息录入计算设备2000。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏板、卫星盘、扫描仪、触摸屏和/或触摸板、接收语音输入的语音识别系统、接收手势输入的手势识别系统等。这些和其他输入设备常常通过耦合到总线2006的串行端口接口2042连接到处理器电路2002,但是可以通过其他接口(诸如并行端口、游戏端口或者通用串行总线(USB))进行连接。
显示屏2044还经由接口(诸如视频适配器2046)被连接到总线2006。显示屏2044可以在计算设备200外部或者被并入在计算设备200中。显示屏2044可以显示信息,以及是用于接收用户命令和/或其他信息的用户界面(例如,通过触摸、手指手势、虚拟键盘等)。除了显示屏2044之外,计算设备2000可以包括其他外围输出设备(未示出)(诸如扬声器和打印机)。
计算设备2000通过适配器或者网络接口2050、调制解调器2052或者用于通过网络建立通信的其他装置被连接到网络2048(例如,因特网)。可以在内部或者外部的调制解调器2052可以经由串行端口接口2042被连接到总线2006,如在图20中所示,或者可以使用另一接口类型(包括并行接口)被连接到总线2006。
如在此所使用的,术语“计算机程序介质”、“计算机可读介质”和“计算机可读存储介质”用于指代物理硬件介质,诸如与硬盘驱动器2014相关联的硬盘、可移除的磁盘2018、可移除的光盘2022、其他物理硬件介质诸如RAM、ROM、闪存卡、数字视频盘、压缩碟、MEM、基于纳米技术的存储设备以及进一步的类型的物理/有形硬件存储介质(包括图12的存储器1220)。这样的计算机可读存储介质与通信介质区分并且不与通信介质重叠(不包括通信介质)。通信介质实现计算机可读指令、数据结构、程序模块或者调制数据信号(诸如载波)中的其他数据。术语“调制数据信号”意味着具有以将信息编码在信号中的这样的方式设定或改变的其特性中的一个或多个特性的信号。以示例而非限制的方式,通信介质包括无线介质(诸如声学、RF、红外线和其他无线介质以及有线介质)。实施例还涉及与涉及计算机可读存储介质的实施例分离并且非重叠的这样的通信介质。
如上文所指出的,计算机程序和模块(包括应用程序2032和其他程序2034)可以被存储在硬盘、磁盘、光盘、ROM、RAM或其他硬件存储介质上。还可以经由网络接口2050、串行端口接口2042或者任何其他接口类型接收这样的计算机程序。当由应用执行或加载时,这样的计算机程序使得计算设备2000能够实现本文所讨论的实施例的特征。因此,这样的计算机程序表示计算设备2000的控制器。
实施例还涉及包括被存储在任何计算机可读介质上的计算机代码或者指令的计算机程序产品。这样的计算机程序产品包括硬盘驱动器、光盘驱动器、存储器设备包、便携式记忆棒、存储器卡和其他类型的物理存储硬件。
IV.进一步的示例实施例
在一个实施例中,一种计算设备中的方法包括:在显示屏上提供使得用户应用的图形用户界面(GUI)能够被配置的第一用户界面,包括使得控件能够被选择以用于包括在用户应用的GUI中,并且使得工作流逻辑能够与被包括在用户应用的GUI中的控件相关联;并且在显示屏上与第一用户界面同时提供使得工作流逻辑能够被生成的第二用户界面,包括实现选择一个或多个步骤以用于包括在工作流逻辑中,并且将工作流逻辑的每个步骤配置为对经由用户应用的GUI录入的数据或者工作流逻辑的另一步骤的数据中的至少一个进行操作。
在实施例中,在显示屏上与第一用户界面同时提供使得工作流逻辑能够被生成的第二用户界面包括:实现从步骤库选择步骤以用于包括在工作流逻辑中,步骤包括一个或多个基于网络的应用和一个或多个客户端应用。
在实施例中,在显示屏上与第一用户界面同时提供使得工作流逻辑能够被生成的第二用户界面包括:实现选择条件以用于包括在工作流逻辑中。
在实施例中,方法还包括:使得工作流的变量能够被指派为前期绑定或者后期绑定。
在实施例中,将工作流逻辑的每个步骤配置为对经由用户应用的GUI录入的数据或者工作流逻辑的另一步骤的数据中的至少一个进行操作包括:实现选择在第一用户界面中所显示的用户应用的GUI中的对象以使用对象的参数值作为第二用户界面中的工作流逻辑的步骤的输入。
在实施例中,实现选择在第一用户界面中所显示的用户应用的GUI中的对象以使用对象的参数值作为第二用户界面中的工作流逻辑的步骤的输入包括:在第一用户界面中实现选择用户应用的GUI中的对象;并且实现将对象拖曳到第二用户界面以指示参数值作为工作流逻辑的步骤的输入。
在实施例中,使得工作流逻辑能够与被包括在用户应用的GUI中的控件相关联包括:选择用户应用的GUI中的控件;选择用于所选择的控件的运行工作流行为;并且响应于选择用于控件的运行工作流行为,实现选择新工作流逻辑以被创建用于与所选择的控件相关联,并且实现从工作流逻辑库选择现有工作流逻辑以用于与所选择的控件相关联。
在另一实施例中,一种用于开发用户应用的系统包括:至少一个处理器电路;以及至少一个存储器,其存储被配置为由至少一个处理器电路执行的程序代码,程序代码包括:应用设计器,其被配置为在显示屏上提供使得用户应用的图形用户界面(GUI)能够被配置的第一用户界面,包括,应用设计器包括:控件选择器,其被配置为使得控件能够被选择以用于包括在用户应用的GUI中;以及行为分配器,其被配置为使得工作流逻辑能够与被包括在用户应用的GUI中的控件相关联;以及工作流生成器,其被配置为与第一用户界面同时在显示屏上提供使得工作流逻辑能够被生成的第二用户界面,工作流生成器包括:步骤选择器,其被配置为实现选择一个或多个步骤以用于包括在工作流逻辑中;以及输入数据选择器,其被配置为使得工作流逻辑的每个步骤能够对经由用户应用的GUI录入的数据或者工作流逻辑的另一步骤的数据中的至少一个进行操作。
在实施例中,步骤选择器被配置为实现从步骤库选择步骤以用于包括在工作流逻辑中,步骤包括一个或多个基于网络的应用和一个或多个客户端应用。
在实施例中,步骤选择器被配置为实现选择条件以用于包括在工作流逻辑中。
在实施例中,针对作为具有相关联的基于网络的数据的基于网络的应用的步骤,输入数据选择器被配置为在开发时期间从基于网络的应用取回基于网络的数据,并且将所取回的数据与工作流逻辑绑定。
在实施例中,输入数据选择器被配置为使得工作流的变量能够被指派为前期绑定或者后期绑定。
在实施例中,输入数据选择器被配置为实现选择在第一用户界面中所显示的用户应用的GUI中的对象以使用对象的参数值作为第二用户界面中的工作流逻辑的步骤的输入。
在实施例中,输入数据选择器被配置为在第一用户界面中实现选择用户应用的GUI中的对象,并且实现将对象拖曳到第二用户界面以指示参数值作为工作流逻辑的步骤的输入。
在实施例中,行为分配器被配置为实现选择用户应用的GUI中的控件,并且实现用于用户应用中的所选择的控件的运行工作流行为;并且响应于选择用于控件的运行工作流行为,行为分配器被配置为实现选择新工作流逻辑以被创建用于与所选择的控件相关联,并且实现从工作流逻辑电路选择现有工作流逻辑以用于与所选择的控件相关联。
在另一实施例中,一种计算机可读存储介质包括计算机可执行指令,指令当由处理器执行时,执行一种方法,包括:在显示屏上提供使得用户应用的图形用户界面(GUI)能够被配置的第一用户界面,包括使得控件能够被选择以用于包括在用户应用的GUI中,并且使得工作流逻辑能够与被包括在用户应用的GUI中的控件相关联;并且与第一用户界面同时在显示屏上提供使得工作流逻辑能够被生成的第二用户界面,包括实现选择一个或多个步骤以用于包括在工作流逻辑中,并且将工作流逻辑的每个步骤配置为对经由用户应用的GUI录入的数据或者工作流逻辑的另一步骤的数据中的至少一个进行操作。
在实施例中,与第一用户界面同时在显示屏上提供使得工作流逻辑能够被生成的第二用户界面包括:实现从步骤库选择步骤以用于包括在工作流逻辑中,步骤包括一个或多个基于网络的应用和一个或多个客户端应用。
在实施例中,与第一用户界面同时在显示屏上提供使得工作流逻辑能够被生成的第二用户界面包括:实现选择条件以用于包括在工作流逻辑中。
在实施例中,方法还包括:使得工作流的变量能够被指派为前期绑定或者后期绑定。
在实施例中,将工作流逻辑的每个步骤配置为对经由用户输入的GUI录入的数据或者工作流逻辑的另一步骤的数据中的至少一个进行操作包括:在第一用户界面中实现选择用户应用的GUI中的对象;并且实现将对象拖曳到第二用户界面以指示参数值作为工作流逻辑的步骤的输入。
在实施例中,使得工作流逻辑能够与被包括在用户应用的GUI中的控件相关联包括:选择用户应用的GUI中的控件;选择用于所选择的控件的运行工作流行为;并且响应于选择用于控件的运行工作流行为,实现选择新工作流逻辑以被创建用于与所选择的控件相关联,并且实现从工作流逻辑库选择现有工作流逻辑以用于与所选择的控件相关联。
V.结论
虽然上文已经描述本发明的各种实施例,但是应当理解,它们已经仅以示例而非限制的方式呈现。(一个或多个)相关领域的人员将理解到,在不脱离如在所附的权利要求限定的本发明的精神和范围的情况下,可以在其中做出形式和细节方面的各种改变。因此,本发明的宽度和范围不应当由上文所描述的示例性实施例中的任一个实施例进行限制,而是应当仅根据所附权利要求及其等同物而被限定。

Claims (15)

1.一种计算设备中的方法,包括:
在显示屏上提供使得用户应用的图形用户界面(GUI)能够被配置的第一用户界面,包括:
使得控件能够被选择以用于包括在所述用户应用的所述GUI中,以及
使得工作流逻辑能够与被包括在所述用户应用的所述GUI中的控件相关联;以及
在所述显示屏上与所述第一用户界面同时提供使得所述工作流逻辑能够被生成的第二用户界面,包括
实现对一个或多个步骤的选择以用于包括在所述工作流逻辑中,以及
将所述工作流逻辑的每个步骤配置为对经由所述用户应用的所述GUI录入的数据或者所述工作流逻辑的另一步骤的数据中的至少一个进行操作。
2.根据权利要求1所述的方法,其中在所述显示屏上与所述第一用户界面同时提供使得所述工作流逻辑能够被生成的第二用户界面包括:
实现从多个步骤的库选择步骤以用于包括在所述工作流逻辑中,所述多个步骤包括一个或多个基于网络的应用和一个或多个客户端应用。
3.根据权利要求1所述的方法,其中在所述显示屏上与所述第一用户界面同时提供使得所述工作流逻辑能够被生成的第二用户界面包括:
实现对条件的选择以用于包括在所述工作流逻辑中。
4.根据权利要求1所述的方法,还包括:
使得所述工作流逻辑的变量能够被指派为前期绑定或者后期绑定。
5.根据权利要求1所述的方法,其中将所述工作流逻辑的每个步骤配置为对经由所述用户应用的所述GUI录入的数据或者所述工作流的另一步骤的数据中的至少一个进行操作包括:
实现对在所述第一用户界面中被显示的所述用户应用的所述GUI中的对象的选择以使用所述对象的参数值作为对所述第二用户界面中的所述工作流逻辑的步骤的输入。
6.根据权利要求5所述的方法,其中实现对在所述第一用户界面中被显示的所述用户应用的所述GUI中的对象的选择以使用所述对象的参数值作为对所述第二用户界面中的所述工作流逻辑的步骤的输入包括:
在所述第一用户界面中实现对所述用户应用的所述GUI中的所述对象的选择;以及
实现所述对象到所述第二用户界面的拖拽以指示所述参数值作为对所述工作流逻辑的步骤的输入。
7.根据权利要求1所述的方法,其中使得工作流逻辑能够与被包括在所述用户应用的所述GUI中的控件相关联包括:
选择所述用户应用的所述GUI中的所述控件;
选择用于所选择的所述控件的运行工作流行为;以及
响应于选择用于所述控件的所述运行工作流行为,
实现对新工作流逻辑的选择以被创建用于与所选择的所述控件相关联,以及
实现从工作流逻辑库选择现有工作流逻辑以用于与所选择的所述控件相关联。
8.一种用于开发用户应用的系统,包括:
至少一个处理器电路;以及
至少一个存储器,其存储被配置为由所述至少一个处理器电路执行的程序代码,所述程序代码包括:
应用设计器,其被配置为在显示屏上提供使得用户应用的图形用户界面(GUI)能够被配置的第一用户界面,包括,所述应用设计器包括:
控件选择器,其被配置为使得控件能够被选择以用于包括在所述用户应用的所述GUI中,以及
行为分配器,其被配置为使得工作流逻辑能够与被包括在所述用户应用的所述GUI中的控件相关联;以及
工作流生成器,其被配置为在所述显示屏上与所述第一用户界面同时提供使得所述工作流逻辑能够被生成的第二用户界面,所述工作流生成器包括:
步骤选择器,其被配置为实现对一个或多个步骤的选择以用于包括在所述工作流逻辑中,以及
输入数据选择器,其被配置为使得所述工作流逻辑的每个步骤能够对经由所述用户应用的所述GUI录入的数据或者所述工作流逻辑的另一步骤的数据中的至少一个进行操作。
9.根据权利要求8所述的系统,其中所述步骤选择器被配置为实现从步骤库选择步骤以用于包括在所述工作流逻辑中,所述步骤包括一个或多个基于网络的应用和一个或多个客户端应用。
10.根据权利要求9所述的系统,其中所述步骤选择器被配置为实现对条件的选择以用于包括在所述工作流逻辑中。
11.根据权利要求8所述的系统,其中针对作为具有相关联的基于网络的数据的基于网络的应用的步骤,所述输入数据选择器被配置为在开发时期间从所述基于网络的应用取回所述基于网络的数据,并且将所取回的所述数据与所述工作流逻辑绑定。
12.根据权利要求8所述的系统,其中所述输入数据选择器被配置为实现对在所述第一用户界面中被显示的所述用户应用的所述GUI中的对象的选择,以使用所述对象的参数值作为对所述第二用户界面中的所述工作流逻辑的步骤的输入。
13.根据权利要求12所述的系统,其中所述输入数据选择器被配置为在所述第一用户界面中实现对所述用户应用的所述GUI中的所述对象的选择,并且实现所述对象到所述第二用户界面的拖拽以指示所述参数值作为对所述工作流逻辑的步骤的输入。
14.根据权利要求8所述的系统,其中所述行为分配器被配置为实现对所述用户应用的所述GUI中的所述控件的选择,并且实现用于所述用户应用中的所选择的所述控件的运行工作流行为;以及
响应于选择用于所述控件的所述运行工作流行为,所述行为分配器被配置为实现对新工作流逻辑的选择以被创建用于与所选择的所述控件相关联,并且实现从工作流逻辑库选择现有工作流逻辑以用于与所选择的所述控件相关联。
15.一种包括具有被记录在其上的计算机程序逻辑的计算机可读介质的计算机程序产品,包括:
用于使得处理器能够执行根据权利要求1-7中的任一项的计算机程序逻辑装置。
CN201680068051.5A 2015-11-24 2016-11-17 并行前端应用和工作流开发 Active CN108292208B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/951,219 2015-11-24
US14/951,219 US10592082B2 (en) 2015-11-24 2015-11-24 Parallel front end application and workflow development
PCT/US2016/062379 WO2017091422A1 (en) 2015-11-24 2016-11-17 Parallel front end application and workflow development

Publications (2)

Publication Number Publication Date
CN108292208A true CN108292208A (zh) 2018-07-17
CN108292208B CN108292208B (zh) 2021-06-25

Family

ID=57543158

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680068051.5A Active CN108292208B (zh) 2015-11-24 2016-11-17 并行前端应用和工作流开发

Country Status (4)

Country Link
US (1) US10592082B2 (zh)
EP (1) EP3380931A1 (zh)
CN (1) CN108292208B (zh)
WO (1) WO2017091422A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144520A (zh) * 2018-09-03 2019-01-04 武汉斗鱼网络科技有限公司 Android中不同对象间的信息交互方法、装置、设备和存储介质
WO2021093672A1 (zh) * 2019-11-13 2021-05-20 深圳前海微众银行股份有限公司 外部系统的嵌入方法、工作流系统、设备及计算机可读存储介质

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157855B2 (en) * 2017-01-09 2021-10-26 Sutherland Global Services Inc. Robotics process automation platform
US10872000B2 (en) * 2017-05-05 2020-12-22 Workato, Inc. Late connection binding for bots
US11645046B2 (en) * 2017-07-03 2023-05-09 Unqork, Inc. Systems and methods for development and deployment of software platforms having advanced workflow and event processing components
US10884769B2 (en) * 2018-02-17 2021-01-05 Adobe Inc. Photo-editing application recommendations
US11036811B2 (en) 2018-03-16 2021-06-15 Adobe Inc. Categorical data transformation and clustering for machine learning using data repository systems
US10775987B2 (en) 2018-07-16 2020-09-15 Salesforce.Com, Inc. Processing a sequence of operations using operation tracking screens
US10592077B1 (en) * 2019-07-17 2020-03-17 Capital One Services, Llc AI-powered tagging and UI/UX optimization engine
EP3869328A1 (en) * 2020-02-20 2021-08-25 Siemens Aktiengesellschaft System, device and method for debugging an industrial application
US11494203B2 (en) 2020-05-13 2022-11-08 UiPath, Inc. Application integration for robotic process automation
US11763231B2 (en) * 2020-05-27 2023-09-19 Vmware, Inc. Workflow service application stating
US11593155B2 (en) * 2020-05-27 2023-02-28 Vmware Inc. Workflow service application networking
CN111966349B (zh) * 2020-07-09 2022-08-09 杭州睿疆科技有限公司 基于bs架构程序开发的方法、装置和计算机设备
CN111736836B (zh) * 2020-07-22 2020-11-17 平安国际智慧城市科技股份有限公司 基于关系图的组件配置方法、装置及计算机可读存储介质
US11972235B2 (en) * 2022-03-02 2024-04-30 Sap Se No-code metadata-driven provisioning of workflow task user interfaces

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1766835A (zh) * 2004-10-01 2006-05-03 微软公司 用于在设计和运行时间无缝制作和编辑工作流的框架
US20060143591A1 (en) * 2004-12-23 2006-06-29 Microsoft Corporation Extensibility framework for developing front office (CRM) workflow automation components
US20070240112A1 (en) * 2006-02-23 2007-10-11 Microsoft Corporation Parallel loops in a workflow
US20080028329A1 (en) * 2006-07-19 2008-01-31 Erl Thomas F Creation and management of service candidates for a service model
CN101223505A (zh) * 2005-06-27 2008-07-16 微软公司 数据中心工作流
CN101238456A (zh) * 2005-04-18 2008-08-06 捷讯研究有限公司 用于实现应用任务工作流辅助视觉开发的系统和方法
US20090099871A1 (en) * 2005-08-09 2009-04-16 Gopal Gadodia Workflow Oriented Multiscreen Healthcare Information Management System
US20100050153A1 (en) * 2008-08-21 2010-02-25 Clevest Solutions Inc. Method and system of editing workflow logic and screens with a gui tool
CN102043625A (zh) * 2010-12-22 2011-05-04 中国农业银行股份有限公司 一种工作流运行方法及系统
WO2011104367A2 (en) * 2010-02-25 2011-09-01 Sita Information Networking Computing Ireland Limited Software application development tool
CN103092617A (zh) * 2013-01-15 2013-05-08 南京大学 一种基于后备服务的高可靠工作流开发方法
CN103744647A (zh) * 2013-10-18 2014-04-23 北京邮电大学 一种基于工作流GPD的Java工作流开发系统及其方法
US20140229898A1 (en) * 2013-02-08 2014-08-14 cloudRIA, Inc. Browser-based application management
US20140282353A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Software release workflow management
CN104272254A (zh) * 2012-04-30 2015-01-07 微软公司 用户界面web服务
CN105005481A (zh) * 2015-08-01 2015-10-28 沈阳昭软软件有限公司 一种处理工作流待办任务的方法及系统

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8725548B2 (en) 2002-06-28 2014-05-13 Oracle International Corporation Dynamic workflow approvals
US8082169B2 (en) * 2004-06-18 2011-12-20 Canon Kabushiki Kaisha User interface for workflow builder
US8006245B2 (en) 2004-09-30 2011-08-23 Microsoft Corporation System and method for state management and workflow control
US7464366B2 (en) 2004-10-01 2008-12-09 Microsoft Corporation Programming interface for a componentized and extensible workflow model
US8768741B1 (en) * 2005-01-03 2014-07-01 Cerner Innovation, Inc. Displaying an item of work in a workflow context
US20070028175A1 (en) 2005-07-29 2007-02-01 Moore Dennis B Grid processing user tools
US7996488B1 (en) 2006-11-27 2011-08-09 Disney Enterprises, Inc. Systems and methods for interconnecting media applications and services with automated workflow orchestration
EP2254502A1 (en) * 2008-01-23 2010-12-01 Sensable Technologies, Inc. Haptically enabled dental modeling system
US20100257470A1 (en) * 2009-04-03 2010-10-07 Hewlett-Packard Development Company, L.P. Personal project management
CA2667036A1 (en) * 2009-05-27 2010-11-27 Clevest Solutions Inc. A system and method for workflow management with configurable states and extensibility
US8635177B2 (en) * 2009-08-17 2014-01-21 Adobe Systems Incorporated Rule-based binding
US9098338B2 (en) 2010-12-17 2015-08-04 Verizon Patent And Licensing Inc. Work flow command processing system
US20130152021A1 (en) * 2011-12-09 2013-06-13 Microsoft Corporation Stage and stage view within a workflow
US9292815B2 (en) * 2012-03-23 2016-03-22 Commvault Systems, Inc. Automation of data storage activities
KR20140040920A (ko) * 2012-09-27 2014-04-04 한국전자통신연구원 매쉬업 블록 유저 인터페이스를 이용한 매쉬업 저작 장치 및 그 방법
US20140195954A1 (en) * 2013-01-09 2014-07-10 Siemens Medical Solutions Usa, Inc. Accessories as Workflow Priors in Medical Systems
US9357018B2 (en) * 2013-01-23 2016-05-31 Oracle International Corporation Service bus workflow templates
US9535570B2 (en) * 2013-03-15 2017-01-03 WIN—911 Software Method and system for remote alarm event notifications for automated machinery
US20140337071A1 (en) * 2013-05-09 2014-11-13 Optymyze Pte. Ltd. Method and system for configuring and processing requests through workflow applications
US9946516B2 (en) * 2014-03-14 2018-04-17 Starbucks Corporation Application workflow framework
US10419379B2 (en) * 2014-04-07 2019-09-17 Visa International Service Association Systems and methods to program a computing system to process related events via workflows configured using a graphical user interface

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1766835A (zh) * 2004-10-01 2006-05-03 微软公司 用于在设计和运行时间无缝制作和编辑工作流的框架
US20060143591A1 (en) * 2004-12-23 2006-06-29 Microsoft Corporation Extensibility framework for developing front office (CRM) workflow automation components
CN101238456A (zh) * 2005-04-18 2008-08-06 捷讯研究有限公司 用于实现应用任务工作流辅助视觉开发的系统和方法
CN101223505A (zh) * 2005-06-27 2008-07-16 微软公司 数据中心工作流
US20090099871A1 (en) * 2005-08-09 2009-04-16 Gopal Gadodia Workflow Oriented Multiscreen Healthcare Information Management System
US20070240112A1 (en) * 2006-02-23 2007-10-11 Microsoft Corporation Parallel loops in a workflow
US20080028329A1 (en) * 2006-07-19 2008-01-31 Erl Thomas F Creation and management of service candidates for a service model
US20100050153A1 (en) * 2008-08-21 2010-02-25 Clevest Solutions Inc. Method and system of editing workflow logic and screens with a gui tool
WO2011104367A2 (en) * 2010-02-25 2011-09-01 Sita Information Networking Computing Ireland Limited Software application development tool
CN102043625A (zh) * 2010-12-22 2011-05-04 中国农业银行股份有限公司 一种工作流运行方法及系统
CN104272254A (zh) * 2012-04-30 2015-01-07 微软公司 用户界面web服务
CN103092617A (zh) * 2013-01-15 2013-05-08 南京大学 一种基于后备服务的高可靠工作流开发方法
US20140229898A1 (en) * 2013-02-08 2014-08-14 cloudRIA, Inc. Browser-based application management
US20140282353A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Software release workflow management
CN103744647A (zh) * 2013-10-18 2014-04-23 北京邮电大学 一种基于工作流GPD的Java工作流开发系统及其方法
CN105005481A (zh) * 2015-08-01 2015-10-28 沈阳昭软软件有限公司 一种处理工作流待办任务的方法及系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109144520A (zh) * 2018-09-03 2019-01-04 武汉斗鱼网络科技有限公司 Android中不同对象间的信息交互方法、装置、设备和存储介质
CN109144520B (zh) * 2018-09-03 2022-05-13 武汉斗鱼网络科技有限公司 Android中不同对象间的信息交互方法、装置、设备和存储介质
WO2021093672A1 (zh) * 2019-11-13 2021-05-20 深圳前海微众银行股份有限公司 外部系统的嵌入方法、工作流系统、设备及计算机可读存储介质

Also Published As

Publication number Publication date
US10592082B2 (en) 2020-03-17
EP3380931A1 (en) 2018-10-03
WO2017091422A1 (en) 2017-06-01
CN108292208B (zh) 2021-06-25
US20170147190A1 (en) 2017-05-25

Similar Documents

Publication Publication Date Title
CN108292208A (zh) 并行前端应用和工作流开发
US10705942B1 (en) Simulated testing of API
CN108292206B (zh) 具有易于使用特征的工作流开发系统
US20190272154A1 (en) Application with embedded workflow designer
US10444975B2 (en) Graphical icon manipulation
US10831453B2 (en) Connectors framework
CN102520841B (zh) 收集用户接口
EP4130968A1 (en) Optimization schemes for controlling user interfaces through gesture or touch
US20100205559A1 (en) Quick-launch desktop application
JP2007257642A (ja) 関連するユーザ・インターフェース・コントロールを強調表示するための装置、方法、およびシステム(関連するユーザ・インターフェース・コントロールを強調表示するための装置および方法)
CN104169853B (zh) 网页应用控件
US20140344683A1 (en) Methods, system and computer program product for user guidance
CN107430520B (zh) 用于应用插件的增强的预览技术
US11256743B2 (en) Intermixing literal text and formulas in workflow steps
US10649618B2 (en) System and method for creating visual representation of data based on generated glyphs
CN105659221A (zh) 具有用于连接组件的增强工具的图形用户界面
CN110300966A (zh) 增强的数据透视表的创建和交互
US10437779B2 (en) Intelligent interactive screen capture
CN109074372A (zh) 使用拖放来应用元数据
CN103955475A (zh) 一种网页标签信息的显示方法、装置和浏览器
US11886935B1 (en) System and method for app-to-app content reconfiguration
CN103412704B (zh) 用于通过姿势或触摸控制用户界面的优化方案
US20240080354A1 (en) Providing bulk server-side custom actions for multiple rows of a client-side spread sheet
US8548798B2 (en) Representations for graphical user interfaces of operators, data types, and data values in a plurality of natural languages
CN115390720A (zh) 包括自动文档滚动的机器人过程自动化(rpa)

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant