CN101116095A - 将数据管理操作集成到工作流系统中 - Google Patents

将数据管理操作集成到工作流系统中 Download PDF

Info

Publication number
CN101116095A
CN101116095A CNA200680004574XA CN200680004574A CN101116095A CN 101116095 A CN101116095 A CN 101116095A CN A200680004574X A CNA200680004574X A CN A200680004574XA CN 200680004574 A CN200680004574 A CN 200680004574A CN 101116095 A CN101116095 A CN 101116095A
Authority
CN
China
Prior art keywords
data management
workflow
business process
activity
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA200680004574XA
Other languages
English (en)
Inventor
迈克·格拉塞尔特
马赛厄斯·科洛普曼
艾伯特·梅尔
奥利弗·苏里
马赛厄斯·塔斯查夫勒
查尔斯·D.·沃尔夫森
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101116095A publication Critical patent/CN101116095A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Abstract

提供了用于处理工作流的技术。接收包括一个或多个数据管理活动的工作流。从所述工作流生成包括对所述一个或多个数据管理活动的描述的工作流描述。从所述工作流描述生成一个或多个数据管理操作。针对一个或多个数据管理系统,执行所述一个或多个数据管理操作。

Description

将数据管理操作集成到工作流系统中
技术领域
本发明的实施例涉及将数据管理操作集成到工作流系统中。
背景技术
工作流管理系统(WFMS)支持业务进程的模型化和执行,也可以称为“工作流系统”。业务进程指定工件网络中的哪个工件以什么顺序执行以及利用哪些资源来执行工件。单个工件可以在通过某种网络连接起来的多个不同的计算机系统上分布。
诸如产品IBMMQSeriesWorkflow(IBM公司推出的)之类的强大而先进的工作流管理系统支持将业务进程模型化为由活动组成的网络。使用定向的、非循环的、加权的彩色图作为元模型,构建此由活动组成的网络,进程模型。图形中的节点代表活动,这些活动定义将要执行的单个任务。任何其他元模型,如分层的元模型,也可以用于构建进程模型。一般而言,每一个活动都与为该活动实现合适的任务的一段代码关联。图形的边缘,控制链路,描述了执行活动的潜在的顺序。控制链路被表示为箭头;箭头描述了控制流在进程中移动的方向。
控制链路在其中启动的活动叫做“源活动”,而控制链路在其中结束的活动叫做“目标活动”。对于不同的控制链路,活动可以是源活动和目标活动。没有传入的控制链路的活动叫做“启动活动”,因为它们启动了进程。没有传出的控制链路的活动叫做“结束活动”,因为在它们完成之后进程结束。活动可以是启动活动,也可以是结束活动。具有多个传出的控制链路的活动叫做“分岔活动”;而具有多个控制链路的活动叫做“联合活动”。
有不同的工作流语言可用,业务进程执行语言(BPEL)就是一个这样的工作流语言。BPEL可以被描述为基于XML的语言,该语言可以使用Web服务的组合,对于分布式计算环境,进行任务共享。术语“BPEL”有时也用来指语言的其他版本,如,Web服务的业务进程执行语言(BPEL4WS)或BPELWS。BPEL也可以被描述为用于描述和设计业务进程活动的标准。WebSphere业务集成(WBI)产品(IBM公司推出的)提供了用于设计和执行基于BPEL的业务进程的实施方式。WBI的组件叫做WebSphereProcessChoreographer(WPC)工作流系统。
术语“Web”用来指World Wide Web,它可以被描述为一组支持以超文本标记语言(HTML)格式化的文档的因特网服务器。Web服务(也称为“应用程序服务”)可以被描述为Web服务器所提供的服务,Web服务器通常由连接到Web的程序进行调用。
<}0{>BPEL4WS定义用于基于Web服务指定业务进程行为的表示法。<0}(Business Process Execution Language for Web ServicesSpecification,版本1.1,2003年5月5日,下面简称为“BPEL4WS规范”)BPEL4WS规范表示,业务进程可以被描述为可执行的业务进程,这些进程模型化业务交互中的参与者的实际行为,或描述为业务协议,这些协议使用进程描述,这些描述指定参与协议的每一方的相互可见的消息交换行为,而不暴露它们的内部行为。
根据BPEL4WS规范,BPEL4WS提供了业务进程和业务交互协议的形式说明语言,并定义可互操作集成模型,该模型有助于在公司内部和企业到企业空间中的自动进程集成的扩展。此外,BPEL4WS规范也定义受支持的活动。
在常规工作流系统中,从工作流系统内对数据管理系统进行访问不必要地复杂化。常规工作流系统提供下列方法中的一个或两个:
1.数据管理操作必须以传统的编程语言进行编码,例如,通过编写一些JavaTM代码并利用由数据管理系统所提供的应用程序编程接口(API)。(Java以及所有基于Java的商标和微标是SunMicrosystems,Inc.公司在美国,其他国家或两者的商标。)
2.必须通过Web服务提供数据管理操作。
WPC工作流系统,例如,支持两种方法。WPC工作流系统允许通过Java代码来实现进程活动,并允许使用Web服务作为进程活动。
当使用第一方法时,WPC用户必须对Java活动进行编码。除了有关结构化查询语言(SQL)和Java数据库连接(JDBC)API的知识之外,用户还必须具有Java开发知识,Java数据库连接(JDBC)API可使用户从Java环境内发出SQL语句。SQL语句本身构成单行代码。然而,通过JDBC发出SQL语句(一种“查询”),从WPC工作流系统变量中获取输入参数,向查询中馈送输入参数,并将查询的结果写入到WPC工作流系统变量中,需要编写大量的代码,并需要大量时间来进行编码。
当使用第二种方法时,WPC工作流系统用户必须对SQL语句进行编码,并将SQL语句包装到Web服务中。可能需要许多步骤和不同的产品才能实现这一点。无论用户如何构建Web服务,都还可能需要向业务进程中添加两个另外的活动(“分配”活动),以给Web服务提供所需要的输入并处理结果。
两种方法对用户来说都比较麻烦,尽管访问数据管理系统是业务进程的典型的活动。
此外,诸如由BPEL代表的那些工作流,表达了处理活动的序列。最常见的情况是,这些活动一次对单一数据记录进行操作。然而,在越来越多的情况下,优选情况下,对记录集合(也称为“集合”)进行操作,而不是一次对一个记录进行操作。此模式类似于在数据仓储应用程序中使用的提取转换负载(ETL)模式,以对数据进行处理。利用ETL,从数据库中检索(“提取”)一组记录,对它们进行处理(“转换”),以及将它们加载到数据库中。
如此,使用工作流引擎来将一些面向集合的操作与面向记录的操作混合是有用的。最常见的是,这些集合活动实际上是对来自一个或多个数据源(例如,关系数据库)的信息进行处理。例如,作为数据库查询的一部分,活动可以从一个或多个数据源检索信息或更新信息。在常规工作流系统中,为执行这样的活动的序列,工作流引擎通常必须实体化整个数据集(即,从一个或多个数据源检索所有信息),通过复制数据,将此数据集传递到另一个活动,该活动进行其处理,并将数据集传递到再一个活动等等。如此,复制整个数据集,并在数据活动之间传递。由于性能原因,通过复制传递大型集合是不可接受的,因为效率不高,难以发展。
常规的业务进程运行时系统在设计和执行数据管理操作方面具有一些弱点。例如,常规的业务进程运行时系统假设静态环境,其中,在运行业务进程之前,数据管理活动应该针对的集合(例如,表)是已知的(即,在设计时或者在部署时指定它们)。
虽然对于某些应用程序,假设静态数据管理环境是可以接受的,但是,这样的假设可能不适用于动态的按需的应用情况,在这种情况下,选择相关的数据可能取决于,例如,服务级别协议。在按需的应用情况下,可能有其中数据以不同的服务质量特征冗余地存储在多个位置的数据管理环境。按需应用可能需要为不同的用户选择不同的数据源,具体情况取决于与相应的用户签定的服务级别协议。选择数据源可能取决于,例如,访问时间、相应的数据源的可用性和/或时效性特征。
如此,许多按需应用将受益于直接允许延迟有关在运行时使用哪些数据源的判断的工作流系统。
发明内容
提供了用于处理工作流的方法、计算机程序,以及系统。接收包括一个或多个数据管理活动的工作流。从工作流生成包括对一个或多个数据管理活动的描述的工作流描述。从工作流描述生成一个或多个数据管理操作。针对一个或多个数据管理系统,执行一个或多个数据管理操作。
优选情况下,提供了将数据管理操作集成到工作流系统中的解决方案。
附图说明
现在将参考下面的附图,只作为示例,对本发明的实施例进行描述:
图1显示了其中可以实现某些实施例的计算机体系结构的细节。
图2显示了用于将数据管理操作集成到根据某些实施例的工作流系统中的逻辑。
图3显示了由根据某些实施例的工作流设计时系统所提供的显示器。
图4显示了根据某些实施例的数据源定义向导。
图5显示了根据某些实施例的“Add or Edit anInputSetReference”屏幕。
图6A、6B和6C提供了根据某些实施例的工作流的示例伪代码。
图7显示了由根据某些实施例的工作流设计时系统所提供的显示器。
图8显示了根据某些实施例的结果集引用定义向导。
图9A、9B、9C、9D和9E提供了根据某些实施例的工作流的示例伪代码。
图10显示了可以根据某些实施例使用的计算机系统的体系结构。
类似的附图标记代表对应的部分。
具体实施方式
在下面的描述中,将参考附图,附图构成了本发明的一部分,并显示了本发明的多个实施例。应该理解,在不偏离本发明的范围的情况下,可以利用其他实施例,也可以进行结构性的和操作更改。
图1显示了其中可以实现某些实施例的工作流系统100的细节。计算设备110包括工作流设计时系统120,用于允许用户创建工作流的图形表示(例如,图3的310)。工作流设计时系统120包括工作流描述编辑器122,该编辑器从工作流的图形表示生成工作流描述130。工作流描述130被路由到包括工作流运行时系统150的计算设备140。工作流运行时系统150能够执行工作流描述130。工作流运行时系统150包括数据管理操作支持组件152,该组件用来对集成到工作流描述130中的数据管理操作进行处理。数据管理操作被提交到一个或多个数据管理系统160a...160n(其中,省略号表示,除数据管理系统160a和160n之外,还可以有任意数量的数据管理系统)。数据管理系统160a...160n可以描述为提供对数据的访问的计算设备(例如,服务器计算机)。
术语“活动”是指工作流的“节点”(例如,图3的CheckItemInStock 320),而术语“操作”是指对数据管理系统160a...160n执行的语句(即,其中输入的参数和输入的集合引用已经被对应的值替代的语句)。活动的执行可能涉及多个操作。
图2显示了用于将数据管理操作集成到根据某些实施例的工作流系统中的逻辑。控制从方框200开始,工作流设计时系统120接收用户已经创建了包括由实施例所提供的一个或多个数据管理活动的工作流(也简称为“控制流”)的指示,具体来说,实施例提供了新的数据管理活动的组,作为对工作流语言(例如,BPEL)的扩展。数据管理活动允许从工作流系统内对数据管理系统160a...160n(例如,关系数据库系统)进行访问和管理。
数据管理活动可以对集合进行操作,为实现这一点,实施例提供了具有生命周期属性的集合引用。如此,数据管理活动可以包括具有生命周期属性的集合引用。集合引用可以被描述为指向驻留在数据管理系统(而不是在业务进程中)的一组数据的指示器(例如,指针)。集合引用包含对数据管理系统进行访问和管理对应的集合所需的信息。通过使用集合引用,实施例避免了在活动之间传递大型的信息集合。此外,实施例通过允许用户选择生命周期属性,为集合提供了生命周期管理支持,属性确定,例如,集合在多长时间内可用,以及何时将丢弃集合。
数据管理活动包括,例如,结构化查询语言(SQL)活动、实体化活动,以及系统命令活动。SQL活动的示例包括:select、select into、call、insert、update、delete、merge、values、values into,以及数据定义语言(DDL)操作。DDL操作包括,例如,create、alter、drop、refresh、revoke、grant,以及set。实体化活动使集合引用的内容对工作流系统可用(例如,作为XML文档)。系统命令活动的示例包括:启动数据管理系统、停止数据管理系统,备份,恢复,重新组织,以及runstats。
另外,实施例还提供了扩展性机制,该机制可使用户添加新的活动类型。此外,每一种活动类型也可以映射到数据管理系统的一个或多个操作。例如,新活动可以是“从远程系统加载数据”,此新活动的执行导致产生在数据管理系统中执行的多个操作(例如,多个创建操作,接下来是选择操作)。
此外,实施例可使业务进程变量用作数据管理活动的输入和/或输出参数。业务进程变量可以被描述为工作流语言变量(例如,BPEL变量)。
此外,实施例允许进行数据源定义,这些定义可以允许在运行时选择数据源。
现有的工作流语言不包括这样的数据管理操作,集合引用、或集合引用的生命周期管理。此外,现有的工作流语言没有提供作为活动的参数的业务进程变量的扩展用法,如实施例所提供的那样(即,现有的工作流语言常常对使用业务进程变量具有限制,例如,BPEL中的Web服务活动只能以单个变量作为输入,以单个变量作为输出)。此外,现有的工作流语言也不允许在运行时进行数据源选择。
通过提供新的数据管理活动并允许创建另外的活动,实施例将数据管理操作集成到工作流系统中,以便轻松地调用数据管理操作,并允许在数据管理系统和工作流系统之间以集合的形式共享信息。
此外,通过扩展工作流语言以包括数据管理活动,并提供引用了数据集的集合引用而无需实体化数据,实施例可以实现单个工作流内的面向记录的和面向集合的活动的混合。此外,实施例允许数据管理活动被“内嵌地”指定为工作流描述的一部分(例如,作为工作流描述内的SQL语句)。
返回到图2,在方框202中,工作流描述编辑器122自动地从工作流生成工作流描述。工作流描述包括对一个或多个数据管理活动的描述。如果选择,工作流描述还包括任何集合引用的描述,以及它们的生命周期属性,被用作输入和/或输出参数的业务进程变量,以及数据源定义。
在方框204中,工作流运行时系统150从工作流描述自动地生成一个或多个数据管理操作(例如,一个或多个SQL查询)。在方框206中,工作流运行时系统150针对一个或多个数据管理系统160a...160n执行一个或多个数据管理操作。在某些实施例中,向单个数据管理系统160a...160n提交活动,而取决于附属于活动的数据源定义,可以针对不同的数据管理系统160a...160n执行不同的数据管理操作。在方框208中,将查询的结果返回到工作流运行时系统150。
仅仅为加强对本发明的理解,这里的示例可以指将SQL操作集成到基于BPEL的工作流系统中。在某些实施例中,SQL操作被集成到WebSphereProcess Choreographer(WPC)工作流系统中。
可以扩展实施例的技术,以涵盖其他的数据管理操作类型及其他集合和数据管理系统类型(例如,XML数据库系统和内容管理系统)。此外,技术也可以被扩展到XQuery(这是可扩展标记语言(XML)查询语言)和存储在XML数据库系统中的XML文档的集合,以及可以被扩展到内容访问和操纵操作和存储在文档管理系统中的文档的集合。对于工作流系统,也可以将实施例的技术扩展到其他不基于BPEL的面向服务的工作流系统。即,实施例的技术可以与任何工作流语言一起使用(例如,表单定义标记语言(FDML)或XLANG(来自微软公司的规范))。
图3显示了由根据某些实施例的工作流设计时系统120提供的显示器。用户能够创建工作流310的图形表示。在图3中,工作流310包括“CheckItemInStock”数据管理活动320,该活动检查库存中的给定商品是否可用。在工作流310中,如果库存中没有商品,这是利用过渡条件检查的,则调用Web服务,以订购新的商品。如果商品没有库存,则工作流310返回Web服务的输出,或商品有库存,则返回默认值。
窗格330显示了使用工作流设计时系统120构建的SQL语句,该工作流设计时系统120允许用户直接指定SQL语句,SQL语句是工作流描述130的一部分。ItemCount和itemid链接分别指向输入/输出参数,而这些参数链接到业务进程变量。ItemTable链接指向输入的集合引用。当用户选择(例如,点击)这些链接时,工作流设计时系统120的实施例提供了向导,以分别更新参数或集合引用。可以通过选择“新建”按钮340,创建新的参数和集合引用。即,可以将新的参数和集合引用(例如,输入/输出集合引用)映射到业务进程变量(例如,BPEL变量和/或属性)。此外,variable=DataSourcepart=myDataSource语句表示,SQL语句的数据源由业务进程变量“DataSource”的“myDataSource”部分来标识。
为指定要由“CheckItemInStock”数据管理活动320使用的特定数据源,用户选择“CheckItemInStock”数据管理活动320,并选择“定义数据源按钮”,这会导致“数据源定义向导”400被显示出来(图4)。然后,用户可以提供数据源类型410(例如,通过指定到业务进程变量或业务进程变量430的一部分的映射)。用户也可以内嵌地提供数据源定义。如此,通过将数据源映射到业务进程变量(例如,BPEL变量)或业务进程变量的一部分(例如,BPEL变量的一部分),可以指定SQL活动的数据源。
此外,实施例还允许将输入的集合引用映射到业务进程变量(例如,BPEL变量)或业务进程变量的一部分(例如,BPEL变量的一部分)。图5显示了根据某些实施例的“添加或编辑InputSetReference”屏幕500,该屏幕允许映射到业务进程变量和部分520。为指定要由“CheckItemInStock”数据管理活动320使用的输入的集合引用和生命周期属性,用户选择“CheckItemInStock”数据管理活动320,并选择“新建”按钮340,这就会导致显示出“添加或编辑InputSetReference”屏幕500。在设置的“添加或编辑InputSetReference”屏幕500中,用户识别业务进程变量和部分520并识别生命周期属性,如是否需要清理510以及应该在哪一个时间点执行清理。
通过在工作流描述中使用内嵌SQL来指定“CheckItemInStock”数据管理活动。下面的示例伪代码A显示了“CheckItemInStock”数据管理活动的工作流描述。
伪代码A
<invoke name=″CheckItemInStock″operation=″null″partnerLink=″null″
portType=″wpc:null″wpc:displayName=″CheckItemInStock″wpc:id=″6″>
      <dataManagementActivity xsi:type=″tDataManagementActivity″>
            <statement xsi:type=″tSqlStatement″>
                   <dataSource part=″myDataSource″variable=″DataSource″/>
                   <body>
                        SELECT count(*)INTO
                        <parameter kind=″out″property=″myint″
                                   variable=″ItemCount″/>
                        FROM
                        <setReference cleanup=″no″part=″mySetReference″
                                preparation=″no″variable=″SetReference″
