CN101044498A - 工作流服务体系结构 - Google Patents

工作流服务体系结构 Download PDF

Info

Publication number
CN101044498A
CN101044498A CNA2004800032562A CN200480003256A CN101044498A CN 101044498 A CN101044498 A CN 101044498A CN A2004800032562 A CNA2004800032562 A CN A2004800032562A CN 200480003256 A CN200480003256 A CN 200480003256A CN 101044498 A CN101044498 A CN 101044498A
Authority
CN
China
Prior art keywords
action
service
actor
active flow
message
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.)
Pending
Application number
CNA2004800032562A
Other languages
English (en)
Inventor
I·阿兹孜
K·-K·翁
H·A·蒂耿
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 CN101044498A publication Critical patent/CN101044498A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/10Office automation; Time management
    • 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

Abstract

自动化工作流服务系统可适应各种各样的工作流情形。可向客户机程序提供合成服务、约束服务和跟踪服务。该合成服务可支持用于活动流的动作的客户机导向的例示。活动流可基于活动模型、在特设基础上构建、或两者的组合。动作可在活动流的执行时间被添加到活动流中。跟踪服务可跟踪来自和发往动作的消息。

Description

工作流服务体系结构
相关申请
本申请声明对申请号为10/742,696于2003年12月19日提交的美国专利申请的优先权,该申请是申请号为10/304,589于2002年12月25日提交的Teegan等人的“System and Method for Composing and Constraining Automated Workflow”(用于合成和约束最大化工作流的系统和方法)的美国专利申请的续篇,因此每一个都在此引入作为参考。
技术领域
本发明一般涉及自动化工作流技术。
背景技术
自动化工作流技术已被奉为用于提高工作生产力的万能药。通过将计算机自动化科学引入商业过程,工作流技术有希望将软件的威力应用到公司运作的方法中去。
自动化工作流技术可在软件中将商业过程呈现为一工作流。通常工作流设计者将商业过程分成要执行和监视的不同部分直到达到某些完成准则。
工作流技术的一个持续问题是通常它们对于一般商业工作者而言是难以理解的。例如,构建工作流通常需要编程技术和工作流系统的广泛知识。甚至复杂信息工作者也不具备所需编程技术,并且不能或不愿意为了利用工作流技术而去学习另一种信息系统。
此外,信息工作者趋向对工作流系统失去兴趣是因为它没有反映他们真正进行运作的方法。例如,通常过程中的小例外不会被工作流系统考虑在内,因此它常常会抑制而不是便于商业过程的完成。
自动化工作流的常规方法通常相对于工作者真正所需的都太复杂和严格。因而,仍然需要一种自动化工作流的改进技术。
发明内容
在此所述的技术可用于各种各样的自动化工作流情形中。例如,工作流服务可提供可合成动作的执行。这些动作可发送并接收一个标准的消息集,其格式可由标准界面指定。
工作流服务可包括合成服务、约束服务以及跟踪服务。合成服务可支持先验基础、特设基础、或两者组合上的动作合成。先验合成可基于活动模型。
约束服务可支持大范围的限制,包括基于行动者身份的限制。约束可限制动作或目标行动者。约束可以是相关的或否定的。此外,可支持用于转移动作的约束。
服务可通过基于SOAP协议与客户机通信,且服务可以是客户不可知的。用于访问服务的用户界面可被结合到已显现在用户桌面上的常用应用程序。例如,工作流操作可被简便地结合到熟悉的电子邮件或字处理界面中。
可跟踪来自动作或发往动作的消息。结果,可提供工作流处理的状态。
提供非预期情形的弹性工作流可通过在此实现的各种技术实现。
提供各种各样动作功能和动作协作的可合成动作可通过在此所述的技术来实现。
从参阅附图进行的以下被揭示实施例的详细描述,前述和其它特征和优点将变得显然。
附图说明
图1是示出支持自动化工作流的示例性系统的框图。
图2是用于处理如图1的自动化系统中工作流的示例性方法的流程图。
图3是示出可合成动作的示例性模式的框图。
图4是处理可合成动作中消息的示例性方法的流程图。
图5是示出通过消息进行的示例性动作-到-动作通信的框图。
图6是用于通过动作-到-动作通信完成同步的示例性方法的流程图。
图7是示出任务的示例性实现的框图。
图8是用于处理任务的示例性方法的流程图。
图9是示出约束的示例性实现的框图。
图10是用于实现可合成动作的约束的示例性方法的流程图。
图11是示出通过基于知识库适配器的事实收集的框图。
图12是用于在应用约束时使用事实的示例性方法的流程图。
图13是示出示例性活动模型的框图。
图14是用于通过可合成动作实现活动模型的示例性方法的流程图。
图15是示出通过特设动作合成而构建的示例性活动流的框图。
图16是用于通过可合成动作建立一特设活动流的示例性方法的流程图。
图17是示出基于活动模型添加到活动流的示例性特设动作的框图。
图18是基于活动模型将特设动作添加到活动流中的示例性方法的流程图。
图19是基于用户身份示出一示例性约束的框图。
图20是用于基于行动者约束呈现动作和目标选项的示例性方法的流程图。
图21是示出转移动作的示例性约束的框图。
图22是按照约束基于动作中行动者而呈现选项的示例性方法的流程图。
图23是示出示例性跟踪排列的框图。
图24是用于跟踪可合成动作的活动流状态的示例性方法的流程图。
图25是示出基于跟踪的工作流状态的示例性图形呈现的屏幕截图。
图26是用于图示地呈现活动流状态的示例性方法的流程图。
图27是示出电子邮件用户界面中一普及工作流用户界面的示例性实现的屏幕截图。
图28是示出用于接受任务的普及工作流用户界面的示例性实现的屏幕截图。
图29是用于通过普及工作流用户界面呈现和接受选择的示例性方法的流程图。
图30是示出字处理用户界面中用于许可或否定条目的一普及工作流用户界面的示例性实现的屏幕截图。
图31是示出对用于激活动作的参数指定的可发现性的示例性安排的屏幕截图。
图32是用于发现一动作的激活参数指定的示例性方法的流程图。
图33是示出用于支持可合成动作的模式的示例性模板的框图。
图34、35、36和37示出工作流技术的示例性执行。
图38示出带有超链接的任务的示例性通知。
图39是示出用于实现工作流系统的示例性体系结构的框图。
图40是示出用于显示工作流状态并接受对随后动作的选择的用户界面的示例性实现的屏幕截图。
图41是示出用于可合成动作的示例性模板的屏幕截图。
图42是示出用于可合成动作的示例性模板一部分的屏幕截图。
具体实施方式
                     示例1-示例性工作流系统
图1示出了用于通过可合成动作实现自动化工作流的示例性系统100。在该示例中,多个客户机程序122A-122N通过网络132(例如经网络连接)访问工作流服务140。实际上,客户机程序122A-122N可分别由人类行动者操作。人类行动者是在工作流服务140中执行的工作流处理的人类参与者,且可由身份信息(例如信息125)在系统中呈现。
工作流服务140可与用户界面和客户机程序122A-122N的其它细节无关地进行操作。因而,客户机程序122A-122N可取各种形式或者按需统一。由于服务140可由各种客户机(例如不同类型的客户机软件)访问,它们有时称为“客户机不可知的”。
工作流服务140可通过合成服务141执行工作流处理,该服务将可合成动作(例如动作142)组装到活动流中。可合成动作可根据标准界面发送和接收消息(例如消息143)。
消息的指示可由跟踪服务存储(例如在跟踪数据库162中)用于后来的检索,诸如跟踪活动流的状态。约束服务152可实现约束来添加大范围的约束以在工作流处理期间引导用户。约束服务可查阅事实存储器以按需应用约束。这样的事实存储器可包含机构的大范围信息,并可包括新的事实类型。
实际上,系统100可具有任意数量的客户机程序,在多个网络上执行,并支持各种各样的并发执行动作和活动流。
               示例2-用于处理工作流的示例性方法
图2示出用于在诸如图1的自动化工作流系统中处理工作流的示例性方法200。该方法200可由软件执行。
在212,可合成动作按照约束被合成到活动流中。例如,约束服务可基于一事实存储而指示可能的动作和目标行动者。在222,由工作流服务执行动作。执行可取各种各样的形式并包括各种各样的处理,包括从人类行动者处接收信息或指示。在执行期间,可分配任务并收集有关各任务的信息。
在232,跟踪活动流的进展。例如,可记录发送给和来自可合成动作的消息用于后来的检查。也可跟踪有关与该活动流相关联的任务的信息。
实际上,工作流系统可提供各种各样的其它功能,包括建立指定一个用于在工作流服务中执行的动作集的活动模型的能力。
                       示例3-示例性动作
在任一在此所述的示例中,可合成动作可取如图3所示的示例性可合成动作300的形式。动作300可从可合成动作定义中例示,该可合成动作定义通常包括动作的动作特定工作流处理(例如商业逻辑)308的定义。
动作可通过一组通信接口312、322、332、342、352、362来发送和接收消息以支持各种各样的可合成性情形。例如,当由用户引导或在工作流中适当位置时,工作流服务可例示该动作并向其发送一激活消息。图3所示的排列可用作动作的模式从而可在自动化工作流服务上支持可合成性。
接口312、322、332、342、352、362可取标准接口的形式。例如,接口312、322、332、342、352、362可接受在工作流系统中使用的遵从XML模式(例如XSD规范)的消息。这样,开发者可开发新的动作;如果动作遵从XML模式,它们可与工作流服务中的其它动作合成并获益于工作流服务特征。可对接口312、322、332、342、352、362的每一个使用不同的模式。例如,与任务接口322相关的模式可包括如何指定与该任务相关联的行动者。
消息(例如消息362)可由动作因各种原因而封装的逻辑所接收,包括要激活动作、中断动作、完成动作、或使动作与其它可合成动作同步(例如解开)。类似地,消息可由动作因各种原因而封装的逻辑所发送,包括指示已激活动作、已完成动作、或要分配(例如给动作者)的任务。
各接口的可替换的排列是可能的,诸如较少、较多、或不同的接口。然而,如果需要一致性,则可全部实用某些相同的接口(例如用于接收激活和中断消息的接口)。由于各接口便于可合成动作的彼此连接,工作流服务和客户机系统有时被称为“插针”(pin)。具有插针的动作定义可被安装在工作流服务中由工作流参与者使用。有关被安装动作的可访问性约束可由管理员指定。然后工作流系统可将该动作呈现为仅对适当行动者的选项。
                 示例4-通过接口处理消息的示例性方法
