通过提供对实际工作流实例的访问的访问组件来对象化工作流和管理行为的意图的系统和方法。本发明专利技术允许定义自定义特征以用于运行时的交互。例如,自定义特征(例如,强类型工作流)可包括一种或多种方法、一个或多个事件、一个或多个特性、一接口等等。因此,工作流可被展示为对象类型或类,其中新成员可被添加并且工作流可被扩展。
【技术实现步骤摘要】
【国外来华专利技术】工作流上的对象模型 背景通常,现在企业所采用的所有软件都支持业务流程。有些这样的流程仅依 靠应用程序之间的通信,是完全自动化的,而其它则依靠人们启动该流程,批 准该流程所使用的文档、解决出现的任何例外情形,等等。不管在哪种情况下, 指定被称为工作流的一系列离散的步骤是常见的做法,该工作流描述了流程中 所涉及的人和软件的活动。 一旦定义了这样的工作流,则可围绕该定义建立应 用程序以支持业务流程。换言之,工作流通常是在这种组织中的信息和控制流。为了有效地竞争, 企业不断努力定义、记录并精简这样的流程。在企业环境中,这些流程包括销 售和订单处理、采购任务、库存控制和管理、制造和生产控制、发货和验货、 应付账款等。计算机系统和相关联的软件现在提供企业和其它组织可以用于改进他们 的工作流的工具。软件工具可以用来对业务工作流流程或进度表建模并标识效 率不高的地方和可能的改进。另外,当一流程涉及在人员、部门、车间、或甚 至独立的公司之间交换数据时,计算机系统和网络可以用来实现这些交换。这 样的系统和软件工具还能够实现通常与业务相关信息相关联的大规模计算和 其它数据或信息处理。因此,工作流管理包括对一组织的业务流程中的信息流动和控制进行有效 管理,其中这种信息处理的自动化导致了现代商业界中的许多有效改进。而且, 工作流管理的这种自动化现在正允许企业和其他组织通过在包括诸如因特网 等全球计算机网络的计算机系统中执行工作流事务来进一步改进绩效。一个典型的基于工作流的应用程序常常需要满足多个条件。例如, 一个这 样的条件是基于业务规则作出决策的能力。这可以包括简单规则(例如,就像 基于信用检查的结果做出的是或否的决定),以及更复杂的规则(例如,必须 对可能的大型标的进行评估以作出初步担保决定)。另外的要求是与工作流外的其它软件和其它系统进行通信。例如,初始请求可以从应用程序的一部分接收到,而其它方面(例如,联系信用服务)可以要求使用其它Web服务或技术进行的通信。需要满足的另一条件是工作流与用户的适当交互。例如,工作 流应该通常能够显示用户界面本身或通过其它软件与人们交互。此外,另一个 需要满足的条件是维持整个工作流生命周期中的状态的能力。因此,对在软件 中创建和执行工作流提出了独特的挑战。例如,某些业务流程可能需要数小时、数天、或数星期来完成,并且在这 样的时间长度内维持关于工作流当前状态的信息是高要求的。此外,这样一种 长时间运行的工作流还通常将以非阻断方式与其它软件通信,并且异步通信会 有困难。与此同时,尽管对软件中的固定交互的建模是相对直接的,但消费者 往往会不断要求额外的灵活性,例如在进行中改变业务流程的能力。处理不同 的应用程序还会进一步增加工作流创建和管理中所涉及的复杂度。许多用于工作流工具的应用程序是在企业或组织的内部的。随着具有调制 解调器或其它类型的通信链路的联网计算机的到来,在远程位置处的计算系统 现在可以彼此方便地通信。这种增强的通信允许在一个公司的远程设备之间使 用计算系统工作流应用程序。 一个示例可以包括向异地销售办公室转发来自公 司总部的一个客户订单以供合适的销售人员来验证并将验证返回给总部。工作 流应用程序还可以具有处理不同公司之间的业务往来的特定用途。在一典型的 应用中,具有买方一卖方关系的两个公司可能希望自动化对采购订单、产品运 输、帐单和托收的生成和处理。例如,针对一个专门问题的应用程序(例如客户关系管理(CRM)或一个 例如金融服务的特定垂直市场)可以围绕工作流来构建。这种类型的应用程序 通常实现多个不同业务流程。在诸如Windows Workflow Foundation等常见的 工作流基础上构建驱动那些流程的逻辑可以使得应用程序能更快地建立、更快 地改变、以及更容易定制。此外,这种流程的自动化可以带来本来是不可能的 显著的效率上的改进。然而,这种对工作流技术的公司间应用需要公司之间的 合作以及单个公司的现有计算机系统和应用程序的适当接口和适当的持久服务实现。到目前为止,已开发的工作流应用程序工具通过定义工作流进度表来提供自动化业务工作流的某些能力。然而,进一步建立在问题空间(企业/流程域) 内找到的以及那些在解决方案中所采用的(实际工作流模型/定义)对象之间的更高程度的同构的能力是烦累的,并且仍然被认为是对高质量软件的重要要求。因此,需要克服与常规系统和设备相关联的上述示例性缺陷。概述以下展示了简化的概述,以便提供对所请求保护的主题的某些方面的基本 理解。本概述并不是详尽的概要。它并非意在确定所请求保护的主题的关键/ 重要特征,也并非意在对所请求保护的主题的范围进行划界。其唯一目的是以 简化的形式作为接下来要被展示的更详细的描述的前序来展示一些概念。本专利技术提供通过提供对工作流实例的宿主访问的访问组件(例如,GetWorkflow〈workflow〉方法)来对象化工作流和管理行为的意图的系统和方 法,其中可定义自定义特征以用于运行时的交互。这种自定义特征(例如,强 类型工作流)可包括一个或多个特性、 一种或多种方法、 一个或多个事件、一 接口等。而且,本专利技术提供正从工作流定义中创建的工作流实例,并且通常不 是围绕该实际工作流实例对象的代理、外表、包装。由此,实际的工作流实例 可直接被访问。所以,工作流可被展示为对象类型或类,其中新成员可被添加 并且该工作流可被扩展。这提供了灵活性并且允许用户与自定义特性交互。在一相关方面,自定义方法和特性可在宿主与工作流实例之间的数据交换 期间被调用。宿主可与工作流示例进行交互以将自定义行为与工作流类相关 联。例如,宿主可订阅自定义事件以访问这种工作流实例,并且将工作流作为 对象来操控。可通过编程和/或通过可视工具来定义各种类型的工作流。根据本专利技术的方法,可从基本工作流定义中定义具有自定义特性、自定义 方法、自定义事件等的新的工作流定义。此外,宿主应用程序能通过与工作流 实例相关联的标识来向工作流提供者请求工作流实例。这种标识唯一地标识了 工作流的实例并且可通过编程来生成或者由宿主应用程序分配/访问。工作流提 供者可生成/返回工作流的一个实例,并且用户可以通过调用诸如特性、方法、 事件等类成员来与该实例交互。随后,当完成这种交互时,该工作流实例可被保存。为了实现上述以及相关的目的,此处结合以下的描述以及附图来描述所请 求保护的主题的某些说明性方面。这些方面指示了可实践本主题的各种方式, 所有这些方面意在落入所请求保护的主题的范围内。当结合附图考虑时,其它 优点和新颖的特征将从以下的详细描述中变得明显。附图简述图l示出用于为工作流定义自定义特征的通过访问组件与工作流交互的宿 主应用程序的示例性系统图示。图2示出在基本工作流定义之上构建的自定义特征。 图3示出宿主应用程序与工作流实例交互的框图,其中可在基类之上构建 自定义特征。图4示出采用具有自定义特性的工作流类型的示例性方法。 图5示出根据本专利技术的一个特定方面的各进程之间的信息流动的示例性序 列图示。图6示出保存工作流实例的示例性方法。 图7示出加载工作流实例的示例性方法。图8示出根据本专利技术的一个示例性方面的宿主与工作流之间的数据交换的 又一个方法。图9示出用于实现本专利技术的各方面的示本文档来自技高网...
【技术保护点】
一种包括以下计算机可执行组件的计算机实现的系统,所述组件包括:向宿主(110)提供对工作流实例的访问的访问组件(120);以及在与所述工作流实例的数据交换期间调用自定义特征的所述宿主(110)。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:A萨纳布里阿,C米哈,N科塔里,I西勒罗,M哈德,PE梅比,
申请(专利权)人:微软公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。