CN1838068B - 协作应用程序中的工作流关联 - Google Patents

协作应用程序中的工作流关联 Download PDF

Info

Publication number
CN1838068B
CN1838068B CN2005100885114A CN200510088511A CN1838068B CN 1838068 B CN1838068 B CN 1838068B CN 2005100885114 A CN2005100885114 A CN 2005100885114A CN 200510088511 A CN200510088511 A CN 200510088511A CN 1838068 B CN1838068 B CN 1838068B
Authority
CN
China
Prior art keywords
workflow
list
task
document
participant
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
CN2005100885114A
Other languages
English (en)
Other versions
CN1838068A (zh
Inventor
G·E·哈堂
I·阿兹孜
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 Corp
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 CN1838068A publication Critical patent/CN1838068A/zh
Application granted granted Critical
Publication of CN1838068B publication Critical patent/CN1838068B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/06311Scheduling, planning or task assignment for a person or group
    • 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/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

揭示了一种用于开发和管理工作流的方法。该方法使得能从工作流模板和/或预编程组件来开发工作流;将工作流与进度表相关联;将工作流建模为多个任务和多个人人或人机交互点;以及持久化地存储工作流的内部状态。该方法使用计算机实现的表单来控制工作流的开发、包装、安装、部署、启用、关联、实例化、以及终止。

Description

协作应用程序中的工作流关联
相关申请的参照
按照35 U.S.C.§119,此申请要求对2004年9月29日提交的临时专利申请第60/614,096,题为WORKFLOW IN A COLLABORATIVE APPLICATION(协作应用程序中的工作流)的利益,其内容通过引用包括在此。
技术领域
本发明涉及计算机软件,尤其涉及工作流的重复使用。
背景技术
管理项目任务的执行的需求自从人类协同劳动起就存在了。图1中示出简单但却是示例性的任务管理过程。由框100到132所表示的动作可认为是准备步骤,由框136到144所表示的动作可认为是进行中的项目管理的步骤。首先为项目定义一个或一组目标100。然后,设定达成目标的完成日期104。接下来,开发一列在完成日期前必需执行以达成目标的任务108。还要开发一列能够执行这些任务的参与者112。较佳的是,开发在给定可用参与者的假设下每个任务将花费的时间的估计116。较佳的是还开发任务间的依赖关系,即,在另一任务可开始前哪个或那些任务必需被完成120。还可记录各参与者可用于执行任务的时间段124。使用来自之前各步骤的信息,为该项目开发任务进度表128。为了确保任务正确地且准时地完成,在任务进度表内设立里程碑,即检查点132。在框136,对于该项目本身的工作开始,各任务被执行并跟踪。当为每个里程碑设置的时间到来,评定有关任务和整个项目的状态140。当完成所有任务并达到所有里程碑,即达成该项目的目标114。
图1中所示并在上文描述的线性任务管理过程忽略了复杂因素,例如被重新安排、合并或移除的过程步骤,或被插入的新步骤,某些受其它任务牵制的参与者,当项目上的工作进行时改变的项目要求和目标,以及必需调整的过程。任务的计划、管理和跟踪是由手动地创建和更新列表、计划表、图表、及其它信息的视觉表示来实行的,使得任务管理甚至更加混乱,直到计算设备及计算机软件对各组织广泛可用。此类管理工具常为手写或打字的,且不容易改变。联系负责执行任务的参与者常表现为不可靠且难以跟踪口头通信或写备忘录的时间消耗,直到基于计算机的通信,即电子邮件,成为可用。
任务管理历史中下一个发展截断是由计算设备和计算机软件实现的。通过计算机软件工具的强力应用加速并简化了许多计划、列清单、作图、作表,以及通信杂务。然而,仍然在各杂务或参与者间缺乏协调的情况下执行这些杂务。大多数协调这些杂务的尝试涉及需要经训练计算机程序员的时间、努力、及成本的非平凡的计算机编程。使用计算机软件工具来自动化职务过程的至少某些部分使得思考贯穿职务过程的工作流较为容易。因而,计算机软件工具的开发从集中在给定职务过程,转移到集中在贯穿职务过程的“工作流”(workflow)。
注意工作流不是职务过程。工作流是工作如何贯穿职务过程的抽象。例如,给定用于批准文档的职务过程,可开发工作流以跟踪特定文档贯穿批准过程,其中批准过程中的每个参与者收到并批准文档。“工作流”的这个抽象概念已被建模到计算机程序中,且用于支持贯穿职务过程的工作流的计算机软件流已作为“工作流”而为人所知。在下文中,术语“工作流”指这样一种软件模型,即,支持工作贯穿职务过程的软件程序。
工作流允许定义及跟踪个人和/或部门间的工作流程。尽管工作流使许多任务管理杂务能够自动化,工作流压倒性的价值在于工作流所提供的在任务管理中固有的许多杂务间的协调。实践上,工作流帮助使职务任务自动化,并在正确的时间将正确的信息电子化地发送给正确的人。自动地向参与者通报未决的工作。经理能够通过该系统迅速地发送批准。工作流还可提供项目中工作流程的图形表示,包括决策与动作间的依赖关系和次序。
毫无疑问,工作流显著地改善了任务管理;然而开发工作流需要经高度训练的计算机程序员的昂贵劳动,并且工作流的部署需要很多劳动和成本。即使工作流常常彼此类似,当前技术的工作流开发和部署工具使得很难或不可能取为一个项目开发的工作流并将其应用到另一项目。所需要的是通过对一个以上项目重复使用一个工作流,来将开发一个工作流的劳动和成本分摊到许多工作流的方法。本发明是针对通过提供一种将为一个项目开发的工作流的结构与元数据与其它项目相关联的方法与设备,来重复使用工作流。
发明内容
根据本发明的各方面,提供了一种包括计算机可读介质的方法和设备,用于使用工作流模板来创建工作流。工作流模板的使用允许该方法和设备将为一个项目开发的工作流的结构与元数据与其它项目相关联。通过向参数赋值、插入新参数、释放现有参数、启用现有特征、释放现有特征,及/或插入计算机实现表单,将工作流与进度表相关联。通过显示计算机实现表单的图形用户界面来将工作流与进度表相关联。
根据本发明的一个方面,使用工作流模板来开发工作流。较佳的是模板允许插入和/或移除预编程的工作流组件,赋值给工作流组件中的参数,插入新参数到工作流组件中、以及释放在工作流组件中已有的参数。较佳的是通过向参数赋值、插入新参数、及/或释放现有参数,以及将工作流与有关数据储存在持久的存储内,将开发好的工作流被包装以供安装。较佳的是,可以安装、部署、及/或启用工作流。工作流可被实例化和/或终止。
根据本发明的另一个方面,被实例化并达到默许状态的工作流可被释放,描述该工作流内部状态的参数值可被持久地存储任一长度的时间,并使用所述被持久存储的参数值来重新存储和重新启用。
根据本发明的其它方面,通过开发工作流模板及使用工作流模板和/或预编程工作流组件,来重复使用现有工作流的结构和元数据。工作流被建模为多个人人和/或人机交互点。交互点可以任意顺序发生。工作流可由多个任务组成。一个任务可由单个用户有输入数据或无输入数据地完成。多个任务可由单个经理有输入数据或无输入数据地完成。任务可被分配一个或多个用户,委托给一个或多个用户,及/或转交给一个或多个用户。工作流中的任务可用由第三方开发的计算机实现表单来定义。开发工作流、包装工作流、安装工作流、部署工作流、启用工作流、将工作流与进度表相关联、实例化工作流、以及终止工作流是通过显示计算机实现表单的图形用户界面来控制的。
如同从上文的描述已可容易地理解,本发明提供一种通过将为一个项目开发的工作流的结构和元数据与其它项目相关联,重复使用现有工作流的结构和元数据的方法和设备。
附图说明
当连同附图参考以下详细描述,本发明的前述各方面及许多伴随的优势将更容易理解,并被更好地理解,附图中:
图1所示是示例性线性任务管理过程的流程图;
图2所示是支持本发明示例性实施例的SharePoint主要组件的框图;
图3所示是在工作流生命周期中各个阶段的流程图;
图4A所示是开发示例性工作流的流程图;
图4B是用于设计工作流的示例性图形用户界面;
图4C是用于将工作流模板与文档库相关联的示例性图形用户界面;
图4D是用于自定义工作流的示例性图形用户界面;
图5A所示是如何包装示例性工作流的流程图;
图5B是示例性工作流包的顶层组件的框图;
图6所示是如何安装示例性工作流包的流程图;
图7A所示是如何部署示例性工作流的流程图;
图7B是用于创建新工作流并将该工作流与文档库相关联的示例性图形用户界面;
图7C是用于察看和选择与文档库相关联的工作流的示例性图形用户界面;
图7D是用于在工作流中设置任务的示例性图形用户界面;
图7E是用于设置与工作流相关联的文档库的参数值的示例性图形用户界面;
图8所示是如何启用示例性工作流的流程图;
图9A所示是如何将示例性工作流与内容类型向关联的流程图;
图9B所示是如何将示例性工作流与文档列表或库相关联的流程图;
图10A所示是如何实例化示例性工作流的流程图;
图10B是显示工作流中延误任务的示例性图形用户界面;
图10C是显示工作流中活动议题的示例性图形用户界面;
图10D是提供对多个工作流的多个报告的访问的示例性图形用户界面;
图11A所示是如何终止示例性工作流的流程图;
图11B是启用工作流的终止的示例性图形用户界面。
具体实施方式
本发明的各实施例提供了一种包括计算机可读介质的计算机实现方法和设备(工具),用于将为一个项目开发的工作流的结构和元数据与其它项目相关联,并用于开发和使用工作流及工作流模板。可直接、或通过使用工作流模板来创建工作流。第一部分描述针对于定义工作流以及揭示如何直接创建它们。工作流模板及使用工作流模板来创建工作流将于稍后描述。
工作流包括关于职务过程的信息,诸如:(a)职务过程的程序上的步骤;(b)在职务过程的每个步骤所牵涉到的人;(c)在职务过程的每个步骤所需的输入信息和输出信息;以及(d)在职务过程的每个步骤所需的工具。如本领域技术人员将容易地理解的,除了前述示例性的信息类型外,工作流可包括其它类型的信息。
在本发明的示例性实施例中,工作流所基于的模型接近地模仿人类工作流,即,在工作流生命周期中通常与人类交互点相关联的时间和项。此类工作流建模使得难以在人类/工作流交互的过程中预测事件,例如,休假、生病、忘记过程中的步骤,等等。为讨论方便起见,由其在与工作流的关系中的角色来指示与工作流交互的人:(a)所有者,创建并控制工作流的人;(b)开发者,设计和实施工作流和/或工作流组件的全部或部分的人;(c)参与者,参与由该工作流所控制的一个或多个动作的人。动作包括,但不限于,检阅、修正、及批准。显然,各“角色”可重叠。例如,所有者也可以是开发者和/或参与者。相应来自工作流的输入的实体是“行动者”。行动者可以是参与者或计算设备。较佳的是,人类行动者通过使用图形用户界面表单(GUI表单)来与本发明的实施例交互。GUI表单可以是应用程序中的窗口、Web页、或类似的使人类行动者能够输入察看、选择、及/或输入信息的图形用户界面组件。
作为例子而非限制,可以在诸如Microsoft
Figure S05188511420050810D000051
SharePointTM Portal Server(SharePoint)等的协作的计算机应用程序内支持本发明的示例性实施例,即开发和使用工作流的方法与设备。SharePoint是将来自各个联网计算设备和联网计算系统的信息集成到一个软件实体以提供便利的门户部署和管理的可升级门户服务器。本领域技术人员将理解,门户是诸如Web站点的,作为到诸如因特网等的网络的网关的站点。Web站点门户是设计成将用户引领到他们很可能感兴趣的信息(新闻、天气、娱乐、商业站点、聊天室,诸如此类)的链接、内容和服务的集合。Yahoo!、Excite、MSN.com及Netscape NetCenter是门户的例子。由SharePoint提供的服务被总称为Windows SharePointTM服务(WSS)。用于与WSS交互的GUI表单被称作WSS表单。
本发明的示例性实施例作为SharePoint服务运行。SharePoint服务提供协作与信息共享,还可提供与其它软件应用程序的集成。图2所示是支持本发明示例性实施例的SharePoint主要组件及主要组件间关系的框图。示出的主要组件包括应用程序156、Windows SharePoint服务工作流对象模型(WSS工作流OM)158、及诸如Windows工作流服务中的工作流引擎等的工作流引擎170。“对象模型”包含应用程序编程接口(API)及由API使用的数据结构,即,向写到API的函数传递或从其返回的数据结构。WSS工作流OM 158包含Windows SharePoint服务工作流API及由Windows SharePoint服务工作流API使用的数据结构。应用程序156可以是启用工作流或未启用工作流的。启用工作流的应用程序150是包含专用于工作流的特征的应用程序。未启用工作流的应用程序154是可作为服务与工作流交互、但不包含专用于工作流的特征的应用程序。
WSS工作流OM 158是接口,通过该接口将工作流状态信息162传递给工作流引擎170。工作流引擎170运行工作流,并向工作流提供进程安排、消息通信、数据持久化、角色定义及任务跟踪的支持。工作流可能引起产生指令166。工作流引擎170将工作流指令166通过WSS工作流OM 158传递到应用程序。注意应用程序156与WSS工作流OM 158交互以访问SharePoint服务。因为工作流是SharePoint服务,通过WSS工作流OM 158来访问工作流。因而,应用程序156能通过WSS工作流OM 158访问工作流。还要注意工作流不直接与WSS工作流OM 158交互。工作流引擎170与WSS工作流OM 158交互,向工作流提供了到WSS工作流OM 158的接口。
工作流与工作流引擎交互,工作流引擎与WSS工作流OM 158交互。例如,参与者可在企图改变工作流状态的应用程序156中执行动作。应用程序156将消息传递给WSS工作流OM 158。该消息包含标识该工作流并指示工作流状态改变的信息。WSS工作流OM 158将消息从应用程序转换为工作流状态信息162并将工作流状态信息162传递给工作流引擎170。工作流引擎170从该工作流引擎170正在运行的工作流中选中指定的工作流,并将工作流状态信息162传递给在来自应用程序156的消息中指定的工作流。
工作流引擎170通过令工作流遍历工作流进度表来运行工作流。工作流进度表是包含任务、工作流逻辑、及各种元数据的数据结构。在本发明的示例性实施例中,适于在Windows工作流服务中运行且与WSS工作流相关联的WSS工作流进度表是包含工作流任务和逻辑的XML结构。此类的WSS工作流进度表可作为XML文档存储在安装于诸如Web站点的合适站点中的工作流包中。
当遍历工作流进度表时,工作流常常处理文档和列表。在SharePoint的环境中,文档是任何一件用应用程序创建的自包含工作。且若被持久化存储,则被给予唯一的文件名,可用文件名来检索文档。在SharePoint的环境中,列表是明确定义的字段类型的关系模式的抽象。列表可包含一个或多个文档。如和关系模式一样,列表有使一个列表与另一个列表相异的特定唯一属性。可通过使用“简要表”从多个列表中选中一组特殊的列表。“简要表”是包含期望列表的属性的过滤器。应用于一个列表的函数也可应用于将简要表应用于多个列表所得的结果。称作文档库的一种更特殊的列表可能不止包含文档,而还可按使得搜寻和过滤关于文档的数据及包含在文档内的数据容易的方式来组织文档。例如,工作流文档要求文档被一个或多个参与者批准。在工作流生命周期期间,文档的多个版本可被创建、取消、修改、等等。与此类文档相关联的工作流管理并跟踪此类动作。
工作流通常以工作流定义的形式开始。工作流定义是包含Windows工作流服务工作流进度表和完全说明工作流所需的支持代码文件和表单的可安装软件包。当工作流定义遍历了工作流关联和工作流参数化的过程,一个特定的工作流就被创建了。工作流关联是在列表或简要表上使工作流可用的过程。工作流参数化是收集并向工作流发送一组诸如参与者、到期日、发送顺序等的参数的过程。某些参数化在当工作流与列表或简要表相关联时发生。某些参数化在当工作流被初始化时发生。工作流的设计者,即该工作流的构造者或工作流所有者,决定要包括哪些参数以及何时请求它们的值。
工作流无需来自行动者的输入即可从开始行进到结束;然而,较为可能的是工作流会需要某些来自行动者的外部输入来继续前进。行动者,即参与者和计算设备,可在工作流中某些离散的、明确定义的点,向在工作流引擎(即Windows工作流服务)上运行的工作流提供外部输入。这样的点称作“任务”。概念上,可以认为任务是具有开始、结束以及诸如状态信息等相关联的元数据的一个单元的工作。每个工作流包含一组任务列表。每个工作流将其任务存储在任务列表中。
可将工作流与列表(其中文档库是一种类型的列表)或内容类型相关联。工作流关联的设置作为列表的属性被存储。如果列表被复制,这些设置被保留。如果库被复制,这些设置被保留。
在本发明的WSS实施例中,可用诸如Microsoft Office InfoPathTM或Microsoft Visual StudioTM等应用程序来定义任务,或者可以用自定义数据集合表单,即由独立软件销售商(ISV)开发的GUI表单或WSS表单来定义任务。任务由参与者完成。例如,参与者可点击任务的链接以察看该任务的表单。参与者将数据输入到表单中,并以某种方式(例如通过选择示意该表单的“状态”为“完成”的复选框)示意单已经完成。提供表单的应用程序156将状态信息传递给WSS工作流OM 158,由其将该状态信息作为工作流状态信息162传递给工作流引擎170。工作流引擎170接收此信息并回传工作流指令166来通知工作流所有者该任务已完成。在类似的过程中,工作流所有者,及项目经理,可通过选择一组具有类似要求的任务并将其标记为完成或被批准,来完成多个任务。
本发明的示例性实施例使用称为“ToDo(要完成的事情)”的特定类型的WSS任务。ToDo是要由行动者完成的任务。ToDo可被完成、取消或委托。将一个ToDo与其它ToDo同步,来执行适当的动作,这些动作反过来使适当的消息被发送到工作流引擎170。工作流通过创建ToDo并将其指向一组行动者,开始请求外部输入的过程。因为ToDo是一类WSS任务,ToDo可被插入到WSS任务列表中,并可被分配给行动者。ToDo是可扩展的,因为它可以有表示在运行于工作流引擎内的进度表中的特定点,工作流所需数据的任意模式。ToDo可被委托或转交给其它行动者。在缺少所需的输入数据时,ToDo可被当场完成。如果需要来自参与者的数据来完成ToDo,则通过向参与者呈现表单来收集数据。在数据被输入到表单后,数据被提交给WSS工作流OM 158,由其随即将工作流状态信息162提交给工作流引擎170。
信息以消息形式从WSS工作流OM 158被传递到工作流引擎170。在示例性实施例中,消息的类型包含启用、发送和接收。通过在WSS中“保存”事件来生成消息。例如,作为工作流引擎内工作流状态转换的一部分,工作流进度表可创建工作流任务,并指定“保存”事件的订阅,即指定要向哪个软件对象通知“保存”事件。在工作流引擎内由工作流进度表对工作流任务的创建被转化为在WSS中创建ToDo,并登记适当的ToDo事件的动作。在本发明的示例性实施例中,当参与者提交表单以完成ToDo,该ToDo通过提交引起下列动作执行的请求,在支持数据库中执行“保存”事件:
1.往返数据库以取回关于使用无类型事件的ToDo的元数据。
2.执行事件前处理器,并执行访问控制列表(ACL)检查。
3.保存请求的载荷,并构造事件队列载荷。数据库服务器计算“保存”操作将在数据库中引起的变化。基于在中层完成的过滤,数据库服务器将该组无类型事件归纳为特定的一组适当类型化的事件。
4.再往返数据库以执行“保存”事务。在“保存”事务中执行以下动作:
a.在数据库中提交“保存”。
b.为该操作生成类型化的事件,并将其加入到事件队列中。
c.工作流进度表被锁定。
d.工作流进度表被串行化,并将串行化的工作流进度表作为事务的结果返回。
5.如果成功地获得工作流进度表,在中等异步地发放“保存后”事件。
在4.c.项,如果锁定工作流进度表失败(这可能发生,因为在某个其它机器上的某个其它过程可能已锁定该工作流进度表)串行化并返回该工作流进度表以完成该事务,但“保存后”事件未被发放)。基于自适应定时方案,当工作流进度表能被锁定时,“保存后”事件被发放。一完成ToDo,可使用类似于以上所描述的过程来删除该ToDo。这样一个ToDo删除使WSS工作流OM删除该ToDo以及适当的对该ToDo的订阅。
当工作流创建ToDo,在该ToDo和运行于工作流引擎170中的进度表间建立起一个或多个链接,并将其与该工作流相关联。ToDo为一个或多个由用于向该ToDo提交数据的表单所生成的事件进行登记。当参与者将数据输入到表单的一个或多个字段中,就生成了一个事件。ToDo检测到该事件,处理所提交的数据,并将处理过的数据传递给启用工作流或未启用工作流的应用程序150、154。工作流可以工作流指令166来响应。代表性的指令是更新ToDo。当ToDo被更新,执行多个一致性检查。如果所有检查都成功,将一个异步事件加入队列,以向初始化该ToDo的进度表传送。一致性检查包括,但不限于,检查同步性、安全、及数据有效性。为了维护数据库的一致性,将该异步事件进队列是发生在更新该ToDo的同一事务中。一旦将事件加入队列,以向工作流进度表传送,即通知提交该更新的参与者,该更新已被成功传送。
出于若干理由,可以异步地向工作流传送事件。一个理由是实施例可能只允许进度表的一个实例,且该进度表实例可能仅被允许在单个、任意的、中层机器上运行。尽管可能将到达中层机器的新事件发送到另一中层机器上运行中的进度表的实例,此类机制对整个设计增加了不必要的复杂性。因此,在进度表出于活动的运行状态,并假定不存在将新事件传送到运行的进度表的发送机制的情形下,必需将工作流事件进队列以供稍后消费。一旦在队列中有等待由其特制工作流进度表消费的未决事件,必需设计一种机制来使这些事件出队列。因为同步地点名来察看进度表是否能够消费事件是不够的,因此异步地处理出队列过程。依赖于异步出队列机制以进行事件传送也意味着单个代码路径既可用于标称代码执行路径,又可用于异常代码路径,即事件传送和消费未能完成,且必需在稍后重试。注意,如果期望的话,事件队列可以是数据库中的表,且不在存储器中维护。这为设计增加了健壮性,预防了灾难性的系统故障。
较佳的是,一旦工作流被引导到运行状态中,就由拥有事件的工作流直接将事件进队列。一旦运行了,工作流通过按FIFO顺序从事件队列中取事件,来消费指派给工作流的事件。在指派给工作流的事件栈上的事件最终使工作流遍历进度表,使得进度表最终完成。
在本文中描述的示例性实施例中,WSS容纳工作流引擎,即Windows工作流服务,并为工作流的状态提供持久的存储。在工作流运行以完成的时间的过程中,存在一些点,在这些点上工作流的状态可被持久地存储。可以在由工作流开发者在进度表中显式地定义的点,或者在默认点捕捉并持久地存储工作流的状态。默认点是工作流进入默认状态的点,即无有用工作或交互发生的一段时间。本质上,工作流为某事发生等待很长且不确定量的时间。当检测到此类条件,工作流设置事务点。在事务点,工作流收集描述该工作流内部状态的数据,并将内部状态数据随对应的进度表持久地存储到数据库中。随此事务,其它模式管理也可发生。进度表的工作流状态以二进制或XML的串行化形式存储。在事务点,可使工作流进入“冬眠”状态。工作流冬眠是工作流进度表不消耗除在数据库中持久化的静态存储以外的计算资源的状态。例如,如果所有工作流线程在ToDo任务完成上被阻塞,且没有未决时间要传送给工作流,则释放该工作流的互斥锁,并允许工作流进入冬眠。较佳的是,活动的过程不断地监视时间队列,以寻找需要让拥有它们的工作流唤醒的事件。一旦确定了此类工作流,即指派合适的中层机器为该工作流的主机。关于工作流的二进制代码和状态信息从持久化存储加载到主机机器上。工作流给引导到运行状态。
前述的对工作流的描述支持前述关于项目经理,即工作流所有者,如何使用运行于诸如SharePoint等协作应用程序中的本发明的实施例来创建工作流以管理项目的解释。首先,工作流开发者开发工作流的定义。开发者将工作流定义包装,并将工作流定义安装到服务器上以使工作流所有者能访问工作流定义。然后,所有者部署工作流定义,即复制工作流定义以用于特定项目。所有者启用,即激活,部署的工作流定义,将部署的工作流定义与关于项目的文档组相关联,并且将部署的工作流定义实例化,即为项目创建工作流。最后,所有者为项目开始该工作流。其后并直到工作流被终止,参与者通过使用GUI表单与工作流交互来为该项目完成任务,并且所有者使用GUI表单来检查过程等。前述的过程被称作“工作流生命周期”,且由图3中的流程图示出,并在以下详细描述。
如图3中所示,工作流的生命周期是由8个阶段组成。接下来给出每个阶段的简短定义,并在下文描述每个阶段的细节。第一阶段是开发阶段200。在开发阶段定义工作流并创建组成该工作流的部件或元素。第二阶段是包装阶段204。在包装阶段期间,使用在开发阶段创建的部分或元素建立工作流本身。通常在开发阶段200完成之后建立工作流;然而,某些例如Microsoft等的计算机应用程序允许在开发阶段200期间编辑工作流。第三阶段是安装阶段208。在安装阶段期间工作流包被加载到服务器上。第四阶段是部署阶段212。在部署阶段期间将工作流的定义安装到服务器上,并将工作流的参与者与工作流相关联。第五阶段是启用阶段216。在启用阶段期间工作流所有者开启工作流内的特征使得其它人(参与者)能看到工作流。第六阶段是关联阶段220。在关联阶段期间,所有者将工作流与文档库和/或列表相关联。第七阶段是实例化阶段224。在实例化阶段期间,设置工作流参数值并启动工作流。第八和最终阶段是终止阶段228。当工作流中所有任务都完成或工作流被取消时,终止阶段发生。
用工作流的示例来帮助理解每个阶段的具体解释。该示例性工作流由一组工作于涉及视频编辑工具的开发的参与者使用。
在开发阶段200,由工作流开发者或工作流所有者开发和/或聚集组成工作流或工作流模板的部件。因为工作流开发者在开发阶段担任首要角色,在开发阶段200仅提及工作流开发者。所开发和/或聚集的部件包括,但不限于:(a)工作流进度表;(b)由工作流使用或与其有关的数据的视图;(c)支持工作流的计算机实现表单:以及(d)关于工作流的元数据。可使用例如Microsoft Visual或Microsoft
Figure S05188511420050810D000122
来创建所开发和/或聚集的部件。在开发阶段200,对于工作流定义中的每个部件,可在该部件与SharePoint及/或在客户计算设备上运行的例如Microsoft等的应用程序之间建立交互。
尽管可如上文所描述的来直接创建所开发和/或聚集的部件,使用工作流模板来创建工作流是更有利的。通过复制工作流模板并修改工作流模板副本以将该工作流模板副本改变成期望的新工作流,即从工作流模板创建了工作流。工作流模板允许将为一个项目所开发的工作流的结构和元数据与其它项目相关联。注意工作流模板不是GUI表单,而是一组随后用GUI表单来修改的工作流组件。
图4A所示是直接或使用工作流模板来开发和聚集工作流的部件或元素的代表性顺序的流程图。如果直接开发工作流,则使用由部件或元素的类型所决定的默认值来创建每个部件或元素。如果使用工作流模板来开发工作流,很可能大多数部件或元素是可用的,且只需被修改以满足新工作流的要求。参考图4A,定义了工作流的顶层进度表240。接下来,对定义工作流的数据和元素据的视图进行定义244。向开发者呈现被设计以呈现并收集关于工作流进度表、视图及元数据的信息的表单模板,以用于设计支持进度表、视图和元数据的表单248。接下来,按需编写自定义计算机代码252。最后,定义如何及何时跟踪工作流的任务256。
在开发阶段200期间,提供表单以使开发者能完成前述步骤。图4B是用于设计工作流的示例性GUI表单239。提供GUI表单内的字段241以供输入工作流中步骤的名称。在表单的右边显示了工作流的示例性步骤243。该示例性步骤是“Sendfor Approval(发送以供批准)”和“Select Vendor(选择销售商)”。“Send forApproval”步骤有两个子标准,即“On Manager Approve(经理批准)”和“OnControlling Approval(监督者批准)”在图4B中,着重是表示被选中进行编辑的步骤是“Send for Approval”。点击“Send for Approval”步骤致使步骤名(未示出)在字段241中示出。“Send for Approval”步骤在下拉菜单的显示字段245中被指定为“Regular Step(常规步骤)”。在工作流步骤内,当满足条件时所发生的条件和动作是可设置的。
在图4B中所示的示例性工作流“Send for Approval”步骤中,示出了两个条件,每个条件都具有相关联的动作。第一个条件是“when Amount is less thanor equal to $1000(当量小于或等于$1000)”,并且当满足第一个条件时发生的动作是“assign Current Document to Manager for Approval Then run substep:On Manager Approve(将当前文档给予经理以供批准,然后运行子步骤:经理批准)”。第二个条件是“else when Amount is greater than$1000(否则当量大于$1000)”,并且当满足第二个条件时发生的动作是“assign Current Document to Controllingfor Approval then run substep:On Controlling Approve(将当前文档给予监督者以供批准,然后运行子步骤:监督者批准”。注意对应于两个子标准“On ManagerApprove”和“On Controlling Approve”的两个“动作”在图4B的右边示出,并在上文描述。
注意图4B中的条件和动作中的某些项被加了下划线。在本文所描述的本发明的示例性实施例中,带下划线的项可被改变。可以在例如是用于创建工作流的工作流模板的一部分的GUI表单中提供带下划线的条件和动作。在GUI表单239的底部,提供了按钮以使开发者能:(a)检查工作流,“Check Workflow”;(b)取消对工作流的编辑,“Cancel”;(c)回到前一个步骤,“Back”;(d)前进至下一个步骤,“Next”;以及(e)结束对工作流的编辑,“Finish”。
可通过选择“Add Conditional Branch(添加条件分支)”249来创建额外的条件分支。选择“Add Conditional Branch”249致使新的条件和动作框247被岔道现有的条件分支之下。可使用下拉菜单来选择条件和动作框内每个组件的类型。例如,在条件和动作框247的左边,从下拉菜单选中“Set Condition(选择条件)”和“Actions(动作)”。在条件和动作框247的右边,从下拉菜单选中条件“whenAmount is less than or equal to $1000”和条件“else when Amount is greaterthan  $1000”。
在开发阶段200期间支持的另一个动作是将工作流与文档库相关联。图4C示出用于将工作流与文档库相关联的示例性GUI表单251。该GUI表单251包括三个部分,它们的标题反映了在将工作流与文档库相关联中所涉及的三个动作:“Workflow Definition(工作流定义)”,“Name and Status Menu(名称和状态菜单)”,和“Initial Conditions(初始条件)”。“Workflow Definition”部分向工作流开发者呈现一列工作流模板。示出了示例性工作流库关联模板“Document Approval(文档批准)”、“Document Review(文档审阅)”、“DocumentCirculation(文档流通)”、“Manager Approval(经理批准)”、“Team Review(团队审阅)”、“Private Document Review(私人文档审阅)”、“ResourceProcurement(资源获得)”。工作流开发者可从该列工作流库关联模板中选择一个工作流库关联模板。替换地,如果列表未包括合适的模板,工作流开发者可选择“Create a workflow...(创建一个工作流)”,这允许工作流开发者创建新的工作流库关联模板。“Name and Status Menu”部分允许工作流开发者为工作流库关联创建唯一名称。通常名称将会基于之前选中的工作流库关联模板。“Name andStatus menu”部分还包括一个单选按钮,该按钮允许开发者向状态菜单为与文档库相关联的工作流添加菜单项。“Initial Conditions”部分允许开发者为新近创建的工作流库关联选择一个或多个初始条件。可能的初始条件是:“Allow thisworkflow to be manually started from an item or folder.(允许该工作流从项或文件夹中手动启动)”;“Automatically start this workflow when a newitem or folder is created.(当创建新项或文件夹时,自动启动该工作流)”;以及“Automatically start this workflow whenever an item or folder is changed.(只要项或文件夹改变,就自动启动该工作流)”。
在本文所描述的本发明的示例性实施例中,在于开发阶段200期间创建工作流之后,可以自定义该工作流。图4D中示出用于自定义工作流的GUI表单253的例子。在图4D的左边,所示的自定义GUI表单253以一系列步骤的形式,向工作流开发者呈现4个问题:(1)Would you like to route approval or gather feedback?(你希望发送批准还是收集反馈?)(2)Who will participate in the workflow?(谁会参与该工作流?)(3)How would you like the workflow to progress?(你希望工作流如何进展?)(4)How should the workflow end?(该工作流应如何结束?)选择这些“问题”之一致使有关面板出现在图4D中的GUI表单的右边。在图4D中所示的例子中,工作流开发者选择了第一个步骤——Would you like toroute approval or gather feedback?此步骤打开了具有两个选项的面板:“Routea document for approval(发送文档以供批准)”和“Route a document for feedbackand comments(发送文档以获得反馈和评论)”——每个具有两个子选项。“Routea document for approval”选项的子选项是:“Allow resubmit(允许重新提交)”和“Restrict editing(限制编辑)”。“Restrict editing”具有题为“NoChanges(read only).(没有改变(只读))”的禁止改变的控制复选框。“Routea document for feedback and comments”的子选项是:“Make a new copy of thisdocument for each participant(为每一参与者作出该文档的新副本)”和“Allowparticipants to see each others copies.(允许参与者看见彼此的副本)”。
在图4D中所示的例子中,工作流开发者选择了“Route a document forapproval.”。工作流开发者还选择允许参与者重复递交更新的文档(Allowresubmit)以及限制对原始文档进行编辑(Restrict editing)。
如图3中所示并在上文所描述,在开发阶段之后,在包装阶段204工作流被包装。在图5A中示出示例性包装阶段的各个步骤。包装阶段204的各个步骤可由工作流开发者或工作流所有者执行;然而,为描述容易起见,接下来的讨论假设各个步骤由工作流所有者执行。工作流所有者首先通过确定工作流的组件来定义包270。
图5B是示例性工作流包320顶层组件的框图。所示的示例性工作流包320包含3个顶层组件:产品团队审阅324、市场审阅328、以及法律审阅332,应当理解工作流包可包含更多或更少的指定为相同或不同的顶层组件。每个示例性顶层组件与一组不同的工作流参与者相关联。例如,市场审阅组件与包含在工作流所跟踪的项目中的市场组参与者相关联。每个顶层组件被示为角色、任务及里程碑的包含性列表,应当理解这些列表的数量和确定是示例性的,且不应被解释为限制。即,顶层组件可包含更多或更少的列表,并且列表可以是或可以不是角色、任务及里程碑。
回到图5A,在定义包270之后,工作流所有者将工作流进度表插入到包中272。然后工作流所有者把将被包含在工作流中的这些类型的任务插入到包中274。其后工作流所有者将参与者所需的用于与工作流交互的表单插入到包中276。工作流所有者接下来将工作流运作所需的资源插入到包中278。工作流所有者随后将关于工作流的元数据加入到包清单中280。包清单是包内容的详细描述。包清单包含描述包内名称、版本、类型及资源,以及对其它包依赖关系的元数据。清单允许包成为子描述的并能被容易地部署。最后,工作流所有者使包可用282。显然,图5A中所示的步骤,由其是插入步骤,可按除图5A中所示并与上文描述的次序以外的各种次序完成。在本发明的实施例中,包可以是一个或多个Microsoft
Figure S05188511420050810D000161
.NETTM程序集。Microsoft
Figure S05188511420050810D000162
.NETTM程序集是可以安全方式共享的代码库。
在被包装后,工作流进入安装阶段208(图3)。图6所示是如何安装工作流包的示例性流程图。工作流所有者将工作流包放到全局程序集高速缓存(GAC)的二进制代码文件夹350中。例如,可将包放到“GAC/bin folder”中,且工作流包被添加到特征列表。工作流所有者随后通过诸如SharePoint的适当程序使工作流可用354。在图6中所示的例子中,工作流被命名为“产品审阅”。
在安装了工作流之后,工作流进入部署阶段212(图3)。图7A所示是在部署阶段212内发生的动作的示例性流程图。在框400,所有者从多个已安装的工作流表单中选择适当的工作流表单。适当的工作流表单包含进度表及跟踪在由工作流管理的项目的一个方面所涉及的任务所需的所有或大多数组件。在框404,使用适当的工作流模板来专门为要由该工作流管理的项目创建工作流。例如,名为“产品审阅”的工作流可被用作模板来定义名为“视频编辑产品审阅”的新工作流。图7B示出适用于创建此类工作流的示例性GUI表单410。示例性GUI表单410包括3个部分:“Workflow Definition(工作流定义)”;“Name and Status Menu(名称和状态菜单)”;以及“Initiation Conditions(初始条件)”。“WorkflowDefinition”部分允许所有者从多个已安装的工作流中选择工作流定义,即工作流定义可借鉴的现有工作流。现有工作流被用作模板。例如,在图7B中,所有者可选择“Route for Approval(发送已供批准)”或“Document Circulation(文档流通)”工作流模板。通过选择两个前述工作流模板之一,所有者将工作流与包含与项目(例如“Video Editing Project(视频编辑项目)”)相关联的各个文档的文档库相关联。工作流现在能够跟踪该项目的文档库中的所有文档。在“Name andStatus Menu”部分中,所有者为工作流输入唯一的名称,该名称将出现在文档库中的项列表和文件夹中。还有一个允许用户为此工作流,向状态菜单添加菜单项的单选按钮。在“Initiation Conditions”部分,所有者设置如果所有必需的工作流参数值被设置将致使工作流启动的条件。可从以下条件中选择至少一个,可能多于一个的开始条件:“Allow this workflow to be manually started from an itemor folder(允许该工作流从项或文件夹手动启动)”;“Automatically start thisworkflow whenever an item or folder is changed(只要项或文件夹改变就自动启动该工作流)”。图7A的框408示出部署阶段212的最终步骤,在该步骤将参与者与工作流(在此例中为“视频编辑产品审阅”工作流)相关联。
一个文档库可参与一个以上的项目,因此可与一个以上工作流相关联。图7C是用于添加或移除与文档库相关联的工作流的示例性GUI表单412。图7C中所示的示例性GUI表单还允许察看工作流设置及改变工作流运行的顺序。具体地,图7C的GUI表单412显示与文档库相关联的工作流的数量,并提供控制来选择其它GUI表单以将工作流与该文档库相关联,将一个或多个工作流从该文档库解除关联,以及改变相关联的工作流运行的顺序。
图7D是用于设置工作流中的任务的示例性GUI表单414。该GUI表单提供工作流中的任务的5个视图416:工作流中所有任务(All Tasks);工作流中被分配给已登陆用户的任务(My Tasks);工作流中在当天到期的任务(Due Today);工作流中活动的任务(Active Tasks);以及工作流中按照分配的任务(By AssignedTo)。在视图面板418中,基于选中的视图416呈现了每个任务的标题(Title)、所分配的参与者(Assigned to)、状态(Status)、优先级(Priority)、到期日(Due Date)、以及完成的百分率(%Complete)。提供了控制420以向一列喜爱的链接添加工作流、当必需由一参与者作工作流中的某件事时张贴警报、将工作流信息导出到数据表、以及修改工作流上的设置与报告列。
图7E的示例性GUI表单422用于改变与文档库相关联的工作流的参数值。该GUI表单分为4个部分。“Participants and Routing Order(参与者和发送顺序)”、“Due Date(到期日)”、“Notification Options(通知选项)”、以及“ApprovalConditions(批准条件)”。在“Participants and Routing Order”部分中,可从地址簿选择参与者,并将其添加到参与者列表,以使其与和工作流相关联的文档库相关联。可选择同时向所有参与者发送文档库,或按照参与者在列表中出现的顺序将文档库发送给每个参与者。在“Due Date”部分中,可输入必需完成批准的日期和时间。在“Notification Options”部分中,可选择当任务被分配给参与者时通知每个参与者,也可选择当工作流完成时通知工作流的所有者。在“ApprovalConditions”部分中,可选择一个或多个表示批准的条件:“All participants haveapproved the document.(所有参与者都批准该文档)”、“One participant hasapproved the document.(一个参与者批准该文档)”、“A majority ofparticipants have approved the document.(大多数参与者批准了该文档)”、以及“The due date has passed.(已超过到期日)”。
在工作流被部署以后,工作流进入启用阶段216(图3)。图8所示是在启用阶段216内发生的动作的流程图。在框500,所有者确定哪个工作流启用工具被参与者所使用500。可对由参与者所使用的工作流启用工具插入菜单项或其它工具,以直接访问工作流。在框504,所有者开启每个工作流启用工具中的工作流选择控制,例如,所有者开启每个工作流启用工具中的“视频编辑工具产品审阅”工作流选择特征。
在工作流被启用后,工作流进入关联阶段220(图3)。在关联阶段220起见发生的关联动作将工作流与内容类型或列表相关联。相关联的工作流是为了使文档库或列表对该文档库或列表的用户可用而与文档库或列表相关联的工作流。
内容类型是可应用于其它内容类型或列表(其中文档库是一类列表)的设置的集合。例如,说明书的内容类型可在文档库列表上定义用于输入说明书作者、说明书实施者、以及说明书文档的说明领域的元数据列。说明书内容类型可包括当创建此内容类型的新文档时使用的默认文档模板。当说明书内容类型被添加到文档库,其设置被复制到文档库,且该文档库的用户能将该内容类型的项或文档保存到该文档库。注意多个内容类型可被添加到同一个列表或文档库,且内容类型也可被添加到其它内容类型。工作流关联是可添加到内容类型的一类设置。例如,可将说明书批准工作流关联添加到说明书内容类型,且该工作流关联会被复制到添加了说明书内容类型的列表。对说明书内容类型上的工作流关联的后续改变可被下推至继承该内容类型的文档库,使得站点管理员能够在一个地方配置工作流设置,并将其广播到许多其它地方。
图9A所示是工作流如何与内容类型相关联的示例性流程图。此类关联的优势是可以有可基于内容类型或内容类型的属性的任务。首先,选择内容类型520。然后将内容类型与工作流相关联524。在这个点,尽管已经进行关联,它还不是非常有用,因为关联中没有文档。为准备向关联添加文档,创建文档库528。随后将内容类型添加到文档库532。在框536,如果诸如一列适当内容类型的文档等的项可用,则可将该项添加到文档库。在框536可用的另一个选项是创建适当内容类型的列表,将适当内容类型的文档添加到该列表,并将该列表添加到文档库。在框536的第三个选项是向文档库添加适当内容类型的空列表,并向该列表添加适当内容类型的文档。最后在项或文档上启动工作流540。
图9B所示是工作流如何与不同种类的文档库(即,允许一种以上内容类型的文档库)相关联的示例性流程图。此类关联的优势是可以有基于非内容类型属性的共同特性的任务。首先,选择文档库544。然后将工作流与整个文档库或库内的一个或多个列表相关联548。在图9A的框536可用的3个选项在图9B的框552仍然可用。最后,如同在框540,如框556中所示,在项或文档上启动工作流。
工作流关联还可通过使用一类专用GUI表单,工作流关联表单,来完成。此类表单用于从列表或简要表管理者收集工作流参数与限制。在安装于服务器上并启用于站点或站点集合的工作流包中定义工作流关联表单。
在工作流被关联后,工作流进入实例化阶段224(图3),在此期间进一步调整工作流以适应该工作流要跟踪的项目的特定要求。在工作流适应于被该工作流跟踪的项目之后,使该工作流对工作流的参与者可用。图10A所示是关于题为“视频编辑工具项目”的示例性项目,在实例化阶段224内发生的动作的示例性流程图。在框600,对工作流模板中的类属参数赋予专用于“视频编辑工具项目”的值。在框604,向工作流添加专用于“视频编辑工具项目”的自定义参数,以及自定义参数的默认值。在框608,启动(即激活)关于“视频编辑工具项目”的工作流。动作可以显示地发生。例如,参与者可提交文档请求批准,这可能显示地激活关于批准该文档的工作流。动作也可自动发生。例如,在开支报告所需的文档被添加到与该开支报告相关联的文档库之后,关于批准该开支报告文档的工作流可被自动激活。在两个例子中,都在WSS子系统中生成事件以调用将工作流引擎导向实例化所需类型的工作流进度表的专门事件处理器。将提示触发工作流生成的所有者或参与者输入连接到进度表中所描述的变量的特定参数。用于提示所有者或参与者的表单的生成是基于在部署时从工作流定义许用的元数据。
启动工作流激活了与该工作流相关联并运行于工作流引擎170(图2)中的进度表。如前文某种程度上所描述的,当进度表在工作流引擎中运行时,进度表中已分配给参与者的任务致使工作流指令166被发送给WSS工作流OM 158。WSS工作流OM 158将此类工作流指令166转换为发送到应用程序156的消息。当应用程序156接收到此类消息,该应用程序在GUI表单内呈现关于该任务的信息。例如,图10B中所示的示例性GUI表单614提供了关于延误工作流任务的消息的视图。图10B中所示的示例性GUI表单包括关于工作流中所有任务的消息的摘要。该摘要包括outstanding task(未完成任务)的总数、overdue task(延误任务)的总数、以及任务已被延误的average number of days(平均天数)。提供了一列关于分配给每个参与者的任务的信息。列中最高的条目显示参与者的名字、平均的延误天数、以及任务完成百分率。列中每一个余下的条目显示每个所分配的任务延误的天数、任务完成百分率、任务的名称、以及任务的到期日。
图10C是可由工作流所有者调用以查看跨越若干星期的工作流中的活动要点(即任务)摘要的示例性GUI表单618。该示例性GUI表单示出了工作流中所有活动任务的摘要620,包括活动任务的总数、每周活动任务的平均数、每人活动任务的平均数、以及每人活动任务的最大数。图10C中所示的示例性GUI表单618还提供若干行所报告的时间段中的每个星期的信息。每行以显示所覆盖的时间段中的一个星期的开始日期以及该星期内活动任务的平均数的条目开始。行中每个余下的条目显示参与者的名字、分配给该参与者的活动任务数、该参与者所负责的第一个和最后一个期限、以及任务完成百分率。
工作流所有者可使用图10D中所示的示例性GUI表单622来生成各种关于工作流的报告。图I0D中所示的示例性GUI表单622提供两种报告:Specific ReviewReports(特定审阅报告)和Expense Approval Reports(费用批准报告)。SpecificReview Reports包含Overdue tasks by person(按人排列的过时任务)、Notcomplete high priority tasks by person(按人排列的未完成高优先级任务)、Not complete tasks by person(按人排列的未完成任务)、Not complete tasksby item(按项排列的未完成任务)、Overdue workflows by due date(按到期日排列的过时工作流)、Overdue workflows by initiator(按发起者排列的过时工作流)、以及Completed workflows by initiator(按发起者排列的已完成工作流)。Expense Approval Reports包含Overdue tasks by person(按人排列的过时任务)、Not complete high priority tasks by person(按人排列的未完成高优先级任务)、Not complete tasks by person(按人排列的未完成任务)、Notcomplete tasks by item(按项排列的未完成任务)、Overdue workflows by duedate(按到期日排列的过时工作流)、Overdue workflows by initiator(按发起者排列的过时工作流)、Overdue workflows by expense amount(按费用量排列的过时工作流)、Completed workflows by initiator(按发起者排列的已完成工作流)、以及Completed workflows by expense amount(按费用量排列的已完成工作流)。
在图3中所示的示例性工作流生命周期中,最后的阶段是终止阶段228。图11A所示是如何终止工作流的示例性流程图。当完成工作流中的任务,且在规律的时间间隔,检查工作流的完成700。如果工作流已完成,从SharePoint 708删除工作流状态。如果工作流还未完成,但与关联了该工作流的文档或列表被删除704,则从SharePoint 708删除工作流状态。如果未删除该文档或列表,该过程循环回到工作流完成测试700。
无论工作流怎样被删除,SharePoint等待用户可配置的天数,例如90天,以允许工作流的所有者删除该工作流或将其重启712。如果90天后工作流未被重启,则从SharePoint删除该工作流任务并不再对其进行跟踪716。图11B是启用工作流终止的示例性GUI表单。该GUI表单显示工作流的标题以及该工作流的示例数。所有者可选择允许创建工作流的新实例,可选择不移除工作流运行中的实例就限制新工作流实例的创建,或者移除工作流的所有运行中的实例。工作流任务列表具有跟踪有多少工作流与其相关联的使用计数器。如果试图删除具有大于0的计数的工作流任务列表,则发布该工作流任务列表仍在被使用的警告。
本发明的各实施例可为特定工作流提供诸如实时状态等关于工作流的状态信息,并聚合关于一组工作流的信息。例如,本发明的实施例可为工作流中的项提供一批批准意见、一批已签署特定项的批准者、一组当前活动并在使用中的工作流、或者职务过程各个方面的度量。
尽管已示出并描述了本发明较佳的实施例,应当理解可在其中进行各种改变而不会偏移本发明的精神和范畴。例如,在SharePoint的环境中,工作流可与包括但不限于,标准Microsoft Outlook消息表单的许多种表单相关联或一同运行。仍旧在SharePoint的环境中,本发明的实施例可与包含自定义字段及其它控制的自定义用户界面一同运行。尽管上面所描述的本发明的实施例用于与SharePoint环境中Web站点的开发与维护有关的职务过程,应当理解本发明可应用于其它环境中的其它类型的职务过程。在这点上,应当理解可以除了连同SharePoint以外的方式来实施本发明。应当理解在所附的权利要求书的范畴内,可以除本文所明确描述的方式以外的其它方式来实施本发明。

Claims (11)

1.一种用于管理计算机系统中的工作流的方法,所述计算机系统包括应用程序组件组和协作计算机应用程序组件,其中,所述工作流包括多个由参与者执行的任务,所述方法包括:
开发工作流;
包装所述工作流;
将所述工作流安装到服务器上;
部署所述工作流;
启用所述工作流;
将所述工作流与进度表相关联;
将所述工作流实例化;
以及终止所述工作流
其中,所述方法还包括:
提供应用程序组件组,所述应用程序组件组包括用于包含专用于工作流的特征的工作流启用应用程序组件和用于作为服务与工作流交互的未启用工作流应用程序组件;以及
提供协作计算机应用程序组件,所述协作计算机应用程序组件用于将来自各种联网计算设备和联网计算系统的信息整合到一个软件实体中以提供入口部署和管理,该协作计算机应用程序组件用于使得所述工作流可用,其中所述协作计算机应用程序组件包括:
a)用于运行所述工作流的工作流引擎;以及
b)包括应用程序编程接口API和由API使用的数据结构的工作流对象模型组件;
其中,所述应用程序组件组中为任务提供表单的一个应用程序组件用于传送一个消息给工作流对象模型组件,所述消息包含识别所述工作流和指明工作流状态改变的信息,所述工作流对象模型组件用于将所述消息转换成工作流状态信息并将工作流状态信息传送给工作流引擎,所述工作流引擎用于将工作流状态信息传送给来自所述应用程序组件组的消息中所指定的工作流;以及
其中启动所述工作流激活了与工作流相关的进度表,并且在工作流引擎中运行,当进度表在工作流引擎中运行时,进度表中的已被分配给参与者的任务使得工作流指令被发送给工作流对象模型组件,所述工作流对象模型组件用于将所述工作流指令翻译成要发送给该应用程序组件组的消息。
2.如权利要求1所述的方法,其特征在于,开发所述工作流还包括:
(a)使用工作流模板来设计工作流表单,所述工作流表单包括参数;以及
(b)对所述工作流表单的参数赋值。
3.如权利要求1所述的方法,其特征在于,其中所述工作流具有结构,且其中,所述结构由声明性语言描述。
4.如权利要求3所述的方法,其特征在于,所述工作流结构被存储以在其它工作流创建中使用。
5.如权利要求2所述的方法,其特征在于,使用工作流模板设计所述工作流的表单还包括设计支持所述工作流的进度表和元数据的表单。
6.如权利要求5所述的方法,其特征在于,使用工作流模板设计所述工作流的表单包括定义如何跟踪所述工作流。
7.如权利要求1所述的方法,其特征在于,包装所述工作流还包括:
(b)将工作流进度表插入到包中;
(c)将任务类型插入到包中;
(d)将表单插入到包中;
(e)将资源插入到包中;以及
(f)将元数据添加到包清单中。
8.如权利要求1所述的方法,其特征在于,响应于用户输入,启动所述工作流。
9.如权利要求2所述的方法,其特征在于,管理所述工作流还包括将所述工作流与文档库相关联。
10.如权利要求9所述的方法,其特征在于,将所述工作流与文档库相关联包括创建文档库、创建内容类型并将工作流关联到所述内容类型、将所述内容类型添加到列表或文档库中、以及将适当内容类型的文档添加到列表或文档库中。
11.如权利要求1所述的方法,其特征在于,所述工作流创建一个所述任务完成状态的报告。
CN2005100885114A 2004-09-29 2005-07-29 协作应用程序中的工作流关联 Expired - Fee Related CN1838068B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US61409604P 2004-09-29 2004-09-29
US60/614,096 2004-09-29
US11/087,123 US20060069605A1 (en) 2004-09-29 2005-03-22 Workflow association in a collaborative application
US11/087,123 2005-03-22