图4示出了以可合成动作处理消息的示例性方法,诸如图3所示可合成动作300。在412,通过由动作封装的逻辑由动作经标准接口之一接收消息。在422,处理该消息。在432通过由动作封装的逻辑由动作从标准接口之一发送消息。
实际上,发送和接收消息可以复杂得多,包括消息之间的同步以及由动作进行的各种处理。然而,可向开发者提供一模板,通过它动作的所需商业逻辑可被简便地结合到该模板中以便于开发者不熟悉工作流服务的详细工作方式也能创建动作。
                         示例5-示例性活动流
一个或多个可合成动作的可执行集可取活动流的形式。工作流服务可协调激活、例示、以及动作之间的执行流。在执行期间,动作可向工作流服务收发消息,并在各工作流服务之间收发消息。此外,动作可从客户机程序收发消息(例如通过工作流服务)。
                         示例6-示例性消息
各种各样的消息可由工作流服务支持。然而,通过选择可能的消息集,可获取动作、工作流服务、以及工作流服务的客户机之间通信的标准模式。表格1示出工作流系统的一示例性消息集。
  消息类型名称   描述
  激活   发送给动作以激活它。
  激活响应   由动作发送以指示它被例示并激活。该消息被回送到动作本身以初始化用以使该动作接收的其它消息互相关联的值。
  同步   可由动作发送或接收。用于动作-对-动作的通信。可使能动作之间的相关合成。例如,在接收时可用以除去动作中处理的障碍。
  任务   由动作发送给行动者并可表示向行动者分配任务。
  响应   由行动者(例如通过客户机软件)发送给动作并可指示对任务消息(例如所接受的任务和结果)的响应。
  结束   由动作在其执行结束之时发送。还可接收以指示要结束的动作(例如在同步情景中相关动作的结束)。
  中断   发送给动作(例如通过行动者)以中断执行。该动作可实现回转功能作为响应。
每个协议消息可遵从XSD模式。因而,可用XML发送消息。
                    示例7-示例性同步情景
在某些情形中,需要动作彼此同步执行。例如,第一动作可执行而第二动作等待第一动作指示继续第二动作是恰当的。可使用这样一种方法来实现活动流中的超时设定。
图5示出通过消息进行的示例性动作-对-动作通信。这样的排列500可用作相关动作的可合成性和同步功能。
在该示例中,由于行动者A的活动,活动流的执行已到达将任务分配给行动者B的动作512。然后行动者B激活动作514和516,使动作516依赖于动作514。例如,动作514可以是“委派”动作,而动作516可以是“升级”动作。行动者B可选择行动者C作为委派的目标,也可指定如果C未在某时间限制内响应则向C的管理人员发送升级。动作516可在这样的情形框中直到动作514超时并发送同步消息572。
同步消息572在接口562和564之间发送。在接收同步消息572之后,动作516变得不受障碍并执行其功能而向C的管理人员发送一消息。然后C的管理人员可将流延伸到下一动作518。
图6示出由于通过动作-对-动作通信完成同步的示例性方法600。在612,阻挡动作的执行。在622被阻动作接收一同步消息。在632,被阻动作恢复执行。
排列500或600对于沿平行执行路径协调执行是有用的,并可被用以实现超时条件(诸如当行动者被分配一任务时),但如果行动者未在超时时段内响应则任务升级。在其它各种各样通信情形的任一情形中,可使用同步消息(例如监视另一动作的进程)。
                           示例8-示例性任务
在工作流处理中,常需要对人类参与者分配工作。这样的分配可通过向行动者分配任务来完成。任务功能一般可由工作流服务实现以由工作流服务客户机支持各种各样的实现。有关任务的细节可由客户机软件处理。例如,工作流服务可跟踪有一分配给特定行动者的任务,但如何完成该任务无需由工作流服务理解或实现。
例如,客户机软件可向人类行动者呈现任务,行动者作出响应并采取其它步骤来完成该任务。在许多实例中,在完成该任务中涉及人-对-人的交互,因此实现工作流服务中的任务一般使工作流服务能够在更广泛的情形中有用。
图7示出通过它工作流服务712可支持任务的示例性排列700。在该示例中,动作714可通过标准接口722发送任务消息724。任务消息724可被导向客户机软件732,732包括任务获取功能、任务完成功能、或两者734。
工作流服务724可拦截消息724用于跟踪目的,并将该消息的指示724存储在数据库732中。例如,表格734可指示所分配的任务和相关联行动者。实际上,可存储附加信息(例如何时分配该任务,任务结果等)。该信息可取由动作收发的消息的形式,或可由其表示。
图8示出了用于处理任务的示例性方法800。在812,任务消息被发送给任务支持软件。在822,任务的结果由工作流服务从任务支持软件接收。
在832,更新工作流服务的跟踪系统。这样,可回答有关工作流进程(例如任务的进程)的查询,并向用户呈现谁想要监视工作流进程。
                    示例9-动作的示例性可合成性
在此所述的任一示例中,可合成(例如接合在一起)各动作以形成活动流。由于工作流服务的设计,可在活动流的执行时间(例如运行时间)合成各动作。在与一活动流有关的工作流处理进行时,可向活动流添加其它动作。因而,系统可支持以先验方式(例如在活动模型的设计期间)、特设方式(例如在活动模型的执行期间)、或其某些组合(在特设基础上将动作添加到以先验方式创建的活动流中)。
开发者可设计新的动作,只要它们符合工作流服务所支持的模式就可被安装到系统中。
                         示例10-示例性约束
在此所述的任一示例中,工作流服务可通过约束服务容纳各约束。一般约束可被定义为支持各种各样的形式。例如,约束可估算当前情形的各个方面,并将其与指示哪个动作或目标可用于当前情形的存储相比较。可向客户机软件提供可用动作和目标,该客户机软件可由参与行动者考虑在活动流的执行或构建期间呈现它们。
除了在执行任一动作之前应用,约束还可在相关联活动流的执行时间应用。尽管约束可用以限制行动者接下去做什么,它们还可具有在工作流执行期间可用动作上的引导行动者的必然效果。这样,系统可避免用许多无意义的选项来控制用户,且可呈现简单但有效的用户界面。
一示例性约束限制哪些行动者可执行哪些动作,或基于特定的活动模型起动活动流。例如,对特定动作或活动模型的访问可被限制于特定角色、小组或行动者。约束服务一般可参照事实施加约束。
类似地,成为目标的行动者(例如可向其分配任务的)可受到类似的限制。例如,行动者仅被允许将一会计任务分配给会计部门的人们等。
各种各样的事实可被包括以由约束服务考虑。例如,机构可存储信息,指示行动者名字、相关联部门、行动者是否是管理人员、行动者的直接报告等。这样的事实可从各个源中提取,如在此其它地方所述。约束可被定义为通过知识库可得到的任一事实。
另外,工作流服务可支持相关约束。例如,任务仅对升级行动者的管理人员是可升级的。或者,行动者仅被允许将任务分配给她部门内的目标行动者。因而,可考虑行动者和目标之间的关系。
此外,约束可以否定方式定义。例如,不指定可开始活动流的行动者,而可指定不开始活动流的行动者。
还有,工作流动作可支持用于转移动作的约束。例如,在任务已被分配给会计部门某人的情形中,约束可指定允许哪些行动者在该任务上动作(例如升级)并限制转移目标(例如要分配给任务的新人)。约束也可考虑执行行动者(已将任务分配给他的目标行动者)。可相对地指定转移动作的约束(例如源行动者和执行行动者之间的关系)。
其它约束可基于文档类型。例如,如果任务具有特定文档类型(例如提议),则约束可控制哪些动作和什么目标可用。在一活动模型中,确定要执行的下一动作可被实现为约束的形式。
还有其它约束可基于活动流进程状态(例如,其中活动流已在活动模型内进行)。例如,如果活动模型与一文档相关联,且该活动模型并未被例示(例如进程状态是“未起动”),约束可影响可得到的动作。当活动的活动流已起动时(例如进程状态是“已起动”),不同的约束可呈现不同的动作。类似地,当活动流已结束(例如进程状态是“已结束”)时,约束可这样反映(例如,以不将结束活动流呈现为一选项)。可支持其它状态(例如结束特定动作等)。
图9示出涉及用于决定下一可得到动作的约束的示例性排列900。在该示例中,工作流服务正在确定动作912的可能的下一动作。在该示例中,动作922A-922N的任一个是可能的。取决于围绕该情形的各个情况(例如选择下一动作的行动者的身份、组合或角色等),下一动作集922A-922N受限于由工作流服务存储的约束所指示的动作子集。确定下一动作可由将约束应用于当前情况的约束引擎来执行。
图10示出用于实现活动流中约束的示例性方法1000。在1012,例示用于活动流的动作。然后开始执行。在活动流的执行时间,可用于合成为下一动作的各动作在1022基于事实而受限。
以一般方法采用约束启用了各种各样的机制,通过它们工作流参与者可在工作流执行期间受到引导。通常约束通过管理员进行管理,但参与行动者可致力于各约束(例如当组合成活动流时)。
               示例11-用于约束的事实的示例性获取