/>
                        WHERE itemid=
                        <parameter kind=″in″property=″itemid″
                                   variable=″InputVariable″/>
                   </body>
             </statement>
      </dataManagementActivity>
      <sources>
            <source linkName=″Link1″>
                  <transitionCondition
expressionLanguage=″http://www.ibm.com/xmlns/prod/Websphere/business-proce
ss/expression-lang/java/v6.0/″>
                        <![CDATA[return ItemCount.get(″myint″)==0;]]>
                  </transitionCondition>
            </source>
      </sources>
</invoke>
在伪代码A中,数据管理活动语句元素(“dataManagementActivity”)包含数据源定义元素(“dataSource”)和正文元素(“body”)。
数据源定义元素引用了包含实际数据源定义的BPEL变量(“myDataSource”)。
针对由数据源定义元素标识的数据源,执行语句的正文元素中定义的SQL。具体来说,正文元素定义SQL“SELECT INTO”语句。SQL令牌与setReference和参数元素混合。setReference元素引用了包含集合引用定义的BPEL变量“SetReference”,所述集合引用定义用于确定实际数据库表。输入参数引用了包含要在SQL语句的where子句中使用的itemid的BPEL变量“InputVariable”。语句的结果存储在如输出参数所定义的变量“ItemCount”中。此外,集合引用还具有cleanup=″no″和preparation=″no″的生命周期选项,这表示不需要准备即可使用集合引用,并且不删除对应的集合。″ItemCount.get(″myint″)==0″的过渡条件通过检查“CheckItemInStock”数据管理活动的结果,检查是否需要调用Web服务。
工作流运行时系统150从伪代码A生成数据管理操作(例如,SQL查询),然后,可以针对数据管理系统160a...160n执行所述数据管理操作。生成的用于执行的数据管理操作取决于任何输入参数和输入的集合引用的值。
具体来说,在工作流运行时系统150中执行“CheckItemInStock”活动包括数据管理操作支持组件152接收此活动的工作流描述,以及进程的上下文。上下文包括BPEL变量和属性。数据管理操作支持组件152首先检查输入参数,并检查输入的集合引用变量,并从指定的BPEL变量中获取对应的值。例如,从BPEL变量“InputVariable”中提取itemid。在此示例中,假设整数的值是135。从BPEL变量“SetReference”的“mySetReference”部分提取选择查询中所使用的表的名称。在此示例中,假设表的名称是“ITEMS”。
数据管理操作支持组件152确定应该针对其执行查询的数据源。在此示例中,通过BPEL变量“DataSource”的“myDataSource”部分的内容来指定数据源。对于此示例,假设值是jndi名称“jdbc/sample”。数据管理操作支持组件152创建与数据源“jdbc/sample”的连接,并执行其中输入参数和输入的集合引用被从BPEL变量中提取的值替代的SQL语句。下面是生成的查询示例:
SELECT COUNT(*)INTO:0UTPUTPARAMETER1 FROM″ITEMS″WHERE ITEMID=135
数据管理操作支持组件152将“0UTPUTPARAMETER1”的值写入到BPEL变量“ItemCount”中。
为便于理解,提供了另一个简化的在工作流运行时系统140中执行“GetEuropeanOrders”活动的第一个语句的示例。在此示例中,工作流运行时系统150中的数据管理操作支持组件152接收活动的描述,以及进程的上下文。此上下文包括BPEL变量和属性。
数据管理操作支持组件152首先检查输入参数,并检查输入的集合变量。在此示例中,有输入的集合引用。从BPEL变量“SetReference_OrdersEurope”的“mySetReference”部分提取选择查询中所使用的表的名称。对于此示例中,假设表的名称是“INPUT.EUROPEANORDERS”。
数据管理操作支持组件152确定应该针对其执行查询的数据源。在此示例中,通过BPEL变量“DataSourceVariable”的“myDataSource”部分的内容来指定数据源。对于此示例,假设值是jndi名称“jdbc/sample”。数据管理操作支持组件152创建与数据源“jdbc/sample”的连接,并执行SQL语句:
SELECT OID,CID,TYPE,TOTPRICE,DATE FROM″INPUT.EUROPEANORDERS″WHERE ITEMID=135
指定了结果集引用。如此,数据管理操作支持组件152将此查询的结果写入到由变量“ResultSetReference_Europe”的“mySetReference”部分指定的表中。为此表指定了生命周期管理选项。在当前进程的寿命结束时,从数据管理系统中删除表。数据管理操作支持组件152永久地存储此信息。在进程执行结束时,由工作流运行时系统150调用数据管理操作支持组件152以执行清理工作。
图6A、6B和6C提供了根据某些实施例的工作流610的示例伪代码600、610、620。伪代码A是所显示的伪代码600、610、620的一部分。
图7显示了由根据某些实施例的工作流设计时系统120所提供的显示器。用户能够创建工作流710的图形表示。在图7中,工作流710包括“GetEuropeanOrders”720、“GetUSOrders”722、“UnionOrders”724,以及“MaterializeOrders”726数据管理活动。在图7中,工作流加载来自两个不同地理区域(欧洲和美国)的定单数据。在将两个数据流连接到一起之前,进行货币兑换(欧元对美元)。在联接两个数据集之后,将所产生的数据实体化为XML文档。最后,作为工作流的输出,返XML文档。
下面的示例伪代码B显示了GetEuropeanOrders数据管理活动720的工作流描述。GetEuropeanOrders数据管理活动720将European(欧洲)数据加载到存储在BPEL变量ResultSetReference_Europe中的集合引用中(语句1),然后执行从欧元到美元的货币兑换(语句2)。通过SQL UPDATE语句进行转换。集合引用BPEL变量ResultSetReference_Europe被作为转换语句的输入的集合引用。
伪代码B
<invoke name=″GetEuropeanOrders″operation=″null″partnerLink=″null″
portType=″wpc:null″wpc:displayName=″GetEuropeanOrders″wpc:id=″7″>
      <dataManagementActivity xsi:type=″tDataManagementActivity″>
            <statement xsi:type=″tSqlStatement″>
                  <dataSource variable=″DataSourceVariable″
                              part=″myDataSource″/>
                  <resultSetReference variable=″ResultSetReference_Europe″
                                      part=″mySetReference″
                                      preparation=″ifNeeded″
                                      cleanup=″yes″
                                      cleanupScope=″instance″/>
                  <body>
                       SELECT OID,CID,TYPE,TOTPRICE,DATE FROM
                       <setReference variable=″SetReference_OrdersEurope″
                                     part=″mySetReference″
                                     preparation=″no″cleanup=″no″/>
                       </body>
                 </statement>
                 <statement xsi:type=″tSqlStatement″>
                       <dataSource part=″myDataSource″
                                   variable=″DataSourceVariable″/>
                       <body>
                            UPDATE
                            <setReference variable=″ResultSetReference_Europe″
                                          part=″mySetReference″
                                          preparation=″no″cleanup=″no″/>
                            SET TOTPRICE=BO.EURO_TO_DOLLAR(TOTPRICE)
                       </body>
                </statement>
          </dataManagementActivity>
          <sources>
                <source linkName=″Link1″/>
          </sources>
