管理和优化计算机应用间的工作流的制作方法

文档序号:6361189阅读:103来源:国知局
专利名称:管理和优化计算机应用间的工作流的制作方法
技术领域
本发明涉及应用开发和集成平台。更具体地说,本发明涉及管理中间件和计算机应用之间的工作流的方法和系统。
背景技术
业务或组织进程是按照规定方式发生并且导致组织目标的步骤或工作流的集合。组织进程的步骤可由应用服务器系统或者由用户执行。存在以下三种组件,以支持组织进程;1)定义-使组织分析者或开发者能够定义或修改组织进程工作流或步骤;2)执行-使开发者或系统分析者能够开始或启动应用进程引擎,或者工作流或组织进程步骤的系统执行;3)监控-提供哪些进程和步骤已被执行以及它们的性能的认识。考虑到应用开发的面向服务架构(SOA)范例,许多应用系统(Rhapsody,FileNet,Siebel,Curam等)提供定义、执行和在一些情况下监控在这样的应用系统内创建的工作流的能力。特定于特定应用系统或者应用系统的组件的工作流被称为微工作流。另外,诸如IBM WebSphere进程服务器或Oracle业务进程管理之类的业务进程管理(BPM)软件能够通过相对于各种应用系统的web服务,实现步骤或工作流的和谐结合(orchestration)。这种和谐结合能够实现各种应用系统之间的处理和数据的集成。跨越多个应用系统的工作流被称为宏工作流。典型的SOA应用既执行宏工作流,又执行微工作流,以实现特定功能或目的。一般存在支持这些SOA环境的工作流的定义、执行和监控,并且所述定义、执行和监控是利用各种应用服务器系统以及中间件软件进行的。目前,不存在可用于在宏观层面和微观层面,定义和精心设计工作流,并把这些工作流输出给第三方应用服务器进程引擎的单一中间件平台。例如,现有的应用系统要求在由特定厂家提供的多个工具上限定各种定义。类似地,没有跨各个应用服务器,监控工作流的步骤的运行时工作。不能使单个平台跨各个应用系统定义、执行和监控工作流会造成限制。开发者不得不学习多种工作流工具,并以各种工具创建和维护这些工作流定义。对于执行来说,需要使多种工作流引擎可以用来执行适合于其应用服务器环境的步骤。为了监控当前系统,分析者或开发者需要使用各种应用服务器工具驱动、调试和监控工作流以及工作流内的各个步骤的执行。于是,需要一种向分析者或开发者提供创建和维护宏工作流定义和微工作流定义的集中场所的单一设计平台或单一中间件系统。US2006008524公开了一种管理团队和任务的方法。除了团队和任务的管理之外,使用团队空间使合作者和独立软件厂家能够建立基于协作的行业特有解决方案。在这方面,团队协作工具可提供企业内解决方案以及企业间解决方案,使得企业的雇员能够相互交互。US20070143736公开了一种图形工作流编辑系统,该系统把公共工作流任务封装到独立组件中,在设计时,以工作流图直观地表示所述独立组件。这是借助系统提供的API实现的,所述API使每个工具能够独立于所有其它工具。平台易于接受第三方和/或消费者提供的组件,而不破坏公共代码库。这使消费者可以具有捕捉/接受他们的操作所需的不同类型的信息、定义它们的业务进程和把信息传送给他们选择的接收目的地。

