CN1656449A - 分布式可执行过程的产生 - Google Patents

分布式可执行过程的产生 Download PDF

Info

Publication number
CN1656449A
CN1656449A CN03812439.4A CN03812439A CN1656449A CN 1656449 A CN1656449 A CN 1656449A CN 03812439 A CN03812439 A CN 03812439A CN 1656449 A CN1656449 A CN 1656449A
Authority
CN
China
Prior art keywords
generator
descriptor
business
environment
business process
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
CN03812439.4A
Other languages
English (en)
Inventor
邓肯·约翰斯顿-沃特
安得鲁·马丁·韦斯特
杰瑞·布朗
斯蒂芬·肖恩·马克·罗斯-塔尔博特
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.)
Enigmatec Corp
Original Assignee
Enigmatec 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 Enigmatec Corp filed Critical Enigmatec Corp
Publication of CN1656449A publication Critical patent/CN1656449A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种用于将业务过程变换成适合于在目标环境下尤其在分布式异构目标环境下执行的可执行子程序的方法。业务过程定义可以按内部规范形式来提供,或者可以根据一系列表示法的任意一种分解成规范形式。业务过程定义可以按规范格式来保存。通过根据与目标环境相应的发生器描述符从业务过程定义产生可执行子程序,可以在直接在目标环境中执行该可执行子程序。该方法提供了一种开发时间环境,其中,业务过程可以被设计、修改、保存在库中,并可以变换成直接可执行子程序。该方法使得可以在所调用程序与引擎或服务器无关的环境条件下调用业务过程。

Description