</invoke>
下面的示例伪代码C显示了GetUSOrders数据管理活动722的工作流描述。GetUSOrders数据管理活动722将美国数据加载到存储在BPEL变量ResultSetReference_US中的集合引用中。以这样的方式设置此结果集引用的生命周期属性,以便只有在基础数据库表不存在的情况下(preparation=″ifNeeded″)才创建基础数据库表,将删除表(cleanup=″yes″),在进程实例结束时执行表的删除(cleanupScope=″instance″)。
伪代码C
<invoke name=″GetUSOrders″operation=″null″partnerLink=″null″
portType=″wpc:null″wpc:displayName=″GetUSOrders″wpc:id=″8″>
      <dataManagementActivity xsi:type=″tDataManagementActivity″>
            <statement xsi:type=″tSqlStatement″>
                  <daraSource part=″myDataSource″
                              variable=″DataSourceVariable″/>
                  <resultSetReference variable=″ResultSetReference_US″
                                      part=″mySetReference″
                                      preparation=″ifNeeded″cleanup=″yes″
                                      cleanupScope=″instanoe″/>
                  <body>
                        SELECT OID,CID,TYPE,TOTPRICE,DATE FROM
                        <setReference variable=″SetReference_OrdersUS″
                                      part=″mySetReference″
                                      preparation=″no″cleanup=″no″/>
                        </body>
            </statement>
     </dataManagementActivity>
     <sources>
           <source linkName=″Link2″/>
     </sources>