发明内容
按照本发明的一个方面,一种管理计算机应用之间的工作流的中间件系统包括公共构造单元和工作流输出单元。公共构造单元取回中间件系统的宏工作流的工作流组件和第一个计算机应用的微工作流组件之间的映射。公共构造单元执行宏工作流,所述宏工作流和谐结合第一个计算机应用和第二个计算机应用的微工作流。工作流输出单元产生使公共构造单元能够执行对第一个或第二个计算机应用和谐结合微工作流的宏工作流的输出。按照本发明的另一个方面,一种计算机实现的管理计算机应用之间的工作流的方法包括取回中间件系统的宏工作流组件和第一个计算机应用的微工作流组件之间的映射,其中宏工作流能够和谐结合第一个计算机应用和第二个计算机应用的微工作流;产生使中间件系统的公共构造单元能够对第一个或第二个计算机应用执行和谐结合微工作流的宏工作流的输出。按照本发明的另一个方面,提供一种管理计算机应用之间的工作流的计算机程序产品。该计算机程序产品包括保存在计算机可读存储介质上的计算机程序指令。当所述指令被执行时,计算机将执行所述方法的各个步骤。从第一方面看,本发明提供一种管理计算机应用之间的工作流的中间件系统,所述系统包括公共构造单元,用于取回中间件系统的宏工作流组件和第一个计算机应用的微工作流组件之间的映射,和执行所述宏工作流,其中所述宏工作流能够和谐结合第一个计算机应用和第二个计算机应用的微工作流;和工作流输出单元,用于产生使公共构造单元能够对第一个计算机应用或第二个计算机应用执行宏工作流的输出。优选地,本发明提供一种系统,其中产生输出是利用以下操作执行的参考所述映射;取回与中间件系统的宏工作流组件对应的第一个计算机应用的微工作流组件;和利用取回的第一个计算机应用的微工作流组件产生所述输出。优选地,本发明提供一种系统,其中第一个计算机应用的微工作流组件和中间件系统的宏工作流组件选自包含业务对象和函数调用的组。优选地,本发明提供一种系统,其中所述输出选自包含标准语言文件、专有语言文件、文本文件和API调用的组。优选地,本发明提供一种系统,其中第一个计算机应用和/或第二个计算机应用是中间件计算机应用。优选地,本发明提供一种系统,其中所述公共构造单元包含服务管理器组件,用于测试中间件系统和第一个或第二个计算机应用之间的现有的连接,或者创建中间件系统和第一个或第二个计算机应用之间的新的连接,其中现有的或者新的连接使中间件系统能够取回或应用产生的输出。优选地,本发明提供一种还包含执行单元的系统,所述执行单元用于对第一个或第二个计算机应用执行宏工作流,其中所述执行单元可选地包含引擎状态单元,所述引擎状态单元用于取回第一个或第二个计算机应用的应用软件环境的状态。优选地,本发明提供一种还包括监控宏工作流的执行的监控单元的系统,其中所述监控单元包括获得宏工作流的执行状态的警报引擎。优选地,本发明提供一种系统,其中通过从警报引擎的公共监控文件夹取回所述输出,然后解析所述输出,从而生成有关与中间件系统的宏工作流对应的微工作流组件的运行时信息,来完成获取宏工作流的执行状态。优选地,本发明提供一种其中警报引擎还显示生成的运行时信息的系统。从另一方面看,本发明提供一种管理计算机应用之间的工作流的方法,所述方法包括取回中间件系统的宏工作流组件和第一个计算机应用的微工作流组件之间的映射,其中所述宏工作流能够和谐结合第一个计算机应用和第二个计算机应用的微工作流;和产生使中间件系统的公共构造单元能够对第一个计算机应用或第二个计算机应用执行宏工作流的输出。优选地,本发明提供一种方法,其中产生输出包括参考所述映射;取回与中间件系统的宏工作流组件对应的第一个计算机应用的微工作流组件;和利用取回的第一个计算机应用的微工作流组件产生所述输出。优选地,本发明提供一种方法,其中第一个计算机应用的微工作流组件和中间件系统的宏工作流组件选自包含业务对象和函数调用的组。优选地,本发明提供一种方法,其中所述输出选自包含标准语言文件、专有语言文件、文本文件和API调用的组。优选地,本发明提供一种方法,其中第一个计算机应用和/或第二个计算机应用是中间件系统。优选地,本发明提供一种还包括以下步骤的方法测试中间件系统和第一个或第二个计算机应用之间的现有的连接,或者创建中间件系统和第一个或第二个计算机应用之间的新的连接,其中现有的或者新的连接使中间件系统能够取回或应用产生的输出。优选地,本发明提供一种还包括对第一个或第二个计算机应用执行宏工作流或微工作流的方法。优选地,本发明提供一种还包括以下步骤的方法取回第一个或第二个计算机应用的应用软件环境的状态;和可选地获得与宏工作流对应的微工作流的执行状态。优选地,本发明提供一种方法,其中获得与宏工作流对应的微工作流的执行状态包括从中间件系统的公共监控文件夹取回所述输出;和解析所述输出,从而生成有关与中间件系统的宏工作流对应的微工作流组件的运行时信息。优选地,本发明提供一种还包括显示生成的运行时信息的方法。从另一个方面看,本发明提供一种管理计算机应用之间的工作流的计算机程序产品,所述计算机程序产品包含执行以下步骤的计算机程序指令取回中间件系统的宏工作流组件和第一个计算机应用的微工作流组件之间的映射,其中所述宏工作流能够和谐结合第一个计算机应用和第二个计算机应用的微工作流;和产生使中间件系统的公共构造单元能够对第一个计算机应用或第二个计算机应用执行宏工作流的输出,其中所述计算机程序指令保存在计算机可读存储介质上。
优选地,本发明提供一种按照权利要求所述的计算机程序产品,其中产生输出是利用以下操作执行的参考所述映射;取回与中间件系统的宏工作流组件对应的第一个计算机应用的微工作流组件;和利用取回的第一个计算机应用的微工作流组件产生所述输出。优选地,本发明提供一种计算机程序产品,其中所述计算机程序指令还执行测试中间件系统和第一个或第二个计算机应用之间的现有的连接,或者创建中间件系统和第一个或第二个计算机应用之间的新的连接的步骤,其中现有的或者新的连接使中间件系统能够取回或应用产生的输出。优选地,本发明提供一种计算机程序产品,其中所述计算机程序指令还进行对第一个或第二个计算机应用执行宏工作流的步骤。优选地,本发明提供一种计算机程序产品,其中所述计算机程序指令还执行以下步骤取回第一个或第二个计算机应用的应用软件环境的状态;和可选地获得宏工作流的执行状态。