图11示出一示例性排列1100,其中工作流服务为了应用约束1132而与一个或多个知识库1162A-1162N交互。在该示例中,一个或多个相应适配器1122A-1122N被用以与知识库1162A-1162N通过接口相连以获取事实。
各事实在知识库(例如知识库1162A)中的可用性可通过在工作流服务中安装相应的知识库适配器(例如适配器1122A)来完成。适配器1122A包括一映射,通过它可检索知识库1162A中的信息用于由工作流服务1112使用。例如,在应用约束1132时,工作流服务1112可能想要咨询有关行动者、其位置、安全级别等的事实。这样,对工作流服务1112可用的事实可来自各种各样的源。
图12示出在应用约束时用于使用各事实的示例性方法1200。在1212,在约束处理期间接收对事实的请求。例如,可请求行动者的安全级别或部门。在1222,检索事实。然后在1232,检索到的事实被用于应用约束。
实际上,可在周期性基础上或一次性基础上检索各事实(例如从一个或多个知识库),并存储于工作流服务控制下的从中可完成请求的中央事实存储装置中。
此外,事实可包括活动流的现有进程状态、与一活动流相关联的文档类型、或其中的某些组合。
           实例12-用于构建活动模型的示例性可合成性
在所述任一示例中,一个或多个动作可被合成到可例示用以创建活动流的动作和相关联约束的集合中。这样的动作集有时被称为“活动模型”。
执行活动模型有时被称为执行先验活动流,因为动作已由活动模型设计者选定。如果需要,活动模型设计者可将活动模型定义为不可变的,从而在相关联活动流的执行期间不可作改变。
图13示出示例性活动模型1300。在该示例中,对动作定义1322、1324、1326、1328和1330的各个引用已被组装成一可调用单元,该单元可被选择用于由用户执行(例如当受约束允许时)。为了方便用户,可给予活动模型1300一友好名字,通过该名字可选择这个模型。
图14示出通过可合成动作用于实现活动模型的示例性方法1400。在1412,接收(例如来自人类行动者的)运行活动模型的请求(例如通过工作流服务的客户机软件)。在1422,活动流的可合成动作基于活动模型定义而例示。在1432,动作基于活动流定义被合成为一活动流。例如,动作的顺序可由活动模型定义,从而在完成动作之后执行活动流中的下一动作。
             示例13-特设选择动作的示例性可合成性
在所述任一示例中,一个或多个动作可由人类行动者合成为一动作集以在特设基础上形成活动流。例如,人类行动者可选择一用于例示的动作。如果需要,可由人类行动者(例如通过电子形式)向被例示动作提供适于特定环境的各个参数。
图15示出一示例性活动流1500,其中活动集1522和1552已在特设基础上合成。在该示例中,用户已选定例示查看动作1522,该动作导致产生对目标行动者的任务。在该示例中,任务以用户界面1532的形式向目标行动者展示自己,指示目标行动者查看一项(例如附加文档)。目标行动者可选择认可(Approve)(1534)或拒绝(Reject)(1536)该项。可提供注解(Notes)1538。实际上,可提供更综合的或其它用户界面。
然而,在该示例中,目标行动者并未在所需时间查看该项。相应地,行动者(例如选择例示查看动作1522的同一行动者或另一行动者)已选择在活动流的执行时间(例如在活动流已完成之前)添加一升级动作1552。相应地,新动作1552被例示并被置入活动流1500中。结果,任务被重新分配给另一目标用户。如果需要,可向查看动作1522发送中断消息,该动作可采取适当步骤(例如取消第一目标行动者的任务)。
作为新任务的结果,新的用户界面1562向目标行动者显示。再一次,该用户界面可包括元素1564、1566和1568。
所示动作仅是示例性的。实际上,按照约束可提供各种各样的特设动作。
图16示出用于实现特设活动流的示例性方法1600。在1612,接收在活动流执行时间将动作添加到活动流的请求。在1622,动作在活动流的执行时间被合成为一活动流。
        示例14-将特设动作添加到活动模型的示例性可合成性
除了支持用于执行先验活动流和活动流的特设合成的活动模型之外,工作流服务可支持基于特设基础上的活动模型将活动添加到活动流中。
图17示出基于活动模型在特设基础上将动作添加其中的示例性活动流700。在该示例中,活动流是活动模型的一个实例,且包括动作1722、1724、1726、1728和1730。基于动作1788的添加,可改变执行流。尽管未示出行动者,可将动作导向行动者(例如分配任务)。
图18示出用于在特设基础上基于活动模型将动作添加到活动流的示例性方法1800。在1812,确定可得到的特设动作(例如基于约束)。例如,然后可将可得到的动作发送给客户机软件用于向人类行动者呈现以便选择。
在1822,接收所需特设动作的指示。例如,客户机软件可指示用户已选择的选项。
在1832,特设动作被合成为该活动流。工作流服务的跟踪服务可被更新以指示已添加的新动作和添加其的行动者。
                  示例15-任务的示例性特设动作
一个特定的任务专用的特设动作集可被作成以对任务可用。这样的特设动作在包括任务的任何时候可显示用于由行动者选择(即使它们并未显现在相关联的活动模型中)。这样的特设动作可基于约束来有选择地呈现。
任务的示例性特设动作包括升级、委托等等。例如,当呈现任务时,可向行动者呈现升级或委托任务的选项。这样的选项是否可用以及可能的目标都由各约束来控制。这样的选项也可呈现在活动流进程的特性表示中。这样,监视进程的行动者可按升级或委托来简便地继续执行。
指定这样的有关任务的特设动作的能力可使工作流服务更为有用,因为工作流处理更有能力响应于未曾料到的情况。
               示例16-基于用户身份的示例性约束
图19示出工作流服务1912基于行动者身份支持约束的示例性排列1900。在该示例中,人类行动者由工作流服务1912中的行动者1922表示。
已定义约束1914将确定行动者1922(即源行动者)是否可选择动作1931用于例示以及可选择哪个目标1934。该确定可基于行动者1922的身份。这种身份考虑可包括行动者的用户名、行动者是其成员的组合、以及行动者1922是其成员的角色。此外,关系约束可指定行动者1922与另一行动者具有一关系。
此外,约束1914将确定可对动作1931指定哪个目标行动者1934。目标行动者1934可以是单个行动者、组合或某些其它名称。各种约束可使该动作(例如通过与动作定义相关联的动作id)与所允许的例示行动者和目标行动者相关联(例如对于特定例示行动者)。
实际上,可实现约束从而与行动者1922相关联的人类行动者仅看到如约束1914所示的适当选项。这样,人类行动者不会淹没在太多的选择之中并在工作流处理中受到引导。
图20示出用于基于行动者约束呈现动作和目标选项的示例性方法2000。在2012,可能的动作基于行动者身份呈现。在2033,可能的目标行动者基于行动者身份呈现。实际上,工作流服务可通过呈现用于由可接收选择(例如从选择列表、单选按钮、组合框等)的客户机软件呈现的选项来控制这样的呈现。
                     示例17-示例性转移动作
工作流还可支持对转移动作的约束。转移动作包括可应用于其它动作的通常已具有相关联目标行动者的那些动作。转移动作的示例包括委派和升级。
图21示出一示例性排列2100,其中工作流系统2112将约束应用于转移动作。在该示例中,动作2131已被应用于目标行动者2134或“行动中”行动者。行动者2122(即源行动者)正在把转移动作2144应用于动作2131。
转移动作2144是否将显现为行动者2122的选项将取决于约束2114。这样的确定可基于行动者2122的身份、转移动作2144的类型、动作2131的类型、行动中行动者2134或其中的某些组合。最后,可通过约束2114来控制允许目标2148(例如基于同样的考虑或像选项是否将显现的其它考虑组合)。
图22示出用来基于行动中用户而呈现可能动作和可能目标的示例性方法。在2212,至少基于行动中行动者呈现可能动作。在2233,至少基于行动中行动者呈现可能目标。
可在任意情形中使用相关约束。例如,行动者可受限于仅在该行动者管理的那些行动者上执行特定的转移动作等等。
                      示例18-示例性跟踪
图23示出工作流服务2312支持跟踪的示例性排列2300。在该示例中,工作流服务2312支持一个或多个活动流2322A-2322N的执行。有关执行流的信息可被存储于跟踪数据块2332用于后来的检索。例如,来自和送往动作的消息指示可通过使用定制拦截器来存储以拦截并存储指示消息的信息。此外,其它信息可被存储用于构建指示工作流处理进程的状态报告。
图24示出用于跟踪可合成动作的活动流的跟踪状态的示例性方法2400。在2412,拦截来自和送往可合成动作的消息。在2422,将该信息指示存储于跟踪数据库中。
               示例19-工作流状态的示例性描绘
图25示出呈现基于跟踪(例如采集消息)的工作流状态的图形表示的示例性用户界面2500。在该示例中,各个框2521、2522、2523、2524、2525和2526表示参与工作流处理(例如活动流)的已分配或被分配任务的行动者。此外,用户界面2500可呈现行动者之间的通信。例如,箭头可包括Julian已认可一文档的指示2534。这样的指示可以是文本、图标等。另一箭头包括任务已被升级的指示2532。
图26示出用于呈现活动流状态的示例性方法2600。在2612,查询跟踪库。在2622,基于查询结果可视化地示出活动流。
实际上,可呈现各种各样的用户界面。此外,用户界面可呈现更多对人类行动者的选项,从而他们可在监视时参与工作流。例如,可呈现升级或中断选项的选项。
                示例20-示例性实现为Web服务
在所述任一示例中,工作流服务可作为Web服务呈现给客户机。例如,用户界面可以由客户机提供的HTML窗体来提供。
                 示例21-示例性普及界面技术