</invoke>
下面的示例伪代码D显示了UnionOrders数据管理活动724的工作流描述。UnionOrders数据管理活动724代表美国和经过转换的欧洲订单的联合。数据的结果集作为集合引用存储在BPEL变量ResultSetReference_Union中。
伪代码D
<invoke name=″UnionOrders″operation=″null″partnerLink=″null″
portType=″wpc:null″wpc:displayName=″UnionOrders″wpc:id=″9″>
      <dataManagementActivity xsi:type=″tDataManagementActivity″>
            <statement xsi:type=″tSqlStatement″>
                  <dataSource part=″myDataSource″
                               variable=″DataSourceVariable″/>
                   <resultSetReference cleanup=″no″part=″mySetReference″
                                       preparation=″ifNeeded″
variable=″ResultSetReference_Union″/>
  <body>
        SELECT OID,CID,TYPE,TOTPRICE,DATE FROM
        <setReference variable=″ResultSetReference_Europe″
                          part=″mySetReference″
                          preparation=″no″cleanup=″no″/>
      UNION ALL SELECT OID,CID,TYPE,TOTPRICE,DATE FROM
            <setReference cleanup=″no″part=″mySetReference″
                          preparation=″no″
                          variable=″ResultSetReference_US″/>
                   </body>
             </statement>
      </dataManagementActivity>
      <targets>
             <target linkName=″Link1″  />
             <target linkName=″Link2″  />
      </targets>
      <sources>
            <source linkName=″Link3″  />
      </sources>
</invoke>
下面的示例伪代码E显示了MaterializeOrders数据管理活动726的工作流描述。MaterializeOrders数据管理活动726将统一的订单表的内容实体化为进程上下文。在语句的<from>元素中,指定了用于实体化的数据来源,<to>元素代表实体化目标。即,集合引用ResultSetReference_Union的内容将被实体化为BPEL变量MaterializedOrders,myMaterializationResult部分。
伪代码E
<invoke name=″MaterializeOrders″operation=″null″partnerLink=″null″
portType=″wpc:null″wpc:displayName=″MaterializeOrders″wpc:id=″10″>
      <dataManagementActivity xsi:type=″tDataManagementActivity″>
           <statement xsi:type=″tMaterializationStatement″>
                  <from part=″mySetReference″
                        variable=″ResultSetReference_Union″/>
                  <to part=″myMaterializationResult″
                      variable=″MaterializedOrders″/>
            </statement>
      </dataManagementActivity>
      <targets>
            <target linkName=″Link3″/>
      </targets>