现在参考附图,举例说明本发明的优选实施例,附图中图1是图解说明按照本发明的优选实施例,管理计算机应用之间的工作流的中间件系统的方框图;图2是按照本发明的优选实施例,图解说明中间件系统的细节的方框图;图3A是按照本发明的优选实施例,图解说明中间件系统的公共构造单元的方框图;图3B是按照本发明的优选实施例,图解说明中间件系统的工作流输出单元如何与计算机应用交互,并利用保存在数据库中的信息产生输出的例子的方框图;图4是按照本发明的优选实施例,图解说明中间件系统的执行单元的方框图;图5是按照本发明的优选实施例,图解说明中间件系统的监控单元的方框图;图6是按照本发明的优选实施例,图解说明管理计算机应用之间的工作流的计算机实现方法的流程图;以及图7是图解说明其中可以实现本发明的优选实施例的例证计算系统的方框图。
具体实施例方式易于理解除了说明的优选实施例之外,可以按照各种不同的结构安排和设计如在这里概述和在附图中例示的本发明的实施例。从而,如附图中表示的本发明的实施例的以下详细说明并不意图限制要求保护的本发明的范围,相反仅仅代表本发明的选择的优选实施例。下面的说明只是作为例子,图解说明这里要求保护的本发明的一些选择的优选实施例。按照本发明的一个实施例,提供一种管理计算机应用之间的工作流的中间件系统。参见图1,方框解说明管理计算机应用200之间的工作流的中间件系统100。单一中间件系统100为用户提供创建和维护宏工作流定义和微工作流定义的集中场所。如上所述,微工作流是将由计算机应用200执行的一个步骤或一系列步骤,而宏工作流是能够实现中间件系统100和计算机应用200之间的连接的一个步骤或一系列步骤。微工作流的例子可以是发送电子邮件,而宏工作流的例子可以是产生报告,这可涉及利用某个计算机应用发送电子邮件,利用再一个计算机应用取回电子邮件,和利用另一个不同的计算机应用打印电子邮件的内容。工作流可以和适当的工作流组件,比如业务对象或函数调用一起被输出,于是使得可供中间件服务器利用。计算机应用200可以是例如第三方应用,比如SAP、Siebel,Oracle等,或者它也可以是另一个中间件系统。中间件系统100能够动态改变工作流组件,从而和谐结合微工作流处理。这提供从中间件系统宏工作流容易地修改由宏工作流中间件系统利用的那些微工作流和应用系统的能力。例如,对于文件管理系统来说,可以使内容管理与FileNet交换。对于CRM系统来说,可以使Siebel与SAP交换。规则引擎可被包含为中间件系统100的一部分,以便能够实现规则的智能执行,从而选择适当的微工作流应用系统。通过利用XML或其它工作流语言,外部规则或者各个计算机应用200的规则可被用于设定策略、使宏或微工作流变为不同的运行时、和动态改变整个宏工作流。下面详细说明中间件系统100输出工作流,并以各个计算机应用200的具体应用服务器软件环境为目标的能力。中间件系统100包括公共构造单元和工作流输出单元。参见图2,方框解说明包括公共构造单元120和工作流输出单元130的中间件系统100的细节。在系统100从第一个计算机应用201接收执行工作流210的请求之后,工作流输出单元130确定哪几个工作流组件211-1,211-2,.. ·,211-n用于工作流210。这种确定可通过参考工作流组件211作出,工作流组件211可保存在数据库300中。另外,可以提供关于工作流210是如何构成的用户或其它外部输入。公共构造单元120取回中间件系统100的宏工作流600的组件161和第一个计算机应用201的微工作流210的组件211-1,211-2,...,211-n之间的映射301。如上所述,工作流组件的例子可以是业务对象或函数调用。宏工作流600能够和谐结合第一个计算机应用201和可连接到中间件系统100的任何其它计算机应用,比如图2中所示的第二个计算机应用202的微工作流。如果连接了多个计算机应用,那么系统100还可从这些其它计算机应用接收执行工作流的请求。业务对象是与实际组织或业务中的事务对应的代码构造。它封装与所述事务相关的逻辑以及所述逻辑所需的数据。业务对象还可包括元数据,即,描述、定义、组成所述事务,由所述事务包含,和/或与所述事务关联的信息。业务对象的例子可以是客户,客户的联系信息,客户服务代表,或者业务电话号码。函数调用是对执行特定任务的代码或者一部分代码的调用。函数调用的例子可以是对发送电子邮件或者把文件发送给打印机的调用。中间件系统100和第一个计算机应用201可支持不同的应用类型,即,每个应用可取回或识别输入和/或以不同语言或格式产生输出。另外,如果多个计算机应用连接到中间件系统和/或第一个计算机应用,比如第二个计算机应用202,那么第二个计算机应用202也可支持不同于中间件系统和/或第一个计算机应用201的应用类型。因而,在一个计算机应用或中间件系统的工作流组件和另一个计算机应用的工作流组件之间进行映射。所述映射可以是1:1,1:N或者N:1映射。下表中示出了例证的映射表I
权利要求
1.一种管理计算机应用之间的工作流的方法,所述方法包括取回中间件系统的宏工作流组件和第一个计算机应用的微工作流组件之间的映射,其中所述宏工作流能够和谐结合第一个计算机应用和第二个计算机应用的微工作流;和产生使中间件系统的公共构造单元能够对第一个计算机应用或第二个计算机应用执行宏工作流的输出。
2.按照权利要求1所述的方法,其中产生输出包括以下步骤参考所述映射;取回与中间件系统的宏工作流组件对应的第一个计算机应用的微工作流组件;和利用取回的第一个计算机应用的微工作流组件产生所述输出。
3.按照任意前述权利要求所述的方法,其中第一个计算机应用的微工作流组件和中间件系统的宏工作流组件选自包含业务对象和函数调用的组。
4.按照权利要求1所述的方法,其中所述输出选自包含标准语言文件、专有语言文件、 文本文件和API调用的组。
5.按照任意前述权利要求所述的方法,其中第一个计算机应用和/或第二个计算机应用是中间件系统。
6.按照权利要求1所述的方法,还包括测试中间件系统和第一个或第二个计算机应用之间的现有的连接,或者创建中间件系统和第一个或第二个计算机应用之间的新的连接,其中现有的或者新的连接使中间件系统能够取回或应用产生的输出。
7.按照权利要求1所述的方法,还包括对第一个或第二个计算机应用执行所述宏工作流或微工作流。
8.按照权利要求7所述的方法,还包括取回第一个或第二个计算机应用的应用软件环境的状态;和可选地获得与宏工作流对应的微工作流的执行状态。
9.按照权利要求8所述的方法,其中获得与宏工作流对应的微工作流的执行状态包括以下步骤从中间件系统的公共监控文件夹取回所述输出;和解析所述输出,从而生成有关与中间件系统的宏工作流对应的微工作流组件的运行时信息。
10.按照权利要求9所述的方法,还包括显示生成的运行时信息。
11.一种管理计算机应用之间的工作流的中间件系统,所述系统包括公共构造单元,用于取回中间件系统的宏工作流组件和第一个计算机应用的微工作流组件之间的映射,和执行所述宏工作流,其中所述宏工作流能够和谐结合第一个计算机应用和第二个计算机应用的微工作流;和工作流输出单元,用于产生使公共构造单元能够对第一个计算机应用或第二个计算机应用执行宏工作流的输出。
12.按照权利要求11所述的系统,其中产生输出是利用以下操作执行的参考所述映射;取回与中间件系统的宏工作流组件对应的第一个计算机应用的微工作流组件;和利用取回的第一个计算机应用的微工作流组件产生所述输出。
13.按照权利要求11所述的系统,其中第一个计算机应用的微工作流组件和中间件系统的宏工作流组件选自包含业务对象和函数调用的组。
14.按照权利要求11所述的系统,其中所述输出选自包含标准语言文件、专有语言文件、文本文件和API调用的组。
15.按照权利要求11所述的系统,其中第一个计算机应用和/或第二个计算机应用是中间件计算机应用。
16.按照权利要求11所述的系统,其中所述公共构造单元包含服务管理器组件,用于测试中间件系统和第一个或第二个计算机应用之间的现有的连接,或者创建中间件系统和第一个或第二个计算机应用之间的新的连接,其中现有的或者新的连接使中间件系统能够取回或应用产生的输出。
17.按照权利要求11所述的系统,还包括执行单元,所述执行单元用于对第一个或第二个计算机应用执行宏工作流,其中所述执行单元可选地包含引擎状态单元,所述引擎状态单元用于取回第一个或第二个计算机应用的应用软件环境的状态。
18.按照权利要求17所述的系统,还包括监控宏工作流的执行的监控单元,其中所述监控单元包括获得宏工作流的执行状态的警报引擎。
19.按照权利要求18所述的系统,其中通过从警报引擎的公共监控文件夹取回所述输出,然后解析所述输出,从而生成有关与中间件系统的宏工作流对应的微工作流组件的运行时信息,来完成获取宏工作流的执行状态。
20.按照权利要求19所述的系统,其中警报引擎还显示生成的运行时信息。
21.一种包含计算机程序代码的计算机程序,当被载入计算机系统并被执行时,所述计算机程序代码执行按照权利要求1-10任意之一所述的方法的所有步骤。
全文摘要
本发明涉及管理和优化计算机应用间的工作流。一种管理计算机应用之间的工作流的中间件系统、方法和产品。所述中间件系统包括公共构造单元和工作流输出单元。公共构造单元(i)取回中间件系统的宏工作流组件和第一个计算机应用的微工作流组件之间的映射,和(ii)执行宏工作流,所述宏工作流和谐结合第一个计算机应用和第二个计算机应用的微工作流。工作流输出单元产生使第二个计算机应用能够执行与第一个计算机应用的工作流对应的工作流的输出。
文档编号G06Q10/06GK103003830SQ201180035288
公开日2013年3月27日 申请日期2011年7月19日 优先权日2010年7月20日
发明者S·马塞, R·弗洛里斯, C·N·基文斯 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1