在所述任一示例中,工作流服务可通过一普及用户界面而被利用。例如,工作流服务的用户界面可被组合到通用软件程序中,诸如电子邮件程序或字处理程序。这样,通用熟悉的条件可被用作工作流服务的客户机。可通过发送XML消息(例如根据SOAP协议)来完成通信,而用户界面可通过HTML示出。
图27示出其中工作流服务呈现为电子邮件程序的用户界面一部分的示例用户界面2700。在该示例中,电子邮件程序包括熟悉的文件夹列表2712和收件箱2722。作为收件箱的一部分,任务显现。当被选中时,电子邮件的预览显现于预览窗格2762。
该用户界面表示目标行动者的任务(例如用户预览电子邮件)是要预览预算文档。该用户界面元素2764、2766和2768可被用于传送回工作流服务。例如,在激活按钮2764之后,已向目标行动者起动任务的消息被发送回动作。然后由相关联活动流采取适当步骤。
与窗格2762相反,可示出图28的窗格2800。在该示例中,除了子窗格2862的标准任务选项(例如用户界面元素2864、2866和2868),用于特设动作的选项显现于子窗格2872中(例如用户界面元素2876)。
图29示出用于通过普及工作流用户界面呈现和接受选择的示例性方法2900。在2912,工作流相关的用户界面被呈现于普及应用程序中。在2922,用户(即人类行动者)选择可通过用户界面接收。
图30示出其中用于访问工作流服务的用户界面元素被呈现为结合到文档编辑(例如字处理或电子制表)程序的用户界面3000。在该示例中,文档呈现于文档窗格3062中。在文档窗格3062旁边呈现工作流选项3072。在该示例中,行动者可选择动作和目标行动者的特设选项显现。动作的起动可通过用户界面元素3076完成。实际上,可呈现其它或不同的选项(例如用于认可正在编辑的文档)。
                   示例22-示例性可发现性
图31示出可获取用于激活动作3136的激活参数的指定的示例性排列3100。在该示例中,客户机软件3134(例如动作、工作流服务或某些其它软件)将一个查询发送给动作3136,该动作响应于用来激活动作的参数的指定(例如由动作3136开发者指定的参数列表)。实际上,由于动作3136尚未例示,查询(例如指定动作类型)可由工作流服务发动,该工作流服务可逐个查阅动作类型和参数列表以确定激活参数指定。
可以可收集参数的HTML窗体或转换成这种窗体来提供指定。例如,查看动作可指定要提供的目标从而产生适当的HTML窗体由行动者来完成。可使用约束来填写适当的目标行动者。
图32示出用于发现动作的激活参数指定的示例性方法3200。在3212,接收对激活参数指定的查询。在3222,响应于查询提供该指定。
可使用类似方法用于活动模型参数指定的可发现性。可发现性可在动作或活动流的执行时间执行。
                    示例23-示例性动作模板
为便于开发动作,可向开发者提供模板。图33示出包括模板动作定义3314的示例性排列3300。可用随后产生动作的适当可执行代码的可视化编程语言来编辑模板。
在该示例中,动作的接口可由引脚3322、324、3326和3328表示。模板容许激活消息通过激活接口3322接收。由该动作封装的激活逻辑3332接收激活消息,并将激活响应消息返回到其本身,以便初始化与由动作模板接收的其它消息相关联的值。
模板3314还容许依赖合成(例如同步情形)。例如,同步逻辑3342和收听逻辑3344可并行地执行。如果动作已用依赖方式(例如其进一步执行依赖于接收来自另一动作的消息)合成,则同步逻辑3342可阻挡执行直到从同步接口3324接收消息。
并行地,收听逻辑3344可收听中断或完成消息。如果接收来自中断接口3326的中断消息,则可执行中断逻辑(例如返回状态)。
如果未受阻或开通,则可执行动作特定处理(例如商业逻辑)3352。最后,可执行完成逻辑3362,并且一完成消息被送往完成接口3328。该消息由动作在收听逻辑3344中接收并导致并行分支也完成。
实际上,可包括附加或其它逻辑。在完成开发之后,可将动作定义安装到工作流服务和被定义为与该动作相关联的适当约束中。
                示例24-工作流技术的示例性执行
图34、35、36和37示出了工作流技术的示例性执行。在该示例中,客户向涉及协调对RFP响应的专家组的帐户管理人发送对提议(RFP)的请求。
图34示出所涉及的行动者。客户3410向帐户管理人3420发送RFP文档(例如通过电子邮件)例如,文档可以是字处理文档。帐户管理人可向专家3430A-3430D发送任务以完成响应RFP所需的处理。
图35-37示出示例性屏幕截图。图35示出其中帐户管理人已接收来自客户的电子邮件3520的示例性电子邮件程序3510。包括在该电子邮件中的是电子邮件附件3530形式的RFP文档。在该示例中,帐户管理人可通过将电子邮件3520转发给电子邮件别名来基于活动模型开始一活动流(例如“RFP许可”)。该电子邮件可基于电子邮件处理规则来进行处理以基于活动模型开始活动流,该活动模型产生专家3430A-3430D的适当任务并可包括附件3350(或其链接)作为任务的一部分。
图36示出当打开与任务相关联的文档时呈现给专家3430A-3430D之一的示例性用户界面。该用户界面可以是一熟悉的呈现文档3620(例如基于附件3530)的文档编辑(例如字处理)程序3610。
该用户界面还可包括允许专家3430A-3430D之一升级任务或将任务委托给另一行动者的窗格3630。在该示例中,查看行动者将任务委托给行动者“Kerri”并激活用户界面元素3635。
由于工作流技术的跟踪特征,示图3700可示出上述工作流的状态。客户Peter3721通过发送电子邮件起动工作流。例如,替代手动转发电子邮件,行动者Jenny 3722可在其电子邮件收件箱中设置一规则以基于检测消息主体中的“新RFP”来自动起动活动模型。专家3723-3725已接收RFP用于查看。Julian 3723已许可RFP,而Michael 3725已将其任务委托给Kerry 3726,如指示符3732所示。
                  示例25-任务的示例性通知
图38示出了当任务被分配给接收行动者时所发送(例如通过电子邮件)的示例性通知3800的屏幕截图。该通知可给出有关如何响应于任务的指令。该通知可包括与文档的超链接和与任务的超链接。
                  示例26-消息类型的示例性模式
各种消息类型的示例性模式如下所示。消息类型可包括激活、激活响应、同步、任务、完成、以及中断。尽管某些示例指出为了遵从模式不应更改该模式,但可选实现了使用不同的模式集来完成相似功能。例如,尽管GUID在示例中被指定,也可使用其它标识符(例如另一唯一标识符)。在各示例中,该工作流系统有时被称为人类工作流(“HWS”)。
                 示例27-激活消息类型的示例性模式
Hws_Activate消息是在激活期间用以向动作提供参数的示例性激活消息。一动作最多具有与其相关联的一个激活消息。在该示例中,Hws_Activate消息有三个HwsMessage节点下的子元素。它们是HwsSection、ActionSection和Payload(有效载荷),解释如下:
HwsSection:HwsSection持有被保留由Hws系统使用的XML元素和属性的定义。不应更改在本部分中定义的元素或属性。表格2示出在HwsSection节点下定义的元素/属性的示例性列表。
                   表格2-HwsSection节点下的示例性元素/属性
 节点名字   节点类型   数据类型   最少/最多出现次数   说明
 HwsMessageType   属性   字符串   1/1   该属性将消息模式标识为类型Hws_Activate。该属性的缺省值是“Hws_Activate”。
 ActivityFlowID   元素   字符串   1/1   该元素的值是GUID字符串,且它标识所例示动作将是其一部分的活动流。
 ActivityFlowDescription   元素   字符串   1/1   该元素的值应携有所例示动作将是其一部分的活动流的描述。
 InitiatingActor   元素   字符串   1/1   该元素的值是起动该动作的行动者的id。
 ActionTypeID   元素   字符串   1/1   该元素的值是标识所例示动作的GUID字符串。
 ActionInstanceID   元素   字符串   1/1   该元素的值是唯一标识所激活动作实例的GUID字符串。
 ActionInstanceDeseription   元素   字符串   1/1   该元素的值应携有对所激活动作实例的描述。
 ParentActionInstanceID   元素   字符串   1/1   该元素的值是标识活动流中在该动作之前的动作实例的GUID字符串。
 ParentTaskID   元素   字符串   1/1   该元素的值是从活动流中前一动作中标识任务的GUID字符串。这是引导或要求起始行动者激活当前动作的任务消息的id。
 ActivityModelTypeID   元素   字符串   1/1   该元素的值是标识所例示动作是其一部分的活动模型的GUID字符串。
 ActivityModelInstanceID   元素   字符串   1/1   该元素的值是标识所例示动作是其一部分的活动模型实例的GUID字符串。
 ActivityModelStepID   元素   整数   1/1   该元素的值是标识与该动作相关联的活动模型步骤的整数。活动模型中的每一步与一个动作相
  关联。
  IsIndepentOnParent   元素   布尔值   1/1   该标记确定所例示动作是否应等待来自父动作实例的同步消息。如果为真,当前动作在继续前等待来自父动作的同步消息。如果为假,则当前动作不等待该同步消息。
  ActivityFlowProperties   记录   1/1   该节点组属性对应于活动流并需要跟踪从而可将它们用于活动流中的其它动作。
  ActivityFlowPropertiesProperty   记录   字符串   0/未限定   该属性是可选的。此类节点携有在活动流层次上需要跟踪的属性的值。
  ActivityFlowPropertiesPropertyName   属性   字符串   1/1   在活动流层次上跟踪的属性的名字。
  ActivityFlowPropertiesPropertyDescription   属性   字符串   1/1   在活动流层次上跟踪的属性的描述。
  ActivityFlowPropertiesPropertyType   属性   字符串   1/1   在活动流层次上跟踪的属性的数据类型。
  AetivityProperties   记录   1/1   该节点组属性对应于活动实例并需要跟踪。
  ActivityPropertiesProperty   记录   0/未限定   该属性是可任选的。此类节点携有在动作实例层次上需要跟踪的属性的值。
  ActivityPropertiesPropertyName   属性   字符串   1/1   在动作实例层次上跟踪的属性的名字。
  ActivityPropertiesPropertyDescription   属性   字符串   1/1   在动作实例层次上跟踪的属性的描述。
  ActivityPropertiesPropertyType   属性   字符串   1/1   在动作实例层次上跟踪的属性的数据类型。
  HwsWebserviceUrl   元素   字符串   1/1   人类工作流Web服务的Url。