Publications (2)

Publication Number Publication Date
CN1838068A CN1838068A (zh) 2006-09-27
CN1838068B true CN1838068B (zh) 2011-06-22

Family

ID=35429626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100885114A Expired - Fee Related CN1838068B (zh) 2004-09-29 2005-07-29 协作应用程序中的工作流关联

Country Status (5)

Country Link
US (1) US20060069605A1 (zh)
EP (1) EP1650700A3 (zh)
JP (1) JP2006099728A (zh)
KR (1) KR20060092816A (zh)
CN (1) CN1838068B (zh)

Families Citing this family (220)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2458511A3 (en) * 2000-06-21 2014-08-13 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US7000230B1 (en) 2000-06-21 2006-02-14 Microsoft Corporation Network-based software extensions
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7155667B1 (en) * 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US7249195B2 (en) 2001-03-30 2007-07-24 Minor Ventures, Llc Apparatus and methods for correlating messages sent between services
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7275216B2 (en) * 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7516145B2 (en) * 2003-03-31 2009-04-07 Microsoft Corporation System and method for incrementally transforming and rendering hierarchical data files
JP4240293B2 (ja) * 2003-05-27 2009-03-18 株式会社ソニー・コンピュータエンタテインメント マルチメディア再生装置およびマルチメディア再生方法
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US20050108211A1 (en) * 2003-11-18 2005-05-19 Oracle International Corporation, A California Corporation Method of and system for creating queries that operate on unstructured data stored in a database
US8782020B2 (en) * 2003-11-18 2014-07-15 Oracle International Corporation Method of and system for committing a transaction to database
US7966493B2 (en) * 2003-11-18 2011-06-21 Oracle International Corporation Method of and system for determining if an electronic signature is necessary in order to commit a transaction to a database
US7650512B2 (en) 2003-11-18 2010-01-19 Oracle International Corporation Method of and system for searching unstructured data stored in a database
US7694143B2 (en) * 2003-11-18 2010-04-06 Oracle International Corporation Method of and system for collecting an electronic signature for an electronic record stored in a database
US7600124B2 (en) * 2003-11-18 2009-10-06 Oracle International Corporation Method of and system for associating an electronic signature with an electronic record
US8819072B1 (en) 2004-02-02 2014-08-26 Microsoft Corporation Promoting data from structured data files
US7430711B2 (en) * 2004-02-17 2008-09-30 Microsoft Corporation Systems and methods for editing XML documents
US7318063B2 (en) * 2004-02-19 2008-01-08 Microsoft Corporation Managing XML documents containing hierarchical database information
JP4676784B2 (ja) * 2004-03-02 2011-04-27 株式会社リコー プロセス管理装置、プロセス管理方法及びプロセス管理プログラム
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US7802007B2 (en) 2004-05-19 2010-09-21 Salesforce.Com, Inc. Techniques for providing connections to services in a network environment
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US20060069596A1 (en) * 2004-09-29 2006-03-30 Microsoft Corporation Workflow hosting computing system using a collaborative application
US20060069599A1 (en) * 2004-09-29 2006-03-30 Microsoft Corporation Workflow tasks in a collaborative application
US20060074933A1 (en) * 2004-09-30 2006-04-06 Microsoft Corporation Workflow interaction
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US9645712B2 (en) 2004-10-01 2017-05-09 Grand Central Communications, Inc. Multiple stakeholders for a single business process
US8286092B2 (en) 2004-10-14 2012-10-09 International Business Machines Corporation Goal based user interface for managing business solutions in an on demand environment
US20060101467A1 (en) * 2004-10-18 2006-05-11 International Business Machines Corporation Process execution management based on resource requirements and business impacts
US20060089866A1 (en) * 2004-10-27 2006-04-27 International Business Machines Corporation Computer system for exchanging workflows and methods thereof
US7657554B2 (en) * 2004-11-05 2010-02-02 Microsoft Corporation Method and system for managing user interface messages
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7437376B2 (en) * 2004-12-20 2008-10-14 Microsoft Corporation Scalable object model
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
CN1926563A (zh) * 2005-01-28 2007-03-07 三菱电机株式会社 工作流管理装置、工作流管理系统以及测试方案生成方法
US20060184865A1 (en) * 2005-02-11 2006-08-17 Chakraborty Pallab B Method and system for managing an electronic document
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US8515790B2 (en) * 2005-03-05 2013-08-20 Jeb C Griebat Computer program and method for jury selection
BRPI0607738A2 (pt) * 2005-03-30 2009-10-06 Welch Allyn Inc comunicação de informação entre vários elementos de rede
US8010515B2 (en) 2005-04-15 2011-08-30 Microsoft Corporation Query to an electronic form
US20060242606A1 (en) * 2005-04-26 2006-10-26 International Business Machines Corporation Graphical roadmap view and framework for activity tracking and execution
US7543228B2 (en) * 2005-06-27 2009-06-02 Microsoft Corporation Template for rendering an electronic form
US7693861B2 (en) * 2005-06-28 2010-04-06 Microsoft Corporation Schematization of establishing relationships between applications
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
EP1764732A1 (en) * 2005-08-30 2007-03-21 Sap Ag Method and system for supporting object allocation processes
US20070061182A1 (en) * 2005-09-13 2007-03-15 Brooks Patrick J Workflow operational console
US7484173B2 (en) * 2005-10-18 2009-01-27 International Business Machines Corporation Alternative key pad layout for enhanced security
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US20070143163A1 (en) * 2005-12-16 2007-06-21 Sap Ag Systems and methods for organizing and monitoring data collection
US7792871B1 (en) * 2005-12-29 2010-09-07 United Services Automobile Association Workflow administration tools and user interfaces
US7822706B1 (en) 2005-12-29 2010-10-26 United Services Automobile Association (Usaa) Workflow administration tools and user interfaces
US7840526B1 (en) 2005-12-29 2010-11-23 United Services Automobile Association (Usaa) Workflow administration tools and user interfaces
US7792872B1 (en) * 2005-12-29 2010-09-07 United Services Automobile Association Workflow administration tools and user interfaces
US7752614B2 (en) * 2006-03-23 2010-07-06 International Business Machines Corporation Dynamic workflow documentation system
US20070239505A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Abstract execution model for a continuation-based meta-runtime
US20070239498A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Framework for modeling cancellation for process-centric programs
US7945891B2 (en) * 2006-04-12 2011-05-17 Microsoft Corporation Time business process validations within data context
US20070244910A1 (en) * 2006-04-12 2007-10-18 Microsoft Corporation Business process meta-model
US8886553B2 (en) * 2006-05-02 2014-11-11 Microsoft Corporation Visual workflow process notation and layout
US8522261B2 (en) * 2006-06-30 2013-08-27 Sap Ag Using status models with state guards in a computer system
US8365200B1 (en) 2006-06-30 2013-01-29 Sap Ag Using cancellation status models in a computer system
US8706776B1 (en) 2006-06-30 2014-04-22 Sap Ag Extending status models in a computer system
US8332253B1 (en) * 2006-07-27 2012-12-11 Adobe Systems Incorporated Just in time workflow construction
US8191059B1 (en) * 2006-08-10 2012-05-29 Amdocs Software Systems Limited System, method and computer program product for installing at least a portion of a program utilizing a workflow that models an installation process
EP2074542A2 (en) 2006-10-04 2009-07-01 Welch Allyn, Inc. Dynamic medical object information base
US9275512B2 (en) 2006-11-10 2016-03-01 Bally Gaming, Inc. Secure communications in gaming system
US8930461B2 (en) * 2006-11-13 2015-01-06 Bally Gaming, Inc. Download and configuration management engine for gaming system
US8010397B1 (en) * 2007-01-23 2011-08-30 Sprint Communications Company L.P. Enterprise infrastructure development systems and methods
US9183524B2 (en) * 2007-02-21 2015-11-10 Novell, Inc. Imaged-based method for transport and authentication of virtualized workflows
US20080201191A1 (en) * 2007-02-21 2008-08-21 Novell, Inc. Dynamic workflow resource authentication and discovery
US20080249816A1 (en) * 2007-04-05 2008-10-09 Luke Khalilian System and Method for Monitoring Workflow in a Project Management System
JP2010524129A (ja) * 2007-04-12 2010-07-15 トムソン ライセンシング メディア製作及び配信のためのワークフローエンジン
CN101657857A (zh) 2007-04-12 2010-02-24 汤姆逊许可证公司 用于工作流接口的消息机制
US8566777B2 (en) * 2007-04-13 2013-10-22 International Business Machines Corporation Work packet forecasting in a software factory
US8296719B2 (en) * 2007-04-13 2012-10-23 International Business Machines Corporation Software factory readiness review
US8141040B2 (en) * 2007-04-13 2012-03-20 International Business Machines Corporation Assembling work packets within a software factory
US8464205B2 (en) * 2007-04-13 2013-06-11 International Business Machines Corporation Life cycle of a work packet in a software factory
US8327318B2 (en) * 2007-04-13 2012-12-04 International Business Machines Corporation Software factory health monitoring
US8359566B2 (en) * 2007-04-13 2013-01-22 International Business Machines Corporation Software factory
US20080256390A1 (en) * 2007-04-13 2008-10-16 Chaar Jarir K Project Induction in a Software Factory
US20080301699A1 (en) * 2007-06-01 2008-12-04 Macer Darren B Apparatus and methods for workflow management and workflow visibility
US20090012834A1 (en) * 2007-07-03 2009-01-08 Brian Fahey Compliance Management System
US8065621B2 (en) 2007-08-07 2011-11-22 Appel Zvi System and method for graphical creation, editing and presentation of scenarios
US8141030B2 (en) * 2007-08-07 2012-03-20 International Business Machines Corporation Dynamic routing and load balancing packet distribution with a software factory
US8332807B2 (en) * 2007-08-10 2012-12-11 International Business Machines Corporation Waste determinants identification and elimination process model within a software factory operating environment
US9442620B2 (en) * 2007-08-21 2016-09-13 Oracle International Corporation Navigation systems with event notification
US9189757B2 (en) * 2007-08-23 2015-11-17 International Business Machines Corporation Monitoring and maintaining balance of factory quality attributes within a software factory environment
US8539437B2 (en) * 2007-08-30 2013-09-17 International Business Machines Corporation Security process model for tasks within a software factory
US20090222277A1 (en) * 2008-03-03 2009-09-03 Microsoft Corporation Defining and implementing custom task processes
JP5233505B2 (ja) * 2008-03-17 2013-07-10 株式会社リコー 共同作業支援装置、共同作業支援システム、共同作業支援方法、プログラムおよび記録媒体
US20090241116A1 (en) * 2008-03-21 2009-09-24 Dell Products L.P. Systems and Methods for Automating Tasks Associated with an Application Packaging Job
US8504980B1 (en) 2008-04-14 2013-08-06 Sap Ag Constraining data changes during transaction processing by a computer system
US8230348B2 (en) * 2008-04-28 2012-07-24 Roger Peters Collaboration software with real-time synchronization
JP4931857B2 (ja) * 2008-05-09 2012-05-16 コニカミノルタビジネステクノロジーズ株式会社 ワークフロー制御装置、ワークフロー制御方法およびワークフロー制御プログラム
US8595044B2 (en) * 2008-05-29 2013-11-26 International Business Machines Corporation Determining competence levels of teams working within a software
US8667469B2 (en) * 2008-05-29 2014-03-04 International Business Machines Corporation Staged automated validation of work packets inputs and deliverables in a software factory
US8321784B1 (en) 2008-05-30 2012-11-27 Adobe Systems Incorporated Reviewing objects
US8527329B2 (en) * 2008-07-15 2013-09-03 International Business Machines Corporation Configuring design centers, assembly lines and job shops of a global delivery network into “on demand” factories
US8452629B2 (en) * 2008-07-15 2013-05-28 International Business Machines Corporation Work packet enabled active project schedule maintenance
US8286171B2 (en) 2008-07-21 2012-10-09 Workshare Technology, Inc. Methods and systems to fingerprint textual information using word runs
US20100023920A1 (en) * 2008-07-22 2010-01-28 International Business Machines Corporation Intelligent job artifact set analyzer, optimizer and re-constructor
US8140367B2 (en) 2008-07-22 2012-03-20 International Business Machines Corporation Open marketplace for distributed service arbitrage with integrated risk management
US8375370B2 (en) * 2008-07-23 2013-02-12 International Business Machines Corporation Application/service event root cause traceability causal and impact analyzer
US8418126B2 (en) * 2008-07-23 2013-04-09 International Business Machines Corporation Software factory semantic reconciliation of data models for work packets
US8448129B2 (en) * 2008-07-31 2013-05-21 International Business Machines Corporation Work packet delegation in a software factory
US8271949B2 (en) 2008-07-31 2012-09-18 International Business Machines Corporation Self-healing factory processes in a software factory
US8336026B2 (en) 2008-07-31 2012-12-18 International Business Machines Corporation Supporting a work packet request with a specifically tailored IDE
US9002721B2 (en) * 2008-10-08 2015-04-07 Appirio, Inc. System and method for project management and completion
US20100106547A1 (en) * 2008-10-29 2010-04-29 Asaf Adi Automated workflow generation
US20100131322A1 (en) * 2008-11-21 2010-05-27 Computer Associates Think, Inc. System and Method for Managing Resources that Affect a Service
US9354847B2 (en) * 2008-12-29 2016-05-31 Microsoft Technology Licensing, Llc Interface infrastructure for a continuation based runtime
US20130124242A1 (en) * 2009-01-28 2013-05-16 Adobe Systems Incorporated Video review workflow process
US9268532B2 (en) 2009-02-25 2016-02-23 International Business Machines Corporation Constructing a service oriented architecture shared service
US8930843B2 (en) 2009-02-27 2015-01-06 Adobe Systems Incorporated Electronic content workflow review process
US9292481B2 (en) 2009-02-27 2016-03-22 Adobe Systems Incorporated Creating and modifying a snapshot of an electronic document with a user comment
US20100241990A1 (en) * 2009-03-23 2010-09-23 Microsoft Corporation Re-usable declarative workflow templates
US8442937B2 (en) * 2009-03-31 2013-05-14 Microsoft Corporation Access to line-of-business databases in declarative workflow
US20100257010A1 (en) * 2009-04-07 2010-10-07 International Business Machines Corporation Managing a service oriented architecture lifecycle
JP5294975B2 (ja) * 2009-05-14 2013-09-18 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US20100299170A1 (en) * 2009-05-19 2010-11-25 Microsoft Corporation Stages, Phases in a Project Workflow
US8943408B2 (en) 2009-05-27 2015-01-27 Adobe Systems Incorporated Text image review process
US8943431B2 (en) 2009-05-27 2015-01-27 Adobe Systems Incorporated Text operations in a bitmap-based document
US20100332278A1 (en) * 2009-06-25 2010-12-30 Stern Edith H Project management via collaborative calendaring
AU2010275473C1 (en) * 2009-07-24 2014-02-27 Welch Allyn, Inc. Configurable health-care equipment apparatus
US20110106713A1 (en) * 2009-10-30 2011-05-05 Realization Technologies, Inc. Post facto identification and prioritization of causes of buffer consumption
US8380552B2 (en) * 2009-12-11 2013-02-19 Verizon Patent And Licensing Inc. Method and system for estimating project delay
US8910054B2 (en) * 2010-04-14 2014-12-09 Bank Of America Corporation Audit action analyzer
US20110313934A1 (en) * 2010-06-21 2011-12-22 Craig Ronald Van Roy System and Method for Configuring Workflow Templates
USD671222S1 (en) 2010-07-22 2012-11-20 Welch Allyn, Inc. Module for a patient-monitor or the like
USD635681S1 (en) 2010-07-22 2011-04-05 Welch Allyn, Inc. Patient-monitor housing
USD632397S1 (en) 2010-07-22 2011-02-08 Welch Allyn, Inc. Portions of a patient-monitor housing
US8407073B2 (en) 2010-08-25 2013-03-26 International Business Machines Corporation Scheduling resources from a multi-skill multi-level human resource pool
US9595014B1 (en) * 2010-09-24 2017-03-14 American Airlines, Inc. System and method for executing workflow instance and modifying same during execution
CN102467504B (zh) * 2010-11-03 2014-01-01 南京莱斯信息技术股份有限公司 一种基于关系数据库的工作流引擎系统的设计方法
US10783326B2 (en) 2013-03-14 2020-09-22 Workshare, Ltd. System for tracking changes in a collaborative document editing environment
US10025759B2 (en) 2010-11-29 2018-07-17 Workshare Technology, Inc. Methods and systems for monitoring documents exchanged over email applications
US9324049B2 (en) * 2010-12-30 2016-04-26 Schlumberger Technology Corporation System and method for tracking wellsite equipment maintenance data
US8548941B2 (en) * 2011-02-15 2013-10-01 Robert E. Napierala Document management system and method
ES2402977B1 (es) * 2011-04-15 2014-02-11 Telefónica, S.A. Método y sistema para generar y gestionar aplicaciones nativas
US9613340B2 (en) * 2011-06-14 2017-04-04 Workshare Ltd. Method and system for shared document approval
US10032121B2 (en) * 2011-06-13 2018-07-24 Marketing Evolution System and method for managing and implementing procedures and practices
US8660878B2 (en) 2011-06-15 2014-02-25 International Business Machines Corporation Model-driven assignment of work to a software factory
US8626542B1 (en) * 2011-07-19 2014-01-07 Realization Technologies, Inc. Full-kit management in projects: computing the full-kit delay
US8620703B1 (en) * 2011-07-19 2013-12-31 Realization Technologies, Inc. Full-kit management in projects: checking full-kit compliance
US8620704B1 (en) * 2011-07-19 2013-12-31 Realization Technologies, Inc. Full-kit management in projects: determining the full-kit date
EP2551811A1 (en) * 2011-07-26 2013-01-30 Tata Consultancy Services Limited Method and system for integrating event processes in investment banking and custody lines of business
CN103858133B (zh) * 2011-08-10 2017-05-17 瑞穗情报综研株式会社 信息管理系统以及信息管理方法
JP5891664B2 (ja) * 2011-09-08 2016-03-23 富士ゼロックス株式会社 情報管理装置、プログラム、および情報管理システム
US9911089B2 (en) * 2011-09-16 2018-03-06 Oracle International Corporation Email client with ERP task integration
US9395959B2 (en) 2011-12-09 2016-07-19 Microsoft Technology Licensing, Llc Integrated workflow visualization and editing
US20130152038A1 (en) * 2011-12-09 2013-06-13 Microsoft Corporation Project management workflows
US20130158964A1 (en) * 2011-12-14 2013-06-20 Microsoft Corporation Reusable workflows
US20130166309A1 (en) * 2011-12-22 2013-06-27 Johann Kemmer Business process adaptation techiques
US9208122B2 (en) * 2012-01-17 2015-12-08 Microsoft Technology Licensing, Llc Client application integration for workflows
US9164997B2 (en) * 2012-01-19 2015-10-20 Microsoft Technology Licensing, Llc Recognizing cloud content
US8996472B2 (en) 2012-04-16 2015-03-31 Sap Se Verification of status schemas based on business goal definitions
US8996473B2 (en) 2012-08-06 2015-03-31 Sap Se Checking compatibility of extended and core SAM schemas based on complex goals
JP5910420B2 (ja) * 2012-08-29 2016-04-27 富士通株式会社 管理装置、管理方法およびプログラム
US11144854B1 (en) 2012-09-18 2021-10-12 Taskworld Holdings Pte. Ltd. Digital pinboard system
JP6079171B2 (ja) 2012-11-29 2017-02-15 株式会社リコー 画像形成装置、画像形成方法及びプロセスカートリッジ
US8984394B2 (en) * 2013-01-11 2015-03-17 La Presse, Ltée System and method for generating a digital edition
US10055202B2 (en) * 2013-02-13 2018-08-21 Sandhills Publishing Co. Business process workflow system
US9818078B1 (en) * 2013-03-12 2017-11-14 Amazon Technologies, Inc. Converting a non-workflow program to a workflow program using workflow inferencing
JP6064734B2 (ja) * 2013-03-27 2017-01-25 富士通株式会社 ワークフロー制御プログラム、装置および方法
US20140317590A1 (en) * 2013-04-17 2014-10-23 International Business Machines Corporation Automating the analysis of application lifecycle management data for software developement
CN104969185B (zh) * 2013-04-29 2018-10-12 安提特软件有限责任公司 存储介质、将非结构化事件记录在上下文中的系统和方法
US10417594B2 (en) 2013-05-02 2019-09-17 Sap Se Validation of functional correctness of SAM schemas including action chains
US9262239B2 (en) * 2013-05-10 2016-02-16 Adobe Systems Incorporated User-creatable custom workflows
US20160094414A1 (en) * 2013-05-15 2016-03-31 Client Lifecycle Solutions LLC System, method and computer-implemented algorithm for client lifecycle exchange management
WO2014190011A2 (en) * 2013-05-21 2014-11-27 Citrix Systems, Inc. User-defined workflows in app-based collaborative workspace system
CN104216912B (zh) * 2013-06-04 2017-10-27 广州中国科学院软件应用技术研究所 一种无侵入式的业务表单工作流化的实现方法与装置
US9767138B2 (en) 2013-06-12 2017-09-19 Oracle International Corporation In-database sharded queue for a shared-disk database
US9792349B2 (en) * 2013-06-12 2017-10-17 Oracle International Corporation In-database sharded queue
FR3011661A1 (fr) * 2013-10-04 2015-04-10 Bull Sas Procede de dematerialisation d'une demarche
US20150121386A1 (en) * 2013-10-25 2015-04-30 Sap Ag Indicating status, due date, and urgency for a listed task by a task tracking control
US20150248203A1 (en) * 2014-03-03 2015-09-03 Microsoft Technology Licensing, Llc Portable business logic with branching and gating
US20150262113A1 (en) * 2014-03-11 2015-09-17 Bank Of America Corporation Work status monitoring and reporting
US9977654B2 (en) * 2014-06-20 2018-05-22 Asset, S.r.L. Method of developing an application for execution in a workflow management system and apparatus to assist with generation of an application for execution in a workflow management system
US9646081B1 (en) 2014-06-30 2017-05-09 Open Text Corporation System and method to present a summarized task view in a case management system
WO2016099539A1 (en) * 2014-12-19 2016-06-23 Hewlett Packard Enterprise Development Lp Model-driven architecture for user-centered design
US11023117B2 (en) * 2015-01-07 2021-06-01 Byron Burpulis System and method for monitoring variations in a target web page
US20160232491A1 (en) * 2015-02-09 2016-08-11 Max Nalsky Flexible workflow automation system
US10467050B1 (en) * 2015-04-06 2019-11-05 State Farm Mutual Automobile Insurance Company Automated workflow creation and management
KR101769423B1 (ko) * 2016-11-08 2017-08-22 최재호 대화방 기반의 리마인더 방법 및 장치
US10528327B2 (en) * 2015-11-23 2020-01-07 Microsoft Technology Licensing Llc Workflow development system with ease-of-use features
KR102075384B1 (ko) * 2015-11-27 2020-02-11 한국전자통신연구원 워크플로우 조합 시스템 및 그 방법
US10091123B2 (en) * 2015-12-14 2018-10-02 Bank Of America Corporation System and user interface for coordinating distributed workflow between multiple computing systems
US10331416B2 (en) * 2016-04-28 2019-06-25 Microsoft Technology Licensing, Llc Application with embedded workflow designer
US9996404B2 (en) 2016-09-01 2018-06-12 Oracle International Corporation Message cache management for message queues
US10540217B2 (en) 2016-09-16 2020-01-21 Oracle International Corporation Message cache sizing
US10572317B2 (en) 2016-12-27 2020-02-25 Dropbox, Inc. Collaboration enhanced with kernel event triggers
US20180314548A1 (en) * 2017-04-27 2018-11-01 Microsoft Technology Licensing, Llc Work item management in content management systems
US20180374015A1 (en) * 2017-05-30 2018-12-27 Open Text Sa Ulc Systems and methods of activity flows in lifecycle models
US11550565B1 (en) 2017-07-21 2023-01-10 State Farm Mutual Automobile Insurance Company Method and system for optimizing dynamic user experience applications
US10318285B1 (en) 2017-08-16 2019-06-11 Amazon Technologies, Inc. Deployment of infrastructure in pipelines
US10678614B2 (en) 2017-11-30 2020-06-09 Oracle International Corporation Messages with delayed delivery in an in-database sharded queue
CN109978482A (zh) * 2017-12-27 2019-07-05 华为技术有限公司 工作流处理方法、装置、设备及存储介质
WO2020097522A1 (en) * 2018-11-08 2020-05-14 airSlate Inc. Automated electronic document workflows
US11593802B1 (en) * 2019-06-27 2023-02-28 Domunus Inc. Systems and methods for designing, designating, performing, and completing automated workflows between multiple independent entities
CN110991983B (zh) * 2019-11-05 2023-10-13 泰康保险集团股份有限公司 一种任务处理方法、装置、介质和设备
CN112764652A (zh) * 2021-02-02 2021-05-07 新奥数能科技有限公司 基于工作流引擎的数据存储方法、装置、设备和介质
US11444903B1 (en) * 2021-02-26 2022-09-13 Slack Technologies, Llc Contextual discovery and design of application workflow
CN115712361A (zh) * 2021-08-18 2023-02-24 北京字跳网络技术有限公司 应用程序的数据处理方法、装置、终端和存储介质
CN113687859B (zh) * 2021-08-18 2024-04-19 上海浦东发展银行股份有限公司 一种软件开发的分支管理方法、装置、电子设备及介质
US11947949B2 (en) * 2022-01-25 2024-04-02 Salesforce, Inc. Techniques for data package generation
KR20230116420A (ko) * 2022-01-28 2023-08-04 최현규 스마트태그 기반의 업무처리장치 및 업무처리방법
CN117289951B (zh) * 2023-11-22 2024-04-02 华信咨询设计研究院有限公司 一种基于递归原则的软件系统多应用自动部署方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1479902A (zh) * 2001-10-18 2004-03-03 ���Ͽع����޹�˾ 工作流挖掘系统和方法
CN1545024A (zh) * 2003-11-20 2004-11-10 威盛电子股份有限公司 工作流程管理方法及记录媒体

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6947959B1 (en) * 1992-10-01 2005-09-20 Quark, Inc. Digital media asset management system and process
US5999911A (en) * 1995-06-02 1999-12-07 Mentor Graphics Corporation Method and system for managing workflow
JPH09171529A (ja) * 1995-12-20 1997-06-30 Fujitsu Ltd 動的計画管理装置及び動的計画管理方法
US5960420A (en) * 1996-09-11 1999-09-28 International Business Machines Corporation Systems, methods and computer program products for implementing a workflow engine in database management system
US6430538B1 (en) * 1998-04-30 2002-08-06 Enterworks Workflow management system, method and medium with personal subflows
EP1266334A4 (en) * 2000-03-22 2005-11-30 Webmethods Inc METHOD AND SYSTEM FOR BUSINESS PROCESS DEFINITION AND PERFORMANCE IN THE TOP-DOWN PROCESS
AU2001268365A1 (en) * 2000-06-14 2001-12-24 Verticore Technologies Device and method for organizing and presenting worker tasks in a network-based portal environment
US20020055849A1 (en) * 2000-06-30 2002-05-09 Dimitrios Georgakopoulos Workflow primitives modeling
WO2002019272A1 (en) * 2000-09-01 2002-03-07 Togethersoft Corporation Methods and systems for animating a workflow and a project plan
US7802174B2 (en) * 2000-12-22 2010-09-21 Oracle International Corporation Domain based workflows
US7069536B2 (en) * 2001-06-28 2006-06-27 International Business Machines Corporation Method, system, and program for executing a workflow
AU2002347926A1 (en) * 2001-10-18 2003-04-28 Bea Systems, Inc. System and method for invoking business functionality for a workflow
US7389335B2 (en) * 2001-11-26 2008-06-17 Microsoft Corporation Workflow management based on an integrated view of resource identity
US20030195785A1 (en) * 2002-04-15 2003-10-16 Honeywell Inc. Token based control flow for workflow
US8613102B2 (en) * 2004-03-30 2013-12-17 Intellectual Ventures I Llc Method and system for providing document retention using cryptography
US7653562B2 (en) * 2002-07-31 2010-01-26 Sap Aktiengesellschaft Workflow management architecture
US20040078776A1 (en) * 2002-09-03 2004-04-22 Charles Moon System and method for browser-based arbitration in classification workflows
US7689443B2 (en) * 2002-12-31 2010-03-30 Employers Reinsurance Corporation Methods and structure for insurance industry workflow processing
US7454742B2 (en) * 2003-03-01 2008-11-18 International Business Machines Corporation System and method for automatically starting a document on a workflow process
US7589851B2 (en) * 2003-04-02 2009-09-15 Agfa Graphics Nv System for job control of a document processing system and method for job control of document processing process
CN1826610A (zh) * 2003-05-07 2006-08-30 Sap股份有限公司 包括带协作过程引擎的特设型工作流结构化处理的面向终端用户的工作流方法
US20040260593A1 (en) * 2003-05-20 2004-12-23 Klaus Abraham-Fuchs System and user interface supporting workflow operation improvement
JP2005050318A (ja) * 2003-07-16 2005-02-24 Ricoh Co Ltd ワークフロー管理装置、ワークフロー管理方法、ワークフロー管理プログラム及び記録媒体
US20060069596A1 (en) * 2004-09-29 2006-03-30 Microsoft Corporation Workflow hosting computing system using a collaborative application
US20060069599A1 (en) * 2004-09-29 2006-03-30 Microsoft Corporation Workflow tasks in a collaborative application

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1479902A (zh) * 2001-10-18 2004-03-03 ���Ͽع����޹�˾ 工作流挖掘系统和方法
CN1545024A (zh) * 2003-11-20 2004-11-10 威盛电子股份有限公司 工作流程管理方法及记录媒体

