CN101346713B - 在基于工作流的应用程序中对用户输入和交互建模 - Google Patents

在基于工作流的应用程序中对用户输入和交互建模 Download PDF

Info

Publication number
CN101346713B
CN101346713B CN2006800487020A CN200680048702A CN101346713B CN 101346713 B CN101346713 B CN 101346713B CN 2006800487020 A CN2006800487020 A CN 2006800487020A CN 200680048702 A CN200680048702 A CN 200680048702A CN 101346713 B CN101346713 B CN 101346713B
Authority
CN
China
Prior art keywords
workflow
hang
action
host
computer implemented
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
CN2006800487020A
Other languages
English (en)
Other versions
CN101346713A (zh
Inventor
A·萨纳布里阿
C·米哈
N·科塔里
I·西勒罗
M·哈德
P·E·梅比
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=38225702&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN101346713(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101346713A publication Critical patent/CN101346713A/zh
Application granted granted Critical
Publication of CN101346713B publication Critical patent/CN101346713B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • 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
    • 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
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work

Abstract

将交互实现为工作流自身的一部分的系统和方法。通过采用交互活动组件,数据被传入或传出工作流以形成一个交互工作流。此交互活动组件在工作流定义内为挂起点建模,其中用户输入以及相关联的交互可以在要求用户输入的各交互的间隙期间被提供至工作流。这样一个布局允许工作流和与其相关联的宿主应用程序之间受控/同步地进行数据交换。

Description

在基于工作流的应用程序中对用户输入和交互建模
背景
工作流一般是在组织中的信息和控制流。为了有效地竞争,企业不断地努力来定义、记录并精简这样的流程。在一企业环境中,这些流程包括销售和订单处理、采购任务、库存控制和管理、制造和生产控制、发货和验货、应付账款等。
计算机系统和相关联的软件现在提供企业和其它组织可以用于改进他们的工作流的工具。软件工具可以用来对业务工作流流程或进度表建模并标识效率不高的地方和可能的改进。另外,当一流程涉及在人员、部门、车间、或甚至独立的公司之间交换数据时,计算机系统和网络可以用来实现这些交换。这样的系统和软件工具还能够实现通常与业务相关信息相关联的大规模计算和其它数据或信息处理。
因此,工作流管理包括对一组织的业务流程中的信息流动和控制进行有效管理,其中这种信息处理的自动化导致了现代商业界中的许多有效改进。而且,工作流管理的这种自动化现在正允许企业和其他组织通过在包括诸如因特网等全球计算机网络的计算机系统中执行工作流事务来进一步改进绩效。
一个典型的基于工作流的应用程序常常需要满足多个条件。例如,一个这样的条件是基于业务规则作出决策的能力。这可以包括简单规则(例如,就像基于信用检查的结果做出的是或否的决定),以及更复杂的规则(例如,必须对可能的大型标的进行评估以作出初步担保决定)。另外的要求是与工作流外的其它软件和其它系统进行通信。例如,初始请求可以从应用程序的一部分接收到,而其它方面(例如,联系信用服务)可以要求使用其它Web服务或技术进行的通信。需要满足的另一条件是工作流与用户的适当交互。例如,工作流应该通常能够显示用户界面本身或通过其它软件与人们交互。此外,另一个需要满足的条件是维持整个工作流生命周期中的状态的能力。因此,对在软件中创建和执行工作流提出了独特的挑战。
例如,某些业务流程可能需要数小时、数天、或数星期来完成,并且在这样的时间长度内维持关于工作流当前状态的信息是高要求的。此外,这样一种长时间运行的工作流还通常将以非阻断方式与其它软件通信,并且异步通信会有困难。与此同时,尽管对软件中的固定交互的建模是相对直接的,但消费者往往会不断要求额外的灵活性,例如在进行中改变业务流程的能力。处理不同的应用程序还会进一步增加工作流创建和管理中所涉及的复杂度。
许多用于工作流工具的应用程序是在企业或组织的内部的。随着具有调制解调器或其它类型的通信链路的联网计算机的到来,在远程位置处的计算系统现在可以与彼此方便地通信。这种增强的通信允许在一个公司的远程设备之间使用计算系统工作流应用程序。一个示例可以包括向异地销售办公室转发来自公司总部的一个客户订单以供合适的销售人员来验证并将验证返回给总部。工作流应用程序还可以具有处理不同公司之间的业务往来的特定用途。在一典型的应用中,具有买方-卖方关系的两个公司可能希望自动化生成和处理采购订单、产品运输、帐单和托收等。
例如,针对一个专门问题的应用程序(例如客户关系管理(CRM)或一个例如金融服务的特定垂直市场)可以围绕工作流来构建。这种类型的应用程序通常实现多个不同业务流程。在诸如Windows WorkflowFoundation等常见工作流基础上构建驱动那些流程的逻辑可以使得应用程序能更快地建立、更快地改变、以及更容易定制。此外,这种流程的自动化可以带来本来是不可能的显著的效率上的改进。然而,这种对工作流技术的公司间应用要求公司之间的合作以及要求各独立公司的现有计算机系统和应用程序的适当接口和适当的持久服务实现。
到目前为止,已开发的工作流应用程序工具通过定义工作流进度表来提供自动化业务工作流的某些能力。例如,买方会希望将正采购的产品列表连同采购订单号一起发送到卖方,并且卖方会希望回复订单确认和期望的发货日期。这种类型的交易可以涉及从零售商处购买产品的一般消费者,或者是经常往来业务的两个大型公司实体。与订单和确认相关联的数据可能相对较小并且该数据的传输时间可能大约为秒的分数。在计算机系统上运行的工作流进程表应用程序可以在期限未到的时间内(一般很短)将系统资源分配给事务。
然而,对工作流内的用户交互进行建模有困难。尤其是,当有人参与时,工作流可能会需要长时间来完成并且建立可缩放系统需要禁用工作流与用户的交互。此外,无论应用程序的类型如何,基于工作流状态驱动的用户界面(UI)会进一步增大所涉及的复杂度。
因此,存在克服上述与常规系统和设备相关联的示例性缺点的需要。
概述
为了提供对所请求保护的主题的一些方面的基本理解,以下展示了一个简化的概述。本概述并不是详尽的概要。它并非意在确定所请求保护的主题的关键/重要特征,也并非意在对所请求保护的主题的范围进行划界。其唯一目的是以简化的形式作为接下来要被展示的更详细的描述的前序来展示一些概念。
本发明通过采用交互活动组件提供将交互/用户输入实现为工作流自身的一部分的系统和方法,其中数据传入和传出工作流以形成交互的工作流。这样一种交互活动组件在工作流定义内为挂起点建模,并且是对应用程序类型不可知的,以便包括web服务应用程序、控制台、桌面、web服务等等。因此,用户输入和相关联的交互可以在要求用户输入的各交互间隙期间被提供至工作流以便允许工作流与和该工作流相关联的宿主应用程序之间受控/同步地数据交换。因此,在工作流的执行期间的被定义的时刻,用户上下文可以与一个工作流实例相关联。
在一个相关的方面,交互活动组件以及挂起点可以涉及工作流的用户切换。例如,工作流可以基于挂起期间的工作流状态(例如与工作流的用户有关的信息)驱动用户界面(UI)。因此,提供执行到特定点的交互工作流,并且为宿主应用程序提供反馈。此外,宿主应用程序可以基于挂起状态改变工作流的外观。可以定义工作流类型(例如,通过编程或通过可视工具),并且宿主应用程序可以订阅挂起事件以便将挂钩提供至工作流的执行中。然后,一个或多个挂起事件可以被引发并且基于该事件中的信息(例如,关于工作流的当前用户的信息),UI外观可改变。由此,数据可以传入或传出工作流类,并且可以为运行时的交互定义自定义特征(例如,强类型工作流)。
例如,在费用报告的上下文中,初始用户可启动费用报告工作流,然后批准者用户可批准这个费用报告。因此,一个流程可以抽象到工作流类中,其中该流程和工作流类正执行到一个批准者应该涉入的点。在这个点上,初始用户的交互被停止。然后批准者可以(例如,从不同的机器中)启动应用程序来运行该工作流并用由批准者指定的动作(例如,批准、不批准等)来恢复工作流实例。因此,数据可以在工作流实例的生命周期内在挂起点处传入和传出工作流实例。
根据本发明的方法,可以检查工作流中的动作来验证它是否表示了一个交互活动。如果是,则该工作流被挂起。随后,一个挂起事件被引发并传达至宿主应用程序。这样,当工作流实例被挂起,从宿主应用程序中获得挂起数据并将其传入和/或传出工作流。另外,如果从宿主应用程序获得的数据指示了一个恢复事件,则可以恢复该工作流。还可以基于工作流实例标识(例如,通过查找组件)加载工作流。恢复事件可以被工作流接收并被执行以到达该进程中的下一个动作。
为了实现上述以及相关的目的,此处结合以下的描述以及附图来描述所请求保护的主题的某些说明性方面。这些方面指示了可实践本主题的各种方式,所有这些方面意在落入所请求保护的主题的范围内。当结合附图考虑时,其它优点和新颖的特征将从以下的详细描述中变得明显。
附图简述
图1示出通过交互活动组件与工作流交互的宿主应用程序的示例性系统图示。
图2示出带有需要与用户和/或宿主交互的多个挂起点的工作流执行。
图3和图4示出根据本发明的一个示例性方面的用于带有挂起点的费用报告的特定流程图。
图5示出用于展示工作流执行期间所执行的各个动作的示例性图形界面。
图6示出根据本发明的一个方面的工作流实例和宿主应用程序之间的数据交换。
图7-9示出根据本发明的一个方面的工作流执行流的示例性方法。
图10示出用于执行本发明各种方面的示例性环境。
图11是一个可用来实现带有本发明的交互活动组件的工作流的另外的计算环境的示意性框图。
详细描述
现在参考附图描述本发明主题的各方面,在所有附图中,相同的标号表示相同或对应的元素。然而,应该理解,附图和与其有关的详细描述并非意在将所请求保护的主题限于所公开的具体形式。相反,意在涵盖落入所请求保护的主题的精神和范围之内的所有修改、等效技术方案以及替换技术方案。
如此处所使用的,术语“组件”、“系统”、“服务”等意在指的是计算机相关的实体,其或者是硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是,但不限于,在处理器上运行的进程、处理器、对象、可执行、执行的线程、程序、和/或计算机。作为说明,在计算机上运行的应用程序和计算机两者可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,并且组件可位于一台计算机上和/或分布在两台或更多的计算机之间。
词语“示例性”在此处用来表示作为示例、实例或说明。此处作为“示例性”来描述的任何方面或设计并不必然被理解为相比其它方面或设计是优选或有利的。
此外,所公开的主题可被实现为采用标准编程和/或工程技术来生产软件、固件、或它们的任何组合来控制计算机或基于处理器的设备以实现此处所详述的各方面的系统、方法、装置或制品。此处使用的术语“计算机程序”意在包含可从任何计算机可读设备、载体或介质中可访问的计算机程序。例如,计算机可读介质可包括但不限于磁存储设备(例如,硬盘、软盘、磁带......)、光盘(例如,压缩盘(CD)、数字多功能盘(DVD)......)、智能卡和闪存设备(例如,卡、棒)。另外,应该意识到,可使用载波来承载诸如那些在发送和接收电子邮件或在访问诸如因特网或局域网(LAN)等网络时所使用的计算机可读电子数据。当然,本领域的技术人员将认识到,在不背离所请求保护的主题的范围或精神的情况下可对该配置做出许多修改。
首先转到图1,示出了用于系统101的框图,该系统将交互实现为工作流本身的一部分,其中数据传入或传出于工作流以便形成一个交互的工作流。系统101使用在工作流定义内为挂起点建模的交互活动组件140,并且是对应用程序类型不可知的,以便包括web服务应用程序、控制台、桌面、web服务等等。
此外,系统101包括与工作流系统100交互的宿主应用程序120,其中工作流可以对被定义为活动图的人或系统流程建模。一个活动是工作流中的一个步骤,并且是工作流的执行、重复使用和组成的单元。活动图表达规则、动作、状态以及它们的关系。通常,工作流通过工作流引擎/运行库110来运行,并且根据如宿主120描述的几个规则,工作流运行库需要外部的应用程序来主宿它。宿主120与工作流系统100之间的数据交换可涉及和/或描述业务文档和其它对象,它们或者用于帮助工作流活动,或者用于帮助工作流中用来与宿主应用程序120通信数据的本地变量之间的流动。
例如,宿主应用程序可以通过Workflow Provider Base Class(工作流提供者基类)117和/或与其相关联的实现与和工作流系统100相关联的WorkflowProvider(工作流提供者)115交互。另外,宿主120可以负责多个另外的且重要的方面,例如一个或多个工作流的创建,为正确执行工作流所需要的各组件之间的调用的调度;以及隔离机制的设置。此外,出于可缩放的原因,宿主120可以创建多进程以便利用机器中的多个中央处理单元(CPU),或在机器农场(farm)上运行大量工作流实例。宿主120还可以控制在工作流经历长时间等待时应用的策略、监听特定的事件并将它们传达给用户或管理员、设置超时时限和对每个工作流的重试、展示性能计数器、以及出于调试和诊断目的而写日志信息。
与工作流系统101相关联的工作流可以通过为工作流与外界通信的目的而专门建立的服务与外界通信,其中该服务可以引发事件,将使得工作流内的事件驱动活动被挂钩(hook up)。同样,该服务展示供工作流调用并向宿主发送数据的公共方法。
如图1所示,交互活动组件140可以将交互实现为工作流本身的一部分,其中数据传入和传出工作流以形成交互的工作流。交互活动组件140在工作流定义内为挂起点建模。因此,用户输入和相关联的交互可以在要求用户输入的各交互间隙期间内被提供到工作流中以便允许工作流与和该工作流相关联的宿主应用程序之间受控/同步地数据交换。因此,在工作流的执行中的被定义的各时刻处,用户上下文可以与一个工作流实例相关联。
图2示出了带有需要与用户交互的挂起点的工作流200的执行。交互活动组件可以对挂起点212-215(1到n,其中n为整数)建模来对应于工作流运行时的实例,其中工作流可以被挂起,以用于与例如宿主应用程序的数据交换。此外,这样的挂起点212-215可以涉及工作流用户的切换。例如,工作流可以基于挂起期间的工作流状态(诸如与工作流用户有关的信息)驱动用户界面(UI)。
可以以用于计算机系统内执行的进度表的形式定义工作流200。进度表可包括具有指定的并发性、依赖性以及与其相关联的事务属性的一组动作。每个进度表具有相关联的进度表状态,其包括进度表的定义、在进度表中的当前位置、以及与该进度表相关联的活动或实况数据和对象。在进度表内,事务边界可基于动作的分组而存在。在这个方面,事务可包含单个动作、或事务、或动作或事务的组。例如,动作可被分组成按串行方式执行的序列,以及其中能并发执行动作的任务。从而,基于分组,并发属性可被分解,以用于进度表内的动作和事务。
动作对应于在进度表内已完成的工作并且是进度表组成的基本单元。这样的动作可以包括与延迟时间、并发以及补偿有关的属性,它们在进度表的上下文中或可替换或进行组合。例如,动作可向进度表发送外部产生的激励,由此允许外部程序促使该进度表状态的前进。这些激励可以是事件、消息或对被监视的组件的调用。在事件的情况下,运行的进度表作为一个订阅器。该进度表的特定实例将监听诸如事件、消息或对被监视的组件的调用等动作。
此外,动作可以驱动对组件的方法的调用。这样的方法通常对组件进行例示化(例如,创建组件的实例)、对该实例调用方法、以及如果之后没有在进度表内被使用的话,随后释放对实例的引用。当应用程序执行一个进度表时,可创建进度表引擎的实例并且加载该进度表及其相关联的绑定。此外,动作可以包括关于期望的或实际的完成时间或时间滞后的信息。这样的信息在该进度表正被定义时可嵌入到进度表定义中、和/或可以基于历史的或可预测的关于动作滞后的信息在运行库中被动态提供。
挂起点212-215还可以指示工作流中的脱水(dehydration)点。因为工作流可能运行数小时、数天、或数星期,当运行库在一段时间内不活动时,运行库200可以自动关闭正运行的工作流,并且持久地存储它在挂起点212-215处的状态。脱水一般指的是一种基于对滞后性的考虑而在存储介质中选择性存储进度表状态的方法。例如,当在进度表中的一个动作预期为一个即将到来的消息等待五小时时,该进度表状态可被脱水到盘中直到收到消息。在这种情形下,系统可以在接收到消息之前执行其它任务,从而显著提高系统的工作输出和效率。因此,用户输入和相关联的交互可以在要求用户输入的各交互间隙期间被提供到工作流,以便允许工作流与和工作流相关联的宿主应用程序之间受控/同步地数据交换。因此,在工作流的执行中的被定义的各时刻处,用户上下文可以与一个工作流实例相关联。
以下提供了用于在挂起点212-215处挂起和/或恢复工作流实例的交互活动组件的示例性定义:
[Executor(typeof(InteractiveActivityExecutor))]
public class InteractiveActivity:EventSinkActivity
{
public string InteractionIdentifier{get;set;}
public string Action{get;set;}
protected override void Initialize(IServiceProvider context)
{
IInteractivityControl hostInterface=
context.GetService(typeof(IInteractivityControl))as
IInteractivityControl;
if(hostInterface==null)
{
throw new
System.InvalidOperationException();
}
hostInterface.Resume+=new
System.EventHandler<AspInteractivity.
WorkflowResumeArgs>(this.OnResume);
}
private void OnResume(object sender,
AspInteractivity.WorkflowResumeArgs e)
{
this.Action=e.Action;
}
}
====================================
public class InteractiveActivityExecutor:
ActivityExecutor<InteractiveActivity>
{
protected override Status
Execute(InteractiveActivity activity,
ActivityExecutionContext context)
{
IInteractivityControl hostInterface=
context.GetService(typeof(IInteractivityControl))as
IInteractivityControl;
if(hostInterface==null)
{
throw new
System.InvalidOperationException();
}
SuspensionInfo info=
new SuspensionInfo(((InteractiveActivity)
activity).InteractionIdentifier,null,
WorkflowSuspendType.InteractiveActivityBreak);
hostInterface.Suspend(info);
Status status=base.Execute(activity,context);
return status;
}
}
如所示,为了阻断工作流的执行,活动类可以通过对交互服务调用Suspend方法(挂起方法)来使用其自身的执行器。这样可以启动与交互活动组件相关联的InteractionIdentifier(交互标识符)的传播并将其传播至宿主的句柄。
因此,可以提供执行到特定点的交互工作流,并向宿主应用程序提供反馈。宿主应用程序可以基于挂起状态来改变工作流的外观。可以定义工作流类型(例如,通过编程或通过可视工具),并且宿主应用程序可以订阅挂起事件以便将挂钩提供到工作流的执行中。然后,可以引发一个或多个挂起事件并且基于该事件中的信息(例如,关于工作流的当前用户的信息),UI外观可改变。因此,数据可以传入或传出工作流类,并且可以定义自定义特征(例如,强类型工作流),以供运行时的交互。
图3和图4示出带有挂起点的费用报告的特定流程图,该费用报告在要求用户输入的各交互间隙期间允许用户的输入和相关联的交互,以便允许工作流与和工作流相关联的宿主应用程序之间受控/同步地数据交换。流程图300和400示出采用SwitchUser(切换用户)活动和Interactive Activity(交互活动)组件来作为类属Expense Reporting(费用报告)工作流内的挂起点。
这样,并且在费用报告的上下文中,初始用户可以启动一个费用报告工作流,然后批准者用户可以批准这个费用报告。因此,一个过程可以被抽象到工作流类中,其中该过程和工作流类正运行至批准者应该涉入的点。在这个点上,初始用户的交互被停止。然后批准者可以(例如,从不同的机器中)启动应用程序来运行工作流并按批准者指定的动作(例如,批准、不批准等)恢复工作流实例。因此,数据可以在工作流实例的生命周期内在挂起点处传入和传出工作流实例。
如图3所示,框310表示SubmittedER(提交费用报告)动作,其中挂起状态指示了宿主应用程序需要通过图形界面(例如,一个专用形式)呈现提交的费用报告,如下文图5中详细描述。此外,工作流定义300中的动作320表示SwitchUser活动的实例,本发明通过这个SwitchUser活动的实例改变当前的对下一个工作流段的执行负责的用户与工作流实例之间的联系。这个通常确保只能在适当用户的执行上下文下执行批准/拒绝动作来恢复工作流。同样,动作330、430根据本发明的一个示例性方面表示InteractiveActivity间断的实例。类似地,标为NewER的框420示出了New Expense Report(新费用报告),其中在等待通过图形界面(例如,图5中的一个专用形式)的用户输入的结果作为全局费用报告数据被提供的时候,工作流被变为挂起。
工作流的特点在于用于提交和批准费用报告的应用程序,其中应用程序包含由工作流所组织的多个页。除了各种活动和控制流结构之外,工作流还展示例如当工作流被展示于费用报告的批准者时如何切换相关联的用户。如前文所述,在FillER(填写费用报告)动作430期间,工作流被挂起,并且用户可以继续向费用报告添加同行项。还可以包括查询用于在应用程序工作流中显示的可用的进程中的工作流列表。
例如,费用报告应用程序可以包含列出了当前用户已提交的在进程中的费用报告的主页,以及任何等待用户批准的报告。这样的应用程序通过详细说明诸如费用报告用途等信息、添加独立同行项以及验证信息的精确度等使得能够创建新的费用报告。此外,当提交了新的费用报告时,应用程序可以向批准者发送邮件通知460。批准者可以随后查看费用报告并且批准它或者拒绝它,并基于此发送最终邮件。
根据本发明的一个示例性方面,以下提供了一个将交互纳入其内的示例性Expense Reporting(费用报告)工作流定义。
<Workflow Name=”ExpenseReportingWorkflow”
Inherits=”InteractiveWorkflow”
Implements=”ITrackingWorkflowStateHandler”
xmlns=”System.ApplicationServices.Workflows,System. ApplicationServices.Work
flow”
xmlns:w=”System.Web.Workflows,System. Web”
xmlns:s=”SampleApp”>
<StartActivity Name=”Start”>
<Transitions>
<ActivityTransition Destination=”NewER”/>
</Transitions>
</StartActivity>
<UIActivity Name=”NewER” InteractionIdentifier=”NewER”
Actions=”Submit”>
<Transitions>
<ActivityTransition Destination=”FillER” Action=”Submit”/>
</Transitions>
</UIActivity>
<UIActivity Name=”FillER” InteractionIdentifier=”FillER” Actions=”AddItem,
Submit”>
<Transitions>
<ActivityTransition Destination=”FillER”Action=”AddItem”/>
<ActivityTransition Destination=”FillApprover”Action=”Submit”/>
</Transitions>
</UIActivity>
<CodeActivity Name=”FillApprover”
CustomExecute=”FillApprover_CustomExecute”>
<Transitions>
<ActivityTransition Destination=”VerifyER”/>
</Transitions>
</CodeActivity>
<UIActivity Name=”VerifyER”InteractionIdentifier=”VerifyER”
Actions=”Submit”>
<Transitions>
<ActivityTransition Destination=”MailActivityl”Action=”Submit”/>
</Transitions>
</UIActivity>
<s:MailActivity Name=”MailActivityl”
From=”expenses@example.com”Subject=”New expense report submitted;
approval required.”>
<Transitions>
<ActivityTransition Destination=”SwitchUserl”/>
</Transitions>
</s:MailActivity>
<SwitchUserActivity Name=”SwitchUserl”>
<Transitions>
<ActivityTransition Destination=”ApproveER”/>
</Transitions>
<Bindings>
<ActivityBinding ActivityPropertyName=”UserName”
WorkflowPropertyName=”Approver”>
</Bindings>
</CodeActivity>
<UIActivity Name=”ApproveER”InteractionIdentifier=”ApproveER”
Actions=”Approve,Reject”>
<Transitions>
<ActivityTransition Destination=”Payment”Action=”Approve”/>
<ActivityTransition Destination=”MailActivity2”Action=”Reject”/>
</Transitions>
</UIActivity>
<s:MailActivity Name=”MailActivity2”
From=”expenses@example.com”Subject=”Expense report was rejected.”>
<Transitions>
<ActivityTransition Destination=”Stop”/>
</Transitions>
</s:MailActivity>
<CodeActivity Name=”Payment”CustomExecute=”Payment_CustomExecute”>
<Transitions>
<ActivityTransition Destination=”MailActivity3”/>
</Transitions>
</CodeActivity>
<s:MailActivity Name=”MailActivity3”
From=”expenses@example.com”Subject=”Expense report was approved.”>
<Transitions>
<ActivityTransition Destination=”Stop”/>
</Transitions>
</s:MailActivity>
<StopActivity Name=”Stop”/>
<Code Language=”C#”>
private Guid _expenseReportID;
private ExpenseReport_expenseReport;
public ExpenseReport ExpenseReport{
get{return_expenseReport;}
}
public Guid ExpenseReportID{
get{return_expenseReportID;}
set{_expenseReportID=value;}
}
protected override void OnStarting(EventArgs e){
base.OnStarting(e);
_expenseReport=new ExpenseReport();
_expenseReportID=_expenseReport.ID;
}
private void FillApprover_CustomExecute(object sender,
ActivityExecuteEventArgs e){
//TODO:Use current user and expense report amount to determine
approver(使用当前的用户和费用报告合计以确定批准者)
e.Result=true;
}
private void Payment_CustomExecute(object sender,ActivityExecuteEventArgs
e){
//TODO:Make payment by calling a Web service(通过调用Web服务进
行付款)
e.Result=true;
}
#region Implementation of ITrackingWorkflowStateHandler
void ITrackingWorkflowStateHandler.BeginLoad(){
}
void ITrackingWorkflowStateHandler.BeginSave(){
ExpensesDB.UpdateExpenseReport(_expenseReport);
}
void ITrackingWorkflowStateHandler.EndLoad(){
_expenseReport=ExpensesDB.GetExpenseReport(ExpenseReportID);
}
void ITrackingWorkflowStateHandler.EndSave(){
}
#endregion
</Code>
</Workflow>
Web.config
<system.web>
<pageFlows>
<pageFlow name=”ExpenseReporting”
workflow=”ExpenseReporting.workflow”
provider=”SqlWorkflowProvider”
startPagePath=”Default.aspx”>
<pages>
<add name=”NewER”pagePath=”NewER.aspx”
behavior=”CreateWorkflow”/>
<add name=”FillER”pagePath=”FillER.aspx”
behavior=”ResumeWorkflow”/>
</pages>
</pageFlow>
</pageFlows>
</system.web>
Default.aspx
<%@Page%>
<html>
<body>
<form runat=”server”>
<asp:WorkflowDataSource runat=”server”id=”pendingWorkflows”
pageFlowName=”ExpenseReporting”Filter=”CreatedByUser”/>
<asp:WorkflowDataSource runat=”server”id=”approvalWorkflows”
pageFlowName=”ExpenseReporting”Filter=”AssignedToUser”/>
Expense Reports Pending Approval(费用报告批准中):
<asp:GridView runat=”server”DataSourceID=”pendingWorkflows”/>
Expense Reports Needing Approval(费用报告需要批准):
<asp:GridView runat=”server”DataSourceID=”approvalWorkflows”/>
<a href=”NewER.aspx”>Create New Expense Report</a>
</form>
</body>
</html>
Approve.aspx
<%@Page%>
<asp:PageFlowManager runat=”server”id=”pageFlowManagerl”
PageFlowName=”ExpenseReporting”/>
<html>
<body>
<form runat=”server”>
<asp:FormView runat=”server”DataSourceID=”pageFlowManagerl”>
<ItemTemplate>
</ItemTemplate>
</asp:FormView>
<asp:ActionButton runat=”server”Text=”Approve”>
<ClickActions>
<asp:PageFlowAction Type=”Resume”ResumeAction=”Approve”/>
</ClickActions>
</asp:ActionButton>
<asp:ActionButton runat=”server”Text=”Reject”>
<ClickActions>
<asp:PageFlowAction Type=”Resume”ResumeAction=”Reject”/>
</ClickActions>
</asp:ActionButton>
</form>
</body>
</html>
图5示出可结合本发明各方面使用的示例性图形界面(例如,一种专用形式)。用于页面流510的这样一种费用报告应用程序的特征在于用于例如提交和批准费用报告的web应用程序。除了各种活动和控制流结构之外,工作流还展示如何切换相关联的用户。页面流510还展示查询用于在应用程序工作流中显示的可用的进程中的工作流列表。例如,工作流可以基于工作流在挂起期间的状态(例如与工作流的用户有关的信息)驱动用户界面(UI)。因此,提供执行到特定点的交互工作流,并且为宿主应用程序提供反馈。此外,宿主应用程序可以基于挂起状态改变工作流的外观。如在费用报告的上下文中所解释的,可以定义工作流类型(例如,通过编程或通过可视工具),并且宿主应用程序可以订阅挂起事件以便将挂钩提供到工作流的执行中。然后,可以引发一个或多个挂起事件并且基于该事件中的信息(例如,关于工作流的当前用户的信息),UI外观可改变。因此,数据可以传入或传出工作流类,并且可以为运行时的交互定义自定义特征(例如,强类型工作流)。另外,宿主可以查询工作流实例来标识使工作流变为挂起和/或闲置的当前交互活动。
图6示出可在工作流定义内对挂起点建模的系统600的框图,其中数据正在传入和传出工作流以形成一个交互的工作流。通常,可以例如根据时间、或者通过切换当前用户,而在具有作为工作流实例一部分的交互活动组件610的工作流实例640中引发一个挂起事件来启动工作流的执行中的一个挂起。工作流可以通过执行所包含的StartActivity(启动活动)启动执行,并当StopActivity(停止活动)被执行后结束。在执行过程中,检查每个活动来验证它是否可以被执行。例如,如果该活动不能执行,则工作流被(例如)挂起。如果活动可以被执行,则调用相关联的Execute(执行)方法,并且如果该方法返回一个成功结果,则使用适当的活动转换来确定下一个活动。工作流可以出于多个原因被挂起,例如:活动执行的取消、活动不能继续执行、被引入用来延迟后续执行的特殊延迟、以及要求由不同用户后续执行而进行的用户上下文切换。一旦工作流实例被挂起,它可以被保存/串行化至从中可随后检索、解串行化以及恢复它的数据库或等效的存储中。如果活动执行导致错误,且该错误没有被处理,则工作流还会进入错误状态。
如图6所示,交互活动组件610可以通过与工作流引擎/运行库635相关联的交互服务620引发事件。之后,工作流被挂起并且宿主630可以与工作流实例640交换数据(例如,获得数据)。然后宿主可以通过调用恢复工作流执行的交互活动服务620来恢复工作流。因此,用户输入和相关联的交互可以在要求用户输入的各交互间隙期间提供至工作流,以便允许工作流与和工作流相关联的宿主应用程序之间受控/同步地数据交换。
图7-9示出根据本发明的一个方面的工作流执行流的示例性流程图。尽管示例性方法在此处被示出并描述为表示各种事件和/或动作的一系列框,但是本发明不受这种框所示出的顺序的限制。例如,除了此处所示出的顺序之外,某些动作或事件可根据本发明按不同顺序发生和/或与其它动作或事件并发。另外,不是所有示出的框、事件或动作都是实现根据本发明的方法所必需的。此外,将意识到,根据本发明的示例性方法和其它方法可联系此处所示出和描述的方法以及没有示出或描述的其它系统和装置来实现。如图7所示,在方法700中,工作流过程705执行并前进到过程中的下一个动作。在710处,工作流执行可以验证要被执行的该动作是否意味着工作流的结束。如果是,则在720处,工作流的执行结束。否则,方法前进至动作730,其中检查要被工作流执行的该动作以验证它是否是一个交互活动。如果是,则如下文所详细描述的,在740处,工作流被挂起以便允许与宿主应用程序的交互。否则,方法返回动作705,其中工作流执行当前动作并前进至下一个动作。
如图7所示,以及在740处工作流被挂起之后,在750,执行流继而向宿主引发一个挂起事件。这样,并且如图8所示,当工作流实例在860处被挂起时,在862处,宿主和工作流之间交换数据。这样,数据可以被传入和/或传出工作流。这可以包括在864处从数据流实例中获得数据和/或在866处由宿主设置数据。因此,用户输入以及相关联的交互可以在要求用户输入的各交互间隙期间被提供至工作流,以便允许工作流与和工作流相关联的宿主应用程序之间可控/同步地数据交换。因此,在工作流的执行中的被定义的各时刻处,用户上下文可以与一个工作流实例相关联。
在870处,执行验证来检查被宿主激发的数据是否是一个恢复事件。如果不是,则工作流实例可保持在挂起的状态以便恢复数据交换,并且方法返回到动作862。否则,方法前进至图9,其中宿主可向数据流发送事件来恢复执行(在980处)。在982处,对工作流是否被加载进行验证。如果是,则在986处,工作流接收恢复事件并随后返回至动作705来执行执行流的下一个动作。否则,并且如果工作流没有被加载,则在984处,基于与工作流相关联的标识(例如,当工作流实例被创建时)来加载工作流,并且然后前进至动作986以恢复工作流。
为了提供用于所公开的本发明的各个方面的应用背景,图10和图11以及下面的讨论意在提供对所公开的主题的各个方面在其中被实现的合适环境的简单、总体描述。尽管是在运行于一个计算机和/或多个计算机上的计算机程序的计算机可执行指令的总体上下文中描述本主题,但是本领域的技术人员将认识到,还可以结合其它程序模块来实现本发明。一般来说,程序模块包括执行特定任务和/或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域的技术人员将意识到,本发明方法可用其它计算机系统配置来实现,这些配置包括单处理器或多处理器计算系统、小型计算设备、大型计算机以及个人计算机、手持式计算设备(例如,个人数字助理(PDA)、电话、手表......)、基于微处理或可编程消费类或工业类电子产品等。所示出的方面还可以在分布式计算环境中执行,在分布式计算环境中,任务由通过通信网络链接的远程处理设备执行。然而,本发明的一些(如果不是所有的)方面可在独立的计算机上实践。在分布式计算环境中,程序模块可以位于本地或远程存储器存储设备中。
参考图10,描述包括计算机1012的用于实现本发明的各个方面的示例性环境1010。计算机1012包括处理单元1014、系统存储器1016以及系统总线1018。系统总线1018将包括(但不限于)系统存储器1016等系统组件耦合到处理单元1014。处理单元1014可以是各种可用处理器的任一种。双微处理器以及其它多个处理器体系结构也可用作处理单元1014。
系统总线1018可以是几种类型的总线结构中的任一种,包括采用任何种类的可用总线体系结构的存储器总线或存储器控制器、外围总线或外部总线、和/或局部总线,该可用总线体系结构包括,但不限于,11位总线、工业标准体系结构(ISA)、微通道体系结构(MSA)、扩展型ISA(EISA)、智能驱动器电子电路、VESA局部总线(VLB)、外围部件互联(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储器卡国际联合总线(PCMCIA)以及小型计算机系统接口(SCSI)。
系统存储器1016包括易失性存储器1020和非易失性存储器1022。包含用于在计算机1012内的元件之间传输信息的基本例程的基本输入/输出系统(BIOS)存储于非易失性存储器1022中。作为说明,而不是限制,非易失性存储器1022可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器1020包括随机存取存储器(RAM)并作为外部高速缓冲存储器。作为说明,而不是限制,RAM以多种形式可得,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链环(Synchlink)DRAM(SLDRAM)以及直接存储器总线(Rambus)RAM(DRRAM)等。
计算机1012还包括可移动/不可移动、易失性/非易失性计算机存储介质。例如,图10示出盘存储1024。盘存储1024包括,但不限于,如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡、或记忆棒等设备。另外,盘存储1024可以包括与其它存储介质分开或组合的存储介质,其包括,但不限于,诸如光盘ROM设备(CD-ROM)、可记录CD驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)等光盘驱动器。为了方便盘存储设备1024与系统总线1018的连接,通常采用诸如接口1026等可移动或不可移动接口。
应该意识到,图10描述了作为用户与合适的操作环境1010中所描述的基本计算机资源之间的中介的软件。这样的软件包括操作系统1028。能存储于盘存储1024上的操作系统1028用来控制并分配计算机系统1012的资源。系统应用程序1030通过或是存储于系统存储器1016或是存储于盘存储1024上的程序模块1032和程序数据1034利用操作系统1028对资源的管理。应该意识到,此处描述的各种组件可以与各种操作系统或操作系统的组合一起实现。
用户通过(诸)输入设备1036向计算机1012输入命令或信息。输入设备1036包括,但不限于,诸如鼠标、跟踪球、指示笔、触摸垫等定点设备、键盘、话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、TV调频卡、数码照相机、数码摄像机、web摄像头等。这些或其它输入设备经由(诸)接口端口1038通过系统总线1018连接到处理单元1014。(诸)接口端口1038包括,例如,串行端口、并行端口、游戏端口以及通用串行总线(USB)。(诸)输出设备1040使用与(诸)输入设备1036同样类型的端口中的一些端口。因此,例如,可以使用USB端口来向计算机1012提供输入并且将计算机1012中的信息输出至输出设备1040。提供输出适配器1042用来示例存在诸如监视器、扬声器、以及打印机等一些输出设备1040,以及需要专用适配器的其它输出设备1040。作为说明而非限制,输出适配器1042包括提供输出设备1040与系统总线1018之间的连接手段的显卡和声卡。应该注意,其它设备和/或设备的系统(例如(诸)远程计算机1044)提供输入和输出能力两者。
计算机1012可以采用与如(诸)远程计算机1044等一个或多个远程计算机的逻辑连接而在联网环境中操作。(诸)远程计算机1044可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或其它常见的网络节点等等,并且通常包括与关于计算机1012所描述的元件中的许多或所有元件。为了简明起见,对于(诸)远程计算机1044只描述了存储器存储设备1046。(诸)远程计算机1044通过网络接口1048与计算机1012逻辑连接并且然后通过通信连接1050被物理连接。网络接口1048包括诸如局域网(LAN)和广域网(WAN)等通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜分布式数据接口(CDDI)、以太网/IEEE802.3、令牌环/IEEE802.5等。WAN技术包括(但不限于)点对点链路、诸如综合业务数字网络(ISDN)及其变型等电路交换网络、分组交换网络、以及数字用户线(DSL)。
(诸)通信连接1050指的是用来将网络接口1048与总线1018相连接的硬件/软件。尽管通信连接1050为了清楚说明起见被示为在计算机1012内,但  它还可以在计算机1012外部。连接到网络接口1048所必需的硬件/软件包括(仅出于示例性目的)内部和外部技术,例如,包括常规电话类别调制解调器、电缆调制解调器和DSL调制解调器等调制解调器、ISDN适配器、和以太网卡。
图11是用来实现带有本发明的交互组件的工作流的示例计算环境1100的示意性框图。系统1100包括一个或多个客户机1110。(诸)客户机1110可以是硬件和/或软件(例如,线程、进程、计算设备)。系统1100还包括一个或多个服务器1130。(诸)服务器1130可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器1130可以容纳线程以便通过采用例如此处描述的组件来执行转换。客户机1110与服务器1130之间的一个可能的通信可以采用适用于在两个或多个计算机进程之间传输的数据分组的形式。系统1100包括能用来帮助(诸)客户机1110与(诸)服务器1130之间进行通信的通信框架1150。(诸)客户机可操作地连接到能被用来存储(诸)客户机1110本地信息的一个或多个客户机数据存储1160。类似地,服务器1130可操作地连接到能被用来存储服务器1130本地信息的一个或多个服务器数据存储1140。
以上已描述的包括各种示例性方面。当然,不可能为了描述这些方面而描述每个可以想到的元件或方法的组合,但是本领域的普通技术人员可以认识到可能会有许多进一步的组合与排列。因此,此处所描述的方面意在包括落入所附权利要求的精神和范围内的所有这些更改、修改以及变型。此外,就在详细描述或者权利要求中使用的术语“包括”的意思来说,这个术语意在以当术语“包括”作为权利要求中的过渡词使用时所理解的那种方式表示为“包括在内”。

Claims (20)

1.一种计算机实现的方法,包括以下计算机可执行的步骤:
利用包含在工作流系统(100)中的交互活动组件(140)在工作流中为挂起点建模,所述挂起点用于允许与所述工作流的用户交互;以及
当将所述挂起通知宿主(120)时,在所述挂起点处,在所述宿主与所述工作流之间交换数据。
2.如权利要求1所述的方法,其特征在于,所述挂起点带有用于用户输入的交互间隙。
3.如权利要求1所述的方法,其特征在于,所述交互活动组件带有切换用户的能力。
4.如权利要求2所述的方法,其特征在于,所述工作流可基于与其相关联的标识来加载。
5.如权利要求1所述的方法,其特征在于,所述挂起点与所述工作流的可改变的用户界面(UI)外观相关联。
6.如权利要求5所述的方法,其特征在于,所述用户界面可基于在挂起期间所述工作流的状态来驱动。
7.如权利要求5所述的方法,其特征在于,所述工作流可通过所述宿主的活动来继续。
8.如权利要求5所述的方法,其特征在于,所述工作流系统具有用于与所述宿主通信的工作流提供者类。
9.一种包括以下计算机可执行动作的计算机实现的方法,所述动作包括:
在挂起点处遇到一个挂起工作流的活动,所述挂起点用于允许与所述工作流的用户交互;
当将所述挂起通知宿主时,在所述工作流的挂起期间,在所述宿主与所述工作流之间交换数据。
10.如权利要求9所述的计算机实现的方法,其特征在于,所述动作还包括由所述宿主设置数据。
11.如权利要求9所述的计算机实现的方法,其特征在于,所述动作还包括由所述宿主向所述工作流发送事件来继续执行。
12.如权利要求9所述的计算机实现的方法,其特征在于,所述动作还包括基于工作流实例的标识来加载工作流。
13.如权利要求9所述的计算机实现的方法,其特征在于,所述动作还包括验证数据是否是一个继续事件。
14.如权利要求9所述的计算机实现的方法,其特征在于,所述动作还包括向所述宿主引发一个挂起事件。
15.如权利要求14所述的计算机实现的方法,其特征在于,所述动作还包括基于所述挂起事件来执行切换UI和修改UI中的一个动作。
16.如权利要求14所述的计算机实现的方法,其特征在于,所述动作还包括向所述工作流提供用户输入。
17.如权利要求14所述的计算机实现的方法,其特征在于,所述动作还包括所述宿主订阅工作流中的挂起事件。
18.如权利要求14所述的计算机实现的方法,其特征在于,所述动作还包括通过查询工作流实例来确定所述工作流的状态,以便标识引起所述工作流挂起的交互活动。
19.如权利要求14所述的计算机实现的方法,其特征在于,所述动作还包括基于挂起点来改变所述工作流的外观。
20.一种计算机实现的系统,包括:
用于在挂起点处挂起工作流的装置(110),所述挂起点用于允许与所述工作流的用户交互;以及
用于当将所述挂起通知宿主时,在所述工作流的挂起期间在所述宿主与所述工作流之间交换数据的装置(140)。
CN2006800487020A 2005-12-29 2006-12-07 在基于工作流的应用程序中对用户输入和交互建模 Active CN101346713B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/321,490 2005-12-29
US11/321,490 US8849691B2 (en) 2005-12-29 2005-12-29 Modeling user input and interaction in workflow based applications
PCT/US2006/046905 WO2007078593A1 (en) 2005-12-29 2006-12-07 Modeling user input and interaction in worklow based applications

Publications (2)

Publication Number Publication Date
CN101346713A CN101346713A (zh) 2009-01-14
CN101346713B true CN101346713B (zh) 2011-10-26

Family

ID=38225702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800487020A Active CN101346713B (zh) 2005-12-29 2006-12-07 在基于工作流的应用程序中对用户输入和交互建模

Country Status (8)

Country Link
US (2) US8849691B2 (zh)
EP (1) EP1969484A4 (zh)
JP (1) JP2009522645A (zh)
KR (1) KR20080087804A (zh)
CN (1) CN101346713B (zh)
BR (1) BRPI0618302A8 (zh)
RU (1) RU2445688C2 (zh)
WO (1) WO2007078593A1 (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412513B2 (en) * 2003-11-14 2008-08-12 Microsoft Corporation Systems and methods for using metrics to control throttling and swapping in a message processing system
US8849691B2 (en) 2005-12-29 2014-09-30 Microsoft Corporation Modeling user input and interaction in workflow based applications
JP2009110276A (ja) * 2007-10-30 2009-05-21 Toshiba Corp 顧客対応作成管理装置、顧客対応管理システム、及び顧客対応作成管理プログラム
US8429668B2 (en) * 2007-12-07 2013-04-23 Sap Ag Workflow task re-evaluation
US10169199B2 (en) 2008-06-10 2019-01-01 Microsoft Technology Licensing, Llc Automatic model-specific debugger extensions
EP2199960A1 (en) * 2008-12-17 2010-06-23 Accenture Global Services GmbH Manufacturing collaboration hub data exchange interface
US9354847B2 (en) 2008-12-29 2016-05-31 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
JP2011008506A (ja) * 2009-06-25 2011-01-13 Fuji Xerox Co Ltd 文書処理装置、文書処理プログラム、及び文書フローシステム
CN101741666B (zh) * 2010-02-26 2012-02-01 西安交通大学 一种通过网络结构划分来实现工作流多实例的方法
US8522256B2 (en) * 2010-10-12 2013-08-27 Microsoft Corporation Hosting non-messaging workflows in a messaging host
US8984531B2 (en) * 2011-06-01 2015-03-17 Microsoft Technology Licensing, Llc Episodic coordination model for distributed applications
US9536264B2 (en) 2011-11-14 2017-01-03 Microsoft Technology Licensing, Llc Host agnostic messaging in a continuation based runtime
KR101508496B1 (ko) * 2011-11-25 2015-04-10 서강대학교산학협력단 자산 기반의 요구사항 시뮬레이터 및 요구사항 관리 방법
US10332213B2 (en) * 2012-03-01 2019-06-25 Ricoh Company, Ltd. Expense report system with receipt image processing by delegates
US9483307B2 (en) * 2013-09-04 2016-11-01 Swiftpage Act! Llc Asynchronous, interactive task workflows
US10289411B2 (en) 2013-11-18 2019-05-14 Microsoft Technology Licensing, Llc Diagnosing production applications
KR102205651B1 (ko) * 2013-11-19 2021-01-21 국민대학교산학협력단 원격 시뮬레이션 과정을 관리하는 클라우드 서비스 제공 방법
KR102348354B1 (ko) * 2013-11-19 2022-01-11 국민대학교산학협력단 원격 시뮬레이션 과정을 관리하는 클라우드 서비스 제공 방법
WO2015076695A1 (en) * 2013-11-25 2015-05-28 Yandex Llc System, method and user interface for gesture-based scheduling of computer tasks
EP2933064A1 (en) * 2014-04-17 2015-10-21 Aldebaran Robotics System, method and computer program product for handling humanoid robot interaction with human
US9552562B2 (en) * 2014-09-26 2017-01-24 Oracle International Corporation Visual information builder for business rules
US9612939B2 (en) * 2014-10-29 2017-04-04 Microsoft Technology Licensing, Llc. Diagnostic workflow for production debugging
US10235337B2 (en) * 2015-06-24 2019-03-19 EMC IP Holding Company LLC Distributed work flow using database replication
US10127509B2 (en) 2015-09-17 2018-11-13 Bank Of America Corporation System for temporarily suspending a workflow associated with a work item
US10528327B2 (en) 2015-11-23 2020-01-07 Microsoft Technology Licensing Llc Workflow development system with ease-of-use features
US10353560B2 (en) 2016-04-28 2019-07-16 Microsoft Technology Licensing, Llc Debugging a flow
US10423393B2 (en) 2016-04-28 2019-09-24 Microsoft Technology Licensing, Llc Intelligent flow designer
US11169982B2 (en) * 2016-06-30 2021-11-09 Microsoft Technology Licensing, Llc Dynamic deactivation of cold database in database service
US10379826B1 (en) * 2018-03-08 2019-08-13 International Business Machines Corporation Determining inputs to an integration flow component
US10904238B2 (en) 2018-07-13 2021-01-26 Sap Se Access token management for state preservation and reuse
US11238386B2 (en) 2018-12-20 2022-02-01 Sap Se Task derivation for workflows
US10963287B2 (en) 2019-03-27 2021-03-30 Amazon Technologies, Inc. Reducing request latency in a multi-tenant web service host
US11467858B2 (en) * 2019-03-27 2022-10-11 Amazon Technologies, Inc. Techniques for performing continuation workflows
US11366681B2 (en) 2019-03-27 2022-06-21 Amazon Technologies, Inc. Chaining virtual machines
US20210089990A1 (en) * 2019-09-19 2021-03-25 Sap Se Intelligent forms platform for modeling workflow forms
US11446818B2 (en) 2019-10-01 2022-09-20 UiPath, Inc. Resuming robotic process automation workflows based on external triggers
US11444903B1 (en) * 2021-02-26 2022-09-13 Slack Technologies, Llc Contextual discovery and design of application workflow

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1226710A (zh) * 1997-12-31 1999-08-25 国际商业机器公司 用于一个无态环境的工作流机构
US5999910A (en) * 1997-10-06 1999-12-07 Fmr Corp. Processing a workflow item
US6151583A (en) * 1996-09-27 2000-11-21 Hitachi, Ltd. Workflow management method and apparatus
US6397191B1 (en) * 1998-06-05 2002-05-28 I2 Technologies Us, Inc. Object-oriented workflow for multi-enterprise collaboration

Family Cites Families (124)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490097A (en) 1993-03-22 1996-02-06 Fujitsu Limited System and method for modeling, analyzing and executing work process plans
US5634127A (en) 1994-11-30 1997-05-27 International Business Machines Corporation Methods and apparatus for implementing a message driven processor in a client-server environment
JP2666755B2 (ja) 1995-01-11 1997-10-22 日本電気株式会社 ワークフローシステム
US7069451B1 (en) * 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5999911A (en) 1995-06-02 1999-12-07 Mentor Graphics Corporation Method and system for managing workflow
US6272672B1 (en) 1995-09-06 2001-08-07 Melvin E. Conway Dataflow processing with events
DE19705955A1 (de) 1996-03-29 1997-10-02 Ibm Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung
US6877153B2 (en) 1996-04-10 2005-04-05 Paul M. Konnersman Computer-based system for work processes that consist of interdependent decisions involving one or more participants
US5748962A (en) 1996-09-30 1998-05-05 Mci Communications Corporation Common channels for inter-application communications
US6041306A (en) * 1996-12-05 2000-03-21 Hewlett-Packard Company System and method for performing flexible workflow process execution in a distributed workflow management system
JPH10207939A (ja) 1997-01-17 1998-08-07 Nec Corp ワークフローシステム
EP0854431A3 (en) 1997-01-20 2001-03-07 International Business Machines Corporation Events as activities in process models of workflow management systems
US6047260A (en) 1997-06-05 2000-04-04 Attention Control Systems, Inc. Intelligent planning and calendaring system with cueing feature and floating tasks
US5960404A (en) 1997-08-28 1999-09-28 International Business Machines Corp. Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation
US6339838B1 (en) 1998-01-02 2002-01-15 At&T Corp. Control of commercial processes
US6230197B1 (en) 1998-09-11 2001-05-08 Genesys Telecommunications Laboratories, Inc. Method and apparatus for rules-based storage and retrieval of multimedia interactions within a communication center
JPH11306244A (ja) 1998-04-16 1999-11-05 Hitachi Ltd ワーク管理システム
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
US6430538B1 (en) 1998-04-30 2002-08-06 Enterworks Workflow management system, method and medium with personal subflows
US6442528B1 (en) 1998-06-05 2002-08-27 I2 Technologies Us, Inc. Exemplar workflow used in the design and deployment of a workflow for multi-enterprise collaboration
US6282531B1 (en) 1998-06-12 2001-08-28 Cognimed, Llc System for managing applied knowledge and workflow in multiple dimensions and contexts
US6772407B1 (en) 1998-10-02 2004-08-03 International Business Machines Corporation Staging objects in workflow management systems
US6820118B1 (en) 1999-01-20 2004-11-16 International Business Machines Corporation Method and system for providing a linkage between systems management systems and applications
DE10003015A1 (de) * 1999-02-06 2000-08-17 Ibm Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen
US6499023B1 (en) 1999-02-19 2002-12-24 Lucent Technologies Inc. Data item evaluation based on the combination of multiple factors
US6473794B1 (en) * 1999-05-27 2002-10-29 Accenture Llp System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework
US8862507B2 (en) 1999-06-14 2014-10-14 Integral Development Corporation System and method for conducting web-based financial transactions in capital markets
US6434568B1 (en) 1999-08-31 2002-08-13 Accenture Llp Information services patterns in a netcentric environment
US6539396B1 (en) 1999-08-31 2003-03-25 Accenture Llp Multi-object identifier system and method for information service pattern environment
JP2001084320A (ja) * 1999-09-13 2001-03-30 Oki Electric Ind Co Ltd ワークフロー管理システム
US6769113B1 (en) 1999-10-08 2004-07-27 International Business Machines Corporation Enterprise process models and enterprise application for information technologies
KR100377189B1 (ko) 1999-12-24 2003-03-28 한국전자통신연구원 워크플로우 시스템과 어플리케이션간의 데이터 교환시스템 및 그 방법
US6968503B1 (en) 2000-03-09 2005-11-22 Quovadx, Inc. XML user interface for a workflow server
RU2191425C2 (ru) * 2000-04-03 2002-10-20 Северо-Кавказский региональный центр информатизации высшей школы Способ оптимизации параллельной обработки информации для минимизации ее времени
US7503033B2 (en) 2000-04-28 2009-03-10 Microsoft Corporation Model for business workflow processes
US6772216B1 (en) 2000-05-19 2004-08-03 Sun Microsystems, Inc. Interaction protocol for managing cross company processes among network-distributed applications
US6922685B2 (en) 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
JP2001356907A (ja) 2000-06-09 2001-12-26 Ibm Japan Ltd 処理コード情報を有するデータベース・システムおよび情報処理システム
US20030033191A1 (en) * 2000-06-15 2003-02-13 Xis Incorporated Method and apparatus for a product lifecycle management process
US7219304B1 (en) 2000-06-19 2007-05-15 International Business Machines Corporation System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform
US6854016B1 (en) 2000-06-19 2005-02-08 International Business Machines Corporation System and method for a web based trust model governing delivery of services and programs
US6859217B2 (en) 2000-07-19 2005-02-22 Microsoft Corporation System and method to display and manage data within hierarchies and polyarchies of information
US20020038450A1 (en) 2000-08-03 2002-03-28 International Business Machines Corporation Method and system to run stored procedures as workflow activity implementations
WO2002019652A2 (en) 2000-08-28 2002-03-07 Ramesh Venkataramaiah System and method for transmitting and retrieving data via a distributed persistence framework
US20020188597A1 (en) 2000-09-01 2002-12-12 Jonathan Kern Methods and systems for linking tasks to workflow
AU2001288827A1 (en) 2000-09-08 2002-03-22 Asera, Inc. Integrated design environment for a commerce server system
US7653566B2 (en) 2000-11-30 2010-01-26 Handysoft Global Corporation Systems and methods for automating a process of business decision making and workflow
US6801227B2 (en) 2001-01-16 2004-10-05 Siemens Medical Solutions Health Services Inc. System and user interface supporting user navigation and concurrent application operation
US6675133B2 (en) 2001-03-05 2004-01-06 Ncs Pearsons, Inc. Pre-data-collection applications test processing system
US6847974B2 (en) * 2001-03-26 2005-01-25 Us Search.Com Inc Method and apparatus for intelligent data assimilation
US6966049B2 (en) 2001-04-24 2005-11-15 Heuristics Physics Laboratories, Inc. Software development tool employing workflows for developing user interactive programs
JP2002324155A (ja) 2001-04-26 2002-11-08 Hitachi Ltd ワークフロー・システムおよびプログラム
US6941514B2 (en) 2001-04-30 2005-09-06 Bellsouth Intellectual Property Corporation System and method for priority-based work order scheduling
US6983421B1 (en) 2001-06-22 2006-01-03 I2 Technologies Us, Inc. Using connectors to automatically update graphical user interface elements at a client system according to an updated state of a configuration
US7069536B2 (en) 2001-06-28 2006-06-27 International Business Machines Corporation Method, system, and program for executing a workflow
US7100147B2 (en) 2001-06-28 2006-08-29 International Business Machines Corporation Method, system, and program for generating a workflow
GB2377779A (en) 2001-07-18 2003-01-22 Hewlett Packard Co Computer apparatus for implementing a workflow with graphical representation
US20030023622A1 (en) 2001-07-27 2003-01-30 Liaison Technology, Inc. Manual activity persistence in content management workflow systems
WO2003015000A1 (en) 2001-08-08 2003-02-20 Trivium Systems Inc. Workflow engine for automating business processes in scalable multiprocessor computer platforms
US20030135384A1 (en) 2001-09-27 2003-07-17 Huy Nguyen Workflow process method and system for iterative and dynamic command generation and dynamic task execution sequencing including external command generator and dynamic task execution sequencer
US20030078975A1 (en) 2001-10-09 2003-04-24 Norman Ken Ouchi File based workflow system and methods
EP1444609A4 (en) 2001-10-18 2007-09-05 Bea Systems Inc APPLICATION VISIBILITY COMPONENT FOR SYSTEM INTEGRATION
US20030090514A1 (en) 2001-10-23 2003-05-15 Cole Douglas J. Business process user interface generation system and method
US7389335B2 (en) 2001-11-26 2008-06-17 Microsoft Corporation Workflow management based on an integrated view of resource identity
US7370335B1 (en) * 2001-11-29 2008-05-06 Vignette Corporation System and method for providing a public application program interface
US7865867B2 (en) 2002-03-08 2011-01-04 Agile Software Corporation System and method for managing and monitoring multiple workflows
US20030233374A1 (en) 2002-03-14 2003-12-18 Ulrich Spinola Dynamic workflow process
US6975914B2 (en) 2002-04-15 2005-12-13 Invensys Systems, Inc. Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with unified messaging interface
US7627631B2 (en) 2002-05-02 2009-12-01 Bea Systems, Inc. Systems and methods for collaborative business plug-ins
JP2003331095A (ja) 2002-05-13 2003-11-21 Nec Software Kyushu Ltd Db管理によるワークフロー(申請承認業務)システム
US7149747B1 (en) 2002-06-27 2006-12-12 Siebel Systems, Inc. Dynamic generation of user interface components
US20040046789A1 (en) 2002-08-23 2004-03-11 Angelo Inanoria Extensible user interface (XUI) framework and development environment
US20040078105A1 (en) 2002-09-03 2004-04-22 Charles Moon System and method for workflow process management
AU2003301602A1 (en) 2002-10-23 2004-05-13 David Theiler Method and apparatus for managing workflow
US20040103014A1 (en) 2002-11-25 2004-05-27 Teegan Hugh A. System and method for composing and constraining automated workflow
US7299244B2 (en) 2002-12-10 2007-11-20 Hewlett-Packard Development Company, L.P. System and method for dynamic sequencing of a requirements-based workflow
US7272820B2 (en) 2002-12-12 2007-09-18 Extrapoles Pty Limited Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity
US7448024B2 (en) 2002-12-12 2008-11-04 Bea Systems, Inc. System and method for software application development in a portal environment
US7171664B2 (en) 2002-12-16 2007-01-30 International Business Machines Corporation Content management system and method of employing extensible workflow entities with user-defined attributes in an object-oriented framework
US7711694B2 (en) 2002-12-23 2010-05-04 Sap Ag System and methods for user-customizable enterprise workflow management
US7555538B2 (en) 2002-12-26 2009-06-30 Research In Motion Limited System and method for building and execution of platform-neutral generic services' client applications
US7409674B2 (en) 2002-12-26 2008-08-05 Research In Motion Limited System and method of creating and communicating with component based wireless applications
GB2396928A (en) 2003-01-04 2004-07-07 Quicksilva Ltd Business process management tool framework
US20040162741A1 (en) * 2003-02-07 2004-08-19 David Flaxer Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference
US6839062B2 (en) 2003-02-24 2005-01-04 Microsoft Corporation Usage semantics
US20050022164A1 (en) 2003-02-25 2005-01-27 Bea Systems, Inc. Systems and methods utilizing a workflow definition language
US20050044173A1 (en) 2003-02-28 2005-02-24 Olander Daryl B. System and method for implementing business processes in a portal
US20050005259A1 (en) 2003-03-14 2005-01-06 Infowave Software, Inc. System and method for communication and mapping of business objects between mobile client devices and a plurality of backend systems
US7370333B2 (en) 2003-06-02 2008-05-06 Microsoft Corporation Efficient processing of a convoy workflow scenario in a message driven process
US7876705B2 (en) 2003-06-25 2011-01-25 Schlumberger Technology Corporation Method and apparatus and program storage device for generating a workflow in response to a user objective and generating software modules in response to the workflow and executing the software modules to produce a product
JP2005050318A (ja) 2003-07-16 2005-02-24 Ricoh Co Ltd ワークフロー管理装置、ワークフロー管理方法、ワークフロー管理プログラム及び記録媒体
JP2005063253A (ja) 2003-08-18 2005-03-10 Knowledge Works:Kk クリニカルフロー実行方法、及び、クリニカルフロー実行システム
CA2443454A1 (en) 2003-09-11 2005-03-11 Teamplate Inc. Data binding method in workflow system
US20050096959A1 (en) * 2003-10-31 2005-05-05 Microsoft Corporation Rule engine method and system
US7698383B2 (en) 2004-02-27 2010-04-13 Research In Motion Limited System and method for building component applications using metadata defined mapping between message and data domains
US20050203757A1 (en) 2004-03-11 2005-09-15 Hui Lei System and method for pervasive enablement of business processes
US7881233B2 (en) 2004-09-01 2011-02-01 Cisco Technology, Inc. Techniques for planning a conference using location data
US7464366B2 (en) 2004-10-01 2008-12-09 Microsoft Corporation Programming interface for a componentized and extensible workflow model
US7792693B2 (en) 2005-02-25 2010-09-07 Novell, Inc. Distributed workflow techniques
US8140373B2 (en) * 2005-04-07 2012-03-20 International Business Machines Corporation Data driven dynamic workflow
US8230042B2 (en) * 2005-04-19 2012-07-24 International Business Machines Corporation Policy based auditing of workflows
US7363628B2 (en) 2005-06-27 2008-04-22 Microsoft Corporation Data centric and protocol agnostic workflows for exchanging data between a workflow instance and a workflow host
US20070156486A1 (en) 2005-12-29 2007-07-05 Microsoft Corporation Multiple concurrent workflow persistence schemes
US20070156487A1 (en) 2005-12-29 2007-07-05 Microsoft Corporation Object model on workflow
US8849691B2 (en) 2005-12-29 2014-09-30 Microsoft Corporation Modeling user input and interaction in workflow based applications
US7680683B2 (en) 2005-12-29 2010-03-16 Microsoft Corporation Dynamically repositioning workflow by end users
US20070245300A1 (en) 2006-03-22 2007-10-18 Benjamin Chan Apparatus, system, and method for presenting project scheduling information in combination with workflow information
US20070239505A1 (en) 2006-03-30 2007-10-11 Microsoft Corporation Abstract execution model for a continuation-based meta-runtime
US8069439B2 (en) 2006-03-30 2011-11-29 Microsoft Corporation Framework for modeling continuations in workflows
US8024405B2 (en) 2006-03-30 2011-09-20 Microsoft Corporation Declarative model for concurrency-control across lightweight threads
US7739135B2 (en) 2006-03-30 2010-06-15 Microsoft Corporation Asynchronous fault handling in process-centric programs
US20070239498A1 (en) 2006-03-30 2007-10-11 Microsoft Corporation Framework for modeling cancellation for process-centric programs
JP2007279838A (ja) * 2006-04-03 2007-10-25 Ibm Japan Ltd 情報処理装置、方法およびプログラム
US20080040417A1 (en) 2006-08-09 2008-02-14 Gearworks, Inc. System and method for allocating workflow operations to a computing device
US9183011B2 (en) 2006-10-31 2015-11-10 Oracle America Inc. Method and system for runtime environment emulation
US7506001B2 (en) 2006-11-01 2009-03-17 I3Solutions Enterprise proposal management system
US20080243524A1 (en) 2007-03-28 2008-10-02 International Business Machines Corporation System and Method for Automating Internal Controls
WO2008152687A1 (ja) 2007-06-11 2008-12-18 Fujitsu Limited ワークフロー定義変更プログラム、ワークフロー定義変更方法およびワークフロー定義変更装置
US7827127B2 (en) 2007-10-26 2010-11-02 Microsoft Corporation Data scoping and data flow in a continuation based runtime
US8868532B2 (en) 2008-08-08 2014-10-21 Microsoft Corporation Message exchange pattern rendezvous abstraction
US9354847B2 (en) 2008-12-29 2016-05-31 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
US8307368B2 (en) 2009-05-26 2012-11-06 Microsoft Corporation Locality-based scheduling in continuation-based runtimes
US20100324948A1 (en) 2009-06-18 2010-12-23 Microsoft Corporation Managing event timelines
US9536264B2 (en) 2011-11-14 2017-01-03 Microsoft Technology Licensing, Llc Host agnostic messaging in a continuation based runtime

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151583A (en) * 1996-09-27 2000-11-21 Hitachi, Ltd. Workflow management method and apparatus
US5999910A (en) * 1997-10-06 1999-12-07 Fmr Corp. Processing a workflow item
CN1226710A (zh) * 1997-12-31 1999-08-25 国际商业机器公司 用于一个无态环境的工作流机构
US6397191B1 (en) * 1998-06-05 2002-05-28 I2 Technologies Us, Inc. Object-oriented workflow for multi-enterprise collaboration

Also Published As

Publication number Publication date
EP1969484A4 (en) 2011-06-22
KR20080087804A (ko) 2008-10-01
US20150206079A1 (en) 2015-07-23
RU2445688C2 (ru) 2012-03-20
BRPI0618302A8 (pt) 2016-12-20
US20070156485A1 (en) 2007-07-05
CN101346713A (zh) 2009-01-14
EP1969484A1 (en) 2008-09-17
JP2009522645A (ja) 2009-06-11
RU2008126237A (ru) 2010-01-10
BRPI0618302A2 (pt) 2011-08-23
US8849691B2 (en) 2014-09-30
US9710773B2 (en) 2017-07-18
WO2007078593A1 (en) 2007-07-12

Similar Documents

Publication Publication Date Title
CN101346713B (zh) 在基于工作流的应用程序中对用户输入和交互建模
CN101317153B (zh) 用于对象化工作流和管理行为的意图的系统和方法
CN101356522B (zh) 终端用户对工作流进行动态重新定位的计算机实现的系统
US20170236188A1 (en) System and method for automating business processes throughout the life cycle of an order by using a publish-subscriber pattern
CN101351789A (zh) 多个并发的工作流的持久性方案
JP5117754B2 (ja) ソフトウェアモデルのビジネスプロセス変形型
US20060229923A1 (en) Definition of workflow patterns using complex event processing
CN109741181A (zh) 一种基于智能合约的交易撮合方法、系统、服务器及介质
US20060259423A1 (en) Centralized payment processing system
CN106875170A (zh) 一种中间业务系统的业务处理方法和装置
Gupta et al. Enterprise resource planning: a case of a blood bank
Bhallamudi et al. SOA migration case studies and lessons learned
AU2011204930B2 (en) Capturing and processing data generated in an ERP interim phase
Darnis Mobile application for inventory control in a minimart
CN109388982A (zh) 一种对交易行为进行追溯的方法和和服务器
Iijima Key points of failure for IT project business cases
KR20200064633A (ko) 총무 관리 프로그램과 기업 관리 프로그램이 연계된 스마트워크 지원 시스템 및 이의 방법
US20220100953A1 (en) System and method for autoproducing a form
Bedekar et al. Robotic Process Automation: Under Promise Over Deliver
Bernardo Loan system in Brazilian financial institution-a SOA application
Christudas et al. Transactions Optimized for Microservices
Torcătoru et al. Efficiency in Business-To-Business Communications: The Benefits of Visual Basic for Applications Macro Implementation for Repetitive Tasks
Ovidiu et al. The advantages and risks of using an ERP system in the context globalization
Wagh et al. Smart Industry ERP
Yadav Order Management System

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: 20150421

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

Effective date of registration: 20150421

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.