</invoke>
作为创建结果集的数据管理活动的指定的一部分,指定结果集引用。为指定结果集引用,用户选择“创建结果集引用”按钮,这会导致结果集引用定义向导800被显示出来(图8)。图8对应于“GetEuropeanOrders”活动720中使用的结果集引用(图7)。在“结果集引用定义向导”800中,可以使用此面板的“属性”部分来定义生命周期管理选项。例如,用户识别生命周期属性810,如是否需要清理810,以及应该在什么时间点执行清理。在此示例中,在进程结束时(即,在“instance”结束时)将清理结果集。
用户还提供结果集引用的定义820,例如,通过提供数据源,以及要保存结果的现有的表的标识,或通过指定应该由数据管理操作支持组件生成结果集。在此示例中,明确地指定数据源、架构名称和表名称。
图9A、9B、9C、9D和9E为根据某些实施例的工作流810提供了示例伪代码900、910、920、930、940。伪代码B、C、D和E是所显示的伪代码900、910、920、930、940的一部分。
如此,为将数据管理操作集成到工作流系统中,将数据管理操作作为第一类公民集成到业务进程的工作流系统中。实施例提供了数据管理操作的下列特征:
1.包括数据管理操作的声明性描述的新的数据管理活动。
2.直接指定作为这些操作的输入参数的业务进程变量的机制。
3.直接指定这些操作的结果如何存储在业务进程变量中的机制。
4.指定要在运行时使用的数据源的机制。
5.定义具有生命周期属性的集合引用的机制。
实施例消除了常规方法所存在的问题,如减少了实现数据管理活动所需要的技能集,缩短了这样做所需要的开发时间。
通过在三个不同级别支持作为第一类公民的数据管理操作,实现集成系统:在设计时系统工具120中,在工作流语言内(用于工作流描述130),以及在工作流运行时系统150中。通过对特定数据管理活动的支持,加强工作流设计时系统120。通过“内嵌地”指定数据管理活动作为工作流描述的一部分的机制,包括直接使用进程变量作为活动的输入和输出参数的能力,加强工作流语言。
工作流运行时系统150接收工作流描述130。通过能够执行工作流描述130中所定义的数据管理操作的数据管理操作支持组件152,包括对集合引用和对应的集合的生命周期管理的支持,加强工作流运行时系统150。数据管理操作支持组件152对一个或多个数据管理系统160a...160n进行访问,以执行指定的数据管理操作。
提供了另一个示例,以加强对本发明的实施例的理解。具体来说,在此示例中,有关订单的信息存储在关系数据库系统中,业务进程检查来自某一区域的订单的总量。在此示例中,区域是对业务进程的输入参数(即,业务进程输入变量)。数据库管理操作是SELECT查询。查询的结果存储在变量中,以便结果可以供后继的活动使用。
实施例提供了业务进程的工作流语言(例如,BPEL)的内嵌的SQL。在WPC工作流系统和SQL支持的情况下,作为第一类公民集成到工作流运行时系统150中意味着,工作流运行时系统150直接支持SQL代码。内嵌的SQL语句允许数据管理活动的声明性描述(叫做“SQL片断”或“DMA”,类似于“Java片断”)包括在工作流描述130中。
作为伪代码F,显示了WPC工作流运行时系统的SQL活动的伪代码示例。伪代码F的文本″select count(*)into″、″fromORDERS″,以及″where REGION=″显示了如何指定SQL查询。元素<dataSource     variable=″DMA_Data_Source″part=″dataSource″/>指定了要使用的数据源。元素<parameterkind=″out″property=″NB_EXCEPTIONAL_ORDERS″variable=″Parameter″/>指定了输出参数。
元素<parameter kind=″in″property=″MAX_PRICE″variable=″Parameter″/>指定了输入参数。如此,业务进程变量可以是输入和输出参数,可以通过业务进程变量来指定数据源。
伪代码F
<?xml version=″1.0″encoding=″UTF-8″?>
<wpc:dataManagementActivity  [...]>
<daraSource variable=″DMA_Data_Source″part=″dataSource″/>
<dmaStatement xsi:type=″wpc:DMAStatementType″>
   <operation type=″query″xsi:type=″wpc:OperationType″>
       select count(*)  into
      <parameter kind=″out″property=″NB_EXCEPTIONAL_ORDERS″
variable=″Parameter″/>
       from ORDERS
       where REGION=
      <parameter kind=″in″property=″MAX_PRICE″variable=″Parameter″/>
                           </operation>
</dmaStatement>
</wpc:dataManagementActivity>
集成系统能够理解业务进程本身的语义(例如,活动彼此如何相关)以及此业务进程内的数据管理活动的语义。
实施例提供了支持集合引用的概念的工作流系统,集合引用克服了常规工作流系统的缺陷。
集合引用可以描述为指向一组数据的指针。例如,集合引用可以是表名称和用于定位数据集的其他信息。集合引用可以包括,例如,有关如何对集合进行访问的信息;有关集合的元信息;以及诸如要创建和删除集合的语句之类的集合属性。集合引用可以被绑定到业务进程变量,并可以被用作语句的输入和输出集合。集合引用允许通过转发集合引用而不是通过复制数据集来在多个活动之间传递集合。例如,第一数据管理活动可以创建集合引用,而第二数据管理活动可以使用该集合引用。集合引用支持动态基础架构(例如,可以在业务进程运行时改变源集合和目标集合)。
在某些实施例中,集合引用指向可通过单个数据管理系统160a...160n进行访问的集合(例如,关系数据库系统中的表或视图)。数据管理系统160a...160n可以是能够处理集合的联合系统,其中,对应的记录驻留在不同的数据管理系统160a...160n中。
下列伪代码作为伪代码G提供了定义集合引用的示例。伪代码G使用resultSetReference  part=″reference″variable=″SelectedEmployeesSetReferenceVariable″/  和setReference part=″reference″variable=″AHEmployeesSetReferenceVariable″/来定义集合引用。
伪代码G
...
<resultSetReference part=″reference″
variable=″SelectedEmployeesSetReferenceVariable″/>
select empno,firstnme,lastname,phoneno,sex
from<setReference part=″reference″
variable=″AllEmployeesSetReferenceVariable″/>
where lastname like
       ′<parameter kind=″in″ property=″namePrefix″