分布式可执行过程的产生
技术领域
本发明涉及分布式过程的产生,尤其涉及以高级表示法形式、导致产生分布式异构环境下操作的特定代码的过程的描述。因此,本发明尤其适合于解决那些与企业的策划、实现、运作和管理以及企业内部业务逻辑和企业外部业务服务逻辑有关的问题,以确保企业通过异构分布式的一组计算装置获得最大的商业利益。
背景技术
一直以来,人们试图使业务逻辑的实现和运作自动化。这些尝试常常基于称为“规则”的特殊类别的声明书的使用。某些基于常规规则的业务逻辑系统利用了一些无需告诉方法就能根据数据推断出事实的特殊子类的规则。这些“传统的”商业规则在文献中被称为“演绎规则”或“推理规则”,其特征是以数据为中心。在规则技术中,它们具有统治力。
演绎规则技术已使用了好多年,并且基于采用商业上有名的RETE算法(例如,参见http://www.pst.com/rete.htm)的推理技术。这种技术具有两个基本要求:用于解释和执行基于推理的规则的规则引擎;和在知识获得和规则设计中的专业技能。
这些要求的后果在于,通常需要重量级处理器、所需的大量数据量和处理能力。此外,还缺乏用于定义规则的直观界面。这些因素其结果限制了演绎规则的市场。
近年来,人们对称为“反应规则”的其他子类的规则越来越感兴趣。反应规则是与传统业务规则截然不同的一个规则子类。这些规则其特征是以事件为中心,并且从监测事件和可根据一个或多个事件被调用的意义上讲是具有活性的。
在下列论述中:术语“计算实体”和“过程”用来表示串行化计算的形式,这种串行化计算被限定在某一范围内,在该范围内可以恰当地定义输入和输出,并通过消息传送实现输入和输出;术语“消息传送”与“事件的发送和接收”的概念同义;而“高级表示法”是描述一个或多个过程的外部和内部行为的任意说明性表示法。外部和内部行为的描述分别是可见行为的非图灵完全描述和不可见行为的图灵完全描述。最后,术语“特定代码”适用于为在一个或一些特定平台上执行所编译的串行化计算的描述。
业务过程是一种规定或约束企业的某个方面的计算实体。它强加影响企业的行为的结构或维护影响企业的行为的控制。在这里提出的环境条件下,“业务过程”的描述不仅包括传统业务逻辑描述(演绎规则)和反应规则,而且包括诸如UML模型表示法、业务标记语言和专有表示法等计算实体。在本发明中,其范围超出了这种业务应用层,从而包括中间件、网络及其他操作层。
业务过程可以是规定按某些量购买产品的折扣的声明:换言之,对立即要传递的信息进行操作的过程。业务过程的另一个例子是,交易量大于某一预定限度并且计算必须重新指向风险分析过程(即负责风险分析的计算实体)的情况。尽管以上给出的这些例子是一些在业务应用层操作的业务过程,然而,还有一些例子,它们利用业务过程在一些不同的应用层实现业务交易或业务交易协作。如上所述的业务过程的应用超出了业务应用层的实现,其中一个例子是规定了网络单元怎样才能对某一例外情况作出响应的业务过程:也就是说,这里所述的业务过程覆盖了企业的业务逻辑的各个方面,而不论该业务是什么业务。
使用业务过程的主要驱动之一是以一些计算实体及其交互作用表示业务逻辑,其方式容易使用和理解,这种交互作用通过这些计算实体之间的输入和输出来进行。这使得可以更有效地开发业务逻辑并缩短推广应用新的和修改的业务逻辑的上市时间。另一种驱动是趋向高度事件驱动的业务的动作。在当今的因特网业务环境下,B2B、B2E、B2C以及所有相关的处理模型都是事件驱动的。相应地,这些系统的业务逻辑的有效部分可以表示成反应行为,其中的反应基于业务过程之间的交互作用。
业务逻辑作为应用或在应用服务器中的当前实现甚至商业规则引擎都具有以服务器为中心的物理布局。甚至那些试图以ECA规则形式实现反应规则的众所周知的系统也都具有引擎驱动的体系结构。因此,常规业务逻辑系统没有实现业务过程之间的基本交互作用。所得到的业务逻辑系统是集中式的,并且需要大量的数据和处理能力。这些系统难以配置到分布式异构和嵌入式环境中。它们要么配置到基于服务器或基于引擎的模型,要么将其平台支持局限于特殊的编程环境(例如具有Java企业版本(J2EE)和具有Java标准版本(J2SE)的Java环境)。在后一种情况下,不考虑目标环境的能力。两种配置都不支持分布式异构环境。
发明内容
根据本发明的一个方面,提供了一种用于将业务过程变换成适合于在目标环境下执行的可执行子程序的方法,该方法包括如下步骤:提供业务过程定义;提供与目标环境相应的发生器描述符;并根据发生器描述符从业务过程定义产生可执行子程序。
这种方法的一个好处在于,在所调用程序与引擎或服务器无关的环境条件下,可以方便地调用业务过程。
目前,业务逻辑系统的实现方式是基于引擎的,并可以使用推理型商业规则(即演绎规则),或者可以使用其中配置了目标代码的应用服务器。这意味着,有一种中心系统,它需要大量的数据和处理能力。这些系统难以配置到分布式异构和嵌入式环境中。本发明通过将业务过程变换成自动可执行代码的方式解决了这些问题,在分布式异构和嵌入式环境下,通过明确捕获业务过程的交互式消息传送行为及其逻辑,容易配置和调用这种代码。
在本发明中,术语“目标环境”包括关于目标平台上可用的体系结构和服务(硬件处理器和操作系统的组合)、目标平台的优选本机语言以及目标平台上可用的运行期环境条件的能力的信息。在提供运行期环境条件以支持业务过程执行的标准环境的情况下,可以减少必须产生的源代码量。运行期环境条件包括例如下列一个或多个:可用编程环境,可用事件系统以及对本地文件和服务的可访问性,和目标平台中的其他相关性(诸如第三方组件或遗留系统等相关性)。事件系统是一种以某种形式调度事件的系统,例如,Java消息服务,Java收听服务,或Windows事件调度器、X Windows等。
业务过程定义可以按反应规则定义的形式来提供。或者,业务过程定义可以按内部规范形式来提供。当业务过程定义不按内部规范的形式来提供时,产生可执行子程序的步骤可以包括将业务过程定义解析为内部规范形式。内部规范形式最好是反应智能框架标记语言(RIFML)。
产生可执行子程序的步骤最好包括:利用一个或多个变换规则,结合一个或多个描述目标环境的发生器描述符,产生可执行子程序的源代码。
这种变换通常是多级过程。
产生可执行子程序的步骤还可以包括:调用一个或多个编译器,以根据源代码产生业务过程的可执行形式。
以Java为例,表示法的内部形式是所有目标所共有的,Java源在代码产生步骤中产生,而后续可执行形式是Java类文件。
产生步骤中所产生的子程序最好根据运行期环境条件产生,从而支持业务过程执行的标准环境。运行期环境条件可以包括:可用编程环境数据;可用事件系统数据;关于对本地文件和服务的可访问性的数据;和涉及目标平台中的其他相关性的数据。术语“事件系统”表示一种以预定形式调度事件的系统,该系统可选自这样一个集合,该集合包括:Java消息服务,Java收听服务,Windows事件调度器,和XWindows消息传送。
发生器描述符最好包括这样的数据,该数据选自下列一个或多个:可用编程环境列表;可用事件模型列表;表示在目标环境中使用的硬件的处理器数据;表示在目标环境中使用的操作系统的类型的操作系统数据;和相关性的列表。
在编程环境基于Java[RTM]的情况下,将指定目标平台上Java的版本,即J2EE、J2SE、J2ME或RTJS。
所提供的发生器描述符可以是在业务过程定义时的用户输入。在这种情况下,用户输入的发生器描述符可以由熟知目标平台的详细情况的用户输入。
在一个优选实施例中,提供发生器描述符的步骤包括为共同出现的目标环境配置提供一组共同的发生器描述符。
或者,发生器描述符可以被推理出。发生器描述符可以至少部分地根据下列一个或多个来推理:业务过程定义和运行期环境条件。
最好,该方法还包括将业务过程定义库保留在过程存储器中的步骤。业务过程定义可以按内部规范格式来保存。另一方面,业务过程定义可以由用户通过访问过程存储器的用户界面来提供。在后一种情况下,产生可执行子程序的步骤包括:调用业务过程变换组件,以根据源代码将用户定义的业务过程定义变换成业务过程的可执行形式。
产生可执行子程序的步骤最好包括通过网络将可执行业务过程配置到预期目标环境中。于是,可以为网络上出现的每一目标环境产生可执行业务过程,并将其配置在网络上的多个不同位置,这样,产生简化的一组可执行业务过程,以传递到并配置在网络内的各个不同位置。
根据本发明的另一方面,提供了一种根据业务过程定义和目标环境的发生器描述符将业务过程变换成可执行子程序的系统,其中,该系统包括一个或多个计算机应用,这些应用提供输入业务过程定义的界面并根据发生器描述符将一个或多个业务过程定义变换成用于在目标环境内执行的多个子程序。
根据本发明的又一方面,提供了一种包括计算机可执行代码的计算机程序产品,这种代码可根据一个或多个发生器描述符将业务过程定义变换成一个或多个可执行子程序,所述发生器描述符每个都与一个目标环境相应。
因此,本发明提供了一种用于将业务过程变换成适合于在目标环境下最好在分布式异构目标环境下执行的可执行子程序的方法。业务过程定义可以按内部规范形式来提供,或者可以分解成一系列表示法的任意一种的规范形式。业务过程定义可以按规范格式来保存。通过根据与目标环境相应的发生器描述符从业务过程定义产生可执行子程序,可以直接在目标环境中执行该可执行子程序。该方法提供了一种开发时间环境,其中,业务过程可以被设计、修改、保存在库中,并可以变换成直接可执行子程序。该方法使得可以在所调用程序与引擎或服务器无关的环境条件下调用业务过程。
附图说明
下面,参照附图详述本发明的一些例子,其中:
图1示出了系统级操作的高级模式;
图2示出了根据本发明的业务过程变换过程;和
图3示出了可执行业务过程的特定网络分布的一个例子。
具体实施方式
本发明提供了我们如何调用反应智能框架(RIF)。本发明提供了一种开发时间环境,其中,业务过程可以被设计、修改、保存在库中,并可以变换成直接可执行子程序。这些子程序可以通过各种手段来调用。这些业务过程按规范扩展标记语言(XML)格式来保存。
有一些有名的用于表示业务过程的表示法,例子包括:用于构造UML模型的表示法;专有表示法(例如,AMIT的情形标记语言);业务过程标记语言(例如,BPML、BPEL4WS和BPSS);和商业规则(例如,RuleML中的事件条件作用(ECA)规则)。
使用综合开发环境(如Rationale Rose)的程序员利用UML(通用建模语言)表示法来创建和保存它们的模型。这种表示法的一个例子XMI允许程序员根据作为XML文档所保存的模型来创建应用。
专有表示法(例如,AMIT的情形标记语言)用来表示监测数据库中的事件流及变化的复杂情形。
业务过程标记语言(例如,BPML、BPEL4WS和BPSS)可用来以类似于工作流程的方式说明性地将业务过程表示为业务过程的编排或安排。
商业规则(例如,RuleML中的事件条件作用(ECA)规则)已被用来提供监测数据库中的事件流及变化的基于标准的描述,并允许规则交换可以在异构的但遵从标准的业务规则环境中发生。
下面,不失一般性,我们将以ECA规则表示法为例。在这种表示法中,业务过程表示为:事件定义,该定义把包含过程将要处理的这一事件或一些事件描述为输入;条件定义,该定义描述了将要运用的测试;和一个或多个作用定义,该定义描述了这一过程的可能的作用并可能包含这一过程执行的输出。事件定义提供了含有支持时序事件和事件相关性的事件代数。条件定义可以对事件数据、本地数据或时间相关事件起作用。
业务过程可以通过诸如API的界面来定义和操作。这种界面可以包含用户界面,由此用户可以输入描述基础业务逻辑的数据。或者,该界面可以包含馈送界面,通过它可以传送预定业务逻辑。
利用一种为目标平台和环境选择适当编码语言的发生器,将业务过程变换成可执行代码。优选的语言是Java。Java语言提供了广泛支持:从Java企业版本(J2EE)的服务器环境、具有Java标准版本(J2SE)的工作站环境、通过Java移动版本(J2ME)的移动环境到具有实时Java规范(RTJS)的嵌入式环境。其他可能的语言还包括C#、C以及符合公用语言运行期(CLR)(其中应用或平台需要这种支持)的语言。
如图1和2中所示,业务过程定义由定义业务过程的用户通过用户界面(UI)1来创建,或者通过导入其他任何表示法或上述表示法10的类型(例如BPEL、BPML、XMI、ECA等)来创建。如果业务过程以另一表示法10来定义,并因此使用了过程界面1a,那么,后续变换从原表示法转到规范形式(2a)。过程界面1a是应用编程界面(API),该界面使得其他表示法10可通过调用使用该应用编程界面的应用被捕获,并将该API传送到变换过程2a。不管创建业务过程的路由如何,系统都将业务过程库保留2在过程存储器3中。这些业务过程按规范形式保存为XML文档。一个规范形式体现为RIFML,RIFML是一种用于过程编码的专有标记语言。不失一般性,提供了这种实施方式。业务过程变换组件4将业务过程从规范形式变换成可执行代码7。该变换可以是多级过程。业务过程定义从过程存储器3中读出,并利用一个或多个发生器描述符5和一个或多个变换规则6,产生用于可执行子程序的源代码30。所使用的发生器描述符5可以由用户专门从用户界面1所给出的可用发生器描述符列表中选出,或者自动从预定列表中选出。这些发生器描述符和预定列表由系统管理员利用单独的用户界面40或利用发生器描述符界面(是一种应用编码界面)40a来规定。然后,调用该源的适当编译器31,以产生该业务过程的可执行形式7。
如前面所提到,发生器描述符描述了目标平台的特性。它可以包括与下列一个或多个有关的数据:可用编程环境列表和优选编程环境,硬件处理器和操作系统,以及相关性的列表。在Java的情况下,将指定目标平台上Java的版本,即J2EE、J2SE、J2ME或RTJS。
提供运行期环境条件以支持业务过程执行的标准环境,从而最大限度地减少或至少减少必须产生的源代码量。然后,将这些可执行业务过程通过网络9配置8到所要求的目标平台中。在一种优选实现方式中,这些平台鉴于其广泛的支持和可分布性质,因此可以是支持Java或CLR的任何平台。
图1中,有5种示例的目标环境:
●Java企业版本20,在这种环境下,业务过程可以通过web(万维网)浏览器中执行的Applet(小应用程序)、应用服务器上运行的servlet(小服务程序)、企业Java的Bean(EJB)和消息驱动的Bean(MDB)21来调用
●Java标准版本22,在这种环境下,业务过程可以通过独立Java应用23来调用
●Java移动版本24,在这种环境下,业务过程可以通过无线、电话和手持应用25来调用
●实时Java规范26,在这种环境下,业务过程可以通过嵌入式的操作控制应用27来调用
●NET 28,在这种环境下,业务过程可以通过web服务29来调用。
业务过程可以直接通过上述应用种类之一来调用,或者,这些过程可以根据基础事件模型来调用。在本发明中,在运行期环境中提供了环境条件,这种运行期环境提供了通用事件模型以及支持执行业务过程的其他功能。这种环境条件提供了作为事件模型的抽象的通用事件处理机制。在这种环境条件下,利用事件中的信息并提供本地数据访问能力,可以最大限度地减少数据需求。
图3示出了物理网络的一个例子,其中,业务过程所规定的业务逻辑的单元被配置到四个完全不同的平台中。物理上在芝加哥的节点52在J2EE环境下运行Java;节点53在莫斯科并在web服务环境下运行C#;节点54在伦敦并在嵌入式环境下运行C;而最后一个节点55在巴黎并在J2SE环境下运行Java。在每一环境下可执行的每一逻辑和行为是相同的,并如业务过程的定义中所规定。本例中,我们已介绍了没有包含在以上列出的预定目标环境中的目标环境(节点54中的嵌入式C环境),作为说明扩展目标环境的机制的方式。图2中,由系统管理员通过用户界面40(参见图1)来规定附加目标环境(节点54),并且所得到的发生器描述符被保存在发生器描述符5的库中。系统管理员还将规定定义业务过程的用户所用的描述符的配置的列表。
下列业务过程定义的例子说明了利用ECA语法进行业务过程的定义。该业务过程说明了,对于某一仪器价格变动事件,如果仪器的价格跌到规定值以下,则为指定客户执行这种仪器的所有储备的销售操作。
  <Event name=″PriceChange″type=″InstrumentPriceChange″>

         <Condition>

                 <AND>

                      <EQ>

                           <operand name=″PriceChange.instrument″/>

                           <literal value=″US00039564765″/>

                      </EQ>

                      <LT>

                           <operand name=″PriceChange.price″/>

                           <literal value=″75.5″>

                      </LT>

         </Condition>

         <Action>

                 <Declare name=″Trades″type=″TradeList″/>

                 <Assign name=″Trades″>

                      <Call context=″TradeSys″operation=″getTrades″>

                           <param name=″Customer″value=″XYZ Bank″/>

                           <param name=″Instrument″

                                  operand=″PriceChange.instrument″\>

                      </Call>

                 </Assign>

                 <Loop control=″Trades″item=″Trade″>

                      <Call context=″TradeSys″operation=″Sell″>

                            <param name=″Trade″operand=″Trade″/>

                      </Call>

                 </Loop>

         </Action>

  </Event>
其中发生器更了解系统的另一种语法可能是:
<Customer name=″XYZ Bank″>
      <instrument id=″US00039564765″>
              <low value=″75.5″>
                      <behaviour name=″sell″/>
              </low>
      </instrument>
</Customer>
所产生的源代码一样...
JAVA版本:
  package examplerules;

  public class MonitorInstrument implements com.enigmatec.ReactiveRule{

          public MonitorInstrument(){

          }

          public void onEvent(Object event){

                  com.acme.InstPriceChange priceChange=

                        (com.acme.InstPriceChange)event;

                  if(priceChange.getInstrument().equals(″US00039564765″)&&

                                 priceChange.getPrice()<75.5){

                        java.util.Vector trades=TradeSys.getTrades(″XYZ Bank″,

                                 priceChange.getInstrument());

                        for(int=0;i<trades.size();j++){

                                 com.acme.Trade trade=

                                       (com.acme.Trade)trades.elementAt(i);

                                 TradeSys.sell(trade);

                        }

                  }

          }

  }
C#版本:
  using System;

  namespace ExampleRules

  {

       public class MonitorInstrument:com.enigmatec.ReactiveRule{

                public MonitorInstrument(){

                }

                public void onEvent(Object event){

                        com.acme.InstPriceChange priceChange=

                                     (com.acme.InstPriceChange)event;

                        if(priceChange.getInstrument().equals(″US00039564765″)

                                &&priceChange.getPrice()<75.5){

                        com.acme.Trade[]trades=TradeSys.getTrades(″XYZ Bank″,

                                      priceChange.getInstrument());

                        foreach(com.acme.Trade trade in trades)

                               TradeSys.sell(trade);

                }

       }

Claims (31)

1.一种用于将业务过程变换成适合于在目标环境下执行的可执行子程序的方法,该方法包括如下步骤:
提供业务过程定义;
提供与目标环境相应的发生器描述符;和
根据发生器描述符从业务过程定义产生可执行子程序。
2.如权利要求1所述的方法,其中,业务过程定义按反应规则定义形式来提供。
3.如权利要求1或2所述的方法,其中,业务过程定义按内部规范形式来提供。
4.如权利要求1或2所述的方法,其中,产生可执行子程序的步骤包括:
将业务过程定义剖析为内部规范形式。
5.如权利要求3或4所述的方法,其中,内部规范形式是反应智能框架标记语言(RIFML)。
6.如权利要求1-5任一所述的方法,其中,产生可执行子程序的步骤包括:
利用一个或多个变换规则,结合一个或多个描述目标环境的发生器描述符,产生用于可执行子程序的源代码。
7.如权利要求6所述的方法,其中,产生可执行子程序的步骤还包括:
调用一个或多个编译器,以根据源代码产生所述过程的可执行形式。
8.如上述权利要求任一所述的方法,其中,在所述产生步骤中产生的子程序根据运行期环境条件产生,从而支持业务过程执行的标准环境。
9.如权利要求8所述的方法,其中,运行期环境条件包括下列一个或多个:可用编程环境数据;可用事件系统数据;关于对本地文件和服务的可访问性的数据;和涉及目标平台中的其他相关性的数据。
10.如权利要求9所述的方法,其中,事件系统是一种以预定形式调度事件的系统,选自以下组:Java消息服务,Java收听服务,Windows事件调度器,和X Windows消息传送。
11.如上述权利要求任一所述的方法,其中,发生器描述符包括选自下列一个或多个的数据:可用编程环境列表;可用事件模型列表;表示在目标环境中使用的硬件的处理器数据;表示在目标环境中使用的操作系统的类型的操作系统数据;和相关性的列表。
12.如上述权利要求任一所述的方法,其中,发生器描述符是在定义业务过程时的用户输入。
13.如上述权利要求任一所述的方法,其中,提供发生器描述符的步骤包括为共同出现的目标环境配置提供一组共同的发生器描述符。
14.如权利要求1-11所述的方法,其中,发生器描述符被推理出。
15.如权利要求14所述的方法,其中,发生器描述符至少部分地根据下列一个或多个被推理:业务过程定义和运行期环境条件。
16.如上述权利要求任一所述的方法,还包括将业务过程定义库保持在过程存储器中的步骤。
17.如权利要求16所述的方法,其中,业务过程定义按内部规范形式来保存。
18.如权利要求16所述的方法,其中,业务过程定义由用户通过访问过程存储器的用户界面来提供。
19.如权利要求18所述的方法,其中,产生可执行子程序的步骤包括:
调用业务过程变换组件,以根据源代码将用户定义的业务过程定义变换成业务过程的可执行形式。
20.如上述权利要求任一所述的方法,其中,产生可执行子程序的步骤包括通过网络将可执行业务过程配置到预期目标环境中。
21.如权利要求20所述的方法,其中,为网络上存在的每一目标环境产生可执行业务过程,并将其配置在网络上的多个不同位置,使得产生减少的一组可执行业务过程,以配置在网络内的各个不同位置。
22.一种根据业务过程定义和用于目标环境的发生器描述符将业务过程变换成可执行子程序的系统,其中,该系统包括一个或多个计算机应用,所述应用提供输入业务过程定义的界面,并根据发生器描述符将一个或多个业务过程定义变换成用于在目标环境内执行的多个子程序。
23.如权利要求22所述的系统,其中,业务过程定义按反应规则定义形式来提供。
24.如权利要求22所述的系统,其中,业务过程定义按内部规范形式来提供。
25.如权利要求22-24任一所述的系统,其中,发生器描述符是在定义业务过程时的用户输入。
26.如权利要求22-25任一所述的系统,其中,发生器描述符选自用于共同出现的目标环境配置的一组共同的发生器描述符。
27.如权利要求22-25任一所述的系统,其中,产生可执行子程序中所用的发生器描述符被推理出。
28.如权利要求27所述的系统,其中,推理数据至少部分地根据下列一个或多个被推理:业务过程定义和运行期环境条件。
29.如权利要求22-28任一所述的系统,其中,所述一个或多个计算机应用包括:将业务过程定义剖析为内部规范形式的计算机应用;和利用一个或多个变换规则结合一个或多个描述目标环境的发生器描述符产生用于可执行子程序的源代码的计算机应用。
30.如权利要求29所述的系统,其中,计算机应用还包括调用一个或多个编译器以根据源代码产生业务过程的可执行形式的计算机应用。
31.一种包括计算机可执行代码的计算机程序产品,这种代码可根据一个或多个发生器描述符将业务过程定义变换成一个或多个可执行子程序,所述发生器描述符每个都与一个目标环境相应。
CN03812439.4A 2002-05-29 2003-05-28 分布式可执行过程的产生 Pending CN1656449A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38444302P 2002-05-29 2002-05-29
US60/384,443 2002-05-29

Publications (1)

Publication Number Publication Date
CN1656449A true CN1656449A (zh) 2005-08-17

Family

ID=29712033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN03812439.4A Pending CN1656449A (zh) 2002-05-29 2003-05-28 分布式可执行过程的产生

Country Status (5)

Country Link
US (1) US20030236690A1 (zh)
EP (1) EP1508089A2 (zh)
CN (1) CN1656449A (zh)
AU (1) AU2003227991A1 (zh)
WO (1) WO2003102763A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967572B (zh) * 2005-11-18 2011-03-16 无锡中科方德软件有限公司 用于业务密集型领域的业务过程管理方法和系统

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412658B2 (en) 2002-11-14 2008-08-12 Sap Ag Modeling system for graphic user interface
US7124145B2 (en) * 2003-03-27 2006-10-17 Millennium It (Usa) Inc. System and method for dynamic business logic rule integration
US20080256508A1 (en) * 2003-10-09 2008-10-16 Einfalt, Ehf. Hybrid Spreadsheet/Workflow Design and Execution Environment
US7493593B2 (en) * 2004-03-18 2009-02-17 International Business Machines Corporation Method for generating a business process execution language for web services executable workflow code from an unstructured cyclic business process model
US7774485B2 (en) 2004-05-21 2010-08-10 Bea Systems, Inc. Dynamic service composition and orchestration
US20060136555A1 (en) * 2004-05-21 2006-06-22 Bea Systems, Inc. Secure service oriented architecture
US8615601B2 (en) * 2004-05-21 2013-12-24 Oracle International Corporation Liquid computing
US7653008B2 (en) * 2004-05-21 2010-01-26 Bea Systems, Inc. Dynamically configurable service oriented architecture
US8140469B2 (en) * 2004-12-16 2012-03-20 International Business Machines Corporation Journaling to capture workflow and convert to workflow markup language
US8117597B2 (en) * 2005-05-16 2012-02-14 Shia So-Ming Daniel Method and system for specifying and developing application systems with dynamic behavior
US20090125892A1 (en) * 2005-11-18 2009-05-14 Robert Arthur Crewdson Computer Software Development System and Method
US20070244910A1 (en) * 2006-04-12 2007-10-18 Microsoft Corporation Business process meta-model
US9542656B2 (en) * 2006-11-13 2017-01-10 International Business Machines Corporation Supporting ETL processing in BPEL-based processes
US8881112B2 (en) * 2007-12-19 2014-11-04 International Business Machines Corporation Quality measure tool for a composite application
US8607245B2 (en) * 2009-05-15 2013-12-10 Hewlett-Packard Development Company, L.P. Dynamic processor-set management
US8527446B2 (en) 2009-11-09 2013-09-03 International Business Machines Corporation Information integrity rules framework
US8904364B2 (en) * 2010-09-07 2014-12-02 Red Hat, Inc. Execution in workflow BPM engine
US9043765B2 (en) * 2011-11-09 2015-05-26 Microsoft Technology Licensing, Llc Simultaneously targeting multiple homogeneous and heterogeneous runtime environments
US20140149180A1 (en) * 2012-04-19 2014-05-29 Oracle International Corporation Sale prediction engine rules
WO2014008304A2 (en) 2012-07-02 2014-01-09 Oracle International Corporation Extensibility for sales predictor (spe)
US9059960B2 (en) * 2012-08-31 2015-06-16 International Business Machines Corporation Automatically recommending firewall rules during enterprise information technology transformation
US9904899B2 (en) * 2014-08-27 2018-02-27 Software Ag Systems and/or methods for reactive, distributable, and extensible process execution

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6418450B2 (en) * 1998-01-26 2002-07-09 International Business Machines Corporation Data warehouse programs architecture
JP2003516569A (ja) * 1999-11-24 2003-05-13 キャメロット・アイエス−2・インターナショナル・ディ・ビイ・エイ・スカイヴァ・インターナショナル ビジネス・モデリングの方法および装置
US7853553B2 (en) * 2001-03-26 2010-12-14 Siebel Systems, Inc. Engine for converting data from a source format to a destination format using user defined mappings
US7536697B2 (en) * 2001-06-19 2009-05-19 Accenture Global Services Gmbh Integrating enterprise support systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1967572B (zh) * 2005-11-18 2011-03-16 无锡中科方德软件有限公司 用于业务密集型领域的业务过程管理方法和系统

Also Published As

Publication number Publication date
WO2003102763A2 (en) 2003-12-11
EP1508089A2 (en) 2005-02-23
US20030236690A1 (en) 2003-12-25
AU2003227991A1 (en) 2003-12-19
WO2003102763A3 (en) 2004-09-23

Similar Documents

Publication Publication Date Title
CN1656449A (zh) 分布式可执行过程的产生
Srichandan et al. Task scheduling for cloud computing using multi-objective hybrid bacteria foraging algorithm
CN102375731B (zh) 一种免编码集成应用软件平台系统
Sugihara et al. Programming models for sensor networks: A survey
US7448022B1 (en) Dynamic software composition in a component-based software system
Mandell et al. A bottom-up approach to automating web service discovery, customization, and semantic translation
CN1609789A (zh) 模块化对象串行化体系结构
CN1809068A (zh) Web应用程序架构
Michel et al. A microkernel architecture for constraint programming
Zhang et al. Agent-and CORBA-based application integration platform for an agile manufacturing environment
Lee et al. Bio-STEER: A Semantic Web workflow tool for Grid computing in the life sciences
Mahon et al. Cooperative design in grid services
CN101604323A (zh) 一种地理空间模型整合与共享的方法及其系统
US8224672B1 (en) Actuary-manipulable rating model and system
US20060026094A1 (en) Systems and methods for distributing updated information in a stateless system
Teo et al. GLAD: a system for developing and deploying large-scale bioinformatics grid
WO2008048416A2 (en) Enterprise performance management software system having dynamic code generation
Pinheiro et al. An application programming interface with increased performance for optimisation problems data
Liu A distributed data flow model for composing software services
US20080091632A1 (en) Distributed, multi-user, multi-threaded application development system and method
Böhm et al. The demaq system: declarative development of distributed applications
Delicato et al. Using aspects and dynamic composition to provide context-aware adaptation for mobile applications
Czarnul et al. Automatic conversion of legacy applications into services in beesycluster
Kjaer et al. Modeling and implementing ontology-based publish/subscribe using semantic Web technologies
Zaharia et al. Semantic execution meets geospatial web services: a pilot application

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