这些属性缺省地创建用于在动作模板中引用和使用。
ActionSection:ActionSection可由动作开发者定制并可包含任何动作特定参数和值以在例示期间被传递到动作中。本部分可包含对应于动作的人类目标的元素。ActionSection中元素/属性的值不由Hws拦截器跟踪。如果需要应跟踪的属性,则在预定义的HwsSection\ActionProperties集合下的实例文档中指定它们。
有效载荷:模式中的有效载荷节点是应用程序用以指定需要包括在由动作发出的其它消息中的其它信息的占位符。
ο注解:激活消息模式携有由Hws系统使用的注解。有在模式根节点层次上定义的某些属性,还有在元素节点层次上定义的某些属性。
·模式节点属性:以下属性在模式节点层次上定义。
·描述:该属性中的值被用以描述激活消息与之相关联的动作。
·输入同步消息:该属性指定由与激活消息相关联的控制所接收的同步消息的目标名字空间。
·输出同步消息:该属性指定由与激活消息相关联的控制所发送的同步消息的目标名字空间。
·元素节点属性:对于在模式文档Hws的ActionSection元素下定义的元素节点定义以下属性:
·目标:这是一布尔值属性。该值“真”标识该元素节点是作为由与激活消息相关联的动作发送的一个或多个任务消息的接收者的人类目标。“假”的值或如果值未指定,指明该节点不是人类目标。
每个激活消息模式可具有在使用模式集中唯一地标识它的目标名字空间。
              示例28-激活响应消息类型的示例性模式
Hws_ActivateResponse消息是由动作模板内部使用以初始化用于接收模板中其它消息的相关联变量集的示例性激活响应消息。
Hws_ActivateResponse消息仅有一个HwsMessage节点下的子元素。它是HwsSection,解释如下:
HwsSection:HwsSection持有被保留由Hws系统使用的XML元素和属性的定义。不应更改在本部分中定义的元素或属性。表格3示出在HwsSection节点下定义的元素/属性的示例性列表。
            表格3-HwsSection节点下的示例性元素/属性
  节点名字   节点类型   数据类型   最少/最多出现次数   说明
  HwsMessageType   属性   字符串   1/1   该属性将消息模式标识为类型Hws_ActivateResponse。该属性的缺省值是“Hws_ActivateResponse”。
  ActivityFlowID   元素   字符串   1/1   该元素的值是GUID字符串,且它标识动作是其一部分的活动流。
  ActionInstanceID   元素   字符串   1/1   该元素的值是唯一标识所激活动作实例的GUID字符串。
  ParentActionInstanceID   元素   字符串   1/1   该元素的值是标识活动流中在该动作之前的动作实例的GUID字符串。
  ActionModelInstanceID   元素   字符串   1/1   该元素的值是标识所例示动作是其一部分的活动模型实例的GUID字符串。