variable=″InputVariable″/>′
...
集合引用可以指向现有的集合,并代表还没有执行的数据管理活动的结果。在后一种情况下,集合引用可以包含元信息,指示了有关集合应该服从的特征的数据管理活动。
对于集合引用的支持包括下列工作流系统功能:
1.通过工作流系统的工作流工具和API来支持集合引用。用户可以直接指定和修改集合引用(第一类公民支持示例)。
2.可以在各种时间点指定和修改集合引用,包括在业务进程的设计时,在业务进程的部署时,或在业务进程运行时。
3.集合引用可以直接被用作数据管理活动的输入和输出参数。
作为示例,集合引用可以代表关系数据库系统中的表或视图。地址信息包含对数据集进行访问所需的信息(例如,数据源的指定(例如,JNDI名称)、架构和表名称,以及如何进行验证的描述(例如,利用正在运行业务进程的当前用户的凭据))。集合引用中的元数据信息描述了表或视图的列。
集合引用支持允许通过业务进程活动将某一数据源中的现有的表绑定到集合引用“S1”。此活动可以,例如,是注册表查询操作。然后,可以在随后的SQL SELECT活动的FROM子句中使用S1(即,S1可以被用作集合估值的输入参数)。此SQL SELECT语句的结果可以绑定到第二集合引用“S2”,而此第二集合引用“S2”可以再次在后续数据管理活动中使用。
可以使用工作流语言执行面向集合的处理,同时,在代表表的行的一组对象上循环,在表中的一些数据源中进行查询,以丰富数据,调用Web服务,以检查某些特征,基于此特征,进行更新。此外,可以提供单个面向集合的SQL更新操作。面向集合的处理避免了大型集合的实体化,并减少对数据源进行访问的数量。
实施例提供了由业务进程所创建的集合的生命周期管理。用户创建集合以便将它们用于某些业务进程活动中以及一旦不再需要它们而将它们丢弃是一项频繁的任务。因此,实施例为集合引用提供了简化集合的创建和删除的生命周期管理扩展。扩展包括在某一时间点自动地创建集合的机制,时间点包括在业务进程部署时,在业务进程创建时间,当业务进程内的某一范围启动时,或当业务进程内的某一活动启动时。
扩展还包括丢弃由业务进程在某一时间点自动地创建的集合的机制,时间点包括在创建集合的活动结束时,在在其中创建了集合的范围结束时,在业务进程结束时,或在非部署时间。创建和丢弃也可以是用户管理的(即,集合可以经受得住业务进程)。
下列伪代码作为H提供了使用生命周期管理扩展的用法示例。在伪代码H中,cleanup=″yes″  cleanupScope=″process″preparation=″yes″表示,当业务进程结束时,丢弃集合,每次执行包含伪代码H的活动时,由数据管理操作支持组件152自动地创建新集合。
伪代码H
...
<resultSetReference cleanup=″yes″ cleanupScope=″process″
preparation=″yes″
part=″reference″variable=″SelectedEmployeesSetReferenceVariable″/>
select empno,firstnme,lastname,phoneno,sex
from<setReference part=″reference″
variable=″AllEmployeesSetReferenceVariable″/>
where lastname like ′<parameter kind=″in″property=″namePrefix″
variable=″InputVariable″/>′
...
实施例允许将数据操作集成到工作流中,并允许优化包含数据操作的工作流。实施例还可以与ETL和业务进程集成一起使用。
IBM、MQSeries、Websphere和DB2是IBM公司在美国和/或外国的注册商标和/或通用法律标记。Oracle是OracleCorporation在美国和/或外国的注册商标或通用法律标记。Excel是Microsoft Corporation在美国和/或外国的注册商标或通用法律标记。
另外的实施例细节
所描述的实施例可以通过使用标准的编程和/或工程技术,作为方法、设备、计算机程序或产品来实现,以产生软件、固件、硬件或其任何组合。这里所使用的术语“产品”和“电路”是指以硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等等)或计算机可读取的介质,如磁存储介质(例如,硬盘驱动器、软盘、磁带等等),光存储器(CD-ROM、光盘等等),易失性和非易失性存储器设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等等)实现的状态机、代码或逻辑。计算机可读取的介质中的代码可以由处理器进行访问和执行。当代码或逻辑由处理器执行时,电路可以包括包含了代码或逻辑的介质以及执行从介质中加载的代码的处理器。可以进一步通过传输介质或通过网络从文件服务器对其中实现优选实施例的代码进行访问。在这样的情况下,其中实现代码的产品可以包括传输介质,如网络传输线、无线传输介质,通过太空、无线电波、红外信号等等传播的信号。如此,“产品”可以包括其中实现代码的介质。另外,“产品”还可以包括在其中实现代码,对代码进行处理,并执行代码的硬件和软件组件的组合。当然,那些精通相关技术的人将认识到,可以对此配置作出许多修改,产品可以包括已知的任何信息携带介质。另外,也可以在适配器或主板上的一个或多个集成电路中实现多个设备、适配器等等。
某些实施例可以是提供通过人或自动处理来部署计算基础架构(将计算机可读取的代码集成到了计算系统中)的方法,其中,代码和计算系统组合起来,以便能够执行所描述的实施例的操作。
术语“逻辑”可以包括,例如,软件、硬件和/或软件和硬件的组合。
图2的逻辑描述了按特定顺序进行的特定操作。在备选实施例中,某些逻辑操作可以按不同的顺序执行,也可以加以修改或删除。此外,还可以向上文所描述的逻辑中添加操作,仍符合所描述的实施例。此外,这里所描述的操作可以连续地进行,或者,某些操作可以并行地处理,被描述为由单个进程执行的操作也可以由分布式进程执行。
图2所显示的逻辑可以以软件、硬件、可编程和非可编程门阵列逻辑或以硬件、软件或门阵列逻辑的某种组合来实现。
图10说明了可以根据某些实施例使用的计算机系统的体系结构1000。计算设备100和140可以实现体系结构1000。计算机体系结构1000可以实现处理器1002(例如,微处理器)、存储器1004(例如,易失性存储器设备),以及存储器1010(例如,非易失性存储区域,如磁盘驱动器、光盘驱动器、磁带驱动器等等)。操作系统1005可以在存储器1004中执行。存储器1010可以包括内部存储设备或外接的或可通过网络进行访问的存储器。存储器1010中的计算机程序1006可以加载到存储器1004中,并由处理器1002以已知的方式执行。体系结构进一步包括用于与网络进行通信的网卡1008。输入设备1012用来向处理器1002提供用户输入,并可以包括键盘、鼠标、笔尖、麦克风,触敏显示屏幕,或已知的任何其他激活或输入机制。输出设备1014能够从处理器1002,或诸如显示监视器、打印机、存储器等等其他组件呈现信息。计算机系统的计算机体系结构1000可以包括比所显示的更少的组件,这里所没有显示的另外的组件,或所显示的组件和另外的组件的某种组合。
计算机体系结构1000可以包括当前已知的任何计算设备,如大型机、服务器、个人计算机、工作站、膝上型电脑、手持式计算机、电话设备、网络设备、可视化设备、存储控制器等等。可以使用当前技术中已知的任何处理器1002和操作系统1005。
前面的对实施例的描述只是为了说明和描述。它不是详尽的说明或将实施例限于所说明的准确的形式。根据上述原理,许多修改方案和变化也是可以的。实施例的范围不被此详细描述的限制,而是由所附的权利要求进行限制。上面的说明、示例和数据提供了产品的完整的描述,以及实施例的构成的用法。由于在不偏离本发明的精神和范围的情况下,可以使出许多发明,所述实施例都在下面所附的权利要求或任何随后提出的权利要求,以及它们的等效内容的范围内。

Claims (39)

