CN1791861A - 基于消息的交换基础设施的商业流程管理 - Google Patents
基于消息的交换基础设施的商业流程管理 Download PDFInfo
- Publication number
- CN1791861A CN1791861A CNA2004800134299A CN200480013429A CN1791861A CN 1791861 A CN1791861 A CN 1791861A CN A2004800134299 A CNA2004800134299 A CN A2004800134299A CN 200480013429 A CN200480013429 A CN 200480013429A CN 1791861 A CN1791861 A CN 1791861A
- Authority
- CN
- China
- Prior art keywords
- message
- business
- interface
- application
- engine
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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
- 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/067—Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了用于管理异构应用概貌的集成的方法和系统。该概貌是由一个或更多商业流程定义的。商业流程管理系统包括连接在所述概貌中的两个或更多应用之间的集成服务器。该集成服务器包括被配置成执行定义在两个或更多应用中的基于消息的交互的一个或更多商业流程。该商业流程管理系统还包括应用。商业流程管理系统还包括运行在商业流程引擎指导下的运行时间引擎,用于在两个或更多应用之间基于消息的交互上执行一个或更多消息服务。
Description
相关申请参考
本发明要求2003年5月16日提交的美国临时专利申请号60/471237的优先权。
背景技术
下列描述涉及商业系统和用于协作商业流程(business process)的相关体系结构和技术。公司面临着在其信息和企业软件系统中的集成和协作的增加的需求。在大多数当前的系统概貌(landscape)中,许多部件通过一对一的关系直接和其它部件连接,其中集成能力硬件连接到应用部件和单个映射程序中。在这些情况下,对信息的协作共享的管理是困难的。这些基础设施很少能够准确地代表实际的商业流程,并且它们对于支配商业流程的动态商业场景(scenario)的灵活性受到限制。
然而,新的电子商业协作,通常需要在公司边界内部和外部的所有应用的可连接性。诸如因特网的网络提供系统和其它系统或个人几乎即时通信的机会。曾经一度限制在内联网及其用户的商业流程现在移动到因特网,成为万维网(Web)服务的一个有效组成部分。Web服务是能够通过开放因特网标准公布、发现或调用的可编程、自包含、自描述的模块化应用功能。然而,现有企业软件的综合系统升级,或者在异构系统概貌中的大型更换策略倾向于开销太大,或者在时间和资本来源开销上来说根本不可行。
虽然使用诸如超文本传输协议(HTTP)和可扩展标记语言(XML)的开放协议提供了技术上的可连接性,对于映射不同的商业语义(business semantic)的挑战仍然存在。为了获得未来的一轮效率的增长,企业越来越多地被要求开展一种跨越企业或者跨越在企业中的功能的新的协作商业流程。此外,企业将越来越多地需要处理和管理实时场景而不是执行批处理。
发明内容
本文档公开了一种用于根据实际的商业流程和场景管理和执行基于消息的通信的商业流程管理(BPM)系统和方法。该BPM系统包括商业流程引擎(此后为了简化还被称为“流程引擎”),其被配置来根据应用系统概貌的商业流程来执行指令。该流程引擎在集成服务器上保持一个状态来处理相关消息。相关意味着流程引擎能够识别在语义上链接的消息,诸如与单个产品有关的订购单或者发票。该流程引擎能够在一个流程实例中接收和保存多个消息。
该流程引擎被配置成执行明确的串行化(explicit serialization)(包括处理应答)。这种串行化是独立于发送者和接收者系统的,而且在涉及超过一个接收者和发送者系统时工作,这区别于仅仅一次有序的EOIO流程。该流程引擎还被配置成执行流程控制的组播,以包括对于响应消息的处理。
该流程引擎还能够收集相关的消息。该流程引擎还提供转换服务,其被配置用于将多个消息合并成为一个消息(诸如将定购单标头和任意数量的定购单位置合并成一个定购单),以及将一个消息分割成几个部分,例如将一个定购单分割成定购单标头和任意数量的定购单位置。商业流程(此后还被直接称作“流程”)可以使用来自所有参与消息(该流程早先接收的信息)的信息,并且能够将响应路由给在先请求的原始发送者。
附图说明
现在将参考下面附图来详细说明这些和其它方面。
图1是用于集成、基于消息的协作的交换系统的简化方框图。
图2是交换基础设施的方框图。
图3是用于协作处理的集成仓库(integration repository)、集成目录(directory)和运行时间(runtime engine)引擎的详细方框图。
图4是说明用于在两个或两个以上应用中传送单个消息的流程的方框图。
图5是包括集成服务器和商业流程引擎的BPM系统的体系结构方框图。
图6是BPM系统的工作流图表。
图7说明了到商业流程的链接和来自商业流程的链接。
图8示出了BPM系统的串行化使用的情况。
图9示出了BPM系统的基本组合场景。
图10说明了在BPM系统中的无状态通信场景。
图11说明了在BPM系统中的有状态通信场景。
图12示出了在BPM系统中的三种类型的通信场景。
图13说明了使用上下文对象来区分在相同接口上的不同发送步骤。
图14说明了在BPM系统中合并情况的方面。
图15说明了作为流程-规范化的值-格式操作的值映射处理。
图16说明了流程引擎执行时间的一个实施例。
图17说明了一个隐含的取消操作。
具体实施方式
在此描述的系统和技术涉及对商业流程的管理,所述商业流程定义了在异构系统概貌应用之间的消息通信协议。该商业流程管理系统和方法优化地在交换基础设施中实现,所述交换基础设施被配置成使用诸如XML和HTTP的开放标准和传输协议来集成和驱动在概貌中的各种应用之间的协作。
图1是用于应用的集成和基于消息的交互的系统100的简化方框图。系统100包括交换基础设施(XI)110,用于在企业的内部部件(IC)102当中的协作处理,以及用于通过防火墙105与一个或多个IC 102通信的外部部件(EC)104之间的协作处理。IC和EC 102、104代表多个流程或服务及其软件和硬件中的任何一个,诸如Web门户、购买或销售程序、电子邮件、商业管理程序、项目计划程序等,并且最好是基于Web的应用。IC/EC 102,、104的每一个根据多个通信协议或标准中的至少一个经由消息和一个或多个其它部件通信。
XI 110是自包含、模块化的用于驱动在部件102、104之间的协作的交换平台。XI 110包括存储共享协作知识的中央集成仓库和目录。XI 110支持诸如可扩展标记语言(XML)、Web服务描述语言(WSDL)和简单对象访问协议(SOAP)的各种标准标记语言的开放标准来为部件102、104和用于跨越异构部件接口的基于消息的通信提供技术接口的摘要(abstraction),。XI 110的自包含、模块化的功能能够被作为基于标准因特网技术的一个或多个Web服务提供,并且因此能够使用开放标准在具有部件102、104的网络中发布、发现和访问。
图2说明了包括用于便利基于消息的应用中的协作的XI 110的系统概貌200。交换基础设施110包括集成仓库202、集成目录204,系统概貌目录203和集成服务器206。集成仓库202捕捉能够经由XI 110传送的所有软件部件的设计时间协作描述。集成目录204在运行时间捕捉系统概貌200的专用配置协作描述,其包括对来自系统概貌目录203的实际部件安装和用于外部部件的连接性说明的访问,这两者都表示系统概貌200的共享商业语义。集成服务器206在运行时间使用共享商业语义来执行在有效(active)的软件部件之间的基于消息的协作。
集成服务器206包括在运行时间提供消息传递(messaging)和商业流程控制的运行时间引擎,用于连接服务和管理值链的流程流。BPM系统299驻留在运行时间引擎214之下的集成服务器206上。BPM系统299包括商业流程引擎或是在运行时间引擎214之上运行的用于对商业流程管理的运行时间执行的“流程引擎”(未示出)。
集成服务器206还包括通常要求应用专用实现的集成服务216。与集成仓库202和集成目录204类似,集成服务器206被配置用于在任意现有系统基础设施中的部署。集成服务器206最好是应用运行时间协作环境所支持的系统概貌的集成目录204的共享协作知识的专用服务器。运行时间工作台208允许机构或用户管理XI 110的可靠操作。
XI 110还包括提供在集成服务器206和专用应用(proprietary aplication)211、基于网络的服务213以及第三方应用215之间的连接性的各种适配器209。XI 110还可以包括Web应用服务器210,用于提供根据使用诸如例如Java和ABAP的Web专用编程语言编程的标准计算平台。Web应用服务器210还包括运行时间引擎214的一个实例,用于在诸如Java应用220和ABAP应用222以及其它部件之间的基于Web的应用之间提供消息传递和商业流程控制。
用于软件部件的新的接口可以使用采用代理(proxy)的应用部件来定义,这允许了用于软件部件的接口能在XI 110中逻辑上实现。代理使得通信技术堆栈(stack)对于应用来说是透明的,并且给应用展示独立于编程语言的接口。代理能够由代理产生器218基于存储在集成仓库202上的信息来生成。代理产生器218使用经由诸如WSDL和XSDL的标准基于Web的语言描述的接口信息在应用开发系统中创建依赖于编程语言和平台的代码。通信逻辑能够基于代表诸如基于Web应用213的Java、ABAP和.NET的相应开发平台的接口描述的代理来实现。代理把平台专用数据类型转换成XML并提供对于部件专用本地集成引擎的访问。在出站(outbound)端,完整地产生代理。出站代理能够经由该应用的开发者提供的服务调用来调用。而在入站(inbound)端,只需要生成代理的框架,如同由接收应用所实现的。
图3详细说明了集成仓库202、系统概貌目录203、集成目录204和运行时间引擎214的一个实例。集成仓库202包括设计时间商业流程232、路由对象234、映射236和接口238,以上的全部根据一个或多个商业场景230来被定义。集成仓库202从系统概貌目录203来访问系统概貌中的所有软件部件240的描述。集成仓库202的商业场景230描述和配置在应用部件或企业之间的基于消息的交互。企业能够选择在集成仓库202中描述的一个或多个商业场景作为用于快速配置XI 110的最佳实现。
商业流程232能够被实现为使用商业流程引擎274执行的可扩展组合Web服务。每个商业流程232在集成仓库202被中心地(centrally)建模。公司或用户根据其商业需要而设计每个商业流程232,而独立于其技术实现。例如可以有几种类型的商业流程模板:即,通用商业流程、工业专用流程和公司专用流程。每个流程识别所需的并且必须互连的Web服务。在一个特定实现中,使用图形接口来定义商业流程232。根据BPEL4WS 1.1规格来定义图形商业流程定义语言。商业流程232能够输出到标准格式或从标准格式输入(即今天的BPEL4WS 1.1规格)。可扩展输入/输出框架使得其能够提供用于其它标准或BPEL4WS的新版本的输入/输出便利。商业流程引擎274能够随后解释这些模型并且执行它们来驱动在软件部件中的协作。
路由对象234是确定在协作处理期间必须在部件和商业伙伴之间分发(distributre)的消息的潜在接收者的预定标准。关于路由对象的信息被用于接收者对于避免在分发之前需要处理完整的消息的确定。映射236定义在集成仓库202中的消息接口238、消息类型或数据类型之间所需的转换。这些转换涵盖结构转换和值的映射。结构转换是用于在句法和结构上不同的语义上等价的类型的,而值的映射可以在该对象在多个系统中被不同的密钥标识时使用。在特定的实施例中,提供一个图形映射工具来辅助映射,并且基于可扩展stylesheet语言转换(XSLT)或Java代码来转换数据。
集成仓库202是用于接口开发、存储和检索的进入中心点,并且包括描述在系统概貌中所有软件部件的所有消息接口的接口238。因此,接口238能够在使用任何技术的任何软件部件上实现。消息接口由消息类型构成,而消息类型依次又是由数据类型构成。数据类型可以使用XML Schema定义语言(XSDL)来描述。数据类型的一个例子是“地址”,其在消息类型“创建定购单”中使用并且能够被重新用于消息类型“创建发票”。接口238能够根据诸如入站、出站和摘要、或者同步和异步的任何分类来排列。
部件240代表包括关于应用部件的信息以及关于它们相互间依赖性的信息的部件描述。在一个特定的实现中,部件描述是基于分布式管理队伍(taskforce)的标准通用信息模型(CIM)的。由于集成仓库202包括设计时间信息,只有独立于实际安装的部件-类型信息作为部件240存储在系统概貌目录203中。能够使用API或交互式地使用图形用户接口来添加部件描述。
集成目录204对于来自专用于如在系统中安装的每个部件的配置的集成仓库202的信息进行详细描述。集成目录204的配置专用协作描述能够从集成仓库202中的内容自动生成或者通过用户使用图形用户接口手工生成。在一个实现中,集成目录204构建于Java平台上并且其内容经由使用开放因特网标准的XML来表示。集成仓库202能够被升级而不影响集成目录204或是任何运行时间协作流程。用户随后决定哪个变动应当被传送到集成目录204,或是作为预定的自动升级或是经由图形工具手动进行。
集成目录204包括商业场景250、商业流程252、上下文对象254和可执行映射256的配置专用描述。集成目录204还包括对于有效Web服务258和有效商业伙伴260的描述。集成目录204使用来自系统概貌目录203的对于有效系统概貌262的描述。在集成目录204中的商业场景250表示在与特定实现相关的实际配置的上下文中的接口和映射256之间的交互的总体视图。商业流程252表示所有有效商业流程的可执行描述。
上下文对象254确定在商业层的消息的接收者。在一个特定的实现中,消息的上下文被用作上下文对象254。也可以使用其它的参数。相关输入参数包括发送者、发送者消息类型、识别接收者的消息、以及接收者消息类型。上下文对象254能够使用XML路径语言(Xpath,即,通过使用图形工具)来宣布式地(declaratively)描述或者可以用Java来编码。集成引擎214在运行时间访问关于上下文对象254的信息。
上下文对象254可以使用逻辑术语来描述发送者和接收者以便将他们从由集成目录204中描述的Web服务258提供的物理地址中分离。该物理地址因此能够被改变而不改变面向商业的内容。在集成目录204中的映射256表示在有效系统概貌中所需的映射,对照于包含所有所支持映射的集成仓库映射236。然而,某些新条目,诸如映射的新顺序,只能够例如在集成目录204中产生来寻址附加的用于映射的Web服务。集成引擎214在运行时间访问集成目录映射256。
上下文对象254为访问在语义上相同的负载信息提供唯一的名称。例如,上下文对象能够为‘plant’的发票和定购单提供唯一的访问名称。在发票中‘plant’的Xpath能够被定义为‘/A/B/C/plant’并且在定购单中‘plant’的Xpath看起来类似‘/X/Y/Z/werk’。上下文对象254被分配给指定了上述的XPath的消息接口发票和定购单。这保证了plant的XPath不会在n个不同的地方被定义。
Web服务258描述在当前有效系统概貌中实现的接口,以及由所描述的商业伙伴260所支持的有效Web服务。同样地,描述Web服务258的信息能够与统一描述、发现以及集成(UDDI)兼容的目录进行交换或者由手动添加。每个Web服务258描述还提供物理寻址细节、访问信息和其它诸如统一资源定位器(URL)、协议和安全信息的其它特殊属性。在一个实现中,Web服务258用WSDL来描述,并且SOAP和ebXML被用作消息传递协议。集成引擎214在运行时间也访问关于Web服务258的信息。
系统概貌目录203的系统概貌262描述使用XI 110的当前系统概貌。系统概貌262描述在系统中的某些机器上安装和可用的部件、所选的实例或者客户机、关于安装的部件的进一步的信息、其它系统概貌等。系统概貌262是基于开放体系结构的并且能够遵循任何被广泛接受的标准,诸如通用信息模型(CIM)。于是,当被安装在实际系统概貌中时,很多私用和第三方的部件能够被配置来自动在系统概貌262中注册。到系统概貌262的访问接口也能够基于开放标准,诸如基于Web的商业管理(WBEM)和SOAP标准。
商业伙伴262定义用于企业的商业伙伴的信息,诸如姓名、地址和URL,并且还可以包含更多详细和复杂的信息。例如,商业伙伴262可以包括对于能够被直接接收和处理、或者对于用于安全通信的安全协议的、或者在伙伴关系中采用的交易术语的消息格式的描述。存储在商业伙伴262中那种的信息能够由企业的企业专用决定(decision)使用XI 110来管理。
集成目录204和运行时间引擎214形成用于执行协作商业流程的协作运行时间环境。该协作运行时间环境提供与用于在所连接的软件部件和商业伙伴之间交换消息相关的所有运行时间部件。集成服务器206执行协作运行环境或是Web应用服务器210,而协作运行环境或是Web应用服务器210的每个能够根据由集成目录204提供的信息性资源包括运行时间引擎214的一个实例。
在各种相互连接的部件中交换所有消息的运行时间引擎214包括两层:集成层272和消息传递与传输层(MTL)280。集成层272包括执行中央建模的商业流程的商业流程引擎274、逻辑路由服务276和映射服务278。MTL 280提供物理地址解析服务282、消息传递和队列服务284、经由HTTP的传输服务286以及数据库288。集成服务器206中的集成服务216能够支持运行时间引擎214。MTL 280还包括在Web应用服务器210的运行时间引擎214的每个实例中,也包括在连接到各种软件部件的适配器框架的每个适配器209中。每个MTL 280如下所述在执行EO协议中具有一个角色。
在运行时间,商业流程252被例示并由商业流程引擎274执行,商业流程引擎274根据商业流程模型独立于它们的位置来执行在Web服务258中描述的相应Web服务。商业流程引擎274独立于所执行的商业流程252的语义,并且被配置为商业流程252和运行时间系统概貌的技术部件进行交互的仲裁者和促进剂(facilitator)。
图4是说明在应用中交换消息的流程中的运行时间引擎214和BPM299的几个功能的方框图。发送应用303驻留在发送部件系统302中,发送部件系统302表示发送应用303的硬件和软件平台。一个或多个接收应用305的每个驻留在接收部件系统304中。用于消息310的通信路径能够包括从发送部件系统302通过运行时间引擎214和适配器309到接收部件系统304的在出站接口的出站代理307。接收部件系统304还可以利用入站代理311而不是适配器。所示的接收部件系统304的配置和连接性仅仅是示例,应当注意到这种配置和连接性可以采用任何数量的形式。所绘出的例子说明了异步和同步通信两者。在同步通信中,由于响应被传送到发送者是已知的,仅仅对于请求需要路由和物理地址解析。
对于给定的消息来说,逻辑路由服务276使用关于发送应用的信息和消息接口,通过评估如312所示的相应的路由规则来确定接收者和所需的接口。路由规则是由集成目录204提供的运行时间系统概貌的配置专用描述的一个部分,并且能够以Xpath表达式或Java代码来实现。映射服务278在314确定取决于消息、发送者和发送者接口、以及接收者和接收者接口的所需转换。在异步通信的情况下,甚至连消息的方向都被确定以适当地转换输入、输出和错误消息。
在从集成目录204检索所需映射以后,映射服务278能够对于所发送的消息的内容或是执行XSLT映射或是执行Java代码(或是任何给定顺序的组合)。在集成层之下,消息传递、队列和传输服务284将该消息移动到所要去的或所需的接收者。在消息被转换成每个接收者所期望的格式后,从集成目录204检索所需接收者服务的物理地址和其它相关属性,并在316将它们映射到该消息。
在消息传递和队列服务284中的队列引擎(未示出)持续存储入站、出站、错误消息和正在进行的消息。运行时间引擎214的消息传递层提供用于对应用部件的物理去连接的队列功能并且保证消息根据协议(即“EO协议”)只被正好递送一次。传输服务286使得运行时间引擎214能够扮演客户机和服务器两者的角色。传输服务286实现一个能够使能出站的客户机和一个通过接收进入文档来处理入站通信的服务器。附加的服务器功能能够通过支持在所使用的传输协议上的查询(polling)来应付在其中接收者没有服务器的情况。最好使用HTTP,但是也可以使用其它的传输协议。
图5是BPM系统500的体系结构方框图,其包括集成在集成服务器502中的流程引擎504。在它们的运行时间配置中被称作流程引擎504和集成服务器502的在它们的“定义时间”配置中还分别被称作过程编辑器和集成构造器。BMP系统500中的流程定义506和BPM运行时间508是基于不同的开发平台的。例如,流程定义506是基于诸如J2EE平台505的Java的,而运行时间508是基于ABAP的。BPM系统500包括在集成服务器502上的监控和管理工具524。
流程定义506模块基于从集成目录514的XI对象512输入的部署规则;来利用XML对象和相关来定义流程。XI对象512是基于为系统运行时间配置516定义的路由和映射的。XI对象512还被用作在集成仓库522中定义商业流程518和系统概貌的设计时间配置520。商业流程518其它集成仓库522对象和工具集成在一起,这允许链接到其它XI对象和来自其它XI对象的链接。流程(即,模式和模板)可以被递送给客户,并且可以提供扩展概念。应用专用内容也可以被递送。一些应用能够创建能够被递送给客户的流程和/或扩展。BMP系统500包括输入和输出用于通用连接性的基于标准的适配器的输入/输出框架526。BPM系统500能够包括用于接收用户专用商业流程细节的接口。
商业流程建模场景也被已知为建模模式(或者就是“模式”)。下面描述的模式是高层构建块,并且能够相互组合和与诸如最终期限、异常等的基本原(atomic)流程引擎504函数进行组合。
1)发送和接收:发送由流程引擎504控制的消息通常和等待相关响应消息的接收步骤组合在一起。接收步骤应当等待以激活相关的关联作为队列机制来开始的消息。
2)串行化:这个模式能够包括下列步骤:1.接收消息并将它们在本地存储在过程数据上下文中;2.保留数据上下文和当满足了某个条件时开始发送所接收的消息;和3.以和接收者的依赖性相关的给定的次序发送所接收的消息。这个第三步骤可以是:a.不考虑响应/确认(“发射即不管”);或b.接收响应或确认(使能串行化)。流程引擎504能够被配置成在发送下一个消息前等待前一次发送的消息的技术ACK或是来自前一次发送的消息的商业响应。
3)转换/混合/分割:流程引擎504在过程上下文中转换消息。随后的转换能够被执行:1.(N∶1)将几个收集的消息转换成一个新消息(例如将几个发票转换成一个组合的发票或或将PO标头和几个PO的位置转换成一个PO。);2.(1∶N)将一个消息转换成几个其它消息(例如将组合的发票转换成和原始定购单相关的消息);和3.(1∶1)是如上所述的转换的一个特定情况。如果需要N∶M映射也是可能的。
4)组播:流程引擎504能够被配置成计算一个消息的接收者(还使用基于内容的条件),并且将该消息发送到这些接收者,或者是和响应/确认(“发射即不管”)无关的或者是基于接收多个响应/应答的。可以并行或顺序发送消息。
5)收集:这个模式使用在其中能够接收任意数量的消息的接收步骤。从流程的观点来看,可以经由“push,”(即达到了某种条件,诸如N个消息到达了,某个最后期限到了等)或其中流程引擎等待指示收集的结束的特殊消息的“poll”来定义收集场景的结束。
也参照图5,图6图解了BPM系统500运行时间的工作流600和相应的控制(orchestrating)几个“客户”应用系统503的集成服务器502的流程引擎。集成服务器502是经由消息与客户应用系统503通信的单独的部件。消息相关的功能(发送、创建、转换、合并、分割等)最好由到集成服务器502(‘低层XI运行时间功能’)的消息传递层的服务调用来实现。流程引擎504最好不直接改变消息负载。而是,如下所述,消息通过转换来改变。
流程引擎504只关心在集成服务器502上的流程,而不是在应用系统503上的流程。流程引擎504不被用于控制在后端系统中的过程,但是当其能够经由消息和或流程通信时,流程引擎504不和应用、后端系统的机构的管理功能和用户管理功能交互。流程引擎504使用消息传递层作为应用,而商业工作流使用应用、对于相应应用系统的用户管理和机构管理。流程引擎504支持经由同步出站接口(outbound interface)的通信。
商业流程管理
将流程管理集成到XI概貌中可以用两个部分来描述:1)“外部视图”,其涵盖到商业流程和来自商业流程的全部参照;和2)“内部视图”,其观察流程和建模工具。
外部视图
在集成仓库522和集成目录514中都有流程的表示。创建流程定义,并且只在集成仓库522中存储该流程定义。这允许将流程定义传输到客户系统503。存储在集成目录514中的流程将依靠一个薄的(thin)表示,其将指向集成仓库522的相关流程定义。每个商业流程,作为一个XI对象(在导航树中可见,并且在来自其它XI对象的链路或者到其它XI对象的链路中有用),将提供将集成服务器502集成到XI环境中的能力。商业流程518能够使用已建立的XI对象类型,并且将不创建冗余的对象类型。商业流程518包括公共部分,诸如在先使用过的接口;私用部分(private parts),其包括使用步骤类型和相关的流程图。流程实例能够在运行时间508被停止和重新开始。流程实例还可以从特定的步骤重新开始(例如如果在某个步骤期间发生错误,则从那个步骤重新开始)。
图7图解了到集成仓库522中的商业流程518的链接和来自集成仓库522中的商业流程518的链接。该链路包括到以下的参照:(2)摘要接口702;(3)上下文对象704;和(4)接口映射706。绝对链路包括:(1)商业场景参照流程定义的动作;(5)接口映射706参照消息映射712。可以在商业场景720中使用商业流程518,并且将作为在商业系统之间的中介。
商业流程518具有流程接口708,其反映全部的入站和出站通信。在流程接口708中使用的接口包括两种类型:流程专用接口(用于该流程的特殊规范接口);和发送/接收商业系统的映射的出站/入站接口(为了避免创建不必要的接口)。映射必须在创建指向和原始接口的相同消息类型的新摘要接口702时进行。摘要接口702能够用作入站以及出站的角色。这保证了对于由流程接收并且随后不变地(不经转换)发送出去的消息的映射是不必要的。如果该流程需要入站和出站消息,则需要从入站方向到出站方向的转换。此外,流程专用接口不需要在所附的商业系统中具有代理。这产生了(lead to)所谓的摘要接口702,其是商业流程518能够使用的唯一类型的接口。本地接口可以参照其它的接口708(为了处理映射)并且它们还可以参照消息类型710(为了实现流程专用接口)。
上下文对象704能够被用于经由名称或其它消息内容来访问负载信息。数据可以不被写入上下文对象704。接口映射706在转换步骤之内由商业流程518寻址。
商业场景720可以参照一个或多个商业流程518。一个商业流程占据一个“泳道(swim lane)”或流程流。每个流程被作为一个商业系统对待。在流程泳道中的动作不被存储为可以重复使用的单独的动作。动作表示由商业流程518作为出站或入站接口(或两者)使用的接口。在‘正常’场景的情况,动作的所有接口不必是连接的目标和源。在商业流程的情况下,每个动作表示具有入站和/或出站语义并且必须被用作连接中的目标和/或源的一个接口。提供从商业场景720到商业流程518的导航。
图8示出了简单的串行化使用情况。O*表示一个出站接口。I*表示一个入站接口。L*表示一个本地接口。接口L2和L4的消息由商业流程接收(它们中的每个能够首先到达并开始流程)并以顺序的次序发送出去。每个动作表示被商业流程用作入站接口(接收)和出站接口(发送)的一个接口。因此,每个动作具有两个连接:到的动作和来自的动作。
图9示出了基本的合并场景。接口L2和L4的消息由商业流程接收(它们中的每个能够开始流程)并被转换成发送出去的接口L5的新消息。代表接口L2和L4的动作只具有入站(接收)连接,而代表接口L5的动作只具有出站(发送)连接。
对于一个商业场景,商业流程可以以不同的方式来建模。一种方法称为“流程优先,”或从下到上,其包括创建流程定义和流程接口。这种流程标记(signature)包括具有入站和/或出站角色的接口。这些接口的消息能够由流程来接收/发送。所述流程标记能够从流程定义和容器元素(container element)来导出并且不需要由流程设计师来定义。该流程接口的入站部分是基于接收给定接口的消息(即,应当接收到的容器元素的类型)的接收步骤的。该流程标记的出站部分是基于发送给定接口的消息(即,已发送的容器元素的类型)的发送步骤的。这个方法还包括在商业场景中引入流程定义。在商业场景中,动作指的是商业流程的接口。
流程能够被建模的另一种方法被称为“场景优先”或从上到下,其包括下列步骤:1.在商业场景中把流程定义作为泳道引入(如果流程定义不存在则隐含创建流程定义);和2.向流程的泳道添加动作(隐含创建/编辑该流程接口)。
如图7所图解的,从集成仓库522到集成目录514的转换应当尽可能地容易。在一个实施例中,集成目录514中的流程732被创建、命名和链接到在集成仓库522中的有效流程定义518。还可以使集成目录514中有超过一个的流程指向集成仓库522中的相同流程。因此,其它的所有集成目录对象能够和流程732链接。为了使得这种转换容易,流程732能够被包括在显示在用户接口的用户可配置转换“向导”中。
集成目录514中的流程732包括薄的(thin)表示:该流程被以名称来识别并且由于路由关系734对于商业场景730的依赖,该流程嵌入商业场景730中。目录流程732包含到其始发仓库流程518(有效版本)的参考(链接)。因此,集成目录514中的流程表示将不包含流程定义。因此,集成目录514中的流程定制或流程配置是不必要的。
集成目录514中的流程732允许指定路由关系734和从映射关系736的来自/去到流程732的映射。这意味着,映射和路有功能需要将流程732识别为源或目标(即,商业流程可以和商业系统一样被寻址)。在集成构造器接口中必须能看到一个流程或商业系统是否被寻址。流程732在路由中还被用作消息的发送者。例如,应当在将相同接口的消息发送到不同的接收者的相同流程中区分两个不同的发送步骤。
从无状态的场景(不具有流程)到有状态的场景(具有流程)的转换应该尽可能的平滑。图10示出了无状态的通信。O2到I2以及O4到I4的连接(路由)能够被串行化,其中,O和I是使用的接口。
图11图解了有状态的场景。为了创建有状态的场景,需要去除O2到I2以及O4到I4的连接(路由)。本地接口L2(到O2的映射接口)和L4(到O4的映射接口)以及流程定义需要被创建。随后,需要在商业场景中引入流程泳道(BP1)。能够从流程接口接管动作并且来自和到该流程的连接(路由)必须被调整为:O2到L2和L2到I2;以及O4到L4和L4到I4。在接口O2和I2之间使用过的映射能够在接口L2和I2(由于L2是O2的映射)之间重复使用。对于O4/L4和I4来说也是如此。
系统可以包括用于商业流程的图形建模的图形流程建模工具。该图形流程建模工具包括在图形上图解建模元素的流程构造器图形用户接口(GUI)以及基本建模范例。
使用在流程中可用的数据来执行每个流程。此数据被存储在作为流程容器的实体的容器元素(变量)中。在对流程建模时,该容器元素能够被定义并且包括唯一的名称和类型。容器元素能够被定义为多-线(即,元素的表格)。容器元素能够根据类型来分组。一个这样的类型是接口(即,对于由流程来处理的消息)。另一个这种类型是简单XSD类型(即,用于流程控制数据,例如计数器等)。接收者也能够被指定为组播所需的一种数据类型。
流程接口表示流程的标记(接口),其包括具有入站和/或出站角色的接口。这些接口的消息能够由流程来接收/发送。流程接口能够从流程定义和容器元素导出。流程接口的入站部分是基于接收给定接口的消息的接收步骤的(即,应当接收的容器元素的类型)。该流程接口的出站部分是基于发送给定接口(即,已发送的容器元素的类型)的消息的发送步骤的。
被发送到流程的消息需要被递送到不仅仅是流程定义,还要递送到流程正确的实例。该“实例路由”通常能够完成。开始一个新的处理的实例是一种特殊情况。由流程处理的消息是松散地连接的。应当由同一流程处理的消息的依赖性取决于商业数据。
相关是用来定义这些依赖性的工具。对于相关的声明性(declarative)详述依赖于消息的声明性属性。属性就是消息中的一个字段。能够使用多个字段来定义相关。在每个消息中相关标记(token)(即相关属性的值)的位置能够在流程定义中声明性地表达。只要保持信息的第一消息可用,相关就能够在流程实例的范围内被例示。这种例示是通过发送和接收步骤来建模的。
流程只能够由消息到达来触发,经由应用调用或者经由API或者经由人的交互来开始流程能够被映射到使用触发消息。触发消息能够在接收步骤中被识别。因此,接收的消息能够被宣布为触发消息,和BPEL4WAL类似。为了能够宣布接收步骤作为触发性的,这个步骤需要在流程的开始被定义。接收步骤被用于消费(consume)发送到流程的消息。每个接收步骤将获得其自己的消息,即使多个接收步骤等待相同接口的消息。如果一个消息发送到流程并且还没有例示接收步骤,则流程引擎将消息排队列直到接收步骤到达。
如上所述,消息被发送到流程。如果没有消费消息的接收步骤,则该流程将高速缓存来临的消息。如果进入接收步骤,从高速缓存中取出“最久时间”的消息并且接收步骤完成。如果流程进入接收步骤并且该高速缓存是空的,则该流程等待直到新的消息到达。在BPM系统中的每个接收步骤实例获得其自己的消息,而不是和传统的基于事件的发布和订阅一样当相同的事件发生时通知几个事件消费者。
接收步骤参照完成接收步骤需要被填满的所有相关。当存在超过一个相关时,所有被参考的相关必须被填满来完成接收步骤(和语义)。接收步骤还参照当消费所接收的消息时需要示例的相关。消息的到来是新数据能够被带入流程的唯一的方式。
可以有用于相同接口的消息的多个接收步骤。如图12所示,至少3个场景是可能的:顺序;并行;和循环。这些将依次在后面讨论。
在顺序场景中,多个接收步骤等待相同接口的消息。消息在不同的时间点到达(t1和t2),而接收步骤开始从相关激活时间起算的等待期间。语义如下:每个接收者获得其自己(不同的)消息;第一消息完成第一接收步骤而第二消息完成第二接收步骤;第一消息不完成这两个(或者更多)的接收步骤。这种动作避免了竞态条件而且保证不丢失消息。
在循环场景中,接收步骤在循环中等待相同接口的消息。消息(相同接口的)在不同的时间点到达(t1、t2和t3),而接收步骤开始从相关激活时间起算的等待期间。语义如下:如果没有消费消息的接收步骤,则流程将高速缓存所有的到达消息;如果进入接收步骤,从高速缓存中取出“最久时间”的消息并且接收步骤完成。如果流程进入接收步骤并且该高速缓存是空的,则该流程等待直到新的消息到达。这种‘循环接收’有助于实现收集(collect)的场景。
并行场景涵盖了两个接收步骤并行等待相同接口的相同消息的情形。消息在不同的时间点到达(t1和t2),而两个接收步骤都从相关激活时间开始进行等待。语义如下:每个接收者获得其自己(不同的)消息;第一消息不完成这两个接收步骤;每个接收步骤获得其自己的消息,虽然顺序可能是任意的。
描述完接收消息传递和步骤,将说明发送消息和步骤。发送步骤用于发送已经在流程中可用的消息。执行发送步骤,流程引擎将该(出站)消息提交给流水线用于处理。要发送的消息的接收者能够经由目录中的路由配置或者直接通过和接收者确定步骤结合的流程定义或使用另一个用来回复(reply)的消息来确定或指定。
当从目录中检索出路由配置时,流程名称和出站接口是消息中的发送者信息。该消息被提交给流水线,在该流水线合适的路由关系被评估以确定目标接口和接收者。上下文对象如图13所示,可以被用于区分来自相同接口的不同的发送步骤。当由流程定义直接指定接收者时,接收者(即,商业系统)可以被直接输入或者通过接收者确定步骤来计算。在这种情况下,流水线不能依据路由配置再次计算接收者。
如果使用了路由配置(目录),则需要上下文对象来区分从流程的不同地方发送相同接口的消息的发送步骤,例如,发送步骤每个位于开关元件的亚斥分支,并且需要被发送到不同的接收者。如果没有上下文信息,不可能相互区分发送步骤,因为它们是相同流程的部分并且被在相同的接口发送。路由只能使用流程名称和接口名称。上下文对象使得能够经由发送步骤向路由提交附加上下文信息。这个信息能够在路由条件中使用并且对路由关系真和假分类。
异步通信是用于发送步骤的缺省行为。该消息被使用流水线(不接收响应或者错误消息)发送到其接收者。对于异步通信来说,有可能等待应答(无/流水线、技术、应用(缺省:无应答))。这些应答不是商业消息而是接收者的技术响应(肯定或否定)。只有当接收者(适配器、系统等)能够发送这些应答时,该应答才能被接收。
在流程层级将不能看到发送时的错误。因此,发送步骤不返回任何错误状态。当能够向流水线提交消息并且流程引擎接收到请求的应答时(如果请求了),发送步骤结束。由于流程引擎不被配置来执行任何重试,重试是通过XI运行时间实现的(可以在CPA中定义重试的次数)。
还能够使用发送步骤用于同步通信。在这种情况下,发送步骤处理两个消息:一个被发送的消息和一个作为结果被接收的消息。使用同步通信,由于调用立刻返回结果,不需要处理应答。
流程引擎还能够经由发送步骤发送肯定或否定应答。当流程正常终止时,由呼叫系统请求并且还没有被明确回答的应答将被满足。
接收者确定步骤调用流水线的接收者确定来计算使用路由信息的消息的接收者。该步骤返回一个接收者的列表。该接收者的列表允许流程控制的组播。与发送步骤一样,接收者确定步骤提供能够用于评估路由条件的上下文信息。
转换步骤被配置来:合并消息(N∶1);分割消息(1∶N);和将消息从一个接口转换到另一个(作为特殊情况的1∶1)。对于每个转换步骤,可能需要指定映射程序(接口映射)和参加转换场景的消息两者。映射程序需要能够处理不同的转换情形。消息的转换是通过被流程引擎调用的一个服务进行的。转换服务应当能够处理完整的消息(负载、附件等)。
链接到消息负载(例如作为附件的目录参考照片)需要被此服务如下对待。在合并情形中,如图14所图解,所有的附件被收集并且被附加到合并的消息。附件带有一个由消息负载参考的名称。所有的附件必须使用唯一的名称(例如GUID)。在分割的情况下,所有的附件仅能被复制和附加到所创建的消息上,即使传输了大量的数据。于是,转换步骤包括转换、合并和分割的操作。创建新消息的操作是转换步骤的一个特殊情形。
在操作中,转换步骤调用XI运行时间的映射服务,其中使用一个或几个消息(不是负载)和映射程序作为输入参数,并且接收一个或多个新消息(不是负载)作为输出参数。转换步骤对消息操作,同样,其他值源或目标(例如简单XSD类型)最好不使用。
由于需要用于值映射的发送机和/或接收者信息在过程中不可用并且不能提交给映射程序,在过程中的值映射将是不可能的。因此,流程需要关于值的“规范化”的消息格式。如图15所示,到流程的值映射选择发送者商业系统A(BSA)作为过程规范化的值格式。然而,当流程接收或发送消息时,值映射是可能的。
控制流相关建模元素或步骤包括切换、分配、控制、阻挡、并联部分(parallel sections)、循环、等待、清空、异常和最后期限。开关提供几个分支,每个分支配备有条件和用于评估的明确次序。在运行时间采取其条件返回真值的第一分支。所有其他的分支分支能够被忽略。如果没有匹配的分支(即,所有分支的条件返回为假),则采取缺省的分支。分配步骤改变容量元素(即顶层访问)的值。通过这个操作不能改变消息(负载、头标等)。为了改变负载,必须执行转换步骤。消息负载能够经由Xpath、上下文对象或其它类似的装置来访问。
控制步骤提供影响控制流的多个不同功能,例如:发布异常(throwexeptions)或终止流程。控制步骤是特定用于不同功能的步骤类型。控制步骤能够包括发布异常功能和/或取消/终止功能。在出错情形下,应当可能发布将由异常句柄(handler)处理的异常。被发布的异常能够通过唯一的异常名称来识别。
在出错情形下,必须能够在某个点介入用户。这种控制步骤的实现提供了向SAP警告管理发送警告的可能性。
取消/终止功能允许终止流程和所有参与步骤而不需要出错处理和补偿性行为。能够区分明确和隐含的取消功能性。控制步骤的明确取消功能性基于某种流程状态(接收的消息或最终期限)而终止整个流程。处理这个步骤,则流程停止,并且流程实体本身和所有的有效步骤将被终止。
隐含的取消功能不在流程中建模,但是如图17所示是流程引擎的一个特征。与明确终止相比较,隐含情形不影响整个流程而是只影响流程的某个部分(例如一个或多个派生分支)。明确取消功能性的一个例子是具有两个分支的并行部分,其中第一分支在结合步骤完成并行部分(两者之一)。因此,如果一个分支到达接合步骤并且接合条件为真,则另一个分支需要被隐含取消。假定在t1两个分支都是有效的。在t2一个分支到达接合步骤而另一个分支还在处理中。在t3另一个分支被取消(对于第一个分支来说接合条件为真)并且流程在接合步骤之后继续在明确取消中,不提供补偿。分支将被隐含终止而不再有进一步的通知。当定义接合条件时最终开放通信必须被考虑。
块(在BPEL中的“scope”或BPML中的“sequences”)能够被提供用于定义要被顺序执行的能够共享容器定义的多个步骤。这也满足了文档的目的。块还能够被用于定义涵盖超过一个步骤的最后期限,以及定义异常和它们的范围(reach)。由于要为块定义最后期限和异常,还可能定义块的最后期限和异常句柄。
如上所述,能够使用控制步骤,或由系统来提出(raise)异常。建模工具提供定义异常句柄的可能性。异常允许流程逻辑来用信号通知企业出错。几个不同的异常类型包括由流程逻辑明确发布的应用异常,以及由流程引擎发布的系统异常。能够在块一级定义异常。块表示其异常的范围。每个块可以具有任意数量的异常。每个异常带有唯一的名称并且不能被重新定义。
能够经由识别唯一异常名称的控制步骤来提出异常。在它们的范围内能够为现有的异常定义异常句柄。发布异常能够被如下处理:首先找到用于该异常名称的异常句柄。首先搜索在提出(throw)命令周围的内部块;如果在周围的块不能找到异常句柄,则来到下一个更高的块,并且只要没有找到该异常句柄就持续这样做。第二,停止在带有该异常句柄的块中的所有有效步骤。如果该句柄被在父级块上发现,则停止该块和所有有效的步骤。第三,开始异常句柄并且执行在异常句柄中的步骤。第四,在异常句柄的结束,块(其中定义了异常句柄)被如同正常一样完成。如果在块之一中该异常不能被处理,流程将进入错误状态。
提供最后期限来监控该流程的到期日,并且对误了最后期限做出反应。建模工具还提供对最后期限句柄建模的可能性。只对建模元素块有最后期限,其它的元素将不支持最后期限。这允许监控一组步骤和避免竞态条件。如果最后期限只附加在接收或发送步骤并且该最后期限在该步骤被示例之前就到了则竞态条件能够发生。
最后期限包括最后期限到期日的定义、最后期限范围(当最后期限被激活和/或无效后)、以及对于误了最后期限的反应。最后期限定义能够被编程成不考虑周末、公共假期等。如果到期日到了,则将提出最后期限异常来终止在该块中所有的有效步骤并且开始相应的最后期限句柄。相应的最后期限句柄能够基于到达的最后期限对反应建模。可以没有缺省的最后期限反应。每个块可以只带有一个最后期限,该最后期限必须具有分配给其自己的能够被用作最后期限异常的异常名称。为这个异常定义最后期限句柄。
最后期限包括最后期限定义(日期和时间)以及对误了最后期限的反应。系统支持对于流程活动执行的时间限制的定义(例如流程必须在负载指定的最后期限前三天停止)。反应能够使得例如在给定时间框架中未能满足条件时,必须发送消息到适当的商业系统,和/或用于异常情形的警告机制(例如经由SAP警告管理的用户通知)。
流程构造器被配置成提供两种并行部分:静态变量和动态变量。静态并行部分(fork和join)提供并行部分任意数量的分支和同步,分支数量能够在定义时间定义。这个并行部分将基于下面的条件终止:作为特定的条件,提供了“m中的n个”的逻辑(使用“n中的n个”所有逻辑也是可用的)。作为基于消息和容器变量操作的任意条件。每当一个分支到达了接合步骤则对两种条件都进行检查。如果一种条件返回为真,则终止所有的其它有效分支。流程在并行部分结束后立刻继续下一个步骤。
动态并行部分(ParForEach)是提供并行部分一个定义分支和同步的块。这个分支的并行执行的数量能够在运行时间被确定。该动态并行部分具有分配的多线元素(表格)。该定义的分支(块)为该元素的每个线并行执行。如果多线元素是空的,则动态并行部分将会立刻完成。每个分支具有其自己的地址空间。该动态并行部分将基于某些条件终止:作为特殊的缺省条件,所有的分支必须完成;作为基于消息和容器变量而操作的任意变量。每当分支到达其结尾(块的结尾)时将对两种情况进行检查。如果一个条件返回真值,则将终止所有其它的有效分支。流程在并行部分结束后立刻继续下一个步骤。
流程构造器能够提供不同类型的循环。一种类型的循环是“while”循环。While循环重复一组步骤直到一个任意的条件被满足。另一种类型的循环是“ForEach”循环。ForEach是具有所分配的多线元素(表格)的块。其围绕着给定的多线元素循环并且对于该元素的每个线顺序执行相关步骤(一个接一个)。如果该多线元素是空的,则不执行ForEach循环(即该流程不去到错误状态)。流程在块的末尾立刻继续下一个步骤。
等待步骤指定在流程流中的延迟,直到到达了某个最后期限或者经过了某个周期的延迟。空白的元素或步骤什么也不做并且必须作为用于要建模的步骤的空间。
控制流建模元素被这样描述了,现在将对建模模式进行讨论。这些模式是用于构造实现上述需求的流程的高层构件块。每个模式能够与一个或更多其它模式进行组合并且可以与诸如最后期限、异常等的单元素(atomic)流程引擎功能组合。建模模式包括:串行化消息/序列;转换/合并/分割;组播;和收集。
为了串行化消息和/或序列,几个接收步骤(为了获取进入流程的所有必需的消息)和几个发送步骤能够以一种能够保证次序的方式来被组合。发送步骤使用技术应答来保证实际上消息落入该接收者系统是重要的。或者,必须建模另一个接收步骤来获取相应的商业响应。因此,这种模式能够包括下列步骤:接收消息;和以与接收者的技术依赖性相关的给定次序来发送所接收的消息。对于后一个步骤,在发送下一个消息前等待该消息的应答;并且每个消息寻址一个接收者。
转换/合并/分割建模模式包括:(N∶1)将所收集的消息转换成一个新消息(例如将几个发票转换成一个组合发票);或(1∶N)将一个消息转换成几个其它消息(将组合的发票转换成和原始定购单相关的发票)。组播建模模式包括下列步骤:接收消息或经由转换创建消息;找到接收者;和向接收者发送输出消息。最后步骤能够被执行而不需要担心回答/应答/(发射即不管),或通过接收多个回答/应答(逆串行化)来执行。
为了执行消息相关的步骤,流程引擎依赖于由XI运行时间而不是由流程引擎提供的服务。XI运行时间提供由流程引擎使用的下列服务:发送,接收者确定,以及转换。能够提供建模工具。流程引擎还能够提供来自消息视图(XI运行时间)和来自流程视图(流程运行时间)的技术监控。应当可以从流程监控导航到消息监控,反之亦然。此外,可以执行在XI监控基础设施(即,运行时间工作台)中的集成。流程引擎部件测试应当以信号通知流程引擎是否是有效的。最终,流程能够在CCMS基础设施中传送警告。
监控能够被分割成两个主要范围:监控流程引擎的整个状态;和监控单个流程实例。对于前一范围,系统在运行时间期间支持流程监控,例如诸如对于所有有效流程实例的实际状态的图形显示。系统还能够支持数据卷以及用于流程监控的运行时间性能信息。对于后一范围,系统被配置来为每个流程实例写入流程日志(应用需要将其自己的应用消息写入协议),并且将流程日志和使用应用数据(例如订单号)选择的可能性一起显示。
图16图解了商业流程引擎运行时间600的示例。在该例子中,SRM应用802经由集成服务器206与供应商应用804通信。虽然仅仅相对于SRM应用802以运行时间表示,每个应用包括入站和出站接口,并且可以包括用于连接到集成服务器206的代理。集成仓库202包括表示在SRM应用802和供应商应用804之间的、在语义上链接的通信的商业流程232的一个实例。
商业流程实例232包括定义通信的流程定义,包括在SRM和供应商应用之间的逻辑和物理接口。该流程定义定义在这些应用中的服务之间发生的消息传递动作和内容,并且能如所期望的细节化。
集成服务器206包括商业流程引擎274,其从集成仓库(并且经由未示出的集成目录)接收和执行商业流程实例。集成服务器206还包括消息传递功能和服务806,诸如逻辑路由、映射和物理地址解析。这些功能和服务806还包括对转换服务的映射,用于合并、分割、创建、和/或在发送方和接收方应用之间映射消息。集成服务器206还提供用于应用服务之间基于Web的消息传递的核心消息传递服务。
虽然如上详述了一些实施例,其它的修改是可能的。其它的实施例可以在所附权利要求的范围内。
Claims (20)
1.一种用于在商业系统中集成两个或更多应用的系统,所述系统包括:
集成服务器,其连接在两个或更多应用之间,所述集成服务器包括被配置成执行一个或更多预先定义的商业流程的流程引擎;和
运行时间引擎,其在商业流程引擎的指引下操作,用于基于至少一个预先定义的商业流程在两个或更多应用之间执行一个或多个消息传递服务。
2.如权利要求1所述的系统,还包括用于存储所述一个或多个预先定义的商业流程的仓库。
3.如权利要求2所述的系统,其中,所述仓库包括定义在所述两个或更多应用系统之间的交互的设计时间对象。
4.如权利要求2或3所述的系统,还包括用于基于企业概貌的运行时间配置而存储所述一个或多个预先定义的商业流程的部分的目录。
5.如权利要求4所述的系统,其中所述一个或多个预先定义的商业流程的运行时间部分是可由所述流程引擎访问的,以由所述运行时间引擎执行。
6.如前述任意一个权利要求所述的系统,其中,所述消息传递服务包括根据由所述商业流程引擎所执行的一个或更多商业流程对消息的逻辑路由、将消息从一个应用映射到另一个、以及对两个或更多应用的物理地址解析。
7.如前述任意一个权利要求所述的系统,其中,每个商业流程定义在所述两个或更多应用中的基于消息的交互。
8.一种用于在商业系统中的两个或更多商业应用中进行基于消息的交换的系统,所述系统包括:
仓库,其存储所述两个或更多商业应用的商业系统设计时间描述,所述设计时间描述包括设计时间商业流程;和
目录,其存储所述两个或更多商业应用的商业系统配置专用描述,所述配置专用描述包括要在所述两个或更多商业应用之间执行的配置专用商业流程。
9.如权利要求8所述的系统,其中,所述仓库还包括所述两个或更多商业应用的设计时间接口描述、要在所述两个或更多商业应用之间交换的消息的消息上下文描述、以及与所述设计时间接口对描述相关的接口映射描述,并且其中,所述设计时间接口描述、所述消息上下文描述以及所述接口映射描述链接到至少一个设计时间商业流程。
10.如权利要求8或9所述的系统,其中,所述仓库还包括表示所述设计时间商业流程的摘要的设计时间商业场景描述。
11.如权利要求9所述的系统,其中,每个设计时间接口描述包括到至少一个接口类型对象和/或至少一个消息类型对象的链接。
12.如权利要求9所述的系统,其中,每个设计时间接口映射描述包括到至少一个基于商业流程定义在接口对之间的映射的消息映射对象的链接。
13.如权利要求8到12中任意一个所述的系统,其中所述目录还包括配置专用商业场景描述,其包括所述配置专用商业流程。
14.如权利要求13所述的系统,其中,每个配置专用商业流程包括到至少一个路由关系对象和/或至少一个映射关系对象的链接。
15.一种用于在商业应用概貌中集成两个或更多应用服务的方法,所述方法包括:
将所述两个或更多应用和一个商业场景相关联;
基于所述商业场景定义一个或更多设计时间商业流程;和
将所述一个或更多设计时间商业流程中的每一个与所述两个或更多应用的接口描述链接起来。
16.如权利要求15所述的方法,还包括将所述一个或更多设计时间商业流程的每一个和至少一个基于消息内容来描述在两个应用之间的消息路由的上下文对象链接起来。
17.如权利要求15或16所述的方法,还包括将所述一个或更多设计时间商业流程中的每个与至少一个描述在两个或更多应用的接口之间的映射的接口映射描述链接起来。
18.如权利要求15到17中任何一个所述的方法,还包括定义和商业应用概貌的运行时间配置相关联并且基于所述设计时间商业流程的一个或更多配置专用商业流程。
19.如权利要求18所述的方法,还包括:
在运行时间引擎中产生至少一个配置专用商业流程的实例;和
根据所述至少一个配置专用商业流程而执行所述实例来传送消息。
20.如权利要求19所述的方法,还包括根据所述配置专用商业流程在所述两个或更多应用中的两个之间传送消息。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US47123703P | 2003-05-16 | 2003-05-16 | |
US60/471,237 | 2003-05-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1791861A true CN1791861A (zh) | 2006-06-21 |
Family
ID=33452433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2004800134299A Pending CN1791861A (zh) | 2003-05-16 | 2004-05-14 | 基于消息的交换基础设施的商业流程管理 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7788319B2 (zh) |
EP (1) | EP1625499A2 (zh) |
JP (1) | JP5290518B2 (zh) |
CN (1) | CN1791861A (zh) |
WO (1) | WO2004102438A2 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567063A (zh) * | 2008-04-24 | 2009-10-28 | 株式会社日立制作所 | 信息管理系统、帐票定义管理服务器以及信息管理方法 |
CN103403674A (zh) * | 2011-03-09 | 2013-11-20 | 惠普发展公司,有限责任合伙企业 | 执行基于策略的改变过程 |
CN110633947A (zh) * | 2018-06-22 | 2019-12-31 | 上海昶铭软件科技有限公司 | 一种项目管理系统及其工作方法 |
Families Citing this family (195)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040098717A1 (en) * | 2002-09-16 | 2004-05-20 | Husain Syed Mohammad Amir | System and method for creating complex distributed applications |
US7404185B2 (en) * | 2003-12-02 | 2008-07-22 | International Business Machines Corporation | Method and apparatus of adaptive integration activity management for business application integration |
US7389321B2 (en) * | 2003-12-12 | 2008-06-17 | International Business Machines Corporation | Sequential restructuring of a collaborative context |
US9015239B2 (en) * | 2003-12-22 | 2015-04-21 | International Business Machines Corporation | System and method for integrating third party applications into a named collaborative space |
US20050198121A1 (en) * | 2004-01-07 | 2005-09-08 | Daniels Robert W. | Vertical enterprise system |
US7743386B2 (en) | 2004-03-12 | 2010-06-22 | Sap Ag | Context objects for accessing message content |
US7536606B2 (en) * | 2004-04-30 | 2009-05-19 | Microsoft Corporation | Error detection in web services systems |
US8606723B2 (en) | 2004-06-04 | 2013-12-10 | Sap Ag | Consistent set of interfaces derived from a business object model |
WO2005122078A2 (en) | 2004-06-04 | 2005-12-22 | Sap Ag | Consistent set of interfaces derived from a business object model |
WO2006038924A2 (en) | 2004-06-18 | 2006-04-13 | Sap Ag | Consistent set of interfaces derived from a business object model |
US7739695B2 (en) * | 2004-07-19 | 2010-06-15 | Sap Ag | Computer implemented method and system for running a plurality of business processes |
US7614049B2 (en) * | 2004-08-24 | 2009-11-03 | International Business Machines Corporation | Autonomic installation and configuration of an enterprise business process on-demand |
US7657554B2 (en) * | 2004-11-05 | 2010-02-02 | Microsoft Corporation | Method and system for managing user interface messages |
US7865519B2 (en) | 2004-11-17 | 2011-01-04 | Sap Aktiengesellschaft | Using a controlled vocabulary library to generate business data component names |
US8521570B2 (en) * | 2004-12-28 | 2013-08-27 | Sap Aktiengesellschaft | Integration of distributed business process models |
GB2423382A (en) | 2005-01-27 | 2006-08-23 | Microgen Plc | Generating business process programs using a symbolic representation of operators in a graphical interface |
NZ561149A (en) * | 2005-02-22 | 2010-07-30 | Connectif Solutions Inc | Distributed asset management system and method |
US8744937B2 (en) | 2005-02-25 | 2014-06-03 | Sap Ag | Consistent set of interfaces derived from a business object model |
US8195789B2 (en) | 2005-04-20 | 2012-06-05 | Oracle International Corporation | System, apparatus and method for characterizing messages to discover dependencies of services in service-oriented architectures |
US9317259B2 (en) * | 2005-05-12 | 2016-04-19 | International Business Machines Corporation | Apparatus, system, and method for automatically generating a reusable software component for interfacing with a web service |
US20070005618A1 (en) * | 2005-06-07 | 2007-01-04 | Konstantin Ivanov | Systems and methods for modeling business processes |
US20060293941A1 (en) * | 2005-06-07 | 2006-12-28 | Konstantin Ivanov | Systems and methods for modeling business processes using graphical symbols |
EP1889160A2 (en) * | 2005-06-09 | 2008-02-20 | Whirlpool Corporation | Software architecture system and method for communication with, and management of, at least one component within a household appliance |
US7761533B2 (en) * | 2005-09-21 | 2010-07-20 | Sap Ag | Standard implementation container interface for runtime processing of web services messages |
US8745252B2 (en) * | 2005-09-21 | 2014-06-03 | Sap Ag | Headers protocol for use within a web services message processing runtime framework |
US7788338B2 (en) * | 2005-09-21 | 2010-08-31 | Sap Ag | Web services message processing runtime framework |
EP1785847B1 (en) * | 2005-10-27 | 2015-11-18 | Accenture Global Services Limited | Display apparatus for automatically visualizing an application landscape |
US8386555B2 (en) * | 2005-11-04 | 2013-02-26 | Sap Ag | Systems and methods for adapting procedure calls to service providers |
US8364840B2 (en) * | 2005-12-02 | 2013-01-29 | Sap Ag | Dynamic message routing |
US8407222B2 (en) * | 2005-12-29 | 2013-03-26 | Sap Ag | System and method for process controls in master data modeling |
US8448137B2 (en) | 2005-12-30 | 2013-05-21 | Sap Ag | Software model integration scenarios |
US8380553B2 (en) | 2005-12-30 | 2013-02-19 | Sap Ag | Architectural design for plan-driven procurement application software |
US8676617B2 (en) | 2005-12-30 | 2014-03-18 | Sap Ag | Architectural design for self-service procurement application software |
US8326703B2 (en) | 2005-12-30 | 2012-12-04 | Sap Ag | Architectural design for product catalog management application software |
US8396731B2 (en) | 2005-12-30 | 2013-03-12 | Sap Ag | Architectural design for service procurement application software |
US8321831B2 (en) | 2005-12-30 | 2012-11-27 | Sap Ag | Architectural design for internal projects application software |
US8327319B2 (en) | 2005-12-30 | 2012-12-04 | Sap Ag | Software model process interaction |
US8522194B2 (en) | 2005-12-30 | 2013-08-27 | Sap Ag | Software modeling |
US8402426B2 (en) | 2005-12-30 | 2013-03-19 | Sap Ag | Architectural design for make to stock application software |
US8316344B2 (en) | 2005-12-30 | 2012-11-20 | Sap Ag | Software model deployment units |
US8370794B2 (en) | 2005-12-30 | 2013-02-05 | Sap Ag | Software model process component |
US20070214419A1 (en) * | 2006-03-01 | 2007-09-13 | Ashish Jain | Integrated service creation and execution platforms for the converged networks |
US20080140857A1 (en) * | 2006-03-21 | 2008-06-12 | Conner Peter A | Service-oriented architecture and methods for direct invocation of services utilizing a service requestor invocation framework |
US8396761B2 (en) | 2006-03-30 | 2013-03-12 | Sap Ag | Providing product catalog software application as enterprise services |
US8396749B2 (en) | 2006-03-30 | 2013-03-12 | Sap Ag | Providing customer relationship management application as enterprise services |
US8438119B2 (en) | 2006-03-30 | 2013-05-07 | Sap Ag | Foundation layer for services based enterprise software architecture |
US8538864B2 (en) * | 2006-03-30 | 2013-09-17 | Sap Ag | Providing payment software application as enterprise services |
US8326702B2 (en) | 2006-03-30 | 2012-12-04 | Sap Ag | Providing supplier relationship management software application as enterprise services |
US8442850B2 (en) | 2006-03-30 | 2013-05-14 | Sap Ag | Providing accounting software application as enterprise services |
US8374931B2 (en) | 2006-03-31 | 2013-02-12 | Sap Ag | Consistent set of interfaces derived from a business object model |
US8321832B2 (en) * | 2006-03-31 | 2012-11-27 | Sap Ag | Composite application modeling |
US8312416B2 (en) | 2006-04-13 | 2012-11-13 | Sap Ag | Software model business process variant types |
US20070245225A1 (en) * | 2006-04-18 | 2007-10-18 | Nally Martin P | System and method for translating between a global view of a system process and a set of interacting processes |
US7877757B2 (en) * | 2006-05-05 | 2011-01-25 | Microsoft Corporation | Work item event monitor for procession of queued events |
US20070265895A1 (en) * | 2006-05-09 | 2007-11-15 | Sap Ag | Ad-hoc workflow as a business process template |
US8924269B2 (en) | 2006-05-13 | 2014-12-30 | Sap Ag | Consistent set of interfaces derived from a business object model |
US7917344B2 (en) * | 2006-06-06 | 2011-03-29 | The Boeing Company | Enterprise multi-program process development and integration process |
US8392364B2 (en) | 2006-07-10 | 2013-03-05 | Sap Ag | Consistent set of interfaces derived from a business object model |
US8572633B2 (en) * | 2006-07-31 | 2013-10-29 | Sap Ag | Exception handling for collaborating process models |
US7469406B2 (en) * | 2006-07-31 | 2008-12-23 | Sap Ag | Process suspension through process model design |
US8566193B2 (en) | 2006-08-11 | 2013-10-22 | Sap Ag | Consistent set of interfaces derived from a business object model |
WO2008020434A2 (en) * | 2006-08-13 | 2008-02-21 | Controls Force Ltd. | Systems and methods for message-based control and monitoring of a business process |
CN101131747B (zh) * | 2006-08-22 | 2012-02-01 | 国际商业机器公司 | 捕获和/或分析客户端的Web页面事件的方法、装置及系统 |
US8606639B1 (en) * | 2006-09-28 | 2013-12-10 | Sap Ag | Managing consistent interfaces for purchase order business objects across heterogeneous systems |
JP4336363B2 (ja) * | 2006-10-30 | 2009-09-30 | 株式会社日立製作所 | ビジネスプロセス実行方法、ビジネスプロセス実行システムおよびプログラム |
US20080114627A1 (en) * | 2006-11-15 | 2008-05-15 | Sap Ag | System and Method for Capturing Process Instance Information in Complex or Distributed Systems |
US8087030B2 (en) | 2006-12-29 | 2011-12-27 | Sap Ag | Processing a received message |
JP5324918B2 (ja) * | 2007-01-30 | 2013-10-23 | アークレイ株式会社 | HbA1c測定方法 |
JP2008217443A (ja) * | 2007-03-05 | 2008-09-18 | Mitsubishi Electric Corp | ビジネスプロセスシミュレータ及びビジネスプロセスシミュレーションプログラム |
US20080282262A1 (en) * | 2007-05-10 | 2008-11-13 | Microsoft Corporation | Automatic and configurable loading of loosely coupled service oriented software components |
US8560938B2 (en) * | 2008-02-12 | 2013-10-15 | Oracle International Corporation | Multi-layer XML customization |
US8510143B2 (en) | 2007-12-31 | 2013-08-13 | Sap Ag | Architectural design for ad-hoc goods movement software |
US8447657B2 (en) | 2007-12-31 | 2013-05-21 | Sap Ag | Architectural design for service procurement application software |
US8538998B2 (en) * | 2008-02-12 | 2013-09-17 | Oracle International Corporation | Caching and memory optimizations for multi-layer XML customization |
US8966465B2 (en) | 2008-02-12 | 2015-02-24 | Oracle International Corporation | Customization creation and update for multi-layer XML customization |
US8875306B2 (en) | 2008-02-12 | 2014-10-28 | Oracle International Corporation | Customization restrictions for multi-layer XML customization |
US8788542B2 (en) | 2008-02-12 | 2014-07-22 | Oracle International Corporation | Customization syntax for multi-layer XML customization |
US8417593B2 (en) | 2008-02-28 | 2013-04-09 | Sap Ag | System and computer-readable medium for managing consistent interfaces for business objects across heterogeneous systems |
US8577991B2 (en) | 2008-03-31 | 2013-11-05 | Sap Ag | Managing consistent interfaces for internal service request business objects across heterogeneous systems |
US8433585B2 (en) | 2008-03-31 | 2013-04-30 | Sap Ag | Managing consistent interfaces for business objects across heterogeneous systems |
US8930248B2 (en) * | 2008-03-31 | 2015-01-06 | Sap Se | Managing consistent interfaces for supply network business objects across heterogeneous systems |
US8473317B2 (en) | 2008-03-31 | 2013-06-25 | Sap Ag | Managing consistent interfaces for service part business objects across heterogeneous systems |
US8589263B2 (en) | 2008-03-31 | 2013-11-19 | Sap Ag | Managing consistent interfaces for retail business objects across heterogeneous systems |
US8370233B2 (en) | 2008-03-31 | 2013-02-05 | Sap Ag | Managing consistent interfaces for business objects across heterogeneous systems |
US8364715B2 (en) | 2008-03-31 | 2013-01-29 | Sap Ag | Managing consistent interfaces for automatic identification label business objects across heterogeneous systems |
US8423418B2 (en) | 2008-03-31 | 2013-04-16 | Sap Ag | Managing consistent interfaces for business objects across heterogeneous systems |
US8413165B2 (en) | 2008-03-31 | 2013-04-02 | Sap Ag | Managing consistent interfaces for maintenance order business objects across heterogeneous systems |
US8782604B2 (en) | 2008-04-11 | 2014-07-15 | Oracle International Corporation | Sandbox support for metadata in running applications |
US8667031B2 (en) | 2008-06-13 | 2014-03-04 | Oracle International Corporation | Reuse of shared metadata across applications via URL protocol |
US8566185B2 (en) | 2008-06-26 | 2013-10-22 | Sap Ag | Managing consistent interfaces for financial instrument business objects across heterogeneous systems |
US8671064B2 (en) | 2008-06-26 | 2014-03-11 | Sap Ag | Managing consistent interfaces for supply chain management business objects across heterogeneous systems |
US8645228B2 (en) | 2008-06-26 | 2014-02-04 | Sap Ag | Managing consistent interfaces for business objects across heterogeneous systems |
US20090326988A1 (en) * | 2008-06-26 | 2009-12-31 | Robert Barth | Managing consistent interfaces for business objects across heterogeneous systems |
US20100030732A1 (en) * | 2008-07-31 | 2010-02-04 | International Business Machines Corporation | System and method to create process reference maps from links described in a business process model |
MX2009008285A (es) * | 2008-08-12 | 2010-05-17 | Bank Of America | Procesamiento de automatizacion y peticion de flujo de trabajo. |
US8799319B2 (en) | 2008-09-19 | 2014-08-05 | Oracle International Corporation | System and method for meta-data driven, semi-automated generation of web services based on existing applications |
US8996658B2 (en) | 2008-09-03 | 2015-03-31 | Oracle International Corporation | System and method for integration of browser-based thin client applications within desktop rich client architecture |
US8271609B2 (en) * | 2008-09-15 | 2012-09-18 | Oracle International Corporation | Dynamic service invocation and service adaptation in BPEL SOA process |
US8255451B2 (en) * | 2008-09-17 | 2012-08-28 | Microsoft Corporation | Technologies for detecting erroneous resumptions in a continuation based runtime |
US9122520B2 (en) | 2008-09-17 | 2015-09-01 | Oracle International Corporation | Generic wait service: pausing a BPEL process |
US8359218B2 (en) | 2008-09-18 | 2013-01-22 | Sap Ag | Computer readable medium for implementing supply chain control using service-oriented methodology |
US8315926B2 (en) | 2008-09-18 | 2012-11-20 | Sap Ag | Architectural design for tax declaration application software |
US8352338B2 (en) | 2008-09-18 | 2013-01-08 | Sap Ag | Architectural design for time recording application software |
US8401928B2 (en) | 2008-09-18 | 2013-03-19 | Sap Ag | Providing supplier relationship management software application as enterprise services |
US8595077B2 (en) | 2008-09-18 | 2013-11-26 | Sap Ag | Architectural design for service request and order management application software |
US8374896B2 (en) | 2008-09-18 | 2013-02-12 | Sap Ag | Architectural design for opportunity management application software |
US8380549B2 (en) | 2008-09-18 | 2013-02-19 | Sap Ag | Architectural design for embedded support application software |
US8386325B2 (en) | 2008-09-18 | 2013-02-26 | Sap Ag | Architectural design for plan-driven procurement application software |
US8818884B2 (en) | 2008-09-18 | 2014-08-26 | Sap Ag | Architectural design for customer returns handling application software |
US8463666B2 (en) | 2008-11-25 | 2013-06-11 | Sap Ag | Managing consistent interfaces for merchandise and assortment planning business objects across heterogeneous systems |
US8577760B2 (en) | 2008-11-25 | 2013-11-05 | Sap Ag | Managing consistent interfaces for tax authority business objects across heterogeneous systems |
US8401908B2 (en) | 2008-12-03 | 2013-03-19 | Sap Ag | Architectural design for make-to-specification application software |
US8311904B2 (en) | 2008-12-03 | 2012-11-13 | Sap Ag | Architectural design for intra-company stock transfer application software |
US8738476B2 (en) | 2008-12-03 | 2014-05-27 | Sap Ag | Architectural design for selling standardized services application software |
US8321306B2 (en) | 2008-12-03 | 2012-11-27 | Sap Ag | Architectural design for selling project-based services application software |
US8676627B2 (en) * | 2008-12-04 | 2014-03-18 | International Business Machines Corporation | Vertical process merging by reconstruction of equivalent models and hierarchical process merging |
US8332654B2 (en) * | 2008-12-08 | 2012-12-11 | Oracle International Corporation | Secure framework for invoking server-side APIs using AJAX |
US8671035B2 (en) | 2008-12-11 | 2014-03-11 | Sap Ag | Providing payroll software application as enterprise services |
US20100153297A1 (en) | 2008-12-12 | 2010-06-17 | Sap Ag | Managing Consistent Interfaces for Credit Portfolio Business Objects Across Heterogeneous Systems |
US9244730B2 (en) * | 2009-02-11 | 2016-01-26 | International Business Machines Corporation | Application workflow integration subsystem |
US8396751B2 (en) | 2009-09-30 | 2013-03-12 | Sap Ag | Managing consistent interfaces for merchandising business objects across heterogeneous systems |
US8856737B2 (en) | 2009-11-18 | 2014-10-07 | Oracle International Corporation | Techniques for displaying customizations for composite applications |
US9361165B2 (en) * | 2009-12-03 | 2016-06-07 | International Business Machines Corporation | Automated merger of logically associated messages in a message queue |
US8549353B2 (en) | 2009-12-29 | 2013-10-01 | Microgen Aptitutde Limited | Batch processing error handling modes |
CN101826987B (zh) * | 2010-04-27 | 2012-05-02 | 北京邮电大学 | 一种基于融合开放网络的混合服务支撑系统及方法 |
US20110282949A1 (en) * | 2010-05-11 | 2011-11-17 | Leon Rivkin | Unified message management method and system |
US9135585B2 (en) | 2010-06-15 | 2015-09-15 | Sap Se | Managing consistent interfaces for property library, property list template, quantity conversion virtual object, and supplier property specification business objects across heterogeneous systems |
US8370272B2 (en) | 2010-06-15 | 2013-02-05 | Sap Ag | Managing consistent interfaces for business document message monitoring view, customs arrangement, and freight list business objects across heterogeneous systems |
US8417588B2 (en) | 2010-06-15 | 2013-04-09 | Sap Ag | Managing consistent interfaces for goods tag, production bill of material hierarchy, and release order template business objects across heterogeneous systems |
US8412603B2 (en) * | 2010-06-15 | 2013-04-02 | Sap Ag | Managing consistent interfaces for currency conversion and date and time business objects across heterogeneous systems |
US8732083B2 (en) | 2010-06-15 | 2014-05-20 | Sap Ag | Managing consistent interfaces for number range, number range profile, payment card payment authorisation, and product template template business objects across heterogeneous systems |
US8515794B2 (en) | 2010-06-15 | 2013-08-20 | Sap Ag | Managing consistent interfaces for employee time event and human capital management view of payroll process business objects across heterogeneous systems |
US8364608B2 (en) | 2010-06-15 | 2013-01-29 | Sap Ag | Managing consistent interfaces for export declaration and export declaration request business objects across heterogeneous systems |
US20120078809A1 (en) * | 2010-09-27 | 2012-03-29 | Sap Ag | Integrating sub-processes in business process modeling notation processes |
EP2492805A1 (en) * | 2011-02-22 | 2012-08-29 | Sap Ag | Computer network, computer system, computer-implemented method, and computer program product for controlling application landscapes |
US20120256925A1 (en) * | 2011-04-11 | 2012-10-11 | SmartDraw, LLC | Generation of a hierarchically-organized collection of hyperlinked graphics charts |
CN102750597B (zh) * | 2011-04-22 | 2016-05-04 | 国际商业机器公司 | 一种用于集成异构业务流程的计算机实现的方法和装置 |
US8775280B2 (en) | 2011-07-28 | 2014-07-08 | Sap Ag | Managing consistent interfaces for financial business objects across heterogeneous systems |
US8521838B2 (en) | 2011-07-28 | 2013-08-27 | Sap Ag | Managing consistent interfaces for communication system and object identifier mapping business objects across heterogeneous systems |
US8666845B2 (en) | 2011-07-28 | 2014-03-04 | Sap Ag | Managing consistent interfaces for a customer requirement business object across heterogeneous systems |
US8601490B2 (en) | 2011-07-28 | 2013-12-03 | Sap Ag | Managing consistent interfaces for business rule business object across heterogeneous systems |
US8560392B2 (en) | 2011-07-28 | 2013-10-15 | Sap Ag | Managing consistent interfaces for a point of sale transaction business object across heterogeneous systems |
US8725654B2 (en) | 2011-07-28 | 2014-05-13 | Sap Ag | Managing consistent interfaces for employee data replication business objects across heterogeneous systems |
US8954942B2 (en) | 2011-09-30 | 2015-02-10 | Oracle International Corporation | Optimizations using a BPEL compiler |
US9766906B2 (en) * | 2011-12-29 | 2017-09-19 | International Business Machines Corporation | Efficient sharing of artifacts between collaboration applications |
US9232368B2 (en) | 2012-02-16 | 2016-01-05 | Sap Se | Consistent interface for user feed administrator, user feed event link and user feed settings |
US8762453B2 (en) | 2012-02-16 | 2014-06-24 | Sap Ag | Consistent interface for feed collaboration group and feed event subscription |
US9237425B2 (en) | 2012-02-16 | 2016-01-12 | Sap Se | Consistent interface for feed event, feed event document and feed event type |
US8756274B2 (en) | 2012-02-16 | 2014-06-17 | Sap Ag | Consistent interface for sales territory message type set 1 |
US8984050B2 (en) | 2012-02-16 | 2015-03-17 | Sap Se | Consistent interface for sales territory message type set 2 |
US8762454B2 (en) | 2012-02-16 | 2014-06-24 | Sap Ag | Consistent interface for flag and tag |
US8954602B2 (en) | 2012-05-31 | 2015-02-10 | Sap Se | Facilitating communication between enterprise software applications |
US20130347004A1 (en) * | 2012-06-25 | 2013-12-26 | Sap Ag | Correlating messages |
US9367826B2 (en) * | 2012-06-28 | 2016-06-14 | Sap Se | Consistent interface for entitlement product |
US9400998B2 (en) | 2012-06-28 | 2016-07-26 | Sap Se | Consistent interface for message-based communication arrangement, organisational centre replication request, and payment schedule |
US9246869B2 (en) | 2012-06-28 | 2016-01-26 | Sap Se | Consistent interface for opportunity |
US8521621B1 (en) | 2012-06-28 | 2013-08-27 | Sap Ag | Consistent interface for inbound delivery request |
US8756135B2 (en) | 2012-06-28 | 2014-06-17 | Sap Ag | Consistent interface for product valuation data and product valuation level |
US8949855B2 (en) | 2012-06-28 | 2015-02-03 | Sap Se | Consistent interface for address snapshot and approval process definition |
WO2014000200A1 (en) | 2012-06-28 | 2014-01-03 | Sap Ag | Consistent interface for document output request |
US8615451B1 (en) | 2012-06-28 | 2013-12-24 | Sap Ag | Consistent interface for goods and activity confirmation |
US9547833B2 (en) | 2012-08-22 | 2017-01-17 | Sap Se | Consistent interface for financial instrument impairment calculation |
US9076112B2 (en) | 2012-08-22 | 2015-07-07 | Sap Se | Consistent interface for financial instrument impairment expected cash flow analytical result |
US9043236B2 (en) | 2012-08-22 | 2015-05-26 | Sap Se | Consistent interface for financial instrument impairment attribute values analytical result |
US20140114864A1 (en) * | 2012-10-22 | 2014-04-24 | International Business Machines Corporation | Case management integration with external content repositories |
US9165049B2 (en) * | 2013-03-01 | 2015-10-20 | Sap Se | Translating business scenario definitions into corresponding database artifacts |
US9858093B2 (en) * | 2013-03-08 | 2018-01-02 | Oracle International Corporation | Model for configuration independent process templates and business catalog |
US9191343B2 (en) | 2013-03-15 | 2015-11-17 | Sap Se | Consistent interface for appointment activity business object |
US9191357B2 (en) | 2013-03-15 | 2015-11-17 | Sap Se | Consistent interface for email activity business object |
US9411845B2 (en) | 2013-06-13 | 2016-08-09 | Sap Se | Integration flow database runtime |
US10133996B2 (en) * | 2014-04-22 | 2018-11-20 | International Business Machines Corporation | Object lifecycle analysis tool |
US9406040B2 (en) | 2014-08-13 | 2016-08-02 | Sap Se | Classification and modelling of exception types for integration middleware systems |
US10909186B2 (en) | 2015-09-30 | 2021-02-02 | Oracle International Corporation | Multi-tenant customizable composites |
US10628132B2 (en) * | 2016-09-15 | 2020-04-21 | Oracle International Corporation | Inversion of control framework for multiple behaviors of a process |
US11294644B2 (en) | 2016-09-16 | 2022-04-05 | Oracle International Corporation | Inversion of control framework for multiple behaviors on top of a process |
US10592509B2 (en) | 2017-03-01 | 2020-03-17 | Sap Se | Declarative rules for optimized access to data |
US10713277B2 (en) | 2017-10-26 | 2020-07-14 | Sap Se | Patching content across shared and tenant containers in multi-tenancy database systems |
US10740318B2 (en) | 2017-10-26 | 2020-08-11 | Sap Se | Key pattern management in multi-tenancy database systems |
US10621167B2 (en) | 2017-10-26 | 2020-04-14 | Sap Se | Data separation and write redirection in multi-tenancy database systems |
US10482080B2 (en) | 2017-10-26 | 2019-11-19 | Sap Se | Exchanging shared containers and adapting tenants in multi-tenancy database systems |
US10452646B2 (en) | 2017-10-26 | 2019-10-22 | Sap Se | Deploying changes in a multi-tenancy database system |
US10657276B2 (en) | 2017-10-26 | 2020-05-19 | Sap Se | System sharing types in multi-tenancy database systems |
US10740315B2 (en) | 2017-10-26 | 2020-08-11 | Sap Se | Transitioning between system sharing types in multi-tenancy database systems |
US10733168B2 (en) | 2017-10-26 | 2020-08-04 | Sap Se | Deploying changes to key patterns in multi-tenancy database systems |
US10942892B2 (en) | 2018-05-18 | 2021-03-09 | Sap Se | Transport handling of foreign key checks |
US10915551B2 (en) | 2018-06-04 | 2021-02-09 | Sap Se | Change management for shared objects in multi-tenancy systems |
US10936624B2 (en) | 2018-06-12 | 2021-03-02 | Sap Se | Development and productive use of system with parallel use of production data and zero downtime of software changes |
US10614406B2 (en) | 2018-06-18 | 2020-04-07 | Bank Of America Corporation | Core process framework for integrating disparate applications |
US11238386B2 (en) | 2018-12-20 | 2022-02-01 | Sap Se | Task derivation for workflows |
US11416485B2 (en) | 2019-03-28 | 2022-08-16 | Sap Se | Dynamic query expressions |
US11360977B2 (en) | 2019-04-01 | 2022-06-14 | Sap Se | Selectively allowing query optimization in query processing |
CN110188132B (zh) * | 2019-04-29 | 2023-05-05 | 安徽晶奇网络科技股份有限公司 | 一种数据交换方法及系统 |
CN111208992A (zh) * | 2020-01-10 | 2020-05-29 | 深圳壹账通智能科技有限公司 | 系统调度工作流生成方法和系统 |
CN111708545B (zh) * | 2020-06-17 | 2023-09-22 | 北京同邦卓益科技有限公司 | 业务流程的部署方法、装置、电子设备及存储介质 |
US11716259B2 (en) * | 2021-11-29 | 2023-08-01 | Sap Se | On-demand instance |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0456249B1 (en) * | 1990-05-10 | 1998-12-09 | Hewlett-Packard Company | System for integrating application programs in a heterogeneous network enviroment |
US7020880B2 (en) * | 1997-01-08 | 2006-03-28 | International Business Machines Corporation | Modular application collaborator for providing inter-operability between applications and monitoring errors to trigger execution of required compensating actions to undo interrupted transaction |
US6519642B1 (en) * | 1997-01-24 | 2003-02-11 | Peregrine Force, Inc. | System and method for creating, executing and maintaining cross-enterprise processes |
US7047532B1 (en) | 1998-11-13 | 2006-05-16 | The Chase Manhattan Bank | Application independent messaging system |
US6629096B1 (en) * | 1999-08-09 | 2003-09-30 | Mindflow Technologies, Inc. | System and method for performing a mindflow process |
US6766517B1 (en) * | 1999-10-14 | 2004-07-20 | Sun Microsystems, Inc. | System and method for facilitating thread-safe message passing communications among threads in respective processes |
JP2001216143A (ja) * | 2000-02-02 | 2001-08-10 | Hitachi Ltd | アプリケーション統合のための連携方法 |
US6904595B2 (en) * | 2000-05-08 | 2005-06-07 | Microtune (San Diego), Inc. | Priority in a portable thread environment |
JP2002132503A (ja) * | 2000-10-27 | 2002-05-10 | Hitachi Ltd | ワークフロー管理システムにおけるデータ連携定義方法およびプロセスデータ管理システム |
JP2002175274A (ja) * | 2000-12-06 | 2002-06-21 | Sony Corp | 情報処理装置及び情報処理方法、ネットワーク・システム、記憶媒体、並びにコンピュータ・プログラム |
US7174363B1 (en) * | 2001-02-22 | 2007-02-06 | Charles Schwab & Co., Inc. | Distributed computing system architecture |
US7689711B2 (en) * | 2001-03-26 | 2010-03-30 | Salesforce.Com, Inc. | System and method for routing messages between applications |
US7143190B2 (en) * | 2001-04-02 | 2006-11-28 | Irving S. Rappaport | Method and system for remotely facilitating the integration of a plurality of dissimilar systems |
WO2003001413A1 (en) * | 2001-06-22 | 2003-01-03 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
JP3683839B2 (ja) * | 2001-08-27 | 2005-08-17 | 株式会社東京三菱銀行 | 情報中継装置、情報処理システム及び記録媒体 |
US7343428B2 (en) * | 2001-09-19 | 2008-03-11 | International Business Machines Corporation | Dynamic, real-time integration of software resources through services of a content framework |
US7831655B2 (en) * | 2001-10-18 | 2010-11-09 | Bea Systems, Inc. | System and method for implementing a service adapter |
US7650325B2 (en) * | 2001-11-13 | 2010-01-19 | International Business Machines Corporation | Dynamic interface adapter for integration of source and target applications |
DE60322382D1 (de) * | 2002-03-28 | 2008-09-04 | Sap Ag | Tur |
US7428597B2 (en) * | 2002-03-28 | 2008-09-23 | Sap Ag | Content-based routing system and method |
US7725590B2 (en) * | 2002-04-19 | 2010-05-25 | Computer Associates Think, Inc. | Web services broker |
US7506302B2 (en) * | 2002-10-22 | 2009-03-17 | The Boeing Company | System and methods for business process modeling |
US7412658B2 (en) * | 2002-11-14 | 2008-08-12 | Sap Ag | Modeling system for graphic user interface |
US20040187140A1 (en) * | 2003-03-21 | 2004-09-23 | Werner Aigner | Application framework |
TWI360083B (en) * | 2003-05-09 | 2012-03-11 | Jda Software Group Inc | System, method and software for managing a central |
-
2004
- 2004-05-14 US US10/846,363 patent/US7788319B2/en active Active
- 2004-05-14 JP JP2006529828A patent/JP5290518B2/ja not_active Expired - Lifetime
- 2004-05-14 CN CNA2004800134299A patent/CN1791861A/zh active Pending
- 2004-05-14 EP EP20040732984 patent/EP1625499A2/en not_active Ceased
- 2004-05-14 WO PCT/EP2004/005211 patent/WO2004102438A2/en active Application Filing
-
2005
- 2005-01-28 US US11/045,548 patent/US20050193061A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101567063A (zh) * | 2008-04-24 | 2009-10-28 | 株式会社日立制作所 | 信息管理系统、帐票定义管理服务器以及信息管理方法 |
CN103403674A (zh) * | 2011-03-09 | 2013-11-20 | 惠普发展公司,有限责任合伙企业 | 执行基于策略的改变过程 |
CN110633947A (zh) * | 2018-06-22 | 2019-12-31 | 上海昶铭软件科技有限公司 | 一种项目管理系统及其工作方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2006529037A (ja) | 2006-12-28 |
WO2004102438A3 (en) | 2005-11-17 |
WO2004102438A2 (en) | 2004-11-25 |
JP5290518B2 (ja) | 2013-09-18 |
US20040254945A1 (en) | 2004-12-16 |
US7788319B2 (en) | 2010-08-31 |
EP1625499A2 (en) | 2006-02-15 |
US20050193061A1 (en) | 2005-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1791861A (zh) | 基于消息的交换基础设施的商业流程管理 | |
US8065657B2 (en) | Exchange infrastructure system and method | |
US7428597B2 (en) | Content-based routing system and method | |
US8032635B2 (en) | Grid processing in a trading network | |
US20060224702A1 (en) | Local workflows in a business process management system | |
US20120215581A1 (en) | Ad-Hoc and Priority-Based Business Process Execution | |
CN1755694A (zh) | 将资源组织成集合以促进更有效和可靠的资源访问 | |
CN1330834A (zh) | 分布式处理系统中的智能存根或企业javatm豆模块 | |
CN1682186A (zh) | 技术无关的信息管理 | |
US7373424B2 (en) | Exactly once protocol for message-based collaboration | |
CN1805345A (zh) | Web服务工作流处理器 | |
CN1636207A (zh) | 利用计算机网络处理工作流的方法 | |
CN101042648A (zh) | 为多网格应用提供统一界面的插件、系统及方法 | |
CN1620064A (zh) | 调度基于模式的Web服务的方法、系统和装置 | |
CA2481099C (en) | Exchange infrastructure system and method | |
EP1574980A1 (en) | Context objects for accessing message content | |
CN106528157B (zh) | 一种基于scxml标准的状态机工作流引擎 | |
Cavalcanti et al. | Structural genomic workflows supported by web services | |
CN1531701A (zh) | 工作流程管理系统中的信令事件 | |
Mulyar et al. | The conceptualization of a configurable multi-party multi-message request-reply conversation | |
Rybiński et al. | Multi-queue service for task scheduling based on data availability | |
CN115580655A (zh) | 任务调度方法、装置、电子设备及存储介质 | |
Karpenko | Design and realization of a middleware for mobile task coordination | |
Haibo | Design of collaborative system framework for cluster supply chain | |
He et al. | Diner-Waiter pattern in distributed control |
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: 20060621 |