这些属性缺省地创建用于初始化由动作模板使用的相关集。
ο注解:激活消息模式携有由Hws系统使用的注解。该注解的值不可用于编辑。
该模式的TargetNamespace通过URL(例如http://[base]/Hws_ActivateResponse)定义。该模式可被编译成汇编(例如DLL)并由动作模板引用。该消息在动作中构建并在直接相邻的端口上收发。
                  示例29-同步消息类型的示例性模式
Hws_Synchronize消息是从一个动作发送到另一动作以开启接收动作的执行的示例性同步消息。该接收动作实例应已用其激活消息集中的IsDependentOnParent属性激活为真,以能够等待同步消息。
在该示例中,Hws_Synchronize消息有三个在HwsMessage节点下的子元素。它们是HwsSection、ActionSection和Payload(有效载荷),解释如下:
HwsSection:HwsSection持有被保留由Hws系统使用的XML元素和属性的定义。不应更改在本节中定义的元素或属性。表格4示出在HwsSection节点下定义的元素/属性的示例性列表。
                      表格4-HwsSection节点下的示例性元素/属性
  节点名字   节点类型   数据类型   最少/最多出现次数   说明
  HwsMessageType   属性   字符串   1/1   该属性将消息模式标识为具有类型Hws_Synchronize。该属性的缺省值是“Hws_Synchronize”。
  ActivityFlowID   元素   字符串   1/1   该元素的值是GUID字符串,且它标识发送同步消息的动作是其一部分的活动流。
  ActionInstanceID   元素   字符串   1/1   该元素的值是唯一标识发送同步消息的动作实例的GUID字符串。
  ActivityModelInstanceID   元素   字符串   1/1   该元素的值是标识发送同步消息的动作是其一部分的活动模型实例的GUID字符串。
  HwsWebServiceUrl   元素   字符串   1/1   人类工作流Web服务的Url。
这些属性缺省地创建用于在动作模板中引用和使用。
ActionSection:ActionSection可由动作开发者定制并可包含任何动作特定参数和值以被传递到接收动作中。
有效载荷:模式中的有效载荷节点是应用程序用以指定需要包括在由动作发出的其它消息中的其它信息的占位符。
ο注解:同步消息模式具有用于消息描述的注解。该属性在模式根节点层次上定义。
·模式节点属性:以下属性在模式节点层次上定义。
·描述:该属性中的值被用以描述同步消息。
每个同步消息模式都应具有在使用模式集中唯一标识它的TargetNamespace(目标名字空间)。如果同步消息的目标名字空间改变,或者如果新的同步消息模式被添加到动作中,则(发送同步消息或接收它的动作的)激活消息上的输入同步消息和输出同步消息属性也需要更新。同步消息可在直接相邻的端口上收发。
                示例30-任务消息类型的示例性模式
Hws_Task消息是用于发送给动作参与目标的消息的示例性模式。一动作可发送一类或多类任务消息。它也可发送给定任务消息类型的一个或多个实例。Hws_Task消息也可用于将响应发送回动作。
Hws_Task消息有三个在HwsMessage节点下的子元素。它们是HwsSection、ActionSection和Payload(有效载荷),解释如下:
HwsSection:HwsSection持有被保留由Hws系统使用的XML元素和属性的定义。不应更改在本部分中定义的元素或属性。表格5示出在HwsSection节点下定义的元素/属性的示例性列表。
                   表格5-HwsSection节点下的示例性元素/属性
 节点名字   节点类型   数据类型   最少/最多出现次数   说明
 HwsMessageType   属性   字符串   1/1   该属性将消息模式标识为具有类型Hws_Task。该属性的缺省值是“Hws_Task”。
 ActivityFlowID   元素   字符串   1/1   该元素的值是GUID字符串,且它标识收发任务消息的动作是其一部分的活动流。
 TaskID   元素   字符串   1/1   该元素的值是唯一标识由动作分配给行动者的每个任务的GUID字符串,同一TaskID值也应在行动者发送回行动作为响应的任务消息中。
 TaskDescription   元素   字符串   1/1   该元素的值应携有分配给行动者的任务或来自行动者的响应的描述。
 ActionTypeID   元素   字符串   1/1   该元素的值是标识收发任务消息的动作的GUID字符串。
 ActionInstanceID   元素   字符串   1/1   该元素的值是唯一标识收发任务消息的动作实例的GUID字符串。
 InitiatingActor   元素   字符串   1/1   该元素的值是激活收发任务消息的动作的行动者的id。
 ActorElementXPath   元素   字符串   1/1   这是任务消息所发往的目标行动者的XPath。该XPath是对应于来自动作激活消息的目标行动者的目标节点的实例XPath属性的值。
 TargetActor   元素   字符串   1/1   该元素的值是接收任务消息或发送其响应的行动者的id。
 ActivityModelTypeID   元素   字符串   1/1   该元素的值是标识所例示动作是其一部分的活动模型的GUID字符串。
 ActivityModelStepID   元素   整数   1/1   该元素的值是标识与该动作相关联的活动模型步骤的整数。活动模型中的每个步骤都是唯一的,并与一动作相关联。
 ActivityModelInstanceID   元素   字符串   1/1   该元素的值是标识收发任务消息的动作是其一部分的活动模型实例的GUID字符串。
 TaskProperties   记录   1/1   该节点组属性对应于任务并需要被跟踪。
 TaskPropertiesProperty   记录   0/未限定   该属性是可任选的。此类节点携有在任务消息层次上需要跟踪的属性的值。
  TaskPropertiesPropertyName   属性   字符串   1/1   在任务消息层次上跟踪的属性的名字。
  TaskPropertiesPropertyDescription   属性   字符串   1/1   在任务消息层次上跟踪的属性的描述。
  TaskPropertiesPropertyType   属性   字符串   1/1   在任务消息层次上跟踪的属性的数据类型。
  HwsWebServiceUrl   元素   字符串   1/1   人类工作流Web服务的Url。
这些属性缺省地创建用于在动作模板中引用和使用。
ActionSection:ActionSection可由动作开发者定制并可包含任何动作特定参数和值以在例示期间被传递到参与目标中。也可用于定义目标可在其响应中提供的任意参数。
有效载荷:模式中的有效载荷节点是应用程序用以指定需要包括在由动作发出的其它消息中的其它信息的占位符。
ο注解:任务消息模式携有由Hws系统使用的注解。这些属性在模式根节点层次上定义。
·模式节点属性:以下属性在模式节点层次上定义。
·描述:该属性中的值被用以描述任务消息模式。
·目标XPath:该属性指定该任务消息促成的激活消息中目标节点的XPath。
每个任务消息模式可具有在使用模式集中唯一地标识它的目标名字空间。
                  示例31-完成消息类型的示例性模式
Hws_Finish消息是由动作模板内部使用并在动作完成执行时发出的示例性完成消息。Hws_Finish消息仅有一个HwsMessage节点下的子元素。它是HwsSection,解释如下:
HwsSection:HwsSection持有被保留由Hws系统使用的XML元素和属性的定义。不应更改在本节中定义的元素或属性。表格6示出在HwsSection节点下定义的元素/属性的示例性列表。
                      表格6-HwsSection节点下的示例性元素/列表
  节点名字   节点类型   数据类型   最少/最多出现次数   说明
  HwsMessageType   属性   字符串   1/1   该属性将消息模式标识为类型Hws_Finish。该属性的缺省值是“Hws_Finish”。
  ActionInstanceID   元素   字符串   1/1   该元素的值是唯一标识激活并且现在发送完成消息的动作实例的GUID字符串。
这些属性缺省地创建用于初始化由动作模板使用的相关联集。
ο注解:该完成消息模式具有注解用于描述该消息。该注解的值不可用于编辑。
该模式的TargetNamespace通过URL(例如http://[base]/Hws_Finish)定义。该模式可被编译成汇编(例如DLL)并由动作模板引用。该消息在动作中构建并在直接相邻的端口上收发。
                  示例32-中断消息类型的示例性模式
Hws_Interrupt消息是用以中断动作的一个运行实例的示例性中断消息。中断消息可被发送给单个动作实例、整个活动流、或整个活动模型实例。有两类中断-中止和退回。
Hws_Interrupt消息仅有一个在HwsMessage节点下的子元素。它是HwsSection,解释如下:
HwsSection:HwsSection持有被保留由Hws系统使用的XML元素和属性的定义。不应更改在本节中定义的元素或属性。表格7示出在HwsSection节点下定义的元素/属性的示例性列表。
                     表格7-HwsSection节点下的示例性元素/属性
  节点名字   节点类型   数据类型   最少/最多出现次数   说明
  HwsMessageType   属性   字符串   1/1   该属性将消息模式标识为具有类型Hws_Interrupt。该属性的缺省值是“Hws_Interrupt”。
  InterruptLevel   记录   N/A   1/1   持有在选择组中定义的三个中断级元素之一。
  InterruptLevel/<Choice>   选择组   N/A   1/1   持有ActionInstanceID、ActivityFlowID或ActivityModlInstanceID之一的值的选择组。
  InterruptLevel/Choice/ActionInstanceID   元素   字符串   1/1   该元素的值是唯一标识被中断的动作实例的GUID字符串。
  InterruptLevel/Choice/ActivityFlowID   元素   字符串   I/1   该元素的值是GUID字符串,且它标识被中断的动作是其一部分的活动流。
  InterruptLevel/<Choice>/ActivityModelInstanceID   元素   字符串   1/1   该元素的值是标识被中断的动作是其一部分的活动模型实例的GUID字符串。
  RequestingActor   元素   字符串   1/1   该元素的值是请求中断的行动者的id。
  InterruptType   元素,受限   字符串   1/1   该元素的值受限于中止或退回。
  HwsWebServiceUrl   元素   字符串   1/1   人类工作流Web服务的Url。
这些属性缺省地创建用于在动作模板中引用和使用。
ο注解:中断消息模式具有用于描述该消息的注解。该注解的值不可用于编辑。
该模式的TargetNamespace可通过URL(例如http://[base]/Hws_Interrupt)定义。该模式可被编译成汇编(例如DLL)并由动作模板引用。该中断消息的实例在模板中通过ActionInterruptPort上被接收。活动流层次或活动模型实例层次上的中断消息被发送给当前在活动流或活动模型实例中活动的每个动作。中断类型Abort(中止)使被中断动作结束而没有补偿动作已做的工作。Rollback(退回)中断类型使动作能补偿已由动作完成的工作。
                 示例33-体系结构的示例性完成
图39示出包括工作流服务3902的系统3900的体系结构的示例性实现。在该示例中,客户机应用程序3904可发挥工作流服务3902以使行动者能创建并参与工作流。工作流服务3902可向客户机应用程序提供三个主要服务:工作流合成3908、工作流约束3906、以及工作流跟踪和查看3910。
工作流可由活动流中的合成动作3912创建。动作3912的合成通过由工作流服务3902实施的约束3914来管理。约束3914可用任意数众所周知的方法来定义,包括通过工作流经营和管理(例如MMC)或通过编程方法的管理API。
这些约束3914的定义可利用事实检索器展现的事实。事实检索器可实现一标准接口从而约束服务3906可查询这些事实并将其应用于工作流中。事实检索器可展现来自任意下层数据源3916的事实,诸如活动目录或SQL数据库。
客户机应用程序3904可在需要参与活动流时向工作流服务3902登记。合成服务3908可使唯一ID与客户机请求相关联,并使用该ID跟踪行动者将其作为活动流一部分的动作3912。
跟踪服务3910可被用以跟踪活动流的状态并按客户机所要求的重建该活动流。当客户机尝试将动作3912附于活动流时,约束服务3906可检查约束(例如基于事实存储3916或流的状态)以查看哪个动作3912可附在活动流上。例如,示出选项可限于在约束下可用的选项。在用户从受约束集合中选择一动作之后,合成服务3908可将选中动作与那些已在使用的进行合成。
可提供动作以发出由跟踪服务3910消费的跟踪事件。然后可由客户机访问这些事件以向行动者提供最近的工作流。
        示例34-用于访问工作流服务的用户界面的示例性实现
图40示出用于访问工作流服务的用户界面4000的示例性实现。在该示例中,示出活动流的图形表示,并向用户呈现升级任务的选项(例如通过右击行动者)。
             示例35-用于建立动作的模板的示例性实现
图41示出用于建立动作的示例性模板4100。在该示例中,模板4100在可视化编程环境中呈现,但它也可用其它方法呈现。模板4100可处理各种各样的情况,从而开发者仅需引入用于特定情况的逻辑。例如,依赖合成可由模板支持。
模板4100可包括激活接收器逻辑4110。活动可在限于HTTP传送的单向端口上接收激活消息。然后可创建ActiveResponse消息。该响应消息被用以初始化后来在控制中使用的相关联集合。该动作向其本身发送消息。它可使用ActionDirectBoundOutPort的SendOrReceiveActiveResponse操作来发出消息并使用ActionDirectBoundInPort来接收返回的消息。模板部分4110还可查看ParentActionInstanceID或ActivityModeInstanceID的值是否是空的标识符(例如空的GUID)。如果这样,它可产生属性的新的标识符值。如果所例示动作没有父动作或如果动作未例示为活动模型的一部分,则这些将是空的标识符。如果有许多这样的动作实例,可创建对完成和中断消息类型的等量的非唯一订阅,这可负面地影响性能。
这样的情形可通过产生新的标识符来避免,并且由于并未期望订阅在这样的情况中完成这是安全的。订阅的唯一性确保有效订购者的消息的路由性能没有下降。
并行语句4120有两个分支。左分支允许动作与另一动作合成(例如4130),并还提供模板内定制开发的场所(例如4140)。右分支允许动作收听中断和完成消息(例如4150)。
判定框4130(放大为图42)查看是否用将动作按依赖于另一动作的意图来激活该动作。在4210检查激活消息中的IsDependentOnParent升级属性。如果有,则在4230等待接收来自父动作的同步消息或完成消息。
同步消息或完成消息的接收框(4250或4240)基于父动作的实例id来使用相互关联集。在接收同步消息之后,执行继续ScopeAllActionSpecificLogic并可执行由开发者在4255引入的逻辑。
而完成消息的接收,则导致动作在4245结束。这样,在终止之前动作经直接相邻的端口向消息框发出完成消息以表示其完成。
在同步消息上使用的相互关联集合可被扩展成包括在激活消息外创立的其它属性。也可在同步消息的接收框4250上使用附加的相关联集合。
收听与同步消息并行的完成消息使依赖动作能在父动作结束时不发送同步消息而清空。
定制逻辑(例如商业逻辑)可被结合到用于定制开发的场所4140。在场所4140周围定义有事务范围和补偿框。这使定制补偿能在请求退回操作的中断消息发送给动作时或在动作中有未知例外产生时被建立。
4150收听多个订购的基于中断消息的实例。它也收听来自它本身的完成消息。该动作在三个粒度级别上订购中断消息:动作实例级、活动流级和活动模型级。中断消息可请求动作操作的中止或退回。中断消息的接收致使在动作中产生中止或退回例外。这些例外在模板内被捕捉(例如在4160),且例外处理器在4140调用对ScopeAllSpecificLogic范围的补偿。
收听框4150中的其它消息是来自它本身的完成消息。该消息由动作本身产生,并通过并行语句4120左边分支中的直接相邻端口被发送到消息框。该消息在ScopeAllSpecificLogic范围完成之后马上发送。该消息在右边分支中的接收使收听框ListenForAbortOrFinish完成且该分支结束。
动作部分4160具有对中止、退回和未知例外的例外处理器。中止和退回例外在接收中断消息之后在动作内产生。中止例外的例外处理器建立并发送指示动作完成的完成消息,然后进入中止状态。退回例外的例外处理器在建立和发送完成消息之前调用补偿框CompensateForAllActionSpecificLogic。然后它进入结束状态。
未知例外的例外处理器也在建立和发送完成消息然后结束之前调用补偿框CompensateForAllActionSpecificLogic。
每个例外处理器可经直接相邻端口向消息框发送完成消息。该消息向其它子动作指示出它们被独立合成到该动作并尚未接收到结束的同步消息。该完成消息由独立合成的子动作接收(例如在4230)。
4170收听来自父动作的完成消息。如果未收到消息则超时(例如5秒后);然后动作完成。这使得动作消费了来自父动作的路由但未经消费的一个完成消息。如果父动作发送一同步消息随后马上发送一完成消息,则该情况发生。仅有同步消息由收听框内依赖子动作消费(例如4230)。完成消息被传递给子动作,但由于收听框仅接受两个消息中的第一个它并未消费。如果子动作不消费该消息就完成且该模式还对其它实例持续,则众多独立消息条目可在消息框数据库中建立从而负面影响性能。有了收听框4170,则如果完成消息已被路由到动作中,可避免动作不消费该完成消息就完成。
                     示例36-各技术的结合
来自所述任一示例的技术可与在此所述的一个或多个其它示例的任意组合中的技术相结合。
                     示例37-示例性计算机系统
在此所述的任一示例性系统可通过运行在计算机系统上的软件来实现,诸如包括运行各种操作系统的任一种(包括微软Windows操作系统和其它)的基于微处理器系统的通用可编程计算机。这样的计算机系统可包括或结合计算机可读介质工作,诸如RAM、ROM、硬盘、CD-ROM、DVD-ROM等。
                示例38-示例性计算机可执行指令
在此所述的任一示例性方法可由包括存储在计算机可读介质的计算机可执行指令的软件来实现。
                          可选方案
按照可应用本发明各原理的许多可能实施例,应理解所示实施例仅是本发明的示例,且不应作为本发明范围的限制。相反,本发明的范围包括以下权利要求所涵盖的。因此我们声明本发明出自这些权利要求的范围和精神。

Claims (36)

1.一种自动化工作流服务系统,其特征在于,包括:
一动作合成服务,它可操作用来将多个动作合成为活动流,其中所述合成服务可作为服务由客户机程序访问;
一约束服务,它可操作用来根据所存储的约束来提供可用的任选项,其中所述约束服务可作为服务由所述客户机程序访问;以及
一跟踪服务,它可操作用来提供所述活动流的进程,其中所述跟踪服务可作为服务由所述客户机程序访问。
2.如权利要求1所述的自动化工作流服务系统,其特征在于,所述合成服务、约束服务和跟踪服务被提供为可由所述客户机程序访问的单个服务。
3.如权利要求2所述的自动化工作流服务系统,其特征在于,所述单个服务是web服务。
4.如权利要求2所述的自动化工作流服务系统,其特征在于,所述单个服务可操作用以通过基于SOAP的协议与所述客户机程序通信。
5.如权利要求2所述的自动化工作流服务系统,其特征在于,所述单个服务是客户机不可知的。
6.如权利要求1所述的自动化工作流服务系统,其特征在于,所述约束服务可操作用来基于行动者的身份约束可用动作,其中所述可用动作向所述行动者呈现为任选项。
7.如权利要求1所述的自动化工作流服务系统,其特征在于,所述约束服务可操作用来基于行动者的身份约束目标行动者,其中所述目标行动者向所述行动者呈现为任选项。
8.如权利要求1所述的自动化工作流服务系统,其特征在于,所述约束服务可操作用来基于行动中行动者的身份约束转移动作。
9.如权利要求1所述的自动化工作流服务系统,其特征在于,所述动作合成服务可操作用来在所述活动流的执行时间将可执行动作添加到所述活动流。
10.如权利要求1所述的自动化工作流服务系统,其特征在于,所述动作合成服务可操作用来基于具有相关联多个动作的预定义的活动模型例示活动流。
11.如权利要求1所述的自动化工作流服务系统,其特征在于,所述约束服务可操作用来以对事实的一般方式约束选项。
12.如权利要求10所述的自动化工作流服务系统,其特征在于,所述动作合成服务还可操作用来在所述活动流的执行时间基于所述预定义的活动模型将可执行动作添加到所述活动流中。
13.如权利要求12所述的自动化工作流服务系统,其特征在于,所述约束服务可操作用来指示作为所述活动流一部分而产生的任务的一可用特设动作集。
14.如权利要求13所述的自动化工作流服务系统,其特征在于,所述可用动作可基于行动者身份受到约束。
15.如权利要求13所述的自动化工作流服务系统,其特征在于,所述可用动作基于与行动者身份的相对关系受到约束。
16.如权利要求1所述的自动化工作流服务系统,其特征在于,所述自动化工作流服务系统包括以下功能:
可发现性功能,它可操作用来提供响应于查询对动作的激活参数的指定。
17.一种自动化工作流服务系统,其特征在于,包括:
一活动流合成服务,它可操作用来经基于SOAP的协议与客户机通信,并响应于来自所述客户机的请求例示多个被例示动作,所述活动流合成服务还可操作用来响应于来自所述客户机的通信在活动流的执行时间将一动作例示添加到所述活动流中;
一事实存储,包括经具有相应知识库模式的知识库适配器从多个知识库中提取的多个事实;
一约束服务,它可操作用来经所述基于SOAP协议与所述客户机通信,并可操作用来基于所述活动流的参与行动者的身份实施约束,所述约束服务还可操作用来基于所述事实存储实施约束;以及
一跟踪服务,它可操作用来跟踪来自和送往所述例示动作的消息。
18.一种自动化工作流服务系统,其特征在于,包括:
一合成装置,它可操作用来将多个动作合成为活动流,其中所述合成装置可作为服务由客户机程序访问;
一约束装置,它可操作用来根据所存储的约束来提供可用选项,其中所述约束装置可作为服务由所述客户机程序访问;以及
一跟踪装置,它可操作用来提供所述活动流的进程,其中所述跟踪装置可作为服务由所述客户机程序访问。
19.一种提供自动化工作流服务的方法,其特征在于,所述方法包括:
在一服务上,接收来自客户机程序的请求以将动作例示为活动流的一部分,并例示作为响应的所述动作;
在所述服务上,接收对在所述活动流执行期间可用的选项的请求,并提供作为响应的选项列表;以及
在所述服务上,接收对所述活动流状态的请求并提供作为响应的状态信息。
20.一种或多种具有计算机可执行指令的计算机可读介质,其特征在于,所述指令用于执行如权利要求19所述的方法。
21.如权利要求19所述的方法,其特征在于,所述服务被实现为web服务。
22.如权利要求19所述的方法,其特征在于,所述客户机程序经基于SOAP协议与所述服务交互。
23.如权利要求19所述的方法,其特征在于,所述服务是客户机不可知的。
24.如权利要求19所述的方法,其特征在于,所述选项列表是基于行动者身份和所存储约束而提供的一可用动作列表。
25.如权利要求19所述的方法,其特征在于,所述选项列表是基于行动者身份和所存储约束而提供的一可用目标行动者列表。
26.如权利要求19所述的方法,其特征在于,所述选项列表是基于转移动作的行动中的目标行动者而提供的一可用目标行动者列表。
27.如权利要求19所述的方法,其特征在于,所述来自所述客户机程序对例示所述动作的请求在所述活动流的执行时间接收。
28.一种完成文档的工作流处理的方法,其特征在于,所述方法包括:
起动一活动流,其中所述活动流将与所述文档相关联的多个任务分配给多个行动者;以及
响应于所述行动者在任务上的动作,更新所述活动流的状态。
29.如权利要求28所述的方法,其特征在于,所述例示响应于以电子形式接收所述文档查看者的指示而执行,其中所述行动者包括所述查看者。
30.如权利要求28所述的方法,其特征在于,还包括:
在将所述任务之外的任务分配给所述行动者之外的行动者之后,将电子邮件通知发送给与所述文档有超链接的所述行动者。
31.如权利要求28所述的方法,其特征在于,还包括:
在将所述任务之外的任务分配给所述行动者之外的行动者之后,将电子邮件通知发送给与所述任务有超链接的所述行动者。
32.如权利要求28所述的方法,其特征在于,所述行动者的动作包括委托一任务。
33.如权利要求28所述的方法,其特征在于,所述行动者的动作包括升级一任务。
34.如权利要求28所述的方法,其特征在于,所述行动者的动作包括提供对所述文档的许可。
35.如权利要求28所述的方法,其特征在于,所述行动者的动作包括提供对所述文档的评论。
36.如权利要求28所述的方法,其特征在于,所示起动响应于接收包括发送给电子邮件别名用于起动所述活动流的所述附加文档的电子邮件而起动。
CNA2004800032562A 2003-12-19 2004-07-27 工作流服务体系结构 Pending CN101044498A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/742,696 US7062537B2 (en) 2002-11-25 2003-12-19 Workflow services architecture
US10/742,696 2003-12-19

Publications (1)

Publication Number Publication Date
CN101044498A true CN101044498A (zh) 2007-09-26

Family

ID=34749206

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004800032562A Pending CN101044498A (zh) 2003-12-19 2004-07-27 工作流服务体系结构

Country Status (11)

Country Link
US (1) US7062537B2 (zh)
EP (1) EP1623379A4 (zh)
JP (1) JP4599364B2 (zh)
KR (1) KR20060112589A (zh)
CN (1) CN101044498A (zh)
AU (1) AU2004281065A1 (zh)
BR (1) BRPI0406515A (zh)
CA (1) CA2507802A1 (zh)
MX (1) MXPA05007089A (zh)
RU (1) RU2344466C2 (zh)
WO (1) WO2005067432A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103329098A (zh) * 2011-01-26 2013-09-25 惠普发展公司,有限责任合伙企业 文档工作流程架构

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271882B2 (en) * 2002-04-24 2012-09-18 Sap Ag Processing life and work events
US20040148213A1 (en) * 2002-11-25 2004-07-29 Microsoft Corporation Automated workflow constraints
US9323735B2 (en) * 2004-06-08 2016-04-26 A3 Solutions Inc. Method and apparatus for spreadsheet automation
US8219434B2 (en) * 2004-07-19 2012-07-10 Sap Ag Ad-hoc coordination actions in business processes
US9171100B2 (en) 2004-09-22 2015-10-27 Primo M. Pettovello MTree an XPath multi-axis structure threaded index
US8170901B2 (en) * 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows
US7451432B2 (en) * 2004-10-01 2008-11-11 Microsoft Corporation Transformation of componentized and extensible workflow to a declarative format
US20060074714A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Workflow tracking based on profiles
US20060074704A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Framework to model cross-cutting behavioral concerns in the workflow domain
US20060074735A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Ink-enabled workflow authoring
US7805324B2 (en) * 2004-10-01 2010-09-28 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
US20060155716A1 (en) * 2004-12-23 2006-07-13 Microsoft Corporation Schema change governance for identity store
US7529931B2 (en) * 2004-12-23 2009-05-05 Microsoft Corporation Managing elevated rights on a network
US7607164B2 (en) 2004-12-23 2009-10-20 Microsoft Corporation Systems and processes for managing policy change in a distributed enterprise
US20060143126A1 (en) * 2004-12-23 2006-06-29 Microsoft Corporation Systems and processes for self-healing an identity store
US7473585B2 (en) * 2005-06-13 2009-01-06 Delphi Technologies, Inc. Technique for manufacturing an overmolded electronic assembly
US7698417B2 (en) * 2005-06-15 2010-04-13 Microsoft Corporation Optimized performance counter monitoring
US7268429B2 (en) * 2005-06-27 2007-09-11 Delphi Technologies, Inc. Technique for manufacturing an overmolded electronic assembly
US7636711B2 (en) * 2005-06-28 2009-12-22 Microsoft Corporation Extensible workflows
US7664742B2 (en) * 2005-11-14 2010-02-16 Pettovello Primo M Index data structure for a peer-to-peer network
US20070239498A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Framework for modeling cancellation for process-centric programs
US20070239505A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Abstract execution model for a continuation-based meta-runtime
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
US8069439B2 (en) * 2006-03-30 2011-11-29 Microsoft Corporation Framework for modeling continuations in workflows
US20070244910A1 (en) * 2006-04-12 2007-10-18 Microsoft Corporation Business process meta-model
US8332253B1 (en) * 2006-07-27 2012-12-11 Adobe Systems Incorporated Just in time workflow construction
US20080163224A1 (en) * 2006-12-29 2008-07-03 Frank Joachim H Modeling interrupts in a business process
US20080184250A1 (en) * 2007-01-30 2008-07-31 Microsoft Corporation Synchronizing Workflows
US8180658B2 (en) * 2007-01-30 2012-05-15 Microsoft Corporation Exploitation of workflow solution spaces to account for changes to resources
US20080183538A1 (en) * 2007-01-30 2008-07-31 Microsoft Corporation Allocating Resources to Tasks in Workflows
US8326911B2 (en) * 2007-02-02 2012-12-04 Microsoft Corporation Request processing with mapping and repeatable processes
US8370812B2 (en) 2007-04-02 2013-02-05 International Business Machines Corporation Method and system for automatically assembling processing graphs in information processing systems
US8166465B2 (en) 2007-04-02 2012-04-24 International Business Machines Corporation Method and system for composing stream processing applications according to a semantic description of a processing goal
US8117233B2 (en) * 2007-05-14 2012-02-14 International Business Machines Corporation Method and system for message-oriented semantic web service composition based on artificial intelligence planning
US8656391B2 (en) * 2007-06-22 2014-02-18 International Business Machines Corporation System and method for initiating the execution of a process
US20100050153A1 (en) * 2008-08-21 2010-02-25 Clevest Solutions Inc. Method and system of editing workflow logic and screens with a gui tool
US20100049568A1 (en) * 2008-08-21 2010-02-25 Clevest Solutions Inc. System and Method for an Extensible Workflow Management
KR101041501B1 (ko) * 2009-01-06 2011-06-14 권영범 전사적 자원 관리 시스템에서의 비즈니스 워크 플로우에 의한 프로세스 자동화 시스템 및 그 방법
US20100262451A1 (en) * 2009-04-14 2010-10-14 The Boeing Company Simplified Approach for Service Composition and Orchestration
SG166017A1 (en) * 2009-04-15 2010-11-29 Yokogawa Electric Corp Apparatus and method for configuring a workflow
US20100299170A1 (en) * 2009-05-19 2010-11-25 Microsoft Corporation Stages, Phases in a Project Workflow
US8631028B1 (en) 2009-10-29 2014-01-14 Primo M. Pettovello XPath query processing improvements
TW201237779A (en) * 2011-03-02 2012-09-16 Chunghwa Telecom Co Ltd Method of generalized electronic verification process
US9317341B2 (en) * 2011-05-24 2016-04-19 Microsoft Technology Licensing, Llc. Dynamic attribute resolution for orchestrated management
US20120310699A1 (en) * 2011-06-02 2012-12-06 Siemens Corporation Approach and tool blending ad-hoc and formal workflow models in support of different stakeholder needs
US9825881B2 (en) * 2014-09-30 2017-11-21 Sony Interactive Entertainment America Llc Methods and systems for portably deploying applications on one or more cloud systems
US11017342B2 (en) * 2015-08-31 2021-05-25 Micro Focus Llc Generating a combined entity workflow
AU2016410289A1 (en) 2016-06-23 2018-11-22 Landmark Graphics Coproration Parallel, distributed processing in a heterogeneous, distributed environment
US11025707B1 (en) 2017-06-20 2021-06-01 Amazon Technologies, Inc. Dynamic execution resource selection for customized workflow tasks
US10514895B2 (en) * 2017-09-08 2019-12-24 Bank Of America Corporation Tool for generating event case management applications
US10452360B1 (en) * 2019-03-19 2019-10-22 Servicenow, Inc. Workflow support for dynamic action input
US10929107B2 (en) 2019-03-19 2021-02-23 Servicenow, Inc. Workflow support for dynamic action output
CN110298633A (zh) * 2019-06-28 2019-10-01 广州微易软件有限公司 一种任务管理方法
US11663552B2 (en) 2020-12-15 2023-05-30 International Business Machines Corporation Dynamically customizing a workflow separate from domain logic
US11451448B1 (en) 2021-06-09 2022-09-20 Bank Of America Corporation System for cognitive technical architecture integration

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5216592A (en) * 1991-04-25 1993-06-01 International Business Machines Corporation System and method for business process automation
US6594636B1 (en) * 1998-07-23 2003-07-15 Hitachi, Ltd. Method for managing workflow based on electronic mail system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03170257A (ja) * 1989-11-30 1991-07-23 Mitsubishi Heavy Ind Ltd 計画実行管理方法
JPH0480466A (ja) * 1990-07-24 1992-03-13 Fujita Corp 工程ネットワーク生成システム
US5999911A (en) * 1995-06-02 1999-12-07 Mentor Graphics Corporation Method and system for managing workflow
US5819086A (en) * 1995-06-07 1998-10-06 Wall Data Incorporated Computer system for creating semantic object models from existing relational database schemas
US6832202B1 (en) * 1997-08-29 2004-12-14 Electronic Data Systems Corporation Method and system of routing requests for authorized approval
US6772407B1 (en) * 1998-10-02 2004-08-03 International Business Machines Corporation Staging objects in workflow management systems
US6678714B1 (en) * 1998-11-16 2004-01-13 Taskserver.Com, Inc. Computer-implemented task management system
US6393456B1 (en) * 1998-11-30 2002-05-21 Microsoft Corporation System, method, and computer program product for workflow processing using internet interoperable electronic messaging with mime multiple content type
US6748555B1 (en) * 1999-09-09 2004-06-08 Microsoft Corporation Object-based software management
US7412487B2 (en) * 2002-11-06 2008-08-12 Goodcontacts Research Ltd. Method and system for tracking receipt of electronic message
US20040103014A1 (en) * 2002-11-25 2004-05-27 Teegan Hugh A. System and method for composing and constraining automated workflow
US7340503B2 (en) * 2003-03-21 2008-03-04 Vocel, Inc. Interactive messaging system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5216592A (en) * 1991-04-25 1993-06-01 International Business Machines Corporation System and method for business process automation
US6594636B1 (en) * 1998-07-23 2003-07-15 Hitachi, Ltd. Method for managing workflow based on electronic mail system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DAVID HOLLINGSWORTH: "《The Workflow Reference Model》", 《THE WORKFLOW MANAGEMENT COALITION》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103329098A (zh) * 2011-01-26 2013-09-25 惠普发展公司,有限责任合伙企业 文档工作流程架构
US9591061B2 (en) 2011-01-26 2017-03-07 Hewlett-Packard Development Company, L.P. Document workflow architecture
CN103329098B (zh) * 2011-01-26 2017-06-23 惠普发展公司,有限责任合伙企业 文档工作流程架构

Also Published As

Publication number Publication date
US7062537B2 (en) 2006-06-13
JP4599364B2 (ja) 2010-12-15
BRPI0406515A (pt) 2005-12-13
EP1623379A4 (en) 2008-04-02
WO2005067432A2 (en) 2005-07-28
EP1623379A2 (en) 2006-02-08
RU2344466C2 (ru) 2009-01-20
KR20060112589A (ko) 2006-11-01
MXPA05007089A (es) 2006-04-07
CA2507802A1 (en) 2005-06-19
US20040148214A1 (en) 2004-07-29
AU2004281065A1 (en) 2005-07-07
JP2007515016A (ja) 2007-06-07
WO2005067432A3 (en) 2005-09-22
RU2005120665A (ru) 2006-01-20

Similar Documents

Publication Publication Date Title
CN101044498A (zh) 工作流服务体系结构
CN1299222C (zh) 存在管理的实现
CN1222896C (zh) 用户简档数据的管理
CN1172239C (zh) 执行移动对象的方法
CN1276575A (zh) 数据库存取系统
CN1292339C (zh) 打印处理设备及其方法
CN1928861A (zh) 用于进行项目共享的即时通信客户机和方法
CN1317758A (zh) 工作管理系统、工作管理装置以及工作管理方法
CN1363071A (zh) 信息分发系统
CN1044175A (zh) 单元管理系统
CN1707504A (zh) 印刷装置、印刷限制管理系统、印刷控制程序、记录媒体
CN1841376A (zh) 对网络表单的数据驱动动作
CN1200514A (zh) 信息处理方法和装置及存储服务器控制程序的存储器媒体
CN1783086A (zh) 用于在数据库管理系统中的查询管理的系统和方法
CN1809815A (zh) 管理锁定和事务
CN1836235A (zh) 用于确定网络系统的用户之间的关系的系统和方法
CN1870532A (zh) 一种信令跟踪方法和系统
CN1852355A (zh) 一种收集用户通信特征信息的方法和装置
CN1285032C (zh) 外部事件处理器系统和方法
CN1601543A (zh) 工作流管理设备及方法
CN1859392A (zh) 业务编址方法、系统及其应用
CN1691005A (zh) 信息处理系统、信息处理方法和计算机程序
CN1191026A (zh) 用于sql关系数据库的仿真器
CN1828532A (zh) 一种将业务流程图转换为执行语言的方法
CN1263254C (zh) 信息处理系统、便携式终端及信息处理服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

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

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20070926