1.一种用于处理工作流的方法,包括:
接收包括一个或多个数据管理活动的工作流;
从所述工作流生成包括对所述一个或多个数据管理活动的描述的工作流描述;
从所述工作流描述生成一个或多个数据管理操作;以及
针对一个或多个数据管理系统,执行所述一个或多个数据管理操作。
2.根据权利要求1所述的方法,其中,至少一个数据管理活动包括集合引用。
3.根据权利要求2所述的方法,其中,一个或多个生命周期属性与所述集合引用关联。
4.根据权利要求2或3所述的方法,其中,所述集合引用包括到业务进程变量或业务进程变量的一部分的映射。
5.根据前面的任何一个权利要求所述的方法,其中,至少一个数据管理活动包括业务进程变量作为输入参数。
6.根据前面的任何一个权利要求所述的方法,其中,至少一个数据管理活动包括业务进程变量作为输出参数。
7.根据前面的任何一个权利要求所述的方法,其中,至少一个数据管理活动包括数据源定义。
8.根据权利要求7所述的方法,其中,所述数据源定义包括将数据源映射到业务进程变量或业务进程变量的一部分。
9.根据前面的任何一个权利要求所述的方法,进一步包括从所述一个或多个数据管理系统接收结果。
10.根据前面的任何一个权利要求所述的方法,其中,第一数据管理活动定义集合引用,并且第二数据管理活动使用所述集合引用。
11.根据前面的任何一个权利要求所述的方法,其中,所述数据管理操作包括查询。
12.根据前面的任何一个权利要求所述的方法,其中,每一个数据管理活动都对应于所述一个或多个数据管理活动中的一个。
13.根据前面的任何一个权利要求所述的方法,进一步包括允许创建新的数据管理活动。
14.一种用于处理工作流的计算机程序,其中,所述程序使得能够执行操作,所述操作包括:
接收包括一个或多个数据管理活动的工作流;
从所述工作流生成包括对所述一个或多个数据管理活动的描述的工作流描述;
从所述工作流描述生成一个或多个数据管理操作;以及
针对一个或多个数据管理系统,执行所述一个或多个数据管理操作。
15.根据权利要求14所述的计算机程序,其中,至少一个数据管理活动包括集合引用。
16.根据权利要求15所述的计算机程序,其中,一个或多个生命周期属性与所述集合引用关联。
17.根据权利要求15或16所述的计算机程序,其中,所述集合引用包括到业务进程变量或业务进程变量的一部分的映射。
18.根据权利要求14到17中的任何一个权利要求所述的计算机程序,其中,至少一个数据管理活动包括业务进程变量作为输入参数。
19.根据权利要求14到18中的任何一个权利要求所述的计算机程序,其中,至少一个数据管理活动包括业务进程变量作为输出参数。
20.根据权利要求14到19中的任何一个权利要求所述的计算机程序,其中,至少一个数据管理活动包括数据源定义。
21.根据权利要求20所述的计算机程序,其中,所述数据源定义包括将数据源映射到业务进程变量或业务进程变量的一部分。
22.根据权利要求14到21中的任何一个权利要求所述的计算机程序,其中,所述操作进一步包括从所述一个或多个数据管理系统接收结果。
23.根据权利要求14到22中的任何一个权利要求所述的计算机程序,其中,第一数据管理活动定义集合引用,并且第二数据管理活动使用所述集合引用。
24.根据权利要求14到23中的任何一个权利要求所述的计算机程序,其中,所述数据管理操作包括查询。
25.根据权利要求14到24中的任何一个权利要求所述的计算机程序,其中,每一个数据管理活动都对应于所述一个或多个数据管理活动中的一个。
26.根据权利要求14到25中的任何一个权利要求所述的计算机程序,其中,所述操作进一步包括允许创建新的数据管理活动。
27.一种用于处理工作流的系统,包括:
能够导致操作被执行的电路,所述操作包括:
接收包括一个或多个数据管理活动的工作流;
从所述工作流生成包括对所述一个或多个数据管理活动的描述的工作流描述;
从所述工作流描述生成一个或多个数据管理操作;以及
针对一个或多个数据管理系统,执行所述一个或多个数据管理操作。
28.根据权利要求27所述的系统,其中,至少一个数据管理活动包括集合引用。
29.根据权利要求28所述的系统,其中,一个或多个生命周期属性与所述集合引用关联。
30.根据权利要求28或29所述的系统,其中,所述集合引用包括到业务进程变量或业务进程变量的一部分的映射。
31.根据权利要求27到30中的任何一个权利要求所述的系统,其中,至少一个数据管理活动包括业务进程变量作为输入参数。
32.根据权利要求27到31中的任何一个权利要求所述的系统,其中,至少一个数据管理活动包括业务进程变量作为输出参数。
33.根据权利要求27到32中的任何一个权利要求所述的系统,其中,至少一个数据管理活动包括数据源定义。
34.根据权利要求33所述的系统,其中,所述数据源定义包括将数据源映射到业务进程变量或业务进程变量的一部分。
35.根据权利要求27到34中的任何一个权利要求所述的系统,其中,所述操作进一步包括从所述一个或多个数据管理系统接收结果。
36.根据权利要求27到35中的任何一个权利要求所述的系统,其中,第一数据管理活动定义集合引用,并且第二数据管理活动使用所述集合引用。
37.根据权利要求27到36中的任何一个权利要求所述的系统,其中,所述数据管理操作包括查询。
38.根据权利要求27到37中的任何一个权利要求所述的系统,其中,每一个数据管理活动都对应于所述一个或多个数据管理活动中的一个。
39.根据权利要求27到38中的任何一个权利要求所述的系统,其中,所述操作进一步包括允许创建新的数据管理活动。
CNA200680004574XA 2005-03-01 2006-02-27 将数据管理操作集成到工作流系统中 Pending CN101116095A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/070,529 US7496887B2 (en) 2005-03-01 2005-03-01 Integration of data management operations into a workflow system
US11/070,529 2005-03-01

Publications (1)

Publication Number Publication Date
CN101116095A true CN101116095A (zh) 2008-01-30

Family

ID=36642797

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200680004574XA Pending CN101116095A (zh) 2005-03-01 2006-02-27 将数据管理操作集成到工作流系统中

Country Status (5)

