CN101351789A - 多个并发的工作流的持久性方案 - Google Patents
多个并发的工作流的持久性方案 Download PDFInfo
- Publication number
- CN101351789A CN101351789A CNA2006800499808A CN200680049980A CN101351789A CN 101351789 A CN101351789 A CN 101351789A CN A2006800499808 A CNA2006800499808 A CN A2006800499808A CN 200680049980 A CN200680049980 A CN 200680049980A CN 101351789 A CN101351789 A CN 101351789A
- Authority
- CN
- China
- Prior art keywords
- workflow
- persistence
- computer implemented
- service
- implemented method
- 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
Links
- 230000002688 persistence Effects 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 claims abstract description 61
- 238000003860 storage Methods 0.000 claims description 52
- 230000002085 persistent effect Effects 0.000 claims description 31
- 230000009471 action Effects 0.000 claims description 24
- 238000007726 management method Methods 0.000 claims description 14
- 238000013396 workstream Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 4
- 238000011068 loading method Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 abstract description 3
- 230000007246 mechanism Effects 0.000 abstract description 3
- 230000008569 process Effects 0.000 description 22
- 230000000694 effects Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000000875 corresponding effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 239000011800 void material Substances 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer And Data Communications (AREA)
Abstract
通过使用路由持久性服务和关联查找组件提供工作流管理和工作流与多个持久存储的交互的系统和方法。路由持久性服务将每个工作流实例路由到和/或分配给对应的持久存储,并且该关联查找组件管理缓存(诸)工作流实例和多个持久性服务之间的关联。因此,本发明帮助提供一种可扩展和/或可插入的机制,用于并发使用通用的抽象工作流提供者的多个具体实现。
Description
背景
通常,现在企业所采用的所有软件都支持业务流程。有些这样的流程完全依靠应用程序之间的通信,所以是完全自动化的,而其它则依靠人们启动该流程,批准该流程所使用的文档、解决出现的任何例外情形,等等。不管在哪种情况下,定义被称为工作流的一系列离散的步骤是常见的做法,该工作流描述了流程中所涉及的人和软件的活动。一旦定义了这样的工作流,则可围绕该定义建立应用程序以支持业务流程。
换言之,工作流一般是在组织中的信息和控制流。为了有效地竞争,企业不断地努力来定义、记录并精简这样的流程。在一企业环境中,这些流程包括销售和订单处理、采购任务、库存控制和管理、制造和生产控制、发货和验货、应付账款等。
计算机系统和相关联的软件现在提供企业和其它组织可以用于改进他们的工作流的工具。软件工具可以用来对业务工作流流程或进度表建模并标识效率不高的地方和可能的改进。另外,当一流程涉及在人员、部门、车间、或甚至独立的公司之间交换数据时,计算机系统和网络可以用来实现这些交换。这样的系统和软件工具还能够实现通常与业务相关信息相关联的大规模计算和其它数据或信息处理。
因此,工作流管理包括对一组织的业务流程中的信息流动和控制进行有效管理,其中这种信息处理的自动化导致了现代商业界中的许多有效改进。而且,工作流管理的这种自动化现在正允许企业和其他组织通过在包括诸如因特网等全球计算机网络的计算机系统中执行工作流事务来进一步改进绩效。
一个典型的基于工作流的应用程序常常需要满足多个条件。例如,一个这样的条件是基于业务规则作出决策的能力。这可以包括简单规则(例如,就像基于信用检查的结果做出的是或否的决定),以及更复杂的规则(例如,必须对可能的大型标的进行评估以作出初步担保决定)。另外的要求是与工作流外的其它软件和其它系统进行通信。例如,初始请求可以从应用程序的一部分接收到,而其它方面(例如,联系信用服务)可以要求使用其它web服务或技术进行的通信。需要满足的另一条件是工作流与用户的适当交互。例如,工作流应该通常能够自身显示用户界面或通过其它软件与人们交互。此外,另一个需要满足的条件是维护整个工作流生命周期中的状态的能力。因此,对在软件中创建和执行工作流提出了独特的挑战。
例如,某些业务流程可能需要数小时、数天、或数星期来完成,并且在这样的时间长度内维持关于工作流当前状态的信息是高要求的。此外,这样一种长时间运行的工作流还通常被要求以无阻碍方式与其它软件通信,并且异步通信会有困难。与此同时,尽管对软件中的固定交互的建模是相对直接的,但消费者往往会不断要求额外的灵活性,例如在进行中改变业务流程的能力。处理不同的应用程序还会进一步增加工作流创建和管理中所涉及的复杂度。
许多用于工作流工具的应用程序是在企业或组织的内部的。随着具有调制解调器或其它类型的通信链路的联网计算机的到来,在远程位置处的计算系统现在可以彼此方便地通信。这种增强的通信允许在一个公司的远程设备之间使用计算系统工作流应用程序。一个示例可以包括向异地销售办公室转发来自公司总部的一个客户订单以供合适的销售人员来验证并将验证返回给总部。工作流应用程序还可以具有处理不同公司之间的业务往来的特定用途。在一典型的应用中,具有买方-卖方关系的两个公司可能希望自动化生成和处理采购订单、产品运输、帐单和托收等。
例如,针对一个专门问题的应用程序(例如客户关系管理(CRM)或一个例如金融服务的特定纵向市场)可以围绕工作流来构建。这种类型的应用程序通常实现多个不同业务流程。在诸如Windows WorkflowFoundation等常见工作流基础上构建驱动那些流程的逻辑可以使得应用程序能更快地建立、更快地改变、以及更容易定制。此外,这种流程的自动化可以带来本来是不可能的显著的效率上的改进。
然而,这种对工作流技术的公司间应用要求公司之间的合作以及要求各独立公司的现有计算机系统和应用程序的适当接口和适当的持久性服务实现。另外,与这种工作流交互的宿主应用程序通常被强制使用相同的持久性机制。这种方法不提供灵活性,因此当不同的应用程序要求与不同的后端进行交互时,这种方法不可行。
因此,需要克服上述关于常规系统和设备的示例性缺陷。
概述
为了提供对所请求保护的主题的一些方面的基本理解,以下展示了简化的概述。本概述不是详尽的概要。它并非意在确定所请求保护的主题的关键/重要特征,也并非意在对所请求保护的主题的范围进行划界。其唯一目的是以简化的形式作为接下来要被展示的更详细的描述的前序来展示一些概念。
本发明提供通过使用路由持久性服务和关联查找组件来提供工作流管理和工作流与多个持久性服务实现/存储的交互的系统和方法。该路由持久性服务将一工作流类型路由到/分配给一持久存储,其中工作流状态的数据(诸如属性值、当前活动、执行序列、挂起信息、继续时间、元数据、时间戳等)被保存至持久存储中。因此,路由持久性服务将持久性相关的功能整合到工作流的运行时中,其中每个工作流实例能够被注册有一个对应的持久性服务实现。此外,这种路由持久性服务与关联查找组件交互以管理缓存(诸)工作流实例与多个持久性服务实现之间的关联。因此,不管常规工作流运行时只能与一个持久性服务进行交互的这个典型限制,本发明允许多于一个的持久性服务来容纳工作流,和/或与工作流交互。此外,这种系统还能帮助提供一种可扩展和/或可插入的机制,用于通用的抽象工作流提供者的多个具体实现的并发使用。
例如,首先,可注册该路由持久性服务,随后通过与(诸)工作流相关联的宿主服务验证该路由持久性服务。基于工作流提供者的类型,可接着选择期望的持久性服务实现(例如,通过编程和/或配置设置),并创建工作流。接着,可向该工作流赋予一个与诸如内置内存(in-memory)、关系数据存储、XML/文本文件等希望的持久性服务实现相关联的标识,其中不同类型的工作流可被分配到不同的持久存储(和/或与不同的持久存储交互)。
在根据本发明的一个方面的相关的方法中,宿主应用程序可通过首先验证与工作流引擎和/或运行时相关联的路径持久性服务来访问运行中的工作流。随后,基于工作流实例的标识(例如,ID号),对应的持久性服务可通过关联查找组件(例如,表格配置)来调用加载方法和/或调用保存方法。然后,可访问工作流实例(例如,通过宿主应用程序)。
根据本发明的保存工作流实例的另一方面,首先验证与工作流相关联的路由持久性服务。随后,基于工作流实例,生成该工作流实例的工作流状态表示。然后,与该工作流状态表示相关联的数据被存储到一持久状态中。
在相关的方法中,为了加载工作流实例,首先验证路由持久性服务,并提供对对应的持久存储的访问。随后,从该对应的持久状态中获得工作流实例状态表示。然后,该表示被转换成工作流实例,并(例如)提供给宿主应用程序。
根据本发明的又一方面,在持久存储中的工作流实例可向关联查找组件注销。例如,一旦工作流完成,工作流实例标识和路由持久性服务之间的关联被注销(例如,从内置内存表关联中注销)。
通过容纳多个持久存储/与多个持久存储交互,本发明改进了工作流基础模型从而允许不同类型的应用程序与不同的后端通信。例如,当利用该工作流的另一个客户制定的应用程序使用另一个持久性服务实现时,客户关系管理(CRM)可与客户数据库交互。
为了实现上述和有关的目的,此处结合以下描述和附图来描述所请求保护的主题的某些说明性方面。这些方面指示了实现本主题的各个方面,所有这些方面都意在落入所请求保护的主题的范围内。当结合附图考虑时,其它优点和新颖的特征将从以下详细描述的描述中变得明显。
附图简述
图1示出根据本发明的一个方面的具有与多个持久存储交互的路由持久性服务的工作流的示例性系统图示。
图2示出与多个持久性服务实现交互的关联查找组件的框图。
图3示出根据本发明的一个方面的注册/创建新的工作流的方法。
图4示出将路由持久性服务提供者向工作流运行时注册的流程图。
图5示出根据本发明的一个方面的访问运行中的工作流的方法。
图6示出用于加载工作流实例的数据存储交互。
图7示出用于保存工作流实例的数据存储交互。
图8示出根据本发明的一个方面的为完成的工作流注销关联。
图9示出实现本发明的各种方面的示例性环境。
图10是可用来实现具有本发明的路由持久性服务的工作流的另外的计算环境的示意性框图。
详细描述
现在参考附图描述本发明主题的各方面,在所有附图中,相同的标号表示相同或对应的元素。然而,应该理解,附图和与其有关的详细描述并非意在将所请求保护的主题限于所公开的具体形式。相反,本发明意在涵盖落入所请求保护的主题的精神和范围之内的所有修改、等效技术特征/方案以及替换技术特征/方案。
如此处所使用的,术语“组件”、“系统”、“服务”等意指计算机相关的实体,其或者是硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是,但不限于,在处理器上运行的进程、处理器、对象、可执行、执行的线程、程序、和/或计算机。作为说明,在计算机上运行的应用程序和计算机均可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,并且组件可位于一台计算机上和/或分布在两台或更多的计算机之间。
词语“示例性”在此处用来表示作为示例、实例或说明。此处作为“示例性”来描述的任何方面或设计并不必然被理解为相比其它方面或设计是优选或有利的。
此外,所公开的主题可被实现为采用标准编程和/或工程技术来生产软件、固件、硬件或它们的任何组合来控制计算机,或基于处理器的设备以实现此处所详述的各方面的系统、方法、装置或制品。此处使用的术语“计算机程序”意在包含可从任何计算机可读设备、载体或介质中访问的计算机程序。例如,计算机可读介质可包括但不限于磁存储设备(例如,硬盘、软盘、磁带......)、光盘(例如,压缩盘(CD)、数字多功能盘(DVD)......)、智能卡和闪存设备(例如,卡、棒)。另外,应该意识到,可使用载波来承载诸如那些在发送和接收电子邮件或在访问诸如因特网或局域网(LAN)等网络时所使用的计算机可读电子数据。当然,本领域的技术人员将认识到,在不背离所请求保护的主题的范围或精神的情况下可对该配置做出许多修改。
首先转到图1,示出了用于工作流系统100的框图,该系统采用路由持久性服务140来允许工作流与多个持久性服务实现/持久存储141-145(1至n,其中n为整数)的管理和交互。工作流可以对被定义为活动图的人或系统过程建模。一个活动是工作流中的一个动作,并且是工作流的执行、重复使用和组成的单元。活动图表达规则、动作、状态以及它们的关系。通常,工作流通过工作流引擎/运行时110来运行,并且根据如宿主120描述的几个规则,工作流运行时需要外部的应用程序来主宿它。
宿主120通过Workflow Provider Base Class(工作流提供者基类)135与Workflow Provider(工作流提供者)130交互。另外,宿主120可以负责多个另外的且重要的方面,例如一个或多个流程的创建,为正确执行工作流所需要的各组件之间的调用的调度;以及隔离机制的设置。此外,出于可缩放的原因,宿主120可以创建多个进程以便利用机器中的多个中央处理单元(CPU),或在机器农场(farm)上运行大量工作流实例。宿主120还可以控制在工作流经历长时间等待时应用的策略、监听特定的事件并将它们传达给用户或管理员、设置每个工作流的超时时限和重试、展示性能计数器、以及出于调试和诊断目的而写日志信息。
与工作流系统100相关联的工作流可以通过为工作流与外界通信的目的而专门建立的服务来与外界通信,其中该服务可以引发事件,将使得工作流内的事件驱动活动被挂钩(hook up)。同样,该服务展示供工作流调用并向宿主发送数据的公共方法。工作流可定义为(例如)用于在计算机系统内执行的进度表。进度表可包括具有指定的并发性、依赖性以及与其相关联的事务属性的一组动作。每个进度表具有相关联的进度表状态,其包括进度表的定义、在进度表中的当前位置、以及与该进度表相关联的活动或实况数据和对象。在进度表内,事务边界可基于动作的分组而存在。在这个方面,事务可包含单个动作、或事务、或动作或事务的组。如下文进一步描述的,动作可被分组成按串行方式执行的序列,以及其中能并发执行动作的任务。因此,基于分组,并发属性可被分解,以用于进度表内的动作和事务。
通常,工作流在执行时能维护其状态。该状态可包括工作流开发者定义的数据和属性值以及内部的执行状态两者。另外,执行状态可包括当前活动和执行序列,以及任何相关的挂起信息(例如,继续工作流的时间,如果引入延迟挂起的话)。此外,可跟踪与执行序列相关联的元数据(例如,活动执行的时间戳),其中该信息可用于以后对执行的工作流的分析。
通常,所有这些信息应该被保存到某些持久存储141-145中。本发明的工作流系统100可使用工作流提供者130来抽象出底层存储与公共应用程序接口(API)的交互,其中通过(例如)各工作流的名字(由工作流开发者定义)的组合和唯一的标识符来标识工作流。因此,工作流提供者可允许创建工作流的新的实例,根据标识符加载串行化实例,保存工作流实例以及枚举现有的工作流。根据本发明的一个方面,具有多个工作流的应用程序可为不同的工作流实例选择不同的提供者类型/实现。这允许工作流使用(例如)不同的持久性语义或不同的数据库后端。
如图1所示,路由持久性服务140将工作流实例路由到和/或分配给从多个持久存储141-145中选出的一个持久存储。这样,关于工作流状态的数据(例如属性值、当前活动、执行序列、挂起信息、继续时间、元数据、时间戳等)被保存到持久存储中。因此,路由持久性服务140将持久相关的功能整合到工作流的运行时中,其中每个工作流实例能够被注册有一个对应的持久性服务。此外,如下文详细描述的,该路由持久性服务与关联查找组件交互以管理缓存(诸)工作流实例与多个服务实现之间的关联。相应地,不管常规工作流运行时只能与一个持久性服务进行交互的这个典型限制,本发明允许多于一个的持久性服务来容纳工作流,和/或与工作流交互。
以下提供根据本发明的一个特定方面的示例性路由持久性服务(RoutingPersistence Service)提供者。
public class RoutingPersistenceService:StatePersistenceService
{
public static void Register(
Guid workflowInstanceId,
IPersistenceService persistenceService) {}
public static void Unregister(Guid workflowInstanceId){}
public static IPersistenceService GetPersistenceService(
Guid workflowInstanceId){
//--------------- 状态持久性服务(StatePersistenceService)
方法
public override void Save WorkflowInstanceState(
Activity rootActivity,bool unlock)
{
IPersistenceService persistenceService=
GetPersistenceService(
(Guid)rootActivity.GetValue(
WorkflowInstance.WorkflowInstanceIdProperty));
persistenceService.SaveWorkflowInstanceState(rootActivity,
unlock);
}
public override void Unlock WorkflowInstanceState(
Activity rootActivity)
{
IPersistenceService persistenceService=
GetPersistenceService((Guid)
rootActivity.GetValue(
WorkflowInstance.WorkflowInstanceIdProperty));
persistenceService.UnlockWorkflowInstanceState(
rootActivity);
}
public override Activity LoadWorkflowInstanceState(
Guid instanceId)
{
IPersistenceService persistenceService=
GetPersistenceService(instanceId);
return persistenceService.LoadWorkflowInstanceState(
instanceId);
}
public override void SaveCompletedContextActivity(
Activity activity)
{
IPersistenceService persistenceService=
GetPersistenceService((Guid)activity.GetValue(
WorkflowInstance.WorkflowInstanceIdProperty));
persistenceService.SaveCompletedContextActivity(activity);
}
public override Activity LoadCompletedContextActivity(
Guid scopeId,Activity outerActivity)
{
IPersistenceService persistenceService=
GetPersistenceService((Guid)
outerActivity.GetValue(
WorkflowInstance.WorkflowInstanceIdProperty));
return
persistenceService.LoadCompletedContextActivity(
scopeId,outerActivity);
}
现在参考图2,图2示出路由持久性服务210的框图,其中该路由持久性服务210与关联查找组件220交互以管理(诸)缓存工作流和多个持久性服务232-234之间的关联。因此,可向该工作流分配与诸如内置内存、关系数据存储、XML文本文件等相关联的标识,其中各个单独的工作流可被分配到不同的持久存储中(和/或与不同的持久存储交互)。关联查找组件220可接收用于查找工作流实例的与该工作流实例相关联的属性信息(例如,(诸)属性)。查找组件220可包括一个将工作流实例与(诸)持久性服务相关联的查找列表(例如,表格形式)。
查找组件220还获得/使用与工作流实例相关联的信息(例如,数据类型,数据库和/或对象)。该信息可包括,例如,与工作流实例相关联的(诸)属性。至少部分地基于属性信息以及与工作流相关联的信息,查找组件可接着生成一个经配置的查找控件(例如,要求与它们相关联的ID、显示值和元数据)。这样,属性值、当前活动、执行序列、挂起信息、继续时间、元数据、时间戳等可被保存到对应的持久存储230-234中。此外,可基于工作流ID选择持久存储。可向工作流存储提交查询以便基于查询准则寻找匹配的工作流。
根据本发明的一个方面,系统200结合所述元数据的持久性,该元数据是将ID与工作流实例和持久性服务实现相关联所需要的。例如,工作流状态的数据和工作流实例可包括被保存到持久存储中的属性值、当前活动、执行序列、挂起信息、继续时间、元数据、时间戳等。然后,基于工作流提供者类型和工作流实例,可选择期望的持久性服务实现230-234(例如,通过编程和/或通过配置设置、使用标签的页面配置等)并且工作流实例可在其中存留。通过容纳多个持久存储230-234/与多个持久存储230-234交互,改进了工作流基础模型,从而允许不同类型的应用程序与不同后端通信。例如,当利用该工作流的另一个客户制定的应用程序使用另一个持久性服务实现时,客户关系管理(CRM)可与客户数据库交互。
关联查找组件220可通过映射从标识符跟踪到工作流实例来采用依赖关系(例如,从标识符源到目标工作流实例)。例如,可生成层次匹配列表来将标识与工作流实例相对应。这样,映射定义工具可允许以图形方式规定从标识符(源)到工作流实例(目标)的数据转换。
如前面所解释的,关系查找组件220获得与工作流实例相关联的标识信息(例如,数据类型、数据库和/或对象)。信息可包括,例如,与工作流实例相关联的(诸)属性。至少部分地基于该属性信息和与工作流实例相关联的信息,关系查找组件220可连接到相应的持久性服务实现和/或数据存储以获得工作流状态表示230-234。这种工作流状态表示能够之后被转换成工作流实例以作为其返回。
图3示出根据本发明的一个方面的采用持久性服务实现来创建工作流以及注册工作流的示例性流程图300。尽管示例性方法在此处被示出并描述为表示各种事件和/或动作的一系列框,但是本发明不受这种框所示出的顺序的限制。例如,除了此处所示出的顺序之外,某些动作或事件可根据本发明按不同顺序发生和/或与其它动作或事件并发。另外,不是所有示出的框、事件或动作都是实现根据本发明的方法所必需的。此外,将意识到,根据本发明的示例性方法和其它方法可联系此处所示出和描述的方法以及没有示出或描述的其它系统和装置来实现。首先,在310处,验证与工作流系统相关联的路由持久性服务。该路由持久性服务可将工作流实例路由到和/或分配给从多个持久存储中选出的一个持久存储中。因此,与数据流状态有关的数据(诸如属性值、当前活动、执行顺序、挂起信息、继续时间、元数据、时间戳等)被保存到该持久存储中。因此,路由持久性服务将持久性相关的功能整合到工作流的运行时中,其中每个工作流实例能够被注册有一个对应的持久性服务。在320处,基于工作流提供者类型,指定和/或获得持久性服务实现(例如,通过编程和/或通过配置设置)。在330处,可创建工作流并将其与一标识相关联,其中在340处,这种标识在该工作流实例和对应的持久性服务实现间注册。
图4示出根据本发明的一个方面的通过工作流运行时注册路由持久性服务的示例性注册方法400。首先,在410处,通过例如web配置和/或通过编程获得与路由持久性服务有关的信息。然后,在420处,该路由持久性服务可启动与工作流系统相关的操作以创建将工作流实例向持久性服务实现注册/注销的映射(如下文详细描述的)。应该意识到,根据本发明的一个方面,可存在关联的多个实现。例如,根据本发明的一个方面的具有多个工作流的应用程序可为每个工作流类型选择不同的提供者实现。这允许工作流使用不同的持久性语义或不同的数据库后端。在工作流挂起期间,工作流实例可以被串行化至从中可随后检索、解串行化以及恢复工作流实例的数据库或等效的存储中。例如,工作流可以出于多个原因被挂起,例如:活动执行的取消、活动不能继续执行、被引入用来延迟后续执行的特殊延迟、以及要求由不同用户后续执行而进行的用户上下文切换。应该意识到,来自同一个工作流定义(例如,类型/类)的两个工作流实例可具有或使用不同的持久存储。
图5示出根据本发明的一个方面的宿主应用程序通过工作流运行时访问运行的工作流的方法。在510处,宿主应用程序可通过首先验证与工作流引擎和/或运行时相关联的路由持久性服务来访问运行中的工作流。随后,在520处,基于工作流实例的标识(例如,ID号),该对应的持久性服务可通过关联查找组件(例如,表格式配置)来调用加载方法530和/或调用保存方法540。然后,可访问工作流实例(例如,通过宿主应用程序)。通过容纳多个持久存储/与多个持久存储交互,本发明改进了工作流基础模型使其允许不同类型的应用程序。
图6示出根据图5的动作530的加载一个工作流实例的相关方法600。如图6所示,在610处,首先验证路由持久性服务,并且在620处,提供对持久存储的访问,其中在630处,从对应的持久存储中获得工作流实例状态表示。然后,在640处,该表示被转换成工作流实例。接着,向宿主应用程提供该工作流实例,以便对工作流实例进行操控。
类似地,图7示出图5的动作540所示的保存工作流实例的方法700。首先,在710处,验证与该工作流相关联的路由持久性服务,在720处,获得要被保存的工作流。随后,在730处,从工作流实例表示中生成工作流状态。然后,在740处,与该表示有关的数据被保存到数据存储和/或持久性服务实现中。这样,在750处,可引发工作流运行时保存事件,并如以上详细描述的,可访问该工作流实例。
图8示出向关联查找组件注销持久存储中的工作流。例如,当工作流完成时,工作流实例标识和路由持久性服务之间的关联被注销(例如,从内置内存表关系中被注销)。首先,在810处,验证与工作流相关联的路由持久性服务。随后,在820处,检查工作流是否完成。如果完成,在830处,将此事通知宿主。随后,在840处,工作流实例标识和路由持久性服务之间的关联被注销。
为了提供用于所公开的主题的各个方面的应用背景,图9和图10以及下面的讨论意在提供在其中实现所公开的主题的各个方面的合适环境的简单、总体描述。尽管是在运行于一个计算机和/或多个计算机上的计算机程序的计算机可执行指令的总体上下文中描述本主题,但是本领域的技术人员将认识到,还可以结合其它程序模块来实现本发明。一般来说,程序模块包括执行特定任务和/或实现特定抽象数据类型的例程、程序、组件、数据结构等。此外,本领域的技术人员将意识到,本发明方法可用其它计算机系统配置来实现,这些配置包括单处理器或多处理器计算系统、小型计算设备、大型计算机以及个人计算机、手持式计算设备(例如,个人数字助理(PDA)、电话、手表......)、基于微处理器或可编程消费类或工业类电子产品等。所示出的方面还可以在分布式计算环境中实现,在此环境中,任务由通过通信网络而链接的远程处理设备执行。然而,本发明的一些(如果不是所有的)方面可在独立的计算机上实现。在分布式计算环境中,程序模块可以位于本地或远程存储器存储设备中。
参考图9,描述包括计算机912的用于实现本发明的各个方面的示例性环境910。计算机912包括处理单元914、系统存储器916以及系统总线918。系统总线91 8将包括(但不限于)系统存储器916的系统组件耦合到处理单元914。处理单元914可以是各种可用处理器的任一种。双微处理器以及其它多个处理器体系结构也可用作处理单元914。
系统总线918可以是几种类型的总线结构中的任一种,包括采用任何种类的可用总线体系结构的存储器总线或存储器控制器、外围总线或外部总线、和/或局部总线,该可用总线体系结构包括,但不限于,11位总线、工业标准体系结构(ISA)、微通道体系结构(MSA)、扩展型ISA(EISA)、智能驱动器电子电路(IDE)、VESA局部总线(VLB)、外围部件互联(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储器卡国际联合总线(PCMCIA)以及小型计算机系统接口(SCSI)。
系统存储器916包括易失性存储器920和非易失性存储器922。包含用于在计算机912内的元件之间传输信息的基本例程的基本输入/输出系统(BIOS)存储于非易失性存储器922中。作为说明,而不是限制,非易失性存储器922可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器920包括随机存取存储器(RAM)并作为外部高速缓冲存储器。作为说明,而不是限制,RAM以多种形式可得,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链环(Synchlink)DRAM(SLDRAM)以及直接RambusRAM,(DRRAM)等。
计算机912还包括可移动/不可移动、易失性/非易失性计算机存储介质。例如,图9示出盘存储924。盘存储924包括,但不限于,如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡、或记忆棒等设备。另外,盘存储924可以包括与其它存储介质分开或组合的存储介质,其包括,但不限于,诸如光盘ROM设备(CD-ROM)、可记录CD驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)等光盘驱动器。为了方便盘存储设备924与系统总线918的连接,通常采用诸如接口926等可移动或不可移动接口。
应该意识到,图9描述了作为用户与合适的操作环境910中所描述的基本计算机资源之间的中介的软件。这样的软件包括操作系统928。能存储于盘存储924上的操作系统928用来控制并分配计算机系统912的资源。系统应用程序930通过或是存储于系统存储器916或是存储于盘存储924上的程序模块932和程序数据934利用操作系统928对资源的管理。应该意识到,此处描述的各种组件可以与各种操作系统或操作系统的组合一起实现。
用户通过(诸)输入设备936向计算机912输入命令或信息。输入设备936包括,但不限于,诸如鼠标器、跟踪球、指示笔、触摸垫、键盘、话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、TV调频卡、数码照相机、数码摄像机、web摄像头等。这些或其它输入设备经由(诸)接口端口938通过系统总线918连接到处理单元914。(诸)接口端口938包括,例如,串行端口、并行端口、游戏端口以及通用串行总线(USB)。(诸)输出设备940使用与(诸)输入设备936同样类型的端口中的一些端口。因此,例如,可以使用USB端口来向计算机912提供输入并且将计算机912中的信息输出至输出设备940。提供输出适配器942用来表示存在诸如监视器、扬声器、以及打印机等一些输出设备940,在其它输出设备940之中需要专用适配器。作为说明而非限制,输出适配器942包括提供输出设备940与系统总线918之间的连接手段的显卡和声卡。应该注意,其它设备和/或设备的系统(例如(诸)远程计算机944)提供输入和输出能力两者。
计算机912可以采用与如(诸)远程计算机944等一个或多个远程计算机的逻辑连接而在联网环境中操作。(诸)远程计算机944可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或其它常见的网络节点等等,并且通常包括关于计算机912所描述的元件中的许多或所有元件。为了简明起见,对于(诸)远程计算机944只描述了存储器存储设备946。(诸)远程计算机944通过网络接口948与计算机912逻辑连接并且然后通过通信连接950被物理连接。网络接口948包括诸如局域网(LAN)和广域网(WAN)等通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜分布式数据接口(CDDI)、以太网/IEEE802.3、令牌环/IEEE 802.5等。WAN技术包括(但不限于)点对点链路、诸如综合业务数字网络(ISDN)及其变型等电路交换网络、分组交换网络、以及数字用户线(DSL)。
(诸)通信连接950指的是用来将网络接口948与总线918相连接的硬件/软件。尽管通信连接950为了清楚说明起见被示为在计算机912内,但它还可以在计算机912外部。连接到网络接口948所必需的硬件/软件包括(仅出于示例性目的)内部和外部技术,例如,包括常规电话类别调制解调器、电缆调制解调器和DSL调制解调器等调制解调器、ISDN适配器、和以太网卡。
图10是用来实现带有本发明的工作流实现的示例计算环境1000的示意性框图。系统1000包括一个或多个客户机1010。(诸)客户机1010可以是硬件和/或软件(例如,线程、进程、计算设备)。系统1000还包括一个或多个服务器1030。(诸)服务器1030可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器1030可以容纳线程以便通过采用例如此处描述的组件来执行转换。客户机1010与服务器1030之间的一个可能的通信可以采用适用于在两个或多个计算机进程之间传输的数据分组的形式。系统1000包括能用来帮助(诸)客户机1010与(诸)服务器1030之间进行通信的通信框架1050。(诸)客户机1010可操作地连接到能被用来存储(诸)客户机1010本地信息的一个或多个客户机数据存储1060。类似地,(诸)服务器1030可操作地连接到能被用来存储服务器1030本地信息的一个或多个服务器数据存储1040。
以上已描述的包括各种示例性方面。当然,不可能为了描述这些方面而描述每个可以想到的元件或方法的组合,但是本领域的普通技术人员可以认识到可能会有许多进一步的组合与排列。因此,此处所描述的方面意在包括落入所附权利要求的精神和范围内的所有这些更改、修改以及变型。此外,就在详细描述或者权利要求中使用的术语“包括”的意思来说,这个术语意在以当术语“包括”作为权利要求中的过渡词使用时所理解的那种方式表示为“包括在内”。
Claims (20)
1.一种包括以下计算机可执行组件的计算机实现的系统,所述计算机可执行组件包括:
具有路由持久性服务(140)的工作流系统(100),所述路由持久性服务将每个工作流实例路由到对应的持久性服务实现;以及
多个持久性服务实现(141,145),所述路由持久性服务(140)将一工作流类型分配给所述对应的持久性服务实现。
2.如权利要求1所述的计算机实现的系统,其特征在于,所述工作流系统还包括管理缓存工作流实例和持久性服务实现之间的关联的关联查找组件。
3.如权利要求2所述的计算机实现的系统,其特征在于,所述关联查找组件还包括表格式配置。
4.如权利要求2所述的计算机实现的系统,其特征在于,所述关联查找组件还包括工作流标识配置。
5.如权利要求1所述的计算机实现的系统,其特征在于,所述多个持久性服务实现包括数据库、XML/文本文件和内置内存(in-memory)存储中的至少一个。
6.如权利要求1所述的计算机实现的系统,其特征在于,所述计算机可执行组件还包括提供宿主应用程序和持久存储之间的交互的工作流提供者类。
7.如权利要求2所述的计算机实现的系统,其特征在于,所述工作流实例被所述路由持久性服务可注册。
8.如权利要求6所述的计算机实现的系统,其特征在于,所述多个持久性服务实现容纳不同的应用程序。
9.一种包括以下计算机可执行动作的计算机实现的方法,所述计算机可执行动作包括:
将与工作流系统相关联的每个工作流实例通过路由服务提供者分配给对应的持久性服务实现;以及
从所述对应的持久性服务中获得工作流实例。
10.如权利要求9所述的计算机实现的方法,其特征在于,所述动作还包括获得路由注册信息。
11.如权利要求10所述的计算机实现的方法,其特征在于,所述动作还包括验证所述路由服务提供者。
12.如权利要求9所述的计算机实现的方法,其特征在于,所述动作还包括创建工作流实例。
13.如权利要求12所述的计算机实现的方法,其特征在于,所述动作还包括通过一标识注册所述工作流实例和持久性服务实现之间的关联。
14.如权利要求13所述的计算机实现的方法,其特征在于,所述动作还包括从所述持久性服务实现中调用加载和保存方法中的一个。
15.如权利要求14所述的计算机实现的方法,其特征在于,所述动作还包括连接至与所述持久性服务实现相关联的数据存储。
16.如权利要求15所述的计算机实现的方法,其特征在于,所述动作还包括获得工作流状态表示。
17.如权利要求16所述的计算机实现的方法,其特征在于,所述动作还包括将所述工作流状态表示转换成工作流实例。
18.如权利要求17所述的计算机实现的方法,其特征在于,所述动作还包括将所述工作流实例返回给宿主。
19.如权利要求18所述的计算机实现的方法,其特征在于,所述动作还包括调用所述持久性服务实现的保存方法。
20.一种包括以下计算机可执行组件的计算机实现的系统,所述计算机可执行组件包括:
用于将对于多个数据存储的持久性相关的功能整合到工作流的运行时中的装置(140);以及
用于缓存工作流实例和多个持久性服务之间的关联的装置(220)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/321,789 | 2005-12-29 | ||
US11/321,789 US20070156486A1 (en) | 2005-12-29 | 2005-12-29 | Multiple concurrent workflow persistence schemes |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101351789A true CN101351789A (zh) | 2009-01-21 |
Family
ID=38225703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800499808A Pending CN101351789A (zh) | 2005-12-29 | 2006-11-21 | 多个并发的工作流的持久性方案 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20070156486A1 (zh) |
EP (1) | EP1966719A1 (zh) |
JP (1) | JP2009522639A (zh) |
KR (1) | KR20080080349A (zh) |
CN (1) | CN101351789A (zh) |
BR (1) | BRPI0618982A2 (zh) |
RU (1) | RU2008126117A (zh) |
WO (1) | WO2007078461A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521712A (zh) * | 2011-12-27 | 2012-06-27 | 东软集团股份有限公司 | 一种流程实例数据处理方法和装置 |
WO2017008506A1 (zh) * | 2015-07-14 | 2017-01-19 | 华为技术有限公司 | 一种命令处理的方法以及服务器 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8849691B2 (en) | 2005-12-29 | 2014-09-30 | Microsoft Corporation | Modeling user input and interaction in workflow based applications |
US8626557B2 (en) * | 2006-09-26 | 2014-01-07 | International Business Machines Corporation | System and method of providing snapshot to support approval of workflow changes |
CN101286212A (zh) * | 2007-04-12 | 2008-10-15 | 国际商业机器公司 | 业务流程执行方法、业务流程引擎及其部署方法 |
US8078555B2 (en) * | 2007-12-14 | 2011-12-13 | Microsoft Corporation | Decoupling static program data and execution data |
US10169199B2 (en) | 2008-06-10 | 2019-01-01 | Microsoft Technology Licensing, Llc | Automatic model-specific debugger extensions |
US9354847B2 (en) | 2008-12-29 | 2016-05-31 | Microsoft Technology Licensing, Llc | Interface infrastructure for a continuation based runtime |
US8250588B2 (en) | 2009-06-16 | 2012-08-21 | Microsoft Corporation | Persisting application state |
US9535908B2 (en) * | 2009-07-02 | 2017-01-03 | Sharp Laboratories Of America, Inc. | Auto-retrieving to avoid data binding |
US8424009B2 (en) | 2009-12-04 | 2013-04-16 | Microsoft Corporation | Lock resolution for distributed durable instances |
KR20110066520A (ko) * | 2009-12-11 | 2011-06-17 | 한국전자통신연구원 | SaaS 환경에서의 워크플로우 맞춤화 방법 |
US20110179303A1 (en) * | 2010-01-15 | 2011-07-21 | Microsoft Corporation | Persistent application activation and timer notifications |
US8140591B2 (en) * | 2010-01-19 | 2012-03-20 | International Business Machines Corporation | Enabling workflow awareness within a business process management (BPM) system |
US8296780B2 (en) * | 2010-03-23 | 2012-10-23 | Microsoft Corporation | Reducing persistence commands |
US9852382B2 (en) | 2010-05-14 | 2017-12-26 | Oracle International Corporation | Dynamic human workflow task assignment using business rules |
US9741006B2 (en) | 2010-05-14 | 2017-08-22 | Oracle International Corporation | System and method for providing complex access control in workflows |
US9589240B2 (en) * | 2010-05-14 | 2017-03-07 | Oracle International Corporation | System and method for flexible chaining of distinct workflow task instances in a business process execution language workflow |
US8819055B2 (en) | 2010-05-14 | 2014-08-26 | Oracle International Corporation | System and method for logical people groups |
US8522256B2 (en) * | 2010-10-12 | 2013-08-27 | Microsoft Corporation | Hosting non-messaging workflows in a messaging host |
KR20120067889A (ko) * | 2010-12-16 | 2012-06-26 | 한국전자통신연구원 | 멀티 테넌트를 지원하는 워크플로우 처리 시스템 및 그 방법 |
US8862975B2 (en) * | 2011-09-19 | 2014-10-14 | Microsoft Corporation | Web-based workflow service visualization and navigation |
US9536264B2 (en) | 2011-11-14 | 2017-01-03 | Microsoft Technology Licensing, Llc | Host agnostic messaging in a continuation based runtime |
CN103426045B (zh) * | 2012-05-22 | 2016-06-29 | 阿里巴巴集团控股有限公司 | 一种流程虚拟机的流转方法和装置 |
RU2630383C2 (ru) * | 2012-08-27 | 2017-09-07 | Общество с ограниченной ответственностью "Колловэар" | Способ обработки процессов машиной состояний |
CN104036335A (zh) * | 2013-03-04 | 2014-09-10 | 富士通株式会社 | 数据处理方法和数据处理装置 |
US10037197B2 (en) | 2013-03-15 | 2018-07-31 | Oracle International Corporation | Flexible microinstruction system for constructing microprograms which execute tasks, gateways, and events of BPMN models |
CN103778511A (zh) * | 2014-01-27 | 2014-05-07 | 北京荣之联科技股份有限公司 | 跨系统监控流程的方法及装置 |
CN104216785B (zh) * | 2014-08-26 | 2017-10-10 | 烽火通信科技股份有限公司 | 通用策略任务系统及其实现方法 |
Family Cites Families (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US953929A (en) * | 1908-11-28 | 1910-04-05 | Crosse Plow Company | Seeder. |
US5490097A (en) * | 1993-03-22 | 1996-02-06 | Fujitsu Limited | System and method for modeling, analyzing and executing work process plans |
US5634127A (en) * | 1994-11-30 | 1997-05-27 | International Business Machines Corporation | Methods and apparatus for implementing a message driven processor in a client-server environment |
JP2666755B2 (ja) * | 1995-01-11 | 1997-10-22 | 日本電気株式会社 | ワークフローシステム |
US7069451B1 (en) * | 1995-02-13 | 2006-06-27 | Intertrust Technologies Corp. | Systems and methods for secure transaction management and electronic rights protection |
US5999911A (en) * | 1995-06-02 | 1999-12-07 | Mentor Graphics Corporation | Method and system for managing workflow |
US6272672B1 (en) * | 1995-09-06 | 2001-08-07 | Melvin E. Conway | Dataflow processing with events |
DE19705955A1 (de) * | 1996-03-29 | 1997-10-02 | Ibm | Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung |
AU2453797A (en) * | 1996-04-10 | 1997-10-29 | Paul M. Konnersman | Computer-based system for work processes that consist of interdependent decisions involving one or more participants |
JPH10105623A (ja) * | 1996-09-27 | 1998-04-24 | Hitachi Ltd | 階層型ワークフロー管理方法及びワークフロー書類回覧方法 |
US6041306A (en) * | 1996-12-05 | 2000-03-21 | Hewlett-Packard Company | System and method for performing flexible workflow process execution in a distributed workflow management system |
JPH10207939A (ja) * | 1997-01-17 | 1998-08-07 | Nec Corp | ワークフローシステム |
EP0854431A3 (en) * | 1997-01-20 | 2001-03-07 | International Business Machines Corporation | Events as activities in process models of workflow management systems |
US6047260A (en) * | 1997-06-05 | 2000-04-04 | Attention Control Systems, Inc. | Intelligent planning and calendaring system with cueing feature and floating tasks |
US5960404A (en) * | 1997-08-28 | 1999-09-28 | International Business Machines Corp. | Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation |
US5999910A (en) * | 1997-10-06 | 1999-12-07 | Fmr Corp. | Processing a workflow item |
US6339838B1 (en) * | 1998-01-02 | 2002-01-15 | At&T Corp. | Control of commercial processes |
US6230197B1 (en) * | 1998-09-11 | 2001-05-08 | Genesys Telecommunications Laboratories, Inc. | Method and apparatus for rules-based storage and retrieval of multimedia interactions within a communication center |
JPH11306244A (ja) * | 1998-04-16 | 1999-11-05 | Hitachi Ltd | ワーク管理システム |
US6134559A (en) * | 1998-04-27 | 2000-10-17 | Oracle Corporation | Uniform object model having methods and additional features for integrating objects defined by different foreign object type systems into a single type system |
US6430538B1 (en) * | 1998-04-30 | 2002-08-06 | Enterworks | Workflow management system, method and medium with personal subflows |
US6397191B1 (en) * | 1998-06-05 | 2002-05-28 | I2 Technologies Us, Inc. | Object-oriented workflow for multi-enterprise collaboration |
US6442528B1 (en) * | 1998-06-05 | 2002-08-27 | I2 Technologies Us, Inc. | Exemplar workflow used in the design and deployment of a workflow for multi-enterprise collaboration |
US6282531B1 (en) * | 1998-06-12 | 2001-08-28 | Cognimed, Llc | System for managing applied knowledge and workflow in multiple dimensions and contexts |
WO2000014618A2 (en) * | 1998-08-24 | 2000-03-16 | Fujitsu Limited | Workflow system and method |
US6772407B1 (en) * | 1998-10-02 | 2004-08-03 | International Business Machines Corporation | Staging objects in workflow management systems |
US6820118B1 (en) * | 1999-01-20 | 2004-11-16 | International Business Machines Corporation | Method and system for providing a linkage between systems management systems and applications |
DE10003015A1 (de) * | 1999-02-06 | 2000-08-17 | Ibm | Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen |
US6499023B1 (en) * | 1999-02-19 | 2002-12-24 | Lucent Technologies Inc. | Data item evaluation based on the combination of multiple factors |
US6473794B1 (en) * | 1999-05-27 | 2002-10-29 | Accenture Llp | System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework |
US6434568B1 (en) * | 1999-08-31 | 2002-08-13 | Accenture Llp | Information services patterns in a netcentric environment |
US6539396B1 (en) * | 1999-08-31 | 2003-03-25 | Accenture Llp | Multi-object identifier system and method for information service pattern environment |
US6769113B1 (en) * | 1999-10-08 | 2004-07-27 | International Business Machines Corporation | Enterprise process models and enterprise application for information technologies |
US6968503B1 (en) * | 2000-03-09 | 2005-11-22 | Quovadx, Inc. | XML user interface for a workflow server |
US7503033B2 (en) * | 2000-04-28 | 2009-03-10 | Microsoft Corporation | Model for business workflow processes |
US6772216B1 (en) * | 2000-05-19 | 2004-08-03 | Sun Microsystems, Inc. | Interaction protocol for managing cross company processes among network-distributed applications |
US6922685B2 (en) * | 2000-05-22 | 2005-07-26 | Mci, Inc. | Method and system for managing partitioned data resources |
JP2001356907A (ja) * | 2000-06-09 | 2001-12-26 | Ibm Japan Ltd | 処理コード情報を有するデータベース・システムおよび情報処理システム |
US7219304B1 (en) * | 2000-06-19 | 2007-05-15 | International Business Machines Corporation | System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform |
US6854016B1 (en) * | 2000-06-19 | 2005-02-08 | International Business Machines Corporation | System and method for a web based trust model governing delivery of services and programs |
US6859217B2 (en) * | 2000-07-19 | 2005-02-22 | Microsoft Corporation | System and method to display and manage data within hierarchies and polyarchies of information |
US20020038450A1 (en) * | 2000-08-03 | 2002-03-28 | International Business Machines Corporation | Method and system to run stored procedures as workflow activity implementations |
AU2001286848A1 (en) * | 2000-08-28 | 2002-03-13 | Michael D. Harold | System and method for transmitting and retrieving data via a distributed persistence framework |
US20020188597A1 (en) * | 2000-09-01 | 2002-12-12 | Jonathan Kern | Methods and systems for linking tasks to workflow |
US7653566B2 (en) * | 2000-11-30 | 2010-01-26 | Handysoft Global Corporation | Systems and methods for automating a process of business decision making and workflow |
US6801227B2 (en) * | 2001-01-16 | 2004-10-05 | Siemens Medical Solutions Health Services Inc. | System and user interface supporting user navigation and concurrent application operation |
US6675133B2 (en) * | 2001-03-05 | 2004-01-06 | Ncs Pearsons, Inc. | Pre-data-collection applications test processing system |
US6966049B2 (en) * | 2001-04-24 | 2005-11-15 | Heuristics Physics Laboratories, Inc. | Software development tool employing workflows for developing user interactive programs |
US6941514B2 (en) * | 2001-04-30 | 2005-09-06 | Bellsouth Intellectual Property Corporation | System and method for priority-based work order scheduling |
US6983421B1 (en) * | 2001-06-22 | 2006-01-03 | I2 Technologies Us, Inc. | Using connectors to automatically update graphical user interface elements at a client system according to an updated state of a configuration |
US7100147B2 (en) * | 2001-06-28 | 2006-08-29 | International Business Machines Corporation | Method, system, and program for generating a workflow |
US7069536B2 (en) * | 2001-06-28 | 2006-06-27 | International Business Machines Corporation | Method, system, and program for executing a workflow |
US20030023622A1 (en) * | 2001-07-27 | 2003-01-30 | Liaison Technology, Inc. | Manual activity persistence in content management workflow systems |
WO2003015000A1 (en) * | 2001-08-08 | 2003-02-20 | Trivium Systems Inc. | Workflow engine for automating business processes in scalable multiprocessor computer platforms |
US20030078975A1 (en) * | 2001-10-09 | 2003-04-24 | Norman Ken Ouchi | File based workflow system and methods |
US20030090514A1 (en) * | 2001-10-23 | 2003-05-15 | Cole Douglas J. | Business process user interface generation system and method |
US7370335B1 (en) * | 2001-11-29 | 2008-05-06 | Vignette Corporation | System and method for providing a public application program interface |
US20030171961A1 (en) * | 2002-03-06 | 2003-09-11 | International Business Machines Corporation | System and method for dynamically routing an object through an organization's workflow system |
US7865867B2 (en) * | 2002-03-08 | 2011-01-04 | Agile Software Corporation | System and method for managing and monitoring multiple workflows |
US7149747B1 (en) * | 2002-06-27 | 2006-12-12 | Siebel Systems, Inc. | Dynamic generation of user interface components |
AU2003262702A1 (en) * | 2002-08-23 | 2004-03-11 | Jway Group, Inc. | Extensible user interface (xui) framework and development environment |
US20040078105A1 (en) * | 2002-09-03 | 2004-04-22 | Charles Moon | System and method for workflow process management |
US7729935B2 (en) * | 2002-10-23 | 2010-06-01 | David Theiler | Method and apparatus for managing workflow |
US20040103014A1 (en) * | 2002-11-25 | 2004-05-27 | Teegan Hugh A. | System and method for composing and constraining automated workflow |
US7272820B2 (en) * | 2002-12-12 | 2007-09-18 | Extrapoles Pty Limited | Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity |
US7171664B2 (en) * | 2002-12-16 | 2007-01-30 | International Business Machines Corporation | Content management system and method of employing extensible workflow entities with user-defined attributes in an object-oriented framework |
US7711694B2 (en) * | 2002-12-23 | 2010-05-04 | Sap Ag | System and methods for user-customizable enterprise workflow management |
US7409674B2 (en) * | 2002-12-26 | 2008-08-05 | Research In Motion Limited | System and method of creating and communicating with component based wireless applications |
US20040162741A1 (en) * | 2003-02-07 | 2004-08-19 | David Flaxer | Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference |
US6839062B2 (en) * | 2003-02-24 | 2005-01-04 | Microsoft Corporation | Usage semantics |
US20050044173A1 (en) * | 2003-02-28 | 2005-02-24 | Olander Daryl B. | System and method for implementing business processes in a portal |
US20050005259A1 (en) * | 2003-03-14 | 2005-01-06 | Infowave Software, Inc. | System and method for communication and mapping of business objects between mobile client devices and a plurality of backend systems |
US7876705B2 (en) * | 2003-06-25 | 2011-01-25 | Schlumberger Technology Corporation | Method and apparatus and program storage device for generating a workflow in response to a user objective and generating software modules in response to the workflow and executing the software modules to produce a product |
JP2005050318A (ja) * | 2003-07-16 | 2005-02-24 | Ricoh Co Ltd | ワークフロー管理装置、ワークフロー管理方法、ワークフロー管理プログラム及び記録媒体 |
US7831693B2 (en) * | 2003-08-18 | 2010-11-09 | Oracle America, Inc. | Structured methodology and design patterns for web services |
CA2443454A1 (en) * | 2003-09-11 | 2005-03-11 | Teamplate Inc. | Data binding method in workflow system |
US20050096959A1 (en) * | 2003-10-31 | 2005-05-05 | Microsoft Corporation | Rule engine method and system |
US7698383B2 (en) * | 2004-02-27 | 2010-04-13 | Research In Motion Limited | System and method for building component applications using metadata defined mapping between message and data domains |
US20050203757A1 (en) * | 2004-03-11 | 2005-09-15 | Hui Lei | System and method for pervasive enablement of business processes |
US7881233B2 (en) * | 2004-09-01 | 2011-02-01 | Cisco Technology, Inc. | Techniques for planning a conference using location data |
US20060069596A1 (en) * | 2004-09-29 | 2006-03-30 | Microsoft Corporation | Workflow hosting computing system using a collaborative application |
US7506001B2 (en) * | 2006-11-01 | 2009-03-17 | I3Solutions | Enterprise proposal management system |
US20100324948A1 (en) * | 2009-06-18 | 2010-12-23 | Microsoft Corporation | Managing event timelines |
-
2005
- 2005-12-29 US US11/321,789 patent/US20070156486A1/en not_active Abandoned
-
2006
- 2006-11-21 RU RU2008126117/09A patent/RU2008126117A/ru not_active Application Discontinuation
- 2006-11-21 JP JP2008548518A patent/JP2009522639A/ja not_active Withdrawn
- 2006-11-21 BR BRPI0618982-2A patent/BRPI0618982A2/pt not_active Application Discontinuation
- 2006-11-21 WO PCT/US2006/045309 patent/WO2007078461A1/en active Application Filing
- 2006-11-21 KR KR1020087015770A patent/KR20080080349A/ko not_active Application Discontinuation
- 2006-11-21 EP EP06838333A patent/EP1966719A1/en not_active Withdrawn
- 2006-11-21 CN CNA2006800499808A patent/CN101351789A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521712A (zh) * | 2011-12-27 | 2012-06-27 | 东软集团股份有限公司 | 一种流程实例数据处理方法和装置 |
CN102521712B (zh) * | 2011-12-27 | 2015-09-23 | 东软集团股份有限公司 | 一种流程实例数据处理方法和装置 |
WO2017008506A1 (zh) * | 2015-07-14 | 2017-01-19 | 华为技术有限公司 | 一种命令处理的方法以及服务器 |
US11294934B2 (en) | 2015-07-14 | 2022-04-05 | Huawei Technologies Co., Ltd. | Command processing method and server |
Also Published As
Publication number | Publication date |
---|---|
BRPI0618982A2 (pt) | 2011-09-20 |
EP1966719A1 (en) | 2008-09-10 |
RU2008126117A (ru) | 2010-01-10 |
JP2009522639A (ja) | 2009-06-11 |
KR20080080349A (ko) | 2008-09-03 |
US20070156486A1 (en) | 2007-07-05 |
WO2007078461A1 (en) | 2007-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101351789A (zh) | 多个并发的工作流的持久性方案 | |
CN101317153B (zh) | 用于对象化工作流和管理行为的意图的系统和方法 | |
CN101346713B (zh) | 在基于工作流的应用程序中对用户输入和交互建模 | |
CN101356522B (zh) | 终端用户对工作流进行动态重新定位的计算机实现的系统 | |
Demirkan et al. | Leveraging the capabilities of service-oriented decision support systems: Putting analytics and big data in cloud | |
US20180018708A1 (en) | Holographic Technology Implemented Retail Solutions | |
US9021392B2 (en) | Managing extension projects with repository based tagging | |
US8340995B2 (en) | Method and system of using artifacts to identify elements of a component business model | |
US20030009507A1 (en) | System and method for application performance management | |
US20030144858A1 (en) | Method and apparatus for providing intelligent and controlled access to supply chain information | |
Hofmann | ERP is dead, long live ERP | |
US20030135384A1 (en) | Workflow process method and system for iterative and dynamic command generation and dynamic task execution sequencing including external command generator and dynamic task execution sequencer | |
US20060195781A1 (en) | Integrating computer applications using groupware products | |
Gupta et al. | Enterprise resource planning: a case of a blood bank | |
JP2008511936A (ja) | データ・システムにおける意味識別のための方法およびシステム | |
Liang et al. | Service pattern discovery of web service mining in web service registry-repository | |
Kimball | The evolving role of the enterprise data warehouse in the era of big data analytics | |
CN104318375A (zh) | 一种小型超市商品信息管理系统 | |
Thoben et al. | Designing Information and Communication Structures for Concurrent Engineering-Findings from the Application of a Formal Method | |
Tien et al. | Toward service systems engineering | |
Shrivastava et al. | CORO-LABs: Complexity Reduction of Layered Approach in Codifying Business Solutions Using Tuxedo | |
Howard | Big data analytics with Hadoop and Sybase IQ | |
Aziz et al. | A survey of big workflow | |
Mai et al. | An investigation of discovering business processes from operational databases | |
Jana | An investigation into Indian apparel and textile supply chain networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090121 |