CN101356522B - 终端用户对工作流进行动态重新定位的计算机实现的系统 - Google Patents

终端用户对工作流进行动态重新定位的计算机实现的系统 Download PDF

Info

Publication number
CN101356522B
CN101356522B CN2006800499761A CN200680049976A CN101356522B CN 101356522 B CN101356522 B CN 101356522B CN 2006800499761 A CN2006800499761 A CN 2006800499761A CN 200680049976 A CN200680049976 A CN 200680049976A CN 101356522 B CN101356522 B CN 101356522B
Authority
CN
China
Prior art keywords
workflow
state
host
computer implemented
incident
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.)
Expired - Fee Related
Application number
CN2006800499761A
Other languages
English (en)
Other versions
CN101356522A (zh
Inventor
I·席勒洛
A·萨纳布里阿
C·米海
N·科塔里
P·英杜卡
M·R·尤姆拉
M·哈德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101356522A publication Critical patent/CN101356522A/zh
Application granted granted Critical
Publication of CN101356522B publication Critical patent/CN101356522B/zh
Expired - Fee Related 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/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • 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/0633Workflow analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Abstract

通过使用工作流外部的动态状态管理器来动态地重新设置工作流状态,并允许宿主与工作流实例交互的系统和方法。可提供事件驱动的工作流或状态机工作流,其中使用专设(ad hoc)事件以便将工作流重新设置并操控到还未被建模为工作流自身的一部分的状态,以便在运行时动态地创建关系。

Description

终端用户对工作流进行动态重新定位的计算机实现的系统
技术领域
本发明涉及计算机系统和方法,尤其涉及通过使用工作流外部的动态状态管理器来动态地重新设置工作流状态,并允许宿主与工作流实例交互的系统和方法。
背景技术
计算机和联网技术从高成本、低性能的数据处理系统到低成本、高性能的通信、问题解决和娱乐系统的演变提供了经济而省时的手段来减轻执行诸如信件往来、帐单付款、购物、预算制定以及信息搜集等日常任务的负担。今天,通过有线或无线技术与因特网接口的计算系统可向用户提供通过用户手指尖就能几乎瞬时访问来自位于全世界的网站和服务器这个资源库中的丰富信息的渠道。
例如,在“万维网”这种网络中,用户能够指定用户希望“去”的站点或目标页面的地址。然后,用户输入选择的站点,目标页面或者站点主页将显示在用户的显示屏上。通常,通过网站和服务器可获得的信息可由执行在web客户机(例如,计算机)上的web浏览器来访问。例如,web用户可部署web浏览器并通过将网站统一资源定位符(URL)(例如,网站地址和/或因特网地址)输入到web浏览器的地址栏并按下键盘上的回车键或采用鼠标点击“进入”按钮来访问网站。在许多情况下,当显示目标屏幕时,该屏幕可能没有展示预期或寻找的信息并且用户接着不得不指定其它目标地址以供访问。
页面导航中所涉及的流程依靠应用程序之间的通信而可被自动化,而其它则依靠人们启动该进程、批准该流程所用的文档、解决出现的任何例外情形等。不管在哪种情况下,指定被称为工作流(例如,页面流控制)的一系列离散的步骤是常见的做法,该工作流描述了流程中所涉及的用户和软件的活动。一旦定义了这样的工作流,则可围绕该定义建立应用程序以支持该业务流程。
计算机系统和相关联的软件现在提供企业和其它组织可以用于改进他们的工作流的工具。软件工具可以用来对业务工作流流程或进度表建模并标识效率不高的地方和可能的改进。另外,当一流程涉及在人员、部门、车间、或甚至独立的公司之间交换数据时,计算机系统和网络可以用来实现这些交换。这样的系统和软件工具还能够实现通常与业务相关信息相关联的大规模计算和其它数据或信息处理。
因此,工作流管理包括对一组织的业务流程中的信息流动和控制进行有效管理,其中这种信息处理的自动化导致了现代商业界中的许多有效改进。而且,工作流管理的这种自动化现在正允许企业和其他组织通过在包括诸如因特网等全球计算机网络的计算机系统中执行工作流事务来进一步改进绩效。
一个典型的基于工作流的应用程序常常需要满足多个条件。例如,一个这样的条件是基于业务规则作出决策的能力。这可以包括简单规则(例如,就像基于信用检查的结果做出的是或否的决定),以及更复杂的规则(例如,必须对可能的大型标的进行评估以作出初步担保决定)。另外的要求是与工作流外的其它软件和其它系统进行通信。例如,初始请求可以从应用程序的一部分接收到,而其它方面(例如,联系信用服务)可以要求使用其它web服务或技术进行的通信。需要满足的另一条件是工作流与用户的适当交互。例如,工作流通常应该能够自身显示用户界面或通过其它软件与人们交互。此外,另一个需要满足的条件是维持整个工作流生命周期中的状态的能力。因此,对在软件中创建和执行工作流提出了独特的挑战。
今天,存在多种将页面流控件结合到工作流系统的解决方案。这可包括例如使用模型视图控制器(MVC)、页面控制器和前端控制器模型来编排网页导航的解决方案。这些解决方案允许用户通过一系列具有硬代码关系的预先设定的页面来被导航。然而,提交已经在处理的页面要求提前定义这些关系。
因此,对任何一组页面之间的关系的所有可能的组合进行建模变得具有挑战性。这种复杂性迫使开发者和分析者对常见和最可能发生的页面之间的关系(例如,“欢乐路径”)进行建模。因此,开发者不得不在其需要对上次提交的页面进行跟踪的页面中构建重新提交逻辑。一般而言,不存在允许定义页面流的机制,该机制中终端用户能够为流进行重新定位、而不需要有各页面之间的正式关系的定义。
因此,需要克服上述关于常规系统和设备的示例性缺陷。
发明内容
为了提供对所请求保护的主题的一些方面的基本理解,以下展示了简化的概述。本概述不是详尽的概要。它并非意在确定所请求保护的主题的关键/重要特征,也并非意在对所请求保护的主题的范围进行划界。其唯一目的是以简化的形式作为接下来要被展示的更详细的描述的前序来展示一些概念。
本发明提供系统和方法,该系统和方法通过使用工作流外部的动态状态管理器来动态地重新设置工作流状态并允许宿主与工作流实例交互。这种动态状态管理器可在工作流外部管理工作流的状态(例如,不构建成为工作流自身的一部分)。这样,降低了对工作流的专设(ad hoc)状态改变进行建模的要求。因此,提供事件驱动的工作流以动态地在运行时创建关系,其中使用专设事件将工作流重新设置到或操控到还未被建模为工作流自身的一部分的状态。宿主可调用工作流提供者并传送一设置状态(例如,具有具体状态和用户界面(UI)),其中该工作流运行时被随后拾起。该动态状态管理器接收该设置状态,从而通过重新设置工作流实例来驱动该状态。工作流状态还可向工作流运行时发送关于挂起的通知(例如,等待一个事件),它返回到工作流提供者并然后传达给宿主。
在一个相关的方面,交互活动组件可在特定点上停止工作流(例如,将工作流运行时设置为闲置)并等待来自宿主的输入以继续该工作流。宿主可调用工作流提供者以加载一工作流实例。随后,可设置一个事件,其中该事件可对应于一用户界面(例如,对应于工作流状态的网页)。因此,该宿主可提供关于导航路径的信息(例如,采用“转到”(go-to)的形式)。
接着,动态状态管理器提供对工作流状态的可获得性的检查。如果这种状态不存在,则向用户显示错误。否则,如果这种状态存在,则动态状态管理器可将这种状态设置为活动的以便在工作流内执行该状态。随后,一旦执行,则工作流可等待转移到新的状态的事件,并且一旦接收到来自宿主的转移事件,工作流可移到新的状态。接着,执行验证来检查该状态是否是工作流实例中的最后一个状态。如果是,则该方法结束。否则,该方法返回以执行另一个状态。应该意识到,本发明不限于此,并且除了网页之外,本发明可应用到web服务、系统服务执行等。
根据本发明的一个特定方法,首先,在浏览器中显示作为应用程序导航控件(例如,页面流控制流)的一部分的显示画面(例如,页面),其中用户完成页面上的用于提交该页面的信息。随后,加载与该显示画面相关联的工作流实例并且该工作流的状态被设置成与该显示画面相关联的状态。通常,在显示画面和状态之间存在一对一的关联性。一旦设置了该状态,则显示画面生成的事件被传送到工作流实例以供使用。诸事件被传送到工作流实例的当前状态。该状态确定这个事件是否可使用。如果该事件被当前的状态使用,则相关联的句柄可确定是否需要状态转移。否则,如果该事件没有被当前状态所使用,则该事件被传送到包含该状态以供使用的状态。
为了实现上述和有关的目的,此处结合以下描述和附图来描述所请求保护的主题的某些说明性方面。这些方面指示了实现本主题的各个方面,所有这些方面都意在落入所请求保护的主题的范围内。当结合附图考虑时,其它优点和新颖的特征将从以下详细描述中变得明显。
附图说明
图1示出具有重新设置工作流状态的动态状态管理器的工作流的示例性系统图示。
图2示出根据本发明的一个示例性方面的重新设置工作流状态的示例性方法。
图3示出根据本发明的一个方面的活动服务页面(ASP)web开发技术的特定系统图示。
图4示出根据本发明的又一方面的ASP web开发技术的进一步系统图示。
图5示出一个示例性方法,在该方法中,提供交互工作流以等待来自宿主的输入以便将工作流移至另一个状态。
图6示出重新设置工作流状态的又一方法。
图7示出根据本发明的一个方面的关于事件驱动的工作流的步骤图表。
图8示出用来将工作流重新设置到或操控到还未被建模为工作流自身的一部分的状态。
图9示出实现本发明的各种方面的示例性环境。
图10是能用来实现本发明的具有路由持久服务的工作流的另一个计算环境的示意框图。
具体实施方式
现在参考附图描述本发明主题的各方面,在所有附图中,相同的标号表示相同或对应的元素。然而,应该理解,附图和与其有关的详细描述并非意在将所请求保护的主题限于所公开的具体形式。相反,本发明意在涵盖落入所请求保护的主题的精神和范围之内的所有修改、等效技术特征/方案以及替换技术特征/方案。
如此处所使用的,术语“组件”、“系统”、“服务”、“管理器”等意指计算机相关的实体,其或者是硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是,但不限于,在处理器上运行的进程、处理器、对象、可执行、执行的线程、程序、和/或计算机。作为说明,在计算机上运行的应用程序和计算机均可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,并且组件可位于一台计算机上和/或分布在两台或更多的计算机之间。
词语“示例性”在此处用来表示作为示例、实例或说明。此处作为“示例性”来描述的任何方面或设计并不必然被理解为相比其它方面或设计是优选或有利的。
此外,所公开的主题可被实现为采用标准编程和/或工程技术来生产软件、固件、硬件或它们的任何组合来控制计算机或基于处理器的设备以实现此处所详述的各方面的系统、方法、装置或制品。此处使用的术语“计算机程序”意在包含可从任何计算机可读设备、载体或介质中访问的计算机程序。例如,计算机可读介质可包括但不限于磁存储设备(例如,硬盘、软盘、磁带)、光盘(例如,压缩盘(CD)、数字多功能盘(DVD))、智能卡和闪存设备(例如,卡、棒)。另外,应该意识到,可使用载波来承载诸如那些在发送和接收电子邮件或在访问诸如因特网或局域网(LAN)等网络时所使用的计算机可读电子数据。当然,本领域的技术人员将认识到,在不背离所请求保护的主题的范围或精神的情况下可对该配置做出许多修改。
首先转到图1,示出了系统101的框图,该系统通过使用工作流外部的动态状态管理器105来重新设置(诸)工作流实例102,并允许宿主120与工作流实例102交互。该系统101使用动态状态管理器105来降低对与系统101相关联的工作流的建模专设状态改变的要求。因此,可提供事件驱动的工作流,其中使用专设事件将工作流重新设置到和操控到还未被建模为工作流自身的一部分的状态,并动态地在运行时创建关系。
这种工作流可以模拟人或系统的过程,这被定义为活动图。一个活动是工作流中的一个步骤,并且是工作流的执行、重复使用和组成的单元。活动图表达规则、动作、状态以及它们的关系。通常,工作流通过工作流引擎/运行时110来运行,并且根据如宿主120描述的几个规则,工作流运行时需要外部的应用程序来主宿它。宿主120与工作流系统100之间的数据交换可涉及和/或描述业务文档和其它对象,它们或者用于帮助工作流活动,或者用于帮助工作流中用来与宿主应用程序120通信数据的本地变量之间的流动。
例如,宿主应用程序120可以通过Workflow Provider Base Class(工作流提供者基类)117与工作流系统100相关联的Workflow Provider(工作流提供者)115交互。另外,宿主120可以负责多个另外的且重要的方面,例如一个或多个工作流的创建;为正确执行工作流所需要的各组件之间的调用的调度;以及隔离机制的设置。此外,出于可缩放的原因,宿主120可以创建多进程以便利用机器中的多个中央处理单元(CPU),或在大批机器上运行大量工作流实例。宿主120还可以控制在工作流经历长时间等待时应用的策略、监听特定的事件并将它们传达给用户或管理员、设置超时时限和对每个工作流的重试、展示性能计数器、以及出于调试和诊断目的而写日志信息。
与工作流系统101相关联的工作流可以通过为工作流与外界通信的目的而专门建立的服务与外界通信,其中该服务可以引发事件,将使得工作流内的事件驱动的活动被挂钩(hook up)。同样,该服务展示供工作流调用并向宿主120发送数据的公共方法。工作流可定义为计算机系统内执行的进度表的形式。进度表可包括具有指定的并发性、依赖性以及与其相关联的事务属性的一组动作。每个进度表具有相关联的进度表状态,其包括进度表的定义、在进度表中的当前位置、以及与该进度表相关联的活动或实况数据和对象。在进度表内,事务边界可基于动作的分组而存在。在这个方面,事务可包含独立动作、或事务、或动作或事务的组。如下文进一步描述的,动作可被分组成按串行方式执行的序列,以及其中能并发执行动作的任务。因此,基于分组,并发属性可被分解,以用于进度表内的动作和事务。
宿主120可调用工作流提供者115并传送一个设置状态(例如,具有特定状态和用户界面(UI)),其中工作流运行时被随后拾起。动态状态管理器105接收该设置状态,从而通过重新设置工作流实例111来驱动该状态。工作流状态102还可向工作流运行时110发送关于挂起的通知(例如,等待事件),它被指示给工作流提供者115并然后传达给宿主120。
以下是动态状态管理器的示例性定义,其中假设状态机工作流(StateMachine Workflow)内的每个状态(State)映射至一网页(Web Page)。
Figure GSB00000740116400071
图2示出根据本发明的一个方面的方法200。尽管示例性方法在此处被示出并描述为表示各种事件和/或动作的一系列框图,但是本发明不受这种框图所示出的顺序的限制。例如,除了此处所示出的顺序之外,某些动作或事件可根据本发明按不同顺序发生和/或与其它动作或事件并发。另外,不是所有示出的框图、事件或动作都是实现根据本发明的方法所必需的。此外,将意识到,根据本发明的示例性方法和其它方法可联系此处所示出和描述的方法以及没有示出或描述的其它系统和装置来实现。在210处,宿主可调用工作流提供者以加载工作流实例。例如,为了加载工作流实例,可提供对与存储工作流实例表示相对应的持久存储的访问,然后将该表示转换成工作流实例,并提供给宿主应用程序。随后,在220处,可设置一事件,其中该事件可对应于一用户界面(例如,对应于工作流状态的网页)。因此,宿主可提供关于导航路径的信息(例如,采用“转到”(go-to)形式)。接着,在230处,动态状态管理器可检查工作流状态的可获得性。如果该状态不存在,则可向用户显示错误,并且在235处,该方法终止。
否则,如果该方法存在,则动态状态管理器能将这种状态设置为活动的(240)以便在工作流内执行该状态。随后,一旦执行(250),在260处,工作流可等待转移到新的状态的事件,并且在270处,当接收到来自宿主的转移事件时,工作流可移至新的状态。接着,在280处,执行验证来检查该状态是否是工作流实例中的最后一个状态。如果是,则在295处,该方法结束。否则,该方法返回到动作250,以执行另一个状态。
图3和图4示出根据本发明的一个方面的动态状态管理器的特定实现示例300和400。与常规系统相反(其中用户必须与工作流类型系统交互,该工作流类型系统通过对各种页面/步骤中的复杂逻辑建模来定义页面导航)-本发明允许使用一个针对状态管理的动态概念,该概念简化所涉及的逻辑。例如,可在工作流处理事件的信息之前重新设置工作流的状态310、410。
如图3和图4所示,工作流有两种版本,即状态机工作流类型315、415和顺序工作流类型317、417。通常,每个工作流包含一些数量的活动,每个活动执行该工作流的功能的某个方面。该工作流作为用于这些活动的容纳者,提供控制它们的生命周期以及执行顺序的方法。系统工作流往往会按清楚定义的、可预测的方式执行活动,而人工工作流不是。
为了解决这两个要求,Windows工作流基础(Windows WorkflowFoundation)提供两种内建的工作流类型:能够按预先定义的模式执行活动的顺序工作流317、417,以及能够响应发生的外部事件的状态机工作流315、415。两者都依赖相同的运行时环境,并且两者可使用相同的客户活动。顺序方法自然地适用于系统工作流,而状态机则提供一种对人的工作流的更宽松定义的特性进行建模的方法。单个工作流可组合这两种风格的元素,并允许两者的组合。此外,开发者还可创建客户工作流类型。
工作流运行时311、411通过编程将工作流实例作为活动服务器页面(ASP.net应用程序)内的工作流运行时来管理。此外,交互活动组件330、430可在特定点处停止工作流的执行(例如,将工作流运行时设置为闲置),并等待来自宿主的输入以继续该工作流。宿主(例如,网页)可发送一事件以将工作流移到另一个状态。例如,宿主可激发一个继续事件令该工作流继续至下一个状态。图4还示出分解成状态机450中的继续和挂起的交互活动组件。
交互活动组件330、440可在要求用户输入的各种交互间隙期间提供用户输入和与工作流相关联的交互。这允许工作流与和该工作流相关联的宿主应用程序之间受控/同步地交换数据。因此,在工作流的执行期间的被定义的时刻,用户上下文可以与一个工作流实例相关联。此外,工作流可基于挂起期间的工作流状态通过切换用户组件332、432(诸如有关工作流用户的信息)来驱动用户界面(UI)。此外,事件句柄334、434可使用当前状态未处理的事件来启用在要被覆盖的状态上定义的当前控制流。因此,可从工作流外部来管理工作流状态(例如,不需要构建成为工作流自身的一部分),并且降低了对工作流的专设状态改变进行建模的要求。
图5和图6示出示例性流程图,其中提供执行到特定点的交互工作流,并且等待来自宿主的输入以继续工作流,其中该事件可将工作流移至另一个状态。如方法500所示,在505处,执行工作流进程并移至该进程中的下一个动作。在510处,工作流执行可验证要被执行的动作是否表示工作流的结束。如果是,则在520处,工作流的执行结束。否则,该方法前进至动作530,其中检查要被工作流执行的动作以验证它是否是一交互活动。如果是,则在541处挂起工作流以允许与宿主应用程序的交互以便动态地重新设置工作流状态(如以上详细描述)。否则,该方法返回到动作505,其中工作流执行当前动作并前进至下一个动作。
如图5所示,在挂起工作流(540)后,在550处,执行流等待来自宿主的输入以继续工作流,其中该事件可将工作流移至另一个状态。随后,在图6的660处,可设置一事件,其中该事件可对应于一个相应于工作流状态(假定该状态实际上存在)的用户界面(例如,网页)。因此,在670,宿主可按例如“转到”的形式提供关于导航路径的信息。这样,在680处,动态状态管理器可将该状态设置为活动的以便在工作流内执行该状态。随后,一旦执行,工作流可等待转移到新的状态的事件,并且当接收到来自宿主的转移事件时,在690处,工作流可移至新的状态,因此,可从工作流外部管理工作流状态(例如,不需要构建为工作流自身的一部分),并且降低了对工作流的专设状态改变进行建模的要求。
图7和图8示出事件驱动的工作流的示例,其中使用专设事件将工作流重新设置到并操控到还未被建模为工作流自身的一部分的状态,以便动态地在运行时创建关系。网页应用程序可调用工作流提供者并传送设置状态(例如,具有特定状态和用户界面),其中该工作流运行时被随后拾起。动态状态管理器可接收该设置状态,从而通过重新设置工作流实例来驱动该状态。首先,在浏览器中显示作为页面流控制流的一部分的页面,其中用户在该页面上完成信息,以供提交该页面。随后,加载与该页面相关联的工作流实例并且将工作流的状态设置为与该页面相关联的状态。通常,页面和状态之间存在一对一的关联性。一旦设置了该状态,则由该页面生成的事件被传送到工作流实例以供使用。各事件被传送到工作流实例的当前状态。该状态确定它是否能使用这个事件。如果当前状态使用该事件,则相关联的句柄可确定是否需要状态转移。否则,如果该事件没有被当前状态使用,则该事件被传送到包含该状态的状态,以供使用。
例如,在购买具有所选功能的手机的情景中,开发者可开发要求用户使用网页来输入信息的工作流应用程序。该网页先前被定义并且被映射到状态机(State Machine)工作流中的状态。开发者的目标是使用状态机工作流对应用程序的控制流进行建模。页面中定义的事件可被建模为状态的输入。基于事件的类型,状态机可改变状态并执行直至完成。状态机中的状态改变将定义页面流应用程序的控制流。
在将事件从页面提交给工作流之前,状态机工作流的当前状态可被定位到与正被显示的页面相关联的状态。这允许操控事件,就好像用户在欢乐路径上并期望在该页面上。因此,可创建工作流的上一次设置状态与工作流的最新选择的状态之间的动态关系(通过重新定位)。图7的图表700示出购买手机的步骤。应该意识到,如果有人在映射到状态机工作流的当前状态的页面上操作时,则通常不需要改变该状态或对该状态进行重新定位。一般而言,只有在页面和当前状态不匹配的时候才重新设置该状态。
现在参考图8,示出序列800,其中终端用户可提交步骤1,2,3,4,5并且接着重新考虑将要购买的计划类型。本发明允许终端用户按下浏览器的后退按钮以便在步骤二820处重新定位、选择预付计划、提交信息并移至步骤五840。应该意识到,没有事前定义步骤5和2之间的关系,因此,可存在专设关系。此外,取消事件860可建模为主状态机工作流上的事件句柄。因此,本发明提供框架,其中可在运行时动态创建关系。这允许分析者和开发者只对页面间最常见的执行路径建模并对定义在工作流模型上的控制流进行建模以调整终端用户的要求。
参考图9,描述包括计算机912的用于实现本发明的各个方面的示例性环境910。计算机912包括处理单元914、系统存储器916以及系统总线918。系统总线918将包括(但不限于)系统存储器916的系统组件耦合到处理单元914。处理单元914可以是各种可用处理器的任一种。双微处理器以及其它多个处理器体系结构也可用作处理单元914。
系统总线918可以是几种类型的总线结构中的任一种,包括采用任何种类的可用总线体系结构的存储器总线或存储器控制器、外围总线或外部总线、和/或局部总线,该可用总线体系结构包括,但不限于,11位总线、工业标准体系结构(ISA)、微通道体系结构(MSA)、扩展型ISA(EISA)、智能驱动电子电路(IDE)、VESA局部总线(VLB)、外围部件互联(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储器卡国际联合总线(PCMCIA)以及小型计算机系统接口(SCSI)。
系统存储器916包括易失性存储器920和非易失性存储器922。包含用于在计算机912内的元件之间传输信息的基本例程的基本输入/输出系统(BIOS)存储于非易失性存储器922中。作为说明,而不是限制,非易失性存储器922可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器920包括作为外部高速缓冲存储器的随机存取存储器(RAM)。作为说明,而不是限制,RAM以多种形式可得,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链环(Synchlink)DRAM(SLDRAM)以及直接RambusRAM(DRRAM)等。
计算机912还包括可移动/不可移动、易失性/非易失性计算机存储介质。例如,图9示出盘存储924。盘存储924包括,但不限于,如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡、或记忆棒等设备。另外,盘存储924可以包括与其它存储介质分开或组合的存储介质,其包括,但不限于,诸如光盘ROM设备(CD-ROM)、可记录CD驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)等光盘驱动器。为了方便盘存储设备924与系统总线918的连接,通常采用诸如接口926等可移动或不可移动接口。
应该意识到,图9描述了作为用户与合适的操作环境910中所描述的基本计算机资源之间的中介的软件。这样的软件包括操作系统928。能存储于盘存储924上的操作系统928用来控制并分配计算机系统912的资源。系统应用程序930通过或是存储于系统存储器916或是存储于盘存储924上的程序模块932和程序数据934利用操作系统928对资源进行管理。应该意识到,此处描述的各种组件可以与各种操作系统或操作系统的组合一起实现。
用户通过(诸)输入设备936向计算机912输入命令或信息。输入设备936包括,但不限于,诸如鼠标器、跟踪球、指示笔、触摸垫、键盘、话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、TV调频卡、数码照相机、数码摄像机、web摄像头等定点设备。这些或其它输入设备经由(诸)接口端口938通过系统总线918连接到处理单元914。(诸)接口端口938包括,例如,串行端口、并行端口、游戏端口以及通用串行总线(USB)。(诸)输出设备940使用与(诸)输入设备936同样类型的端口中的一些端口。因此,例如,可以使用USB端口来向计算机912提供输入并且将计算机912中的信息输出至输出设备940。提供输出适配器942用来说明除了需要专用适配器的其它输出设备940之外,存在诸如监视器、扬声器、以及打印机等一些输出设备940。作为说明而非限制,输出适配器942包括提供输出设备940与系统总线918之间的连接手段的显卡和声卡。应该注意,其它设备和/或设备的系统(例如(诸)远程计算机944)提供输入和输出能力两者。
计算机912可以采用与如(诸)远程计算机944等一个或多个远程计算机的逻辑连接而在联网环境中操作。(诸)远程计算机944可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或其它常见的网络节点等等,并且通常包括计算机912中所描述的元件中的许多或所有元件。为了简明起见,对于(诸)远程计算机944只描述了存储器存储设备946。(诸)远程计算机944通过网络接口948与计算机912逻辑连接并且然后通过通信连接950被物理连接。网络接口948包括诸如局域网(LAN)和广域网(WAN)等通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜分布式数据接口(CDDI)、以太网/IEEE802.3、令牌环/IEEE 802.5等。WAN技术包括(但不限于)点对点链路、诸如综合业务数字网络(ISDN)及其变型等电路交换网络、分组交换网络、以及数字用户线(DSL)。
(诸)通信连接950指的是用来将网络接口948与总线918相连接的硬件/软件。尽管通信连接950为了清楚说明起见被示为在计算机912内,但它还可以在计算机912外部。连接到网络接口948所必需的硬件/软件包括(仅出于示例性目的)内部和外部技术,例如,包括常规电话类别调制解调器、电缆调制解调器和DSL调制解调器等调制解调器、ISDN适配器、和以太网卡。
图10是用来实现带有本发明的工作流实现的示例计算环境1000的示意性框图。系统1000包括一个或多个客户机1010。(诸)客户机1010可以是硬件和/或软件(例如,线程、进程、计算设备)。系统1000还包括一个或多个服务器1030。(诸)服务器1030可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器1030可以容纳线程以便通过采用例如此处描述的组件来执行转换。客户机1010与服务器1030之间的一个可能的通信可以采用适用于在两个或多个计算机进程之间传输的数据分组的形式。系统1000包括能用来帮助(诸)客户机1010与(诸)服务器1030之间进行通信的通信框架1050。(诸)客户机1010可操作地连接到能被用来存储(诸)客户机1010本地信息的一个或多个客户机数据存储1060。类似地,(诸)服务器1030可操作地连接到能被用来存储服务器1030本地信息的一个或多个服务器数据存储1040。
以上已描述的包括各种示例性方面。当然,不可能为了描述这些方面而描述每个可以想到的元件或方法的组合,但是本领域的普通技术人员可以认识到可能会有许多进一步的组合与排列。因此,此处所描述的方面意在包括落入所附权利要求的精神和范围内的所有这些更改、修改以及变型。此外,就在详细描述或者权利要求中使用的术语“包括”的意思来说,这个术语意在以当术语“包括”作为权利要求中的过渡词使用时所理解的那种方式表示为“包括在内”。

Claims (7)

1.一种包括以下计算机可执行组件的计算机实现的系统,所述计算机可执行组件包括:
在工作流外部的动态状态管理器,所述工作流包括多个工作流状态和与所述多个工作流状态对应的多个网页,其中,专设事件被用来将工作流重新设置并操控到还未被建模为该工作流自身的一部分的工作流状态,以便动态地在运行时创建工作流状态之间的关系,其中一宿主应用程序将一工作流状态传送给所述动态状态管理器以通过重新设置工作流的实例来驱动该工作流状态。
2.如权利要求1所述的计算机实现的系统,其特征在于,所述计算机可执行组件还包括交互活动组件,所述交互活动组件在特定点停止所述工作流并等待来自宿主的输入。
3.如权利要求2所述的计算机实现的系统,其特征在于,所述工作流与浏览器中显示的应用程序导航控件相关联。
4.如权利要求3所述的计算机实现的系统,其特征在于,所述工作流在每个显示画面和每个工作流状态之间具有一对一的关联性。
5.如权利要求4所述的计算机实现的系统,其特征在于,所述宿主提供关于导航路径的信息。
6.如权利要求5所述的计算机实现的系统,其特征在于,所述导航路径具有“转到”(“go-to”)形式。
7.如权利要求5所述的计算机实现的系统,其特征在于,所述专设事件对应于用户界面。
CN2006800499761A 2005-12-29 2006-12-07 终端用户对工作流进行动态重新定位的计算机实现的系统 Expired - Fee Related CN101356522B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/321,777 2005-12-29
US11/321,777 US7680683B2 (en) 2005-12-29 2005-12-29 Dynamically repositioning workflow by end users
PCT/US2006/047240 WO2007078673A1 (en) 2005-12-29 2006-12-07 Dynamically repositioning workflow by end users

Publications (2)

Publication Number Publication Date
CN101356522A CN101356522A (zh) 2009-01-28
CN101356522B true CN101356522B (zh) 2012-08-08

Family

ID=38225974

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800499761A Expired - Fee Related CN101356522B (zh) 2005-12-29 2006-12-07 终端用户对工作流进行动态重新定位的计算机实现的系统

Country Status (8)

Country Link
US (1) US7680683B2 (zh)
EP (1) EP1966723A4 (zh)
JP (1) JP4536817B2 (zh)
KR (1) KR20080087801A (zh)
CN (1) CN101356522B (zh)
BR (1) BRPI0618711A2 (zh)
RU (1) RU2433463C2 (zh)
WO (1) WO2007078673A1 (zh)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060111921A1 (en) * 2004-11-23 2006-05-25 Hung-Yang Chang Method and apparatus of on demand business activity management using business performance management loops
US8849691B2 (en) 2005-12-29 2014-09-30 Microsoft Corporation Modeling user input and interaction in workflow based applications
US8752030B1 (en) * 2006-03-09 2014-06-10 Verizon Services Corp. Process abstraction and tracking, systems and methods
US9191793B2 (en) 2007-10-19 2015-11-17 Duc Anh Ngo Interactive system and process
WO2008046161A1 (en) * 2006-10-19 2008-04-24 Fruitful Technologies Pty Ltd An interactive system and process
US20090125366A1 (en) * 2007-11-13 2009-05-14 Dipanjan Chakraborty Method and system for dynamic adaptation of workflows
US8161492B2 (en) * 2008-04-15 2012-04-17 Microsoft Corporation Continuation based runtimes in transactions
US20100064357A1 (en) * 2008-09-09 2010-03-11 Kerstin Baird Business Processing System Combining Human Workflow, Distributed Events, And Automated Processes
US9354847B2 (en) 2008-12-29 2016-05-31 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
US8250520B2 (en) * 2009-03-17 2012-08-21 Microsoft Corporation Implementing custom activities in a workflow
US8751281B2 (en) * 2009-03-20 2014-06-10 Sap Ag Method for acquiring by a session manager a list of active sessions
US8683432B2 (en) * 2009-03-20 2014-03-25 Microsoft Corporation Providing execution context in continuation based runtimes
US20100293538A1 (en) * 2009-05-15 2010-11-18 Microsoft Corporation Dynamic program updating in a continuation based runtime
US20100324948A1 (en) * 2009-06-18 2010-12-23 Microsoft Corporation Managing event timelines
KR101768432B1 (ko) * 2009-06-23 2017-08-16 도이체 텔레콤 악티엔 게젤샤프트 제 1 서비스에 종속하여 제 2 서비스를 시작하는 방법 및 프로그램
US8661245B1 (en) * 2009-09-25 2014-02-25 Nimvia, LLC Systems and methods for empowering IP practitioners
US8683498B2 (en) * 2009-12-16 2014-03-25 Ebay Inc. Systems and methods for facilitating call request aggregation over a network
US9589240B2 (en) * 2010-05-14 2017-03-07 Oracle International Corporation System and method for flexible chaining of distinct workflow task instances in a business process execution language workflow
US9852382B2 (en) 2010-05-14 2017-12-26 Oracle International Corporation Dynamic human workflow task assignment using business rules
US9741006B2 (en) 2010-05-14 2017-08-22 Oracle International Corporation System and method for providing complex access control in workflows
US8819055B2 (en) 2010-05-14 2014-08-26 Oracle International Corporation System and method for logical people groups
US8717915B2 (en) 2010-05-25 2014-05-06 Microsoft Corporation Process-integrated tree view control for interactive voice response design
US20120030094A1 (en) * 2010-07-27 2012-02-02 Verizon Patent And Licensing Inc. Design, deployment, and use of an automated flow-model-view-controller workflow
US8522256B2 (en) 2010-10-12 2013-08-27 Microsoft Corporation Hosting non-messaging workflows in a messaging host
EP2668593A4 (en) 2011-01-28 2016-06-29 Hewlett Packard Development Co DOCUMENTARY MANAGEMENT SYSTEM AND METHOD
US9466041B2 (en) * 2011-10-15 2016-10-11 Hewlett Packard Enterprise Development Lp User selected flow graph modification
US9536264B2 (en) 2011-11-14 2017-01-03 Microsoft Technology Licensing, Llc Host agnostic messaging in a continuation based runtime
US9020883B2 (en) 2012-02-22 2015-04-28 Oracle International Corporation System and method to provide BPEL support for correlation aggregation
CN102662668B (zh) * 2012-03-31 2015-06-03 北京奇虎科技有限公司 一种利用网页生命周期优化应用的方法和装置
US10037197B2 (en) 2013-03-15 2018-07-31 Oracle International Corporation Flexible microinstruction system for constructing microprograms which execute tasks, gateways, and events of BPMN models
JP6064734B2 (ja) * 2013-03-27 2017-01-25 富士通株式会社 ワークフロー制御プログラム、装置および方法
US9946516B2 (en) 2014-03-14 2018-04-17 Starbucks Corporation Application workflow framework
US9354922B2 (en) * 2014-04-02 2016-05-31 International Business Machines Corporation Metadata-driven workflows and integration with genomic data processing systems and techniques
KR102266554B1 (ko) * 2014-10-31 2021-06-18 한국전자통신연구원 컴포넌트 기반 소프트웨어의 컴포넌트 상태 관리 방법 및 장치
US11580472B2 (en) * 2015-05-14 2023-02-14 Palantir Technologies Inc. Systems and methods for state machine management
CN104866312A (zh) * 2015-05-22 2015-08-26 国云科技股份有限公司 一种基于asp点net的伪静态实现方法
US10127509B2 (en) 2015-09-17 2018-11-13 Bank Of America Corporation System for temporarily suspending a workflow associated with a work item
US9766927B1 (en) * 2015-10-06 2017-09-19 Amazon Technologies, Inc. Data flow management in processing workflows
US10726032B2 (en) 2015-12-30 2020-07-28 Palantir Technologies, Inc. Systems and methods for search template generation
US10839022B1 (en) 2017-07-24 2020-11-17 Palantir Technologies Inc. System to manage document workflows
US10514895B2 (en) 2017-09-08 2019-12-24 Bank Of America Corporation Tool for generating event case management applications
US20210383259A1 (en) * 2020-06-04 2021-12-09 Outreach Corporation Dynamic workflow optimization using machine learning techniques
US11748681B1 (en) * 2021-09-14 2023-09-05 Amazon Technologies, Inc. Persistent state management system for web applications

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397191B1 (en) * 1998-06-05 2002-05-28 I2 Technologies Us, Inc. Object-oriented workflow for multi-enterprise collaboration
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
US20020161615A1 (en) * 2001-04-26 2002-10-31 Hitoshi Yui Workflow system
US6499023B1 (en) * 1999-02-19 2002-12-24 Lucent Technologies Inc. Data item evaluation based on the combination of multiple factors
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
US20030233374A1 (en) * 2002-03-14 2003-12-18 Ulrich Spinola Dynamic workflow process
US20040111430A1 (en) * 2002-12-10 2004-06-10 William Hertling System and method for dynamic sequencing of a requirements-based workflow

Family Cites Families (51)

* 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
US7069451B1 (en) * 1995-02-13 2006-06-27 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
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
AU2453797A (en) * 1996-04-10 1997-10-29 Paul M. Konnersman Computer-based system for work processes that consist of interdependent decisions involving one or more participants
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
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
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
JP2001306507A (ja) * 2000-04-25 2001-11-02 Hitachi Koukiyou Syst Eng Kk 情報処理システムおよび処理方法、ならびにプログラム読み出し可能な記録媒体
US7503033B2 (en) * 2000-04-28 2009-03-10 Microsoft Corporation Model for business workflow processes
JP2001356907A (ja) * 2000-06-09 2001-12-26 Ibm Japan Ltd 処理コード情報を有するデータベース・システムおよび情報処理システム
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
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
WO2002021314A2 (en) 2000-09-08 2002-03-14 Asera, Inc. Integrated design environment for a commerce server system
JP3856637B2 (ja) * 2000-10-12 2006-12-13 日本電信電話株式会社 処理協調実行方法及びシステム並びに処理協調実行プログラムを記録した記録媒体
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
US6966049B2 (en) * 2001-04-24 2005-11-15 Heuristics Physics Laboratories, Inc. Software development tool employing workflows for developing user interactive programs
US7100147B2 (en) * 2001-06-28 2006-08-29 International Business Machines Corporation Method, system, and program for generating a workflow
US7069536B2 (en) * 2001-06-28 2006-06-27 International Business Machines Corporation Method, system, and program for executing a workflow
US20030023622A1 (en) * 2001-07-27 2003-01-30 Liaison Technology, Inc. Manual activity persistence in content management workflow systems
US20030078975A1 (en) * 2001-10-09 2003-04-24 Norman Ken Ouchi File based workflow system and methods
US20030090514A1 (en) * 2001-10-23 2003-05-15 Cole Douglas J. Business process user interface generation system and method
US7865867B2 (en) * 2002-03-08 2011-01-04 Agile Software Corporation System and method for managing and monitoring multiple workflows
US20040046789A1 (en) * 2002-08-23 2004-03-11 Angelo Inanoria Extensible user interface (XUI) framework and development environment
WO2004038556A2 (en) * 2002-10-23 2004-05-06 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
US7448024B2 (en) 2002-12-12 2008-11-04 Bea Systems, Inc. System and method for software application development in a portal environment
US7272820B2 (en) * 2002-12-12 2007-09-18 Extrapoles Pty Limited Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity
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
JP4146434B2 (ja) * 2002-12-20 2008-09-10 研一 澤田 ウェブアプリケーションサーバ用支援プログラム及びサーバ
US7711694B2 (en) * 2002-12-23 2010-05-04 Sap Ag System and methods for user-customizable enterprise workflow management
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
US6839062B2 (en) * 2003-02-24 2005-01-04 Microsoft Corporation Usage semantics
US20050044173A1 (en) * 2003-02-28 2005-02-24 Olander Daryl B. System and method for implementing business processes in a portal
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 ワークフロー管理装置、ワークフロー管理方法、ワークフロー管理プログラム及び記録媒体
CA2443454A1 (en) * 2003-09-11 2005-03-11 Teamplate Inc. Data binding method in workflow system
JP4272963B2 (ja) * 2003-09-30 2009-06-03 キヤノン株式会社 注文処理システムおよび注文処理方法
US20050203757A1 (en) * 2004-03-11 2005-09-15 Hui Lei System and method for pervasive enablement of business processes

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6397191B1 (en) * 1998-06-05 2002-05-28 I2 Technologies Us, Inc. Object-oriented workflow for multi-enterprise collaboration
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
US20020161615A1 (en) * 2001-04-26 2002-10-31 Hitoshi Yui Workflow system
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
US20030233374A1 (en) * 2002-03-14 2003-12-18 Ulrich Spinola Dynamic workflow process
US20040111430A1 (en) * 2002-12-10 2004-06-10 William Hertling System and method for dynamic sequencing of a requirements-based workflow

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
全文.
同上.

Also Published As

Publication number Publication date
BRPI0618711A2 (pt) 2011-09-06
CN101356522A (zh) 2009-01-28
JP2009522648A (ja) 2009-06-11
JP4536817B2 (ja) 2010-09-01
RU2433463C2 (ru) 2011-11-10
EP1966723A1 (en) 2008-09-10
RU2008126231A (ru) 2010-01-10
US20070156888A1 (en) 2007-07-05
WO2007078673A1 (en) 2007-07-12
EP1966723A4 (en) 2011-06-15
US7680683B2 (en) 2010-03-16
KR20080087801A (ko) 2008-10-01

Similar Documents

Publication Publication Date Title
CN101356522B (zh) 终端用户对工作流进行动态重新定位的计算机实现的系统
US9070104B2 (en) Cross-context task management
US8302096B2 (en) Methods and systems to perform individual tasks as a composite task
CN101346713B (zh) 在基于工作流的应用程序中对用户输入和交互建模
US8935334B2 (en) System and method to create a collaborative workflow environment
CN102667713B (zh) 带有后台应用逻辑的响应式用户界面
US8340995B2 (en) Method and system of using artifacts to identify elements of a component business model
US7890452B2 (en) Methods for enterprise-level data and process access and presentation
CN101180598B (zh) 用于提供过程指南的方法
US9846849B2 (en) System and method for providing an editor for use with a business process design environment
US20080294408A1 (en) Method and system for developing a conceptual model to facilitate generating a business-aligned information technology solution
US20070276715A1 (en) Distributed activity management
CN101351789A (zh) 多个并发的工作流的持久性方案
US8126924B1 (en) Method of representing and processing complex branching logic for mobile applications
Watson Information systems
US11080068B2 (en) Adaptive user-interface assembling and rendering
CN110574056A (zh) 参会者专有会议属性
CN113435669B (zh) 接入工作流的优化方法、装置、电子设备和可读存储介质
US20070027909A1 (en) Methods and apparatus for comparison of projects
US11741404B2 (en) Methods and systems for user interface interaction
KR102276230B1 (ko) 유한 상태기계 생성 방법, 유한 상태기계 운영 방법, 이를 수행하는 서버 및 컴퓨터 프로그램
CN113837870A (zh) 金融风险数据审批方法及装置
US11829953B1 (en) Digital processing systems and methods for managing sprints using linked electronic boards
US20240220879A1 (en) Work chat room-based task management apparatus and method
Scheer Application Composition Platform Architecture

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

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

Effective date of registration: 20150424

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120808

Termination date: 20211207

CF01 Termination of patent right due to non-payment of annual fee