Country Link
US (2) US7496887B2 (zh)
EP (1) EP1859399A1 (zh)
JP (1) JP5065056B2 (zh)
CN (1) CN101116095A (zh)
WO (1) WO2006092388A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236672A (zh) * 2010-05-06 2011-11-09 深圳市腾讯计算机系统有限公司 一种数据导入方法及装置

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8639542B2 (en) * 2002-06-27 2014-01-28 Siebel Systems, Inc. Method and apparatus to facilitate development of a customer-specific business process model
EP1530139A1 (en) * 2003-11-05 2005-05-11 Sap Ag Method and computer system for workflow management
US9052879B2 (en) * 2005-02-18 2015-06-09 International Business Machines Corporation Mapping assurance method and apparatus for integrating systems
US8332806B2 (en) * 2005-02-18 2012-12-11 International Business Machines Corporation Stepwise template integration method and system
US7496887B2 (en) * 2005-03-01 2009-02-24 International Business Machines Corporation Integration of data management operations into a workflow system
US7895070B2 (en) * 2005-05-05 2011-02-22 Siebel Systems, Inc. Providing multiple views of a business process definition to different users
US7809597B2 (en) * 2005-05-05 2010-10-05 Siebel Systems, Inc. Progressive refinement model for business processes
US7831453B2 (en) * 2005-05-05 2010-11-09 Siebel Systems, Inc. Modeling of business process data
US7707173B2 (en) * 2005-07-15 2010-04-27 International Business Machines Corporation Selection of web services by service providers
WO2007024782A2 (en) * 2005-08-24 2007-03-01 Pioneer Hi-Bred International, Inc. Compositions providing tolerance to multiple herbicides and methods of use thereof
US7499906B2 (en) * 2005-09-05 2009-03-03 International Business Machines Corporation Method and apparatus for optimization in workflow management systems
US9654456B2 (en) * 2006-02-16 2017-05-16 Oracle International Corporation Service level digital rights management support in a multi-content aggregation and delivery system
US8468496B2 (en) * 2006-04-07 2013-06-18 Ricoh Production Print Solutions LLC Flexible attribute management in workflow processing systems
US7823125B2 (en) * 2006-08-25 2010-10-26 Wipro Limited Electronic enabler and prescriptive modular service oriented architecture
US7966599B1 (en) 2006-08-29 2011-06-21 Adobe Systems Incorporated Runtime library including a virtual file system
US8250583B2 (en) 2006-12-04 2012-08-21 International Business Machines Corporation Workflow processing system and method with federated database system support
US20090112932A1 (en) * 2007-10-26 2009-04-30 Microsoft Corporation Visualizing key performance indicators for model-based applications
US20090125553A1 (en) * 2007-11-14 2009-05-14 Microsoft Corporation Asynchronous processing and function shipping in ssis
US20090138249A1 (en) * 2007-11-28 2009-05-28 International Business Machines Corporation Defining operational elements in a business process model
US8321841B2 (en) * 2008-01-08 2012-11-27 International Business Machines Corporation Validation framework for service oriented architecture (SOA) application adoption
US8181155B2 (en) 2008-02-29 2012-05-15 Microsoft Corporation Unified expression and location framework
US8522260B2 (en) * 2008-09-16 2013-08-27 Microsoft Corporation Integration of runtime environments
JP5232748B2 (ja) * 2009-09-17 2013-07-10 東芝テック株式会社 ワークフロー表示支援装置及びワークフロー表示プログラム
US9128768B2 (en) * 2011-01-27 2015-09-08 Microsoft Technology Licensing, LCC Cloud based master data management
US9584949B2 (en) * 2011-01-27 2017-02-28 Microsoft Technology Licensing, Llc Cloud based master data management architecture
US20130282761A1 (en) * 2012-04-18 2013-10-24 Salesforce.Com, Inc. System and method for entity shape abstraction in an on demand environment
US20140108189A1 (en) * 2012-10-11 2014-04-17 Rolf Schumann Real-Time Cross-Selling Proposal Calculation
US9311134B1 (en) * 2014-09-29 2016-04-12 International Business Machines Corporation Automated creation of executable workflow
US10101995B2 (en) 2016-07-15 2018-10-16 Microsoft Technology Licensing, Llc Transforming data manipulation code into data workflow
US10628237B2 (en) 2016-09-16 2020-04-21 Oracle International Corporation Cloud service integration flow
US10789050B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation Stage file objects in a visual design tool for integration development
WO2019136001A1 (en) * 2018-01-08 2019-07-11 Arconic Inc. Improved computer processing based on data taxonomy-driven workflow processing and computer systems configured for utilizing thereof
US11062246B2 (en) 2018-04-16 2021-07-13 Bank Of America Corporation Enterprise framework for efficient and adaptable workflow application data distribution
US10846204B2 (en) * 2018-04-20 2020-11-24 Microsoft Technology Licensing, Llc Remediation of design time and runtime workflow errors
CN109741026A (zh) * 2018-12-27 2019-05-10 北京字节跳动网络技术有限公司 基于活动对的流程引擎处理方法及装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003528358A (ja) * 1998-08-24 2003-09-24 富士通株式会社 ワークフローシステムおよび方法
US6606740B1 (en) * 1998-10-05 2003-08-12 American Management Systems, Inc. Development framework for case and workflow systems
AU5904700A (en) * 1999-07-01 2001-01-22 Microsoft Corporation Workflow as data-transition driven, scriptable state machines
JP2002041744A (ja) * 2000-07-27 2002-02-08 Ranseputo Kk ワークフロー処理方法及びワークフロー処理システム
AU2001286982A1 (en) * 2000-09-01 2002-03-13 Togethersoft Corporation Methods and systems for integrating process modeling and project planning
US20020032692A1 (en) * 2000-09-08 2002-03-14 Atsuhito Suzuki Workflow management method and workflow management system of controlling workflow process
US7027997B1 (en) * 2000-11-02 2006-04-11 Verizon Laboratories Inc. Flexible web-based interface for workflow management systems
US7054862B2 (en) * 2001-06-29 2006-05-30 International Business Machines Corporation Method and system for long-term update and edit control in a database system
US6920456B2 (en) * 2001-07-30 2005-07-19 International Business Machines Corporation Method, system, and program for maintaining information in database tables and performing operations on data in the database tables
US7337124B2 (en) * 2001-08-29 2008-02-26 International Business Machines Corporation Method and system for a quality software management process
US20030074342A1 (en) * 2001-10-11 2003-04-17 Curtis Donald S. Customer information management infrastructure and methods
US20040003353A1 (en) * 2002-05-14 2004-01-01 Joey Rivera Workflow integration system for automatic real time data management
JP2003346023A (ja) * 2002-05-23 2003-12-05 Masukitto Kk 受発注処理システム
US7653562B2 (en) * 2002-07-31 2010-01-26 Sap Aktiengesellschaft Workflow management architecture
US7350188B2 (en) * 2002-07-31 2008-03-25 Sap Aktiengesellschaft Aggregation of private and shared workflows
US7213037B2 (en) 2003-01-13 2007-05-01 I2 Technologies Us, Inc. Master data management system for centrally managing cached data representing core enterprise reference data maintained as locked in true state read only access until completion of manipulation process
US8332864B2 (en) 2003-06-12 2012-12-11 Reuters America Inc. Business process automation
CA2527675A1 (en) 2003-06-26 2005-01-06 International Business Machines Corporation Method and system for automatically transforming a provider offering into a customer specific service environment definiton executable by resource management systems
FI118102B (fi) * 2003-07-04 2007-06-29 Medicel Oy Informaationhallintajärjestelmä työvirtojen hallitsemiseksi
JP2004046895A (ja) * 2003-09-08 2004-02-12 Toshiba Corp ワークフロー変換方法
US7386577B2 (en) 2004-02-04 2008-06-10 International Business Machines Corporation Dynamic determination of transaction boundaries in workflow systems
US20050209841A1 (en) * 2004-03-22 2005-09-22 Andreas Arning Optimization of process properties for workflows with failing activities
US7496887B2 (en) 2005-03-01 2009-02-24 International Business Machines Corporation Integration of data management operations into a workflow system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236672A (zh) * 2010-05-06 2011-11-09 深圳市腾讯计算机系统有限公司 一种数据导入方法及装置
CN102236672B (zh) * 2010-05-06 2016-08-24 深圳市腾讯计算机系统有限公司 一种数据导入方法及装置

Also Published As

Publication number Publication date
US7496887B2 (en) 2009-02-24
WO2006092388A1 (en) 2006-09-08
JP2008532154A (ja) 2008-08-14
EP1859399A1 (en) 2007-11-28
US7890922B2 (en) 2011-02-15
US20090119639A1 (en) 2009-05-07
JP5065056B2 (ja) 2012-10-31
US20060200797A1 (en) 2006-09-07

Similar Documents

Publication Publication Date Title
CN101116095A (zh) 将数据管理操作集成到工作流系统中
US7111007B2 (en) Real-time aggregation of data within a transactional data area of an enterprise planning environment
Murer et al. Managed evolution: a strategy for very large information systems
US8340995B2 (en) Method and system of using artifacts to identify elements of a component business model
US7657534B2 (en) Order commitment method and system
US20090125359A1 (en) Integrating a methodology management system with project tasks in a project management system
JP4609994B2 (ja) 企業モデリング環境内のソフトウエアの拡張の選択的展開
US20060143220A1 (en) Software application framework using meta-data defined object definitions
JP2006501569A (ja) アプリケーションサーバのクラスタへの多重企業プランニングモデルの展開
JP2006501577A (ja) 企業プランニングモデル実行中のノードレベル修正
CN101334865A (zh) 工作流用户界面生成方法及生成器
CN101110021A (zh) 对过程指令集进行可视化编程的方法
CN110249356B (zh) 一种用户定义的erp功能的共享方法及系统
JP2003516569A (ja) ビジネス・モデリングの方法および装置
US20080004925A1 (en) Multi-site project management
JP2006515085A (ja) 企業プランニング環境内のネットワーク通信のインライン圧縮
AU2005289750A1 (en) Business process management system and method
US20090248469A1 (en) Method and system of integrated mine planning
CN101490672A (zh) 智能服务的查询处理
Hoppe Sales and inventory planning with SAP APO
US20230368142A1 (en) Data aggregation based on multisystem integration for object collaboration
US20230368140A1 (en) Data aggregation based on multisystem integration for object collaboration
Peksa Autonomous Data-Driven Integration into ERP Systems
Malik Process Management: Practical Guidelines to Successful Implementation
Stephens Governance and the Open Source Repository

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: 20080130