Also Published As

Publication number Publication date
CN1838068A (zh) 2006-09-27
KR20060092816A (ko) 2006-08-23
JP2006099728A (ja) 2006-04-13
EP1650700A2 (en) 2006-04-26
EP1650700A3 (en) 2006-05-17
US20060069605A1 (en) 2006-03-30

Similar Documents

Publication Publication Date Title
CN1838068B (zh) 协作应用程序中的工作流关联
US7890452B2 (en) Methods for enterprise-level data and process access and presentation
Havey Essential business process modeling
US7159206B1 (en) Automated process execution for project management
US7925985B2 (en) Methods and apparatus for process thumbnail view
US8095411B2 (en) Guided procedure framework
US9070104B2 (en) Cross-context task management
US8069437B2 (en) Framework for a composite application and a method of implementing a frame work for a composite application
US7756820B2 (en) Activity browser
US8032635B2 (en) Grid processing in a trading network
US20060069596A1 (en) Workflow hosting computing system using a collaborative application
Hill et al. Beyond predictable workflows: Enhancing productivity in artful business processes
US20140108085A1 (en) Detection and rescheduling of unaddressed topics with the meeting management system
US20130117060A1 (en) System for Collaboration and Meeting Management
US7155700B1 (en) Computer program having an object module and a software project definition module which customize tasks in phases of a project represented by a linked object structure
US20040078373A1 (en) Workflow system and method
US20060107265A1 (en) Method and system to manage tasks
US7174348B1 (en) Computer program having an object module and a software development tool integration module which automatically interlink artifacts generated in different phases of a software project
Chua et al. Integrated production scheduler for construction look-ahead planning
US20070027909A1 (en) Methods and apparatus for comparison of projects
Selmeci et al. Usage of SOA and BPM changes the roles and the way of thinking in development
US7200601B1 (en) Computer-readable medium and data structure for communicating technical architecture standards to vendors
Chen et al. A process-oriented configurable workflow system model for cooperative project management
Pargfrieder Interorganizational Workflow Management: Concepts, Requirements and Approaches
Rom CSCoRE: Computer Science Collaborative Research Environment 2.0

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110622

Termination date: 20140729

EXPY Termination of patent right or utility model