JP2006529037A - メッセージ交換基盤のためのビジネスプロセス管理システムおよび方法 - Google Patents

メッセージ交換基盤のためのビジネスプロセス管理システムおよび方法 Download PDF

Info

Publication number
JP2006529037A
JP2006529037A JP2006529828A JP2006529828A JP2006529037A JP 2006529037 A JP2006529037 A JP 2006529037A JP 2006529828 A JP2006529828 A JP 2006529828A JP 2006529828 A JP2006529828 A JP 2006529828A JP 2006529037 A JP2006529037 A JP 2006529037A
Authority
JP
Japan
Prior art keywords
business
message
interface
applications
messages
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.)
Granted
Application number
JP2006529828A
Other languages
English (en)
Other versions
JP5290518B2 (ja
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of JP2006529037A publication Critical patent/JP2006529037A/ja
Application granted granted Critical
Publication of JP5290518B2 publication Critical patent/JP5290518B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • 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
    • 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
    • G06Q10/067Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging 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)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

異種アプリケーション環境の統合を管理する方法およびシステムを開示する。環境は、1つまたは複数のビジネスプロセスによって定義される。ビジネスプロセス管理システムに、環境内の複数のアプリケーションの間に接続された統合サーバが含まれる。統合サーバに、複数のアプリケーションの間のメッセージ交換を定義する1つまたは複数のビジネスプロセスを実行するように構成されたビジネスプロセスエンジンが含まれる。ビジネスプロセス管理システムは、アプリケーションを促進する。ビジネスプロセス管理システムに、さらに、複数のアプリケーションの間のメッセージ交換に対して1つまたは複数のメッセージングサービスを実行する、ビジネスプロセスエンジンの指揮下のランタイムエンジンが含まれる。

Description

本発明は、共同ビジネスプロセスのための企業システム、関連するアーキテクチャおよび方法に関する。
本願は、2003年5月16日に出願した米国仮出願第60/471237号の優先権を主張するものである。
企業は、その情報システムおよび企業ソフトウェアシステムの間の統合およびコラボレーションの高まる必要性に直面している。ほとんどの現在のシステム環境(landscape)において、多くのコンポーネントが、1対1の関係で他のコンポーネントに直接に接続され、統合機能は、アプリケーションコンポーネントおよび個々のマッピングプログラムに組み込まれている。この条件下で、情報共有の管理は困難である。これらの基盤は、実際のビジネスプロセスを正確に表すことがほとんどできず、その柔軟性において、ビジネスプロセスを左右する動的なビジネスシナリオに制限されている。
しかし、新しい電子ビジネスコラボレーションは、通常、企業の境界の内側および外側のすべてのアプリケーションの間の接続性を必要とする。インターネットなどのネットワークは、システムがほぼ瞬間的に他のシステムまたは個人と通信する機会を提供する。かつてはイントラネットおよびそのユーザに制限されていたビジネスプロセスが、現在は、ウェブサービスの有効な構成要素となりインターネットに移行しつつある。ウェブサービスは、オープンなインターネット標準を通して公開し、発見し、または呼び出すことができる、プログラム可能、自己完結的、自己記述的なモジュール式のアプリケーション機能である。しかし、異種システム環境での既存の企業ソフトウェアの包括的なシステムアップグレードまたは大規模リプレース戦略は、コストが高すぎるか、時間コストおよび資本コストの点で単純に実現不能である傾向がある。
技術的な接続性は、ハイパーテキスト転送プロトコル(HTTP)および拡張マークアップ言語(XML)などのオープンなプロトコルおよび標準規格を使用して提供されるが、異なるビジネスの意味規則(semantics)をマッピングするという課題が残される。さらなる効率化を実現するために、企業は、ますます、企業または企業内の機能にまたがる新しい種類の共同ビジネスプロセスを展開することを要求されるようになる。さらに、企業は、ますます、バッチ処理の実行ではなく、リアルタイムシナリオを処理し、管理することを必要とする。
本願は、実際のビジネスプロセスおよびシナリオによるメッセージに基づく通信を管理し、実行するビジネスプロセス管理(BPM)システムおよび方法を開示する。
このBPMシステムには、アプリケーションシステムにおけるビジネスプロセスに従って命令を実行するように構成されたビジネスプロセスエンジン(以下では、単純にするために「プロセスエンジン」とも称する)が含まれる。プロセスエンジンは、状態を統合サーバ上で保存して、相関関係のあるメッセージを処理する。相関関係(correlation)とは、プロセスエンジンが、単一の製品に関する購入注文(PO;Purchase Order)および送り状など、意味規則的に関連したものとしてメッセージを識別できることを意味する。プロセスエンジンは、1つのプロセス実体(instance)で複数のメッセージを受信し、保持することができる。
プロセスエンジンは、明示的なシリアライゼーション(肯定応答の処理を含む)を実行するように構成される。このシリアライゼーションは、送信側システムおよび受信側システムから独立しており、順序通り正確に1回だけ(Exactly Once In Order)のEOIO処理と異なり、複数の送信側システムおよび受信側システムが関与するときに動作する。プロセスエンジンは、さらに、応答メッセージの処理を含めるために、プロセスによって制御されたマルチキャストを実行するように構成される。
プロセスエンジンは、相関関係のあるメッセージを収集することもできる。プロセスエンジンは、変換サービスも提供し、この変換サービスは、複数のメッセージを1つのメッセージに結合する(例えば、購入注文ヘッダと任意の個数の購入注文ポジション(purchase order position)とを単一の購入注文に結合する)だけでなく、例えば、購入注文を購入注文ヘッダおよび任意の個数の購入注文ポジションに分割するなど、1つのメッセージを複数の部分に分割するように構成されている。ビジネスプロセス(以下では単に「プロセス」とも呼ぶ)は、すべての参加するメッセージ(そのプロセスが以前に受信したメッセージ)からの情報を使用することができ、以前の要求のオリジナルの送信側に応答をルーティングすることができる。
上記および他の実施形態を、これから添付図面を参照して詳細に説明する。
本明細書で説明するシステムおよび方法は、異種システム環境でのアプリケーション間のメッセージ通信プロトコルを定義するビジネスプロセスの管理に関する。ビジネスプロセス管理のシステムおよび方法は、XMLおよびHTTPなどのオープンな標準規格およびトランスポートプロトコルを使用してシステム環境内の様々なアプリケーションの間のコラボレーションを統合し、動作させるように構成された交換基盤で最適に実施される。
図1は、アプリケーションの統合およびメッセージ交換のためのシステム100の単純化されたブロック図である。システム100に、企業の内部コンポーネント(IC)102間およびファイヤウォール105を介して1つまたは複数のIC・102と通信する外部コンポーネント(EC)104の間での共同処理のための交換基盤(XI)110が含まれる。IC・102およびEC・104は、ウェブポータル、購入プログラムまたは販売プログラム、電子メール、ビジネス管理プログラム、プロジェクト計画プログラムなどの複数のプロセスまたはサービスとそのソフトウェアおよびハードウェアのうちのいずれかを表し、好ましくはウェブベースアプリケーションである。IC・102、EC・104のそれぞれは、複数の通信プロトコルまたは標準規格のうちの少なくとも1つに従って、1つまたは複数の他のコンポーネントとメッセージを介して通信する。
XI・110は、コンポーネント102および104の間のコラボレーションを実行する自己完結的なモジュール化された交換プラットフォームである。XI・110には、共有コラボレーション知識を保管する中央統合リポジトリおよび中央統合ディレクトリが含まれる。XI・110は、拡張可能マークアップ言語(XML)、ウェブサービス記述言語(WSDL)、およびシンプルオブジェクトアクセスプロトコル(SOAP)などの様々な標準マークアップ言語などのオープンな標準規格をサポートして、コンポーネント102、104および異種コンポーネントインタフェースにまたがるメッセージに基づく通信の技術的に抽象化されたインタフェースを提供する。XI・110の自己完結的なモジュール化された機能は、標準インターネットテクノロジに基づく1つまたは複数のウェブサービスとして提供することができ、したがって、オープンな標準規格を使用してコンポーネント102、104のネットワーク内で公開し、発見し、アクセスすることができる。
図2に、アプリケーション間のメッセージに基づくコラボレーションを容易にするためのXI・110を含むシステム環境200を示す。交換基盤110には、統合リポジトリ202、統合ディレクトリ204、システム環境ディレクトリ203、および統合サーバ206が含まれる。統合リポジトリ202は、XI・110を介して通信できるすべてのソフトウェアコンポーネントの設計時のコラボレーション記述を取り込む。統合ディレクトリ204は、実行時のシステム環境200の構成に固有なコラボレーション記述を取り込み、これには、システム環境ディレクトリ203からの実際のコンポーネントインストレーションおよび外部コンポーネントに関する接続性記述へのアクセスが含まれ、これらのすべてが、システム環境200の共同ビジネスの意味規則を表す。統合サーバ206は、実行時に共同ビジネスの意味規則を使用して、アクティブなソフトウェアコンポーネントの間のメッセージに基づくコラボレーションを実行する。
統合サーバ206に、サービスを接続し、価値連鎖の処理フローを管理するために実行時にメッセージングおよびビジネスプロセス制御を提供するランタイムエンジン214が含まれる。BPMシステム299は、統合サーバ206上でランタイムエンジン214の下に常駐する。BPMシステム299には、ビジネスプロセス管理のランタイム実行のためにランタイムエンジン214の上で走行するビジネスプロセスエンジンまたは「プロセスエンジン」(図示せず)が含まれる。
統合サーバ206には、通常はアプリケーション固有の実装を必要とする統合サービス216も含まれる。統合リポジトリ202および統合ディレクトリ204と同様に、統合サーバ206は、既存システム基盤内での展開のために構成される。統合サーバ206は、ランタイムコラボレーション環境においてサポートされるシステム環境の統合ディレクトリ204の共有コラボレーション知識を適用する専用サーバであることが好ましい。ランタイムワークベンチ208は、組織またはユーザがXI・110の信頼できる動作を管理できるようにする。
XI・110には、統合サーバ206と、固有(proprietary)アプリケーション211、ウェブベースサービス213、およびサードパーティアプリケーション215との間の接続性を提供する様々なアダプタ209も含まれる。XI・110に、例えばJava(登録商標)およびABAPなどのウェブ固有プログラミング言語を使用する標準コンピューティングプラットフォームに従ってプログラムされたウェブベースアプリケーションを提供するウェブアプリケーションサーバ210も含めることができる。ウェブアプリケーションサーバ210に、Java(登録商標)アプリケーション220およびABAPアプリケーション222などのウェブアプリケーションおよび他のコンポーネントの間のメッセージングおよびビジネスプロセス制御を提供するランタイムエンジン214の実体も含まれる。
ソフトウェアコンポーネント用の新しいインタフェースを、プロキシを使用するアプリケーションコンポーネントを使用して定義することができ、このプロキシは、ソフトウェアコンポーネント用のインタフェースをXI・110内でローカルに実装することを可能にする。プロキシは、通信技術スタックをアプリケーションに透過的にし、アプリケーションにプログラミング言語依存インタフェースを提示する。プロキシは、統合リポジトリ202に保管された情報に基づいて、プロキシジェネレータ218によって生成することができる。プロキシジェネレータ218は、WSDLおよびXSDLなどの標準ウェブベース言語を用いて記述されたインタフェース情報を使用して、アプリケーション開発システム内でプラットフォーム依存およびプログラミング言語依存のコードを作成する。通信ロジックは、ウェブベースアプリケーション213用の、Java(登録商標)、ABAP、および.NETなどそれぞれの開発プラットフォームのインタフェース記述を表すプロキシに基づいて実装することができる。プロキシは、プラットフォーム固有データ型をXMLに変換し、コンポーネント固有ローカル統合エンジンへのアクセスを提供する。アウトバウンド側で、プロキシが完全に生成される。アウトバウンドプロキシは、アプリケーションの開発者によって提供されるサービス呼出しを介して呼び出すことができる。インバウンド側では、受信するアプリケーションによって実装される、プロキシの骨組み(skelton)だけを生成する必要がある。
図3に、統合リポジトリ202、システム環境ディレクトリ203、統合ディレクトリ204、およびランタイムエンジン214の実体化を詳細に示す。統合リポジトリ202に、設計時のビジネスプロセス232、ルーティングオブジェクト234、マッピング236、およびインタフェース238が含まれ、これらのすべてが、1つまたは複数のビジネスシナリオ230に従って定義されている。統合リポジトリ202は、システム環境ディレクトリ203から、システム環境内のすべてのソフトウェアコンポーネント240の記述にアクセスする。統合リポジトリ202のビジネスシナリオ230は、アプリケーションコンポーネントまたは企業の間のメッセージ交換を記述し、構成する。企業は、XI・110の迅速な構成のための最良の実現として、統合リポジトリ202内で記述された1つまたは複数のビジネスシナリオを選択することができる。
ビジネスプロセス232は、ビジネスプロセスエンジン274を使用して実行される拡張可能複合ウェブサービスとして実現することができる。各ビジネスプロセス232は、統合リポジトリ202内で集中的にモデル化される。企業またはユーザは、そのビジネスの必要性に従って、技術的な実装と独立に、各ビジネスプロセス232を設計する。ビジネスプロセステンプレートの複数のカテゴリすなわち、例えば包括的ビジネスプロセス、業界固有プロセス、および企業固有プロセスを設けることができる。各プロセスは、必要であり、相互接続されなければならないウェブサービスを識別する。1つの具体的な実装で、ビジネスプロセス232は、グラフィカルインタフェースを使用して定義される。グラフィカルビジネスプロセス定義言語は、BPEL4WS 1.1仕様に従って定義される。ビジネスプロセス232は、標準フォーマット(これは、現在はBPEL4WS 1.1仕様である)にエクスポートし、標準フォーマットからインポートすることができる。拡張可能なインポート/エクスポートフレームワークが、他の標準規格またはBPEL4WSの新しいバージョン用のエクスポート/エクスポート機能を提供することを可能にする。ビジネスプロセスエンジン274は、これらのモデルを解釈し、実行して、ソフトウェアコンポーネントの間のコラボレーションを実行することができる。
ルーティングオブジェクト234は、共同処理中にコンポーネントとビジネスパートナの間で配送しなければならないメッセージの潜在的な受信側を判定する予め定義された判断基準である。ルーティングオブジェクトに関する情報は、配送の前に完全なメッセージを処理する必要を避けるための受信側判定に使用される。マッピング236は、メッセージインタフェース238、メッセージタイプ、または統合リポジトリ202内のデータ型の間の必要な変換を定義する。これらの変換は、構造的変換と値マッピングを含む。構造的変換は、構文的または構造的に異なる意味規則的に同等の型に使用され、値マッピングは、オブジェクトが複数のシステムで異なるキーによって識別されるときに使用することができる。特定の実装で、グラフィカルマッピングツールが、マッピングを助けるために提供され、データの変換は、XSLT(XMLスタイルシート言語変換)またはJava(登録商標)コードに基づく。
統合リポジトリ202は、インタフェース開発、ストレージ、および検索の中央エントリポイントであり、システム環境内のすべてのソフトウェアコンポーネントのすべてのメッセージインタフェースを記述するインタフェース238を含む。したがって、インタフェース238は、任意の技術を使用して、任意のソフトウェアコンポーネントで実施することができる。メッセージインタフェースは、メッセージ型からなり、このメッセージ型は、データ型からなる。データ型は、XSDL(XMLスキーマ定義言語)を使用して記述することができる。データ型の例は「アドレス」であり、これは、メッセージ型「POを作成する」で使用され、メッセージ型「送り状を作成する」について再利用することができる。インタフェース238は、インバウンド、アウトバウンド、および抽象または同期および非同期など、任意の分類に従って配置することができる。
コンポーネント240は、アプリケーションコンポーネントに関する情報ならびにお互いに対するその依存性に関する情報を含むコンポーネント記述を表す。特定の実装で、コンポーネント記述は、分散管理タスクフォース(Distributed Management Taskforce)の標準である共通情報モデル(CIM;Common Information Model)に基づく。統合リポジトリ202に、設計時の情報が含まれるので、実際のインストレーションと独立なコンポーネント型情報だけが、システム環境ディレクトリ203にコンポーネント240として保管される。コンポーネント記述は、APIを使用して、またはグラフィカルユーザインタフェースを使用して対話的に追加することができる。
統合ディレクトリ204は、システムにインストールされている各コンポーネントの構成に固有の、統合リポジトリ202からの情報の詳細を示す。統合ディレクトリ204の構成に固有なコラボレーション記述は、統合リポジトリ202内の内容から自動的に作成するか、グラフィカルユーザインタフェースを使用してユーザが手動で作成することができる。1つの実装において、統合ディレクトリ204は、Java(登録商標)プラットフォーム上で作られ、その内容は、オープンなインターネット標準規格を使用してXMLを用いて表現される。統合リポジトリ202は、統合ディレクトリ204またはすべてのランタイム共同プロセスに影響せずにアップグレードすることができる。その場合に、ユーザは、所定の自動アップグレードとしてまたはグラフィカルツールを介して手動で、統合ディレクトリ204に転送しなければならない変更を判断する。
統合ディレクトリ204には、ビジネスシナリオ250、ビジネスプロセス252、コンテキストオブジェクト254、および実行可能なマッピング256の構成に固有な記述が含まれる。統合ディレクトリ204には、アクティブなウェブサービス258およびアクティブなビジネスパートナ260の記述も含まれる。統合ディレクトリ204は、システム環境ディレクトリ203からのアクティブなシステム環境262の記述を使用する。統合ディレクトリ204内のビジネスシナリオ250は、特定の実装に関連する実際の構成のコンテキストでのインタフェースおよびマッピング256の間の交信の全体的なビューを表す。ビジネスプロセス252は、すべてのアクティブなビジネスプロセスの実行可能な記述を表す。
コンテキストオブジェクト254は、ビジネスレベルでのメッセージの受信側を決定する。一実施形態において、メッセージの内容が、コンテキストオブジェクト254として使用される。他のパラメータも使用することができる。関連する入力パラメータに、送信側、送信側メッセージ型、受信側を識別するメッセージ、および受信側メッセージ型が含まれる。コンテキストオブジェクト254は、XMLパス言語(XPath)を使用して(すなわち、グラフィカルツールを使用して)宣言的に記述するか、Java(登録商標)でコーディングすることができる。統合エンジン214は、実行時に、コンテキストオブジェクト254の情報にアクセスする。
コンテキストオブジェクト254は、統合ディレクトリ204で記述されたウェブサービス258によって提供される物理アドレスから送信側および受信側を分離するために、送信側および受信側を記述するのに論理項(logical term)を使用することができる。したがって、物理アドレスを、ビジネス指向内容を変更せずに変更することができる。統合ディレクトリ204内のマッピング256は、すべてのサポートされるマッピングを含む統合リポジトリマッピング236と対照的に、アクティブなシステム環境に必要なマッピングを表す。しかし、マッピングの新しいシーケンスなどの一部の新しいエントリは、例えばマッピングに関する追加ウェブサービスのアドレッシングのために、統合ディレクトリ204内でのみ作ることができる。統合エンジン214は、実行時に統合ディレクトリマッピング256にアクセスする。
コンテキストオブジェクト254は、意味規則的に同一のペイロード情報にアクセスするための一意の名前を提供する。例えば、コンテキストオブジェクトは、送り状および購入注文に関して「plant」の一意のアクセス名を提供することができる。送り状の「plant」のXPathを、「A/B/C/plant」と定義することができ、購入注文の「plant」のXPathは、「X/Y/Z/werk」のようになる。コンテキストオブジェクト254の「plant」は、上述したXPathが指定されたメッセージインタフェースの送り状および購入注文に割り当てられる。これによって、plantのXPathがn個の異なる場所で定義されていないことが確かめられる。
ウェブサービス258は、現在アクティブなシステム環境内で実装されたインタフェースならびに記述されたビジネスパートナ260によってサポートされるアクティブなウェブサービスを記述する。したがって、ウェブサービス258を記述した情報を、UDDI(Universal Description,Discovery,and Integration)互換のディレクトリと交換するか、手動で追加することができる。各ウェブサービス258の記述は、物理アドレッシングの詳細と、アクセス情報と、URL(uniform resource locator)、プロトコル、およびセキュリティ情報などの他の特殊な属性も提供する。1つの実装で、ウェブサービス258が、WSDLで記述され、SOAPおよびebXMLが、メッセージングプロトコルとして使用される。統合エンジン214も、実行時にウェブサービス258に関する情報にアクセスする。
システム環境ディレクトリ203のシステム環境262は、XI・110を使用する現在のシステム環境を記述する。システム環境262は、システム内のあるマシンにインストールされ、使用可能であるコンポーネント、選択された実体またはクライアント、インストールされたコンポーネントに関するさらなる情報、他のシステム環境などを記述する。システム環境262の記述は、オープンアーキテクチャに基づき、共通情報モデル(CIM)などの広く受け入れられている標準規格を厳守することができる。したがって、多数の固有(proprietary)コンポーネントおよびサードパーティコンポーネントを、実際のシステム環境にインストールされるときにシステム環境262にそれ自体を自動的に登録するように構成することができる。システム環境262の記述へのアクセスインタフェースも、WBEM(Web-based Enterprise Management)およびSOAP標準規格などのオープンな標準規格に基づくものとすることができる。
ビジネスパートナ260は、名前、住所、およびURLなどの企業のビジネスパートナに関する情報を定義するが、より詳細な洗練された情報も含めることができる。例えば、ビジネスパートナ260に、直接に受信し、処理することのできるメッセージフォーマットの記述、あるいは安全な通信に使用されるセキュリティプロトコルまたはパートナシップで使用される取引条件の記述を含めることができる。ビジネスパートナ260に保管される情報の種類は、XI・110を使用する企業の固有な判断によって制御することができる。
統合ディレクトリ204およびランタイムエンジン214は、共同ビジネスプロセスを実行するための共同ランタイム環境を形成する。共同ランタイム環境は、接続されたソフトウェアコンポーネントおよびビジネスパートナの間でのメッセージ交換に関連するすべてのランタイムコンポーネントを提供する。統合サーバ206は、共同ランタイム環境またはウェブアプリケーションサーバ210を実行し、このいずれかに、統合ディレクトリ204によって提供される情報リソースに従ってランタイムエンジン214の実体を含めることができる。
様々な相互接続されたコンポーネントの間ですべてのメッセージを交換するランタイムエンジン214には、2つの層すなわち、統合層272と、メッセージングおよびトランスポート層(MTL)280とが含まれる。統合層272には、中央でモデル化されたビジネスプロセスを実行するビジネスプロセスエンジン274、論理ルーティングサービス276、およびマッピングサービス278が含まれる。MTL・280は、物理アドレス解決サービス282、メッセージングおよびキューイングサービス284、HTTPを介するトランスポートサービス286、およびデータベース288を提供する。統合サーバ206内の統合サービス216は、ランタイムエンジン214をサポートすることができる。MTL・280は、ウェブアプリケーションサーバ210内のランタイムエンジン214の各実体内ならびに様々なソフトウェアコンポーネントに接続されるアダプタフレームワークの各アダプタ209内にも含まれる。各MTL・280は、以下でさらに説明するように、EOプロトコルの実行で役割を有する。
実行時に、ビジネスプロセス252が、実体化され、ビジネスプロセスエンジン274によって実行され、ビジネスプロセスエンジン274は、ビジネスプロセスモデルに従って、ウェブサービス258で記述されたそれぞれのウェブサービスを、その位置と独立に実行する。ビジネスプロセスエンジン274は、実行されるビジネスプロセス252の意味規則と独立であり、ランタイムシステム環境の技術的なコンポーネントと交信するためにビジネスプロセス252を仲介し、容易にするものとして構成される。
図4は、アプリケーションの間でメッセージを交換する処理でのランタイムエンジン214およびBPM・299の複数の機能を示すブロック図である。送信側アプリケーション303が、送信側コンポーネントシステム302に常駐し、送信側コンポーネントシステム302は、送信側アプリケーション303のハードウェアおよびソフトウェアのプラットフォームを表す。1つまたは複数の受信側アプリケーション305が、それぞれ受信側コンポーネントシステム304に常駐する。メッセージ310の通信経路には、送信側コンポーネントシステム302からランタイムエンジン214およびアダプタ309を介して受信側コンポーネントシステム304へのアウトバウンドインタフェースにおいてアウトバウンドプロキシ307を含めることができる。受信側コンポーネントシステム304は、アダプタではなくインバウンドプロキシ311を使用することもできる。図示の受信側コンポーネントシステム304の構成および接続性は、単に例示であり、そのような構成および接続性が、任意の個数の形をとることができることに留意されたい。図示の例は、非同期と同期の両方の通信を例示するものである。同期通信では、ルーティングおよび物理アドレス解決が、要求に関してのみ必要である。というのは、応答が、既に知られている送信側に転送されるからである。
所与のメッセージについて、論理ルーティングサービス276は、312に示されているように、送信側アプリケーションおよびメッセージインタフェースの情報を使用して、対応するルーティング規則を評価することによって、受信側および必要なインタフェースを判定する。ルーティング規則は、統合ディレクトリ204によって提供されるランタイムシステム環境の構成に固有な記述の一部であり、XPath表現またはJava(登録商標)コードとして実装することができる。マッピングサービス278は、314で、メッセージ、送信側、および送信側インタフェースならびに受信側および受信側インタフェースに依存する必要な変換を判定する。非同期通信の場合に、メッセージ方向さえもが、入力、出力、およびフォールトメッセージを適切に変換するために判定される。
統合ディレクトリ204から必要なマッピングを取得した後に、マッピングサービス278は、送信されるメッセージの内容に対してXSLTマッピングまたはJava(登録商標)コード(あるいは所与のシーケンスでの任意の組合せ)のいずれかを実行することができる。統合層の下で、メッセージング、キューイング、およびトランスポートサービス284が、メッセージを所期の受信側または必要な受信側に転送する。メッセージが、各受信側によって期待されるフォーマットに変換された後に、316で、必要な受信側サービスの物理アドレスおよび他の関連属性が、統合ディレクトリ204から取得され、メッセージにマッピングされる。
メッセージングおよびキューイングサービス284内のキューイングエンジン(図示せず)が、入ってくるメッセージ、出てゆくメッセージ、エラーのあるメッセージ、および作業中(work-in-progress)のメッセージを永続的に保管する。ランタイムエンジン214のメッセージング層は、アプリケーションコンポーネントを物理的に切断するキューイング機能を提供し、メッセージがプロトコルに従って正確に1回だけ(Exactly Once)配信される(すなわち「EO」プロトコル)ことを保証する。トランスポートサービス286は、ランタイムエンジン214がクライアントとサーバの両方として動作することを可能にする。トランスポートサービス286は、アウトバウンド通信を可能にするクライアントおよび入ってくるドキュメントを受け入れることによってインバウンド通信を処理するサーバを実装する。追加サーバ機能は、使用されるトランスポートプロトコルを介してポーリングをサポートすることによって、受信側がサーバを有しない状況に対処することができる。好ましくはHTTPが使用されるが、他のトランスポートプロトコルも使用することができる。
図5は、統合サーバ502に統合されたプロセスエンジン504を含むBPMシステム500のアーキテクチャブロック図である。プロセスエンジン504および統合サーバ502は、そのランタイム構成でこのように呼ばれるが、その「定義時」の構成では、それぞれ、プロセスエディタおよび統合ビルダとも呼ばれる。BPMシステム500内のプロセス定義506およびBPMランタイム508は、異なる開発プラットフォームに基づく。例えば、プロセス定義506は、J2EEプラットフォーム505など、Java(登録商標)に基づき、ランタイム508は、ABAPに基づく。BPMシステム500に、統合サーバ502上の監視および管理ツール524が含まれる。
プロセス定義506のモジュールは、XMLオブジェクトおよび相関関係を使用して、統合ディレクトリ514のXIオブジェクト512からインポートされた展開ルールに基づいて、プロセスを定義する。XIオブジェクト512は、システムランタイム構成516について定義されたルーティングおよびマッピングに基づく。XIオブジェクト512は、統合リポジトリ522内のビジネスプロセス518およびシステム環境の設計時の構成520を定義するのにも使用される。ビジネスプロセス518は、他のすべての統合リポジトリ522のオブジェクトおよびツールと統合され、これによって、他のXIオブジェクトとの間のリンクが可能になる。プロセス(すなわち、パターンおよびテンプレート)を顧客に配信することができ、エクステンションの概念を提供することができる。アプリケーション固有の内容も、配信することができる。一部のアプリケーションは、顧客に配信できるプロセスおよび/またはエクステンションを作成することができる。BPMシステム500に、普遍的な接続性のための標準規格ベースアダプタをインポートし、エクスポートするインポート/エクスポートフレームワーク526が含まれる。BPMシステム500に、ユーザ指定のビジネスプロセス詳細を受信するインタフェースを含めることができる。
ビジネスプロセスモデル化シナリオを、モデル化パターン(または単に「パターン」)とも称する。以下で説明するパターンは、高水準の基本構成要素であり、デッドライン、例外などのプロセスエンジン504の基本機能と互いに組み合わせることができる。
1)送信および受信:プロセスエンジン504によって制御されるメッセージ送信は、しばしば、相関関係のある応答メッセージを待つそれぞれの受信ステップと組み合わされる。受信ステップは、キューイング機構としての関連する相関関係のアクティブ化から始めて、メッセージを待たなければならない。
2)シリアライゼーション:このパターンには、1.メッセージを受信し、プロセスデータコンテキスト内でローカルに保管するステップと、2.データコンテキストを保持し、ある条件が満足されたときに受信したメッセージの送信を開始するステップと、3.受信側の従属関係を考慮して、所定の順序で、受信したメッセージを送信するステップとを含めることができる。この第3ステップは、a.応答/肯定応答に関係なく(「撃ち放し(fire and forget)」)またはb.応答もしくは肯定応答を受信する(直列化を可能にする)ことができる。プロセスエンジン504は、次のメッセージを送信する前に、以前に送信されたメッセージの技術的なACKまたはそのメッセージからのビジネス応答を待つように構成することができる。
3)変換/結合/分割:プロセスエンジン504は、プロセスコンテキスト内でメッセージを変換する。次の変換を実行することができる:1.(N:1)複数の収集されたメッセージを1つの新しいメッセージに変換する(例えば、複数の送り状を1つの組み合わされた送り状に変換するか、POヘッダおよび複数のPOポジションを1つのPOに変換する);2.(1:N)1つのメッセージを複数の他のメッセージに変換する(例えば、組み合わされた送り状をオリジナルPOに関する送り状に変換する);3.(1:1)は、上記で説明した変換の特殊な事例である。必要な場合に、N:Mマッピングも可能である。
4)マルチキャスト:プロセスエンジン504は、応答/肯定応答に関係なく(「撃ち放し」)または複数の応答/肯定応答の受信に基づいて、メッセージの受信側を判断し(内容ベースの条件も使用して)、メッセージをこれらの受信側に送信するように構成することができる。メッセージは、並列にまたは順次送信することができる。
5)収集:このパターンは、任意の個数のメッセージを受信することができる受信ステップを使用する。プロセスの観点から、収集シナリオの終りは、「プッシュ」(すなわち、N個のメッセージが到着した、あるデッドラインに達したなど、ある条件に達した)または、プロセスエンジンが、収集の終りを示す特殊なメッセージを待つ「ポール」を介して定義することができる。
図5も参照して、図6に、複数の「クライアント」アプリケーションシステムを編成する、BPMシステム500のランタイムおよび統合サーバ502のそれぞれのプロセスエンジンのワークフロー600を示す。統合サーバ502は、メッセージを介してクライアントアプリケーションシステム503と通信する独立コンポーネントである。メッセージ関連機能(送信、作成、変換、結合、分割など)は、統合サーバ502のメッセージング層(「低水準XIランタイム関数」)へのサービス呼出しによって実現されることが好ましい。プロセスエンジン504は、メッセージペイロードを直接に変更しないことが好ましい。むしろ、メッセージは変換によって変更され、この変換を以下でさらに説明する。
プロセスエンジン504は、アプリケーションシステム503上ではなく、統合サーバ502上のプロセスだけに焦点を合わせている。プロセスエンジン504は、バックエンドシステム内のプロセスの制御に使用されるのではなく、メッセージを介してバックエンドプロセスと通信することができるが、プロセスエンジン504は、バックエンドシステムのアプリケーション機能、組織管理機能、およびユーザ管理機能と交信しない。プロセスエンジン504は、メッセージング層アプリケーションを使用するが、ビジネスワークフローは、それぞれのアプリケーションシステムのアプリケーション、ユーザ管理、および組織管理を使用する。プロセスエンジン504は、同期アウトバウンドインタフェースを介して通信をサポートする。
ビジネスプロセス管理
XI環境へのプロセス管理の統合は、2つの部分すなわち、1)ビジネスプロセスとの間のすべての参照を取り扱う「外部ビュー」と、2)プロセスおよびモデル化ツールを探索する「内部ビュー」とで説明することができる。
外部ビュー
プロセスは、統合リポジトリ522と統合ディレクトリ514との両方に内部表現(representation)を有する。プロセス定義は、作成され、統合リポジトリ522だけに保管される。これによって、クライアントシステム503へのプロセス定義のトランスポートが可能になる。統合ディレクトリ514に保管されたプロセスは、簡略な内部表現に依存し、この内部表現は、統合リポジトリ522内の関連するプロセス定義を指し示す。各ビジネスプロセスは、XIオブジェクト(ナビゲーションツリーにおいて視覚的に表現され、他のXIオブジェクトとの間のリンクにおいて使用可能である)として、XI環境内でプロセスエンジン504を統合する機能を提供する。ビジネスプロセス518は、確立されたXIオブジェクト型を使用することができ、冗長なオブジェクト型を作成しない。ビジネスプロセス518に、前に使用されたインタフェースなどのパブリック部分と、ステップ型および相関関係を使用するプロセスグラフを含むプライベート部分が含まれる。プロセス実体は、ランタイム508内で停止し、再始動することができる。プロセス実体は、特定のステップから再始動する(例えば、あるステップ中にエラーが発生した場合に、そのステップから再始動する)こともできる。
図7に、統合リポジトリ522内のビジネスプロセス518との間のリンクを示す。このリンクには、(2)抽象化されたインタフェース702、(3)コンテキストオブジェクト704、および(4)インタフェースマッピング706への参照が含まれる。絶対的なリンクは、(1)ビジネスシナリオのアクションがプロセス定義を参照すること、(5)インタフェースマッピング706がメッセージマッピング712を参照することを含む。ビジネスプロセス518は、ビジネスシナリオ720内で使用でき、ビジネスシステム間の仲介者として動作する。
ビジネスプロセス518は、すべてのインバウンド通信およびアウトバウンド通信を反映するプロセスインタフェース708を有する。プロセスインタフェース708内で使用されるインタフェースに、2つのタイプすなわち、プロセス固有インタフェース(プロセス用の特殊な正規化インタフェース)および(不要なインタフェースの作成を避けるための)送信側/受信側ビジネスシステムのミラーリングされたアウトバウンド/インバウンドインタフェースが含まれる。ミラーリングを行って、オリジナルインタフェースと同一のメッセージ型をポイントする新しい抽象インタフェース702を作成しなければならない。抽象インタフェース702は、インバウンドの役割ならびにアウトバウンドの役割に使用することができる。これによって、プロセスが受信し、後に変更なし(変換なし)で送信するメッセージに関するマッピングが不要であることが保証される。プロセスがインバウンドメッセージおよびアウトバウンドメッセージを必要とする場合には、インバウンドからアウトバウンドへの変換が必要になる。さらに、プロセス固有インタフェースは、アタッチされたビジネスシステム内にプロキシを有する必要がない。これは、いわゆる抽象インタフェース702につながり、この抽象インタフェース702は、ビジネスプロセス518が使用できる唯一のタイプのインタフェースである。ローカルインタフェースは、(ミラーリングを処理するために)他のインタフェース708を参照でき、(プロセス固有インタフェースを実現するために)メッセージ型710を参照することもできる。
コンテキストオブジェクト704は、名前または他のメッセージ内容を介してペイロード情報にアクセスするのに使用することができる。データを、コンテキストオブジェクト704に書き込まないことができる。インタフェースマッピング706は、変換ステップ内でビジネスプロセス518によってアドレッシングされる。
ビジネスシナリオ720は、1つまたは複数のビジネスプロセス518を参照することができる。1つのビジネスプロセスが、1つの「スイムレーン(swim lane)」すなわちプロセスフローを占有する。各プロセスは、ビジネスシステムとして扱われる。プロセススイムレーン内のアクションは、再利用可能な別々のアクションとしては保管されない。アクションは、アウトバウンドインタフェースまたはインバウンドインタフェース(あるいはその両方)としてビジネスプロセス518によって使用されるインタフェースを表す。「普通の」シナリオの場合に、アクションのインタフェースの一部が、接続のターゲットまたはソースでない場合がある。ビジネスプロセスの場合に、各アクションは、インバウンドおよび/またはアウトバウンドの意味規則を有する1つのインタフェースを表し、接続でターゲットおよび/またはソースとして使用されなければならない。ビジネスシナリオ720からビジネスプロセス518へのナビゲーションが提供される。
図8に、単純なシリアライゼーションユースケースを示す。O*は、アウトバウンドインタフェースを表す。I*は、インバウンドインタフェースを表す。L*は、ローカルインタフェースを表す。インタフェースL2およびL4のメッセージは、ビジネスプロセス(それぞれが、まず到着し、プロセスを開始することができる)によって受信され、シーケンシャルな順序で送信される。各アクションは、インバウンドインタフェース(受信)およびアウトバウンドインタフェース(送信)としてビジネスプロセスによって使用される1つのインタフェースを表す。したがって、各アクションは、アクションへおよびアクションからという2つの接続を有する。
図9に、基本結合シナリオを示す。インタフェースL2およびL4のメッセージは、ビジネスプロセス(それぞれがプロセスを開始することができる)によって受信され、インタフェースL5の新しいメッセージに変換され、このメッセージが送信される。インタフェースL2およびL4を表すアクションは、インバウンド(受信)接続だけを有し、インタフェースL5を表すアクションは、アウトバウンド接続(送信)だけを有する。
ビジネスシナリオに関して、ビジネスプロセスを異なる形でモデル化することができる。1つの形を、「プロセスファースト(process first)」またはボトムアップと呼び、これにはプロセス定義およびプロセスインタフェースの作成が含まれる。このプロセスシグネチャに、インバウンドの役割および/またはアウトバウンドの役割を有するインタフェースが含まれる。これらのインタフェースのメッセージは、プロセスによって受信/送信することができる。プロセスシグネチャは、プロセス定義およびコンテナ要素から導出することができ、プロセス設計者によって定義される必要はない。プロセスインタフェースのインバウンド部分は、所与のインタフェースのメッセージを受信する受信ステップ(すなわち、受信されなければならないコンテナ要素の型)に基づく。プロセスシグネチャのアウトバウンド部分は、所与のインタフェースのメッセージを送信する送信ステップ(すなわち、送信されるコンテナ要素の型)に基づく。この方法には、ビジネスシナリオにプロセス定義を導入することも含まれる。ビジネスシナリオ内で、アクションは、ビジネスプロセスのインタフェースを指す。
プロセスをモデル化できるもう1つの形を、「シナリオファースト(scenario first)」またはトップダウンと呼び、これには、次のステップが含まれる:1.ビジネスシナリオにスイムレーンとしてプロセス定義を導入し(存在しない場合には暗黙のうちにプロセス定義を作成する)、2.プロセスのスイムレーンにアクションを追加する(プロセスインタフェースを暗黙のうちに作成/編集する)。
図7に示されているように、統合リポジトリ522から統合ディレクトリ514への遷移は、できる限り苦労のないものにしなければならない。一実施形態で、統合ディレクトリ514内のプロセス732が、作成され、命名され、統合リポジトリ522内のアクティブなプロセス定義506にリンクされる。統合ディレクトリ514内の複数のプロセスに統合リポジトリ522内の同一のプロセスをポイントさせることも可能である。その後、他のすべての統合ディレクトリオブジェクトを、プロセス732にリンクすることができる。この遷移を簡単にするために、プロセス732を、ユーザインタフェースに表示されるユーザ構成可能な遷移「ウィザード」に含めることができる。
統合ディレクトリ514内のプロセス732に、簡略な(thin)表現が含まれ、このプロセスは、名前によって識別され、ビジネスシナリオ730へのルーティング関係734の依存性に起因して、ビジネスシナリオ730に含まれる。ディレクトリプロセス732に、それが発したリポジトリプロセス518(アクティブなバージョン)への参照(リンク)が含まれる。したがって、統合ディレクトリ514内のプロセス表現は、プロセス定義を含まない。したがって、統合ディレクトリ514でのプロセスのカスタマイズまたは構成は不要である。
統合ディレクトリ514内のプロセス732は、プロセス732との間のルーティング関係734およびマッピング関係736の指定を可能にする。これは、マッピング機能およびルーティング機能がソースまたはターゲットとしてプロセス732を認識することを必要とする(すなわち、ビジネスプロセスを、ビジネスシステムのようにアドレッシングすることができる)ことを意味する。統合ビルタインタフェース内で、プロセスまたはビジネスシステムがアドレッシングされるかどうかが可視でなければならない。プロセス732は、ルーティングでメッセージの送信側としても使用される。例えば、同一インタフェースのメッセージを異なる受信側に送信する2つの異なる送信ステップを、同一プロセス内で区別しなければならない。
ステートレスシナリオ(プロセスなし)からステートフルシナリオ(プロセスあり)への遷移は、できる限り滑らかにしなければならない。図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)が含まれる。
各プロセスは、そのプロセス内で使用可能なデータを使用して実行される。このデータは、プロセスコンテナのエンティティであるコンテナ要素(変数)に保管される。コンテナ要素は、プロセスをモデル化するときに定義することができ、一意の名前および型を含めることができる。コンテナ要素は、マルチライン(すなわち、要素のテーブル)として定義することができる。コンテナ要素は、型に従ってグループ化することができる。そのような型の1つが、インタフェース(すなわち、プロセスによって処理されるメッセージに関する)である。もう1つのそのような型が、単純なXSD型(すなわち、プロセス制御データ、例えばカウンタなどに関する)である。受信側も、マルチキャストの必要に応じて、1つのデータ型として指定することができる。
プロセスインタフェースは、プロセスの(インタフェース)シグネチャを表す。これには、インバウンドの役割および/またはアウトバウンドの役割を有するインタフェースが含まれる。これらのインタフェースのメッセージは、プロセスによって受信/送信することができる。プロセスインタフェースは、プロセス定義およびコンテナ要素から導出することができる。プロセスインタフェースのインバウンド部分は、所与のインタフェースのメッセージを受信する受信ステップ(すなわち、受信しなければならないコンテナ要素の型)に基づく。プロセスインタフェースのアウトバウンド部分は、所与のインタフェースのメッセージを送信する送信ステップ(すなわち、送信されるコンテナ要素の型)に基づく。
プロセスに送信されるメッセージは、プロセス定義だけではなく、プロセスの正しい実体にも配信される必要がある。この「実体ルーティング」は、包括的に達成することができる。新しいプロセス実体の開始は、特別な事例である。プロセスによって処理されるメッセージは、疎結合される。同一プロセスによって処理されなければならないメッセージの依存性は、ビジネスデータに依存する。
相関関係は、これらの依存性を定義する手段である。相関関係の宣言的指定は、メッセージの宣言的特性に依存する。特性は、単に、メッセージ内のフィールドである。相関関係は、複数のフィールドを使用して定義することができる。相関関係トークン(すなわち、相関特性の値)の各メッセージ内での位置は、プロセス定義で宣言的に表すことができる。相関関係は、情報を保持する最初のメッセージが使用可能である限り、プロセス実体のスコープ内で実体化することができる。この実体化は、送信ステップおよび受信ステップによってモデル化される。
プロセスは、メッセージ到着のみによってトリガを与えることができる。アプリケーション呼出し、API、または人間の介入を介するプロセスの開始を、トリガを与えるメッセージを使用することにマッピングすることができる。トリガを与えるメッセージは、受信ステップで識別することができる。したがって、受信されるメッセージを、BPEL4WSと同様に、トリガを与えるメッセージとして宣言することができる。受信ステップにトリガを与えるものとして宣言できるように、このステップは、プロセスの初めに定義される必要がある。
受信ステップは、プロセスに送信されたメッセージを消費するのに使用される。各受信ステップは、複数の受信ステップが同一インタフェースのメッセージを待っている場合であっても、それ自体のメッセージを得る。メッセージがプロセスに送信され、受信ステップがまだ実体化されていない場合には、受信ステップに達するまで、プロセスエンジンがメッセージをキューイングする。
上記で説明したように、メッセージは、プロセスに送信される。受信ステップがメッセージを消費しない場合には、プロセスが、到着するメッセージをキャッシングする。受信ステップに達した場合に、「最も古い」メッセージがキャッシュから取得され、受信ステップが完了する。プロセスが受信ステップに達し、キャッシュが空である場合には、そのプロセスは、新しいメッセージが到着するまで待つ。BPMシステム内の各受信ステップの実体は、複数のイベント消費者が同一イベントの際に通知される古典的なイベントに基づく発行(publish)および承諾(subscribe)と異なり、それ自体のメッセージを得る。
受信ステップは、受信ステップを完了するために満足されなければならないすべての相関関係を参照する。複数の相関関係がある場合に、受信ステップ(および意味規則)を完了するために、すべての参照される相関関係が満足されなければならない。受信ステップは、受信されたメッセージの消費の際に実体化される必要がある相関関係も参照する。メッセージの到着は、新しいデータをプロセスに持ち込むことができる唯一の形である。
同一インタフェースのメッセージに関する複数の受信ステップを設けることができる。図12に示されているように、少なくとも3つのシナリオすなわち、順番に、並列に、および繰り返して、を可能とすることができる。これらを、これから順番に説明する。
順番のシナリオでは、複数の受信ステップが、同一インタフェースのメッセージを待っている。メッセージは、異なる時点(t1およびt2)に到着し、受信ステップは、相関関係のアクティブ化のときから待機期間を開始する。意味規則は、次の通りである:各受信が、それ自体の(異なる)メッセージを得る;最初のメッセージは、最初の受信ステップを完了させ、第2のメッセージは、第2の受信ステップを完了させる;最初のメッセージは、両方(またはより多くの)受信ステップを完了させない。このアクションは、競合状態を回避し、メッセージが失われないことを保証する。
繰り返しのシナリオでは、受信ステップが、同一インタフェースのメッセージをループ内で待っている。メッセージ(同一インタフェースの)は、異なる時点(t1、t2、およびt3)に到着し、受信ステップは、相関関係のアクティブ化のときから待つ。意味規則は、次の通りである:受信ステップがメッセージを消費しない場合に、プロセスは、到着するすべてのメッセージをキャッシングする;受信ステップに達した場合に、「最も古い」メッセージがキャッシュから取得され、受信ステップが完了する;プロセスが受信ステップに達し、キャッシュが空である場合には、プロセスは、新しいメッセージが到着するまで待つ。そのような「ループ式受信」は、収集シナリオを実現するのに役立つ。
並列のシナリオは、2つの受信ステップが同一インタフェースの同一メッセージを並列に待っている状況を取り扱う。メッセージは、異なる時点(t1およびt2)に到着し、両方の受信ステップが、相関関係のアクティブ化のときから待つ。意味規則は、次の通りである:最初のメッセージは、両方の受信ステップを完了させない;各受信ステップは、それ自体のメッセージを得るが、順序は任意とすることができる。
受信のメッセージングおよびステップを説明したので、メッセージ送信および送信ステップをこれから説明する。送信ステップは、プロセス内で既に使用可能なメッセージを送信するのに使用される。送信ステップの実行によって、プロセスエンジンは、(アウトバウンド)メッセージを処理のためにパイプラインに提供する。送信されるメッセージの受信側は、ディレクトリ内のルーティング構成を介して、または受信側判定ステップと組み合わされたプロセス定義によって直接に、または応答すべき別のメッセージを使用して、判定するか指定することができる。
ルーティング構成がディレクトリから取得されるときに、プロセス名およびアウトバウンドインタフェースは、メッセージ内の送信側情報である。メッセージは、パイプラインに提供され、このパイプラインで、適切なルーティング関係が評価されて、ターゲットのインタフェースおよび受信側が判定される。コンテキストオブジェクトを使用して、図13に示されているように、同一インタフェース上の異なる送信ステップの間で区別することができる。受信側がプロセス定義によって直接に指定されるときには、受信側(すなわち、ビジネスシステム)を、直接に入力するか、受信側判定ステップによって計算することができる。この場合に、パイプラインがルーティング構成の際に受信側をもう一度計算してはならない。
ルーティング構成(ディレクトリ)が使用される場合に、コンテキストオブジェクトは、プロセス内の異なる場所から同一インタフェースのメッセージを送信する送信ステップを区別する必要があり、例えば、送信ステップは、それぞれ、スイッチ要素の排他的な枝に置かれ、異なる受信側に送信する必要がある。コンテキスト情報がないと、送信ステップが同一プロセスの一部であり、同一インタフェース上で送信しているので、送信ステップを互いに区別することが不可能になる場合がある。ルーティングは、プロセス名とインタフェース名しか使用することができない。コンテキストオブジェクトは、送信ステップを介して追加コンテキスト情報をルーティングに提供することを可能にする。この情報を、ルーティング条件で使用し、ルーティング関係を真または偽に分類することができる。
非同期通信は、送信ステップのデフォルト動作である。メッセージは、パイプラインを使用して(応答またはフォールトメッセージを受信せずに)受信側に送信される。非同期通信について、肯定応答(非パイプライン/パイプラインによる肯定応答、技術的な肯定応答、アプリケーションによる肯定応答(デフォルト:肯定応答なし))を待つことが可能である。これらの肯定応答は、受信側の、ビジネスメッセージではなく(肯定または否定の) 技術的な応答である。肯定応答は、受信側(アダプタ、システムなど)がこれらの肯定応答を送信できる場合に限って受信することができる。
送信中のエラーは、プロセスレベルでは可視でない。したがって、送信ステップは、エラー状況を返さない。送信ステップは、メッセージをパイプラインに提供できるときに終了し、プロセスエンジンが、要求された肯定応答(要求された場合に)を受信する。再試行は、XIランタイムによって実現される(再試行回数は、CPAで定義することができる)。というのは、プロセスエンジンが、再試行を実行するように構成されていないからである。
送信ステップは、同期通信にも使用することができる。この場合に、送信ステップは、2つのメッセージを扱い、一方のメッセージは、送信され、もう1つのメッセージは、結果として受信される。同期通信を使用すると、呼出しが即座に結果を返すので、肯定応答を処理する必要がない。
プロセスエンジンは、送信ステップを介して肯定または否定の肯定応答を送信することもできる。呼出し側システムによって要求され、明示的に回答されていない肯定応答は、プロセスが正常に終了したときに満足される。
受信側判定ステップは、パイプラインの受信側判定を呼び出して、ルーティング情報を使用してメッセージの受信側を計算する。このステップは、受信側のリストを返す。受信側のリストは、プロセスによって制御されたマルチキャストを可能にする。送信ステップと同様に、受信側判定ステップは、ルーティング条件の評価に使用できるコンテキスト情報を供給する。
変換ステップは、メッセージを結合し(N:1);メッセージを分割し(1:N);1つのメッセージをあるインタフェースから別のインタフェースに変換する(特殊な事例としての1:1)ように構成される。変換ステップごとに、マッピングプログラム(インタフェースマッピング)と変換シナリオに参加するメッセージの両方を指定する必要がある場合がある。マッピングプログラムは、異なる変換事例を処理できる必要がある。メッセージの変換は、プロセスエンジンによって呼び出されるサービスによって行われる。変換サービスは、完全なメッセージ(ペイロード、アタッチメントなど)を処理できなければならない。
メッセージペイロードにリンクされたアタッチメント(例えば、アタッチメントとしてのカタログ参照ピクチャ)は、このサービスによって次のように扱われる必要がある。結合の場合に、図14に示されているように、すべてのアタッチメントが収集され、結合されたメッセージにアタッチされる。アタッチメントは、メッセージペイロードによって参照される名前を保持する。すべてのアタッチメントが、一意の名前(例えば、GUID)を使用しなければならない。分割の場合に、大量のデータがトランスポートされる場合であっても、すべてのアタッチメントを、単純に複製し、作成されたメッセージにアタッチすることができる。したがって、変換ステップに、変換、結合、および分割の動作が含まれる。新しいメッセージを作成する動作は、変換ステップの特殊な事例である。
動作時に、変換ステップは、1つまたは複数のメッセージ(ペイロード以外)およびマッピングプログラムをインポートパラメータとして用いてXIランタイムのマッピングサービスを呼び出し、エクスポートパラメータとして1つまたは複数の新しいメッセージ(ペイロードだけではない)を受信する。変換ステップは、メッセージに対して動作し、したがって、他の値のソースまたはターゲット(例えば、単純なXSD型)が、使用されないことが好ましい。
値マッピングは、プロセス内では可能でない。というのは、値マッピングに必要な送信側および/または受信側の情報が、プロセス内で使用可能でなく、マッピングプログラムに提供できないからである。したがって、プロセスは、値に関する「正規化された」メッセージフォーマットを必要とする。図15に示されているように、プロセスへの値マッピングは、プロセス正規化された値フォーマットとして送信側ビジネスシステムA(BSA)の値を選択する。しかし、プロセスがメッセージを受信するか送信するときには、値マッピングが可能である。
制御フローに関連するモデリング要素またはステップに、スイッチ、割当、制御、ブロック、並列セクション、ループ、待機、空、例外、およびデッドラインが含まれる。スイッチは、複数の分岐を提供し、各分岐が、条件と評価の明示的順序とを備える。条件が真を返す最初の分岐が、実行時に採用される。他のすべての分岐は、無視される。分岐が一致しない(すなわち、すべての分岐条件が偽を返す)場合に、デフォルト分岐が採用される。割当ステップは、コンテナ要素の値を変更する(すなわち、トップレベルアクセス)。メッセージ(ペイロード、ヘッダなど)は、この動作によって変更することができない。ペイロードを変更するためには、変換ステップを実行しなければならない。メッセージペイロードには、XPath、コンテキストオブジェクト、または他の類似する手段を介してアクセスすることができる。
制御ステップは、制御フローに影響する複数の異なる機能、例えば例外の送信またはプロセスの終了を提供する。制御ステップは、異なる機能のために特殊化されたステップ型である。制御ステップに、例外送信機能および/または取消/終了機能を含めることができる。フォールト状況では、例外ハンドラによって処理される例外を送信できなければならない。送信された例外は、一意の例外名によって識別することができる。フォールト状況では、ある点でユーザを関係させることができなければならない。制御ステップのこの実装は、SAPの警告管理(Alert Management)にアラートを送信する可能性を提供する。
取消/終了機能性は、フォールト処理および補償動作なしで、プロセスおよびすべての参加するステップを終了することを可能にする。明示的な取消機能性と暗黙の取消機能性を区別することができる。制御ステップの明示的な取消機能性は、あるプロセス状態(受信されたメッセージまたはデッドライン)のときにプロセス全体を終了させる。このステップを処理することによって、プロセスが停止し、プロセス実体それ自体ならびにアクティブステップが終了される。
図17に示されているように、暗黙の取消機能性は、プロセス内でモデル化されるのではなく、プロセスエンジンの特徴である。明示的な終了と比較して、暗黙の事例は、プロセス全体に影響するのではなく、プロセスのある部分(例えば、1つまたは複数のフォーク分岐)だけに影響する。暗黙の取消機能性の1つの例が、第1の分岐が合流ステップ(2つのうちの1つ)で並列セクションを完了する、2つの分岐を有する並列セクションである。したがって、一方の分岐が合流ステップに達し、合流条件が真である場合に、他方の分岐は、暗黙のうちに取り消される必要がある。t1において、両方の分岐がアクティブであると仮定する。t2において、一方の分岐が合流ステップに達し、他方の分岐はまだ処理中である。t3において、他方の分岐が取り消され(第1の分岐について合流条件が真であった)、プロセスは、合流ステップの後から継続される。明示的取消と同様に、補償は提供されない。分岐は、さらなる通知なしで暗黙のうちに取り消される。最終的にオープンされている通信を、合流条件を定義するときに考慮しなければならない。
ブロック(BPELでは「スコープ」、BPMLでは「シーケンス」と呼ぶ)を設けて、コンテナ定義を共有できる、順次実行されるステップのコレクションを定義することができる。これによって、ドキュメント化の目的も満たされる。ブロックを使用して、複数のステップを含むデッドラインを定義し、例外およびその範囲を定義することができる。デッドラインおよび例外は、ブロックについて定義されるので、ブロックでデッドラインハンドラおよび例外ハンドラを定義することも可能である。
例外は、上記で説明した制御ステップを使用して、またはシステムによって送信することができる。モデル化ツールは、例外ハンドラを定義する可能性を提供する。例外は、プロセスロジックがビジネスフォールトをシグナリングすることを可能にする。複数の異なる例外型に、プロセスロジックによって明示的に送信されるアプリケーション例外と、プロセスエンジンによって送信されるシステム例外が含まれる。例外は、ブロックレベルで定義することができる。ブロックは、その例外のスコープを表す。各ブロックは、任意の個数の例外を有することができる。各例外は、一意の名前を保持し、再定義することはできない。
例外は、一意の例外名を識別することによって、制御ステップ(throw例外)を介して送信することができる。例外ハンドラを、そのスコープ内の既存の例外について定義することができる。例外の送信は、次のように処理することができる。第1に、例外ハンドラを、例外名について見つける。throwコマンドを囲む内側ブロックをまず検索し、囲むブロック内で例外ハンドラを見つけられない場合には、次に上位のブロックに移り、例外ハンドラを見つけられない限りこれを繰り返す(例外伝搬)。第2に、例外ハンドラを保持するブロック内のすべてのアクティブステップを停止する。ハンドラが親ブロック内で見つかった場合には、すべてのアクティブステップと共に、このブロックを停止する。第3に、例外ハンドラを起動し、例外ハンドラ内のステップを実行する。第4に、例外ハンドラの終りに、ブロック(例外ハンドラがそこで定義されている)を、普通に完了する。例外をブロックの1つで処理できない場合には、そのプロセスはエラー状態になる。
デッドラインは、プロセスの期日を監視し、見過ごされたデッドラインの際に反応するために設けられている。モデル化ツールは、デッドラインハンドラをモデル化する可能性も提供する。デッドラインは、モデル化要素ブロックだけについて使用可能であり、他の要素は、デッドラインをサポートしない。これによって、ステップの組を監視できるようになり、競合状態が回避される。競合状態は、デッドラインが受信ステップまたは送信ステップだけにアタッチされ、ステップが実体化される前にデッドラインに達した場合に発生する可能性がある。
デッドラインには、デッドライン期日、デッドラインスコープ(いつデッドラインがアクティブ化され、かつ/または非アクティブ化されるか)、および見過ごされたデッドラインの際の反応の定義が含まれる。デッドライン定義は、週末、祝日などを顧慮しないようにプログラムすることができる。期日に達した場合に、ブロック内のすべてのステップを終了し、対応するデッドラインハンドラを起動するデッドライン例外が送信される。対応するデッドラインハンドラは、到達したデッドラインの際の反応をモデル化することができる。デフォルトデッドライン反応がなくてもよい。各ブロックは、1つのデッドラインだけを保持することができる。このデッドラインは、デッドライン例外として使用できる、それ自体の割り当てられた例外名を有しなければならない。デッドラインハンドラは、この例外について定義される。
デッドラインに、デッドライン定義(日時)および見逃されたデッドラインの際の反応が含まれる。システムは、プロセスアクティビティの実行に関する時間制約の定義をサポートする(例えば、プロセスは、ペイロード指定のデッドラインの3日前に停止しなければならない)。反応は、例えば条件が所与の時間枠内で満足されない場合に、適当なビジネスシステムへのメッセージの送信、および/または、例外状況に関するアラート機構(例えばSAPの警告管理(Alert Management)を用いたユーザ通知) を引き起こすことができる。
プロセスビルダは、2種類の並列セクションすなわち、静的変形および動的変形を提供するように構成されている。静的並列セクション(フォークおよび合流)は、任意の個数の分岐および同期化を有する並列セクションを提供し、この個数は、定義時に定義することができる。この並列セクションは、次の条件のときに終了する:特殊化された条件として、メッセージおよびコンテナ変数に対して操作する任意の条件として、「m個のうちのn個」の論理が設けられる(すべての論理は「n個のうちのn個」を使用して可能である)。両方の条件が、分岐が合流ステップに達したときに必ず検査される。1つの条件が真を返す場合に、他のすべてのアクティブ分岐が終了される。プロセスは、並列セクションの終りの直後の次のステップから継続される。
動的並列セクション(Par For Each)は、1つの定義された分岐および同期化を有する並列セクションを提供するブロックである。この分岐の並列実行の個数は、実行時に決定することができる。動的並列セクションは、マルチライン要素(テーブル)を割り当てられる。定義された分岐(ブロック)は、この要素のラインごとに並列に実行される。マルチライン要素が空である場合には、動的並列セクションは、即座に完了する。各分岐は、それ自体のアドレス空間を有する。動的並列セクションは、ある条件下で終了する:特殊化されたデフォルト条件として、メッセージおよびコンテナ変数に対して操作する任意の条件として、すべての分岐が完了しなければならない。両方の条件が、分岐がその終り(ブロックの終り)に達したときに必ず検査される。1つの条件が真を返す場合に、他のすべてのアクティブ分岐が終了される。プロセスは、並列セクションの終りの直後の次のステップから継続される。
プロセスビルダは、異なる種類のループを提供することができる。ループの1つのタイプが、「while」ループである。whileループは、任意の条件が満足されるまで、ステップの組を繰り返す。ループのもう1つのタイプが、「For Each」ループである。For Eachは、マルチライン要素(テーブル)を割り当てられたブロックである。これは、所与のマルチライン要素についてループし、要素のラインごとに関連するステップを順番に(次々に)実行する。マルチライン要素が空の場合には、For Eachループは実行されない(すなわち、プロセスは、エラー状態にならない)。プロセスは、ブロックの終りの直後の次のステップから継続される。
待機ステップは、あるデッドラインに達するかある期間の遅延が経過するまでの、プロセスフロー内の遅延を指定する。空の要素またはステップは、単に、何も実行せず、モデル化されるステップの位置設定記号(placeholder)として動作しなければならない。
したがって、制御フローモデル化要素を説明したので、これからモデル化パターンを説明する。これらのパターンは、上述した要件を実装するプロセスを構成するのに使用される高水準の基本構成要素である。各パターンを、1つまたは複数の他のパターンと組み合わせることができ、デッドライン、例外などの基本的な(atomic)プロセスエンジン機能とも組み合わせることができる。モデル化パターンに、直列化メッセージ/シーケンス;変換/結合/分割;マルチキャスト;および収集が含まれる。
直列化されるメッセージおよび/またはシーケンスについて、複数の受信ステップ(必要なすべてのステップをプロセスに取り込むための)および複数の送信ステップを、順序を保証する形で組み合わせることができる。送信ステップが、技術的な肯定応答を利用して、メッセージが実際に受信側システムにドロップされることを保証することが重要である。代替案では、もう1つの受信側ステップをモデル化して、対応するビジネス応答を得なければならない。したがって、そのようなパターンに、メッセージを受信するステップと;受信側の技術的な依存性に関する所与の順序で受信されたメッセージを送信するステップを含めることができる。後者のステップについて、次のメッセージを送信する前にメッセージの肯定応答を待ち;メッセージごとに1つの受信側をアドレッシングする。
変換/結合/分割モデル化パターンには、(N:1)収集されたメッセージを1つの新しいメッセージに変換する(例えば、複数の送り状を1つの組み合わされた送り状に変換する);または(1:N)1つのメッセージを複数の他のメッセージに変換する(組み合わされた送り状をオリジナルのPOに関する送り状に変換する)が含まれる。マルチキャストモデル化パターンに、メッセージを受信するか変換を介して作成するステップと;受信側を得るステップと;メッセージを受信側に送信するステップとが含まれる。最後のステップは、回答/肯定応答を気にせずに(撃ち放し)、あるいはある数の回答/肯定応答を受信することによって(逆シリアライゼーション)実行することができる。
メッセージ関連ステップの実行について、プロセスエンジンは、XIランタイムによって提供されるサービスに頼り、プロセスエンジンによって提供されるサービスに頼らない。XIランタイムは、プロセスエンジンによって使用される次のサービスを提供する:送信;受信側判定;および変換。モデル化ツールを提供することができる。プロセスエンジンは、メッセージビュー(XIランタイム)からおよびプロセスビュー(プロセスランタイム)からの技術的な監視も提供することができる。プロセス監視からメッセージ監視へおよびその逆へのナビゲートが可能でなければならない。さらに、XI監視基盤(すなわち、ランタイムワークベンチ)内の統合を実行することができる。プロセスエンジンコンポーネントテストは、プロセスエンジンが生きているかどうかをシグナリングしなければならない。最後に、プロセスは、CCMS基盤でアラートを転送することができる。
監視は、2つの主な領域に分割することができる:プロセスエンジンの総合的状態の監視;および1つの単一プロセス実体の監視。前者の領域について、システムは、例えばすべてのアクティブプロセス実体の実際の状態のグラフィカル表示など、実行中のプロセス監視をサポートする。システムは、プロセス監視のためのデータボリュームおよび実行時性能情報もサポートすることができる。後者の領域について、システムは、プロセス実体ごとにプロセスログを書き込み(アプリケーションは、それ自体のアプリケーションメッセージをプロトコルに書き込む必要がある)、アプリケーションデータ(例えば、注文番号)を用いて選択する可能性と共にプロセスログを表示するように構成される。
図16に、ビジネスプロセスエンジンランタイム600の例を示す。例えば、SRMアプリケーション802は、統合サーバ206を介して供給業者アプリケーション804と通信する。ランタイム内ではSRMアプリケーション802に関してのみ表されているが、各アプリケーションに、インバウンドインタフェースおよびアウトバウンドインタフェースが含まれ、統合サーバ206への接続性のためにプロキシを含めることができる。統合リポジトリ202に、SRMアプリケーション802と供給業者アプリケーション804の間の意味規則的にリンクされた通信を表すビジネスプロセス232の実体が含まれる。
ビジネスプロセス実体232に、論理インタフェースおよび物理インタフェースを含む、SRMアプリケーションと供給業者アプリケーションの間の通信を定義するプロセス定義が含まれる。このプロセス定義は、これらのアプリケーションのサービスの間で行われるメッセージングアクションおよび内容を定義し、望み通りに微細な精度にすることができる。
統合サーバ206に、ビジネスプロセスエンジン274が含まれ、このビジネスプロセスエンジン274は、統合リポジトリから(および、図示されていない統合ディレクトリを介して)ビジネスプロセス実体を受信し、実行する。統合サーバ206には、論理ルーティング、マッピング、および物理アドレス解決などのメッセージング機能およびサービス806も含まれる。これらの機能およびサービス806に、送信側アプリケーションと受信側アプリケーションの間のメッセージの結合、分割、作成、および/またはマッピングのためのマップ変換サービスも含まれる。統合サーバ206は、アプリケーションサービス間のウェブベースメッセージング用のコアメッセージングサービスも提供する。
上記で少数の実施形態を詳細に説明したが、他の変更が可能である。他の実施形態は、特許請求の範囲に含まれ得る。
統合されたメッセージに基づくコラボレーションのための交換システムを示す単純化されたブロック図である。 交換基盤を示すブロック図である。 共同処理のための統合リポジトリ、統合ディレクトリ、およびランタイムエンジンを示す詳細なブロック図である。 複数のアプリケーションの間で単一のメッセージを通信する処理を示すブロック図である。 統合サーバおよびビジネスプロセスエンジンを含むBPMシステムを示すアーキテクチャブロック図である。 BPMシステムを示すワークフロー図である。 ビジネスプロセスとの間のリンクを示す図である。 BPMシステムのシリアライゼーションユースケースを示す図である。 BPMシステムの基本結合シナリオを示す図である。 BPMシステム内のステートレス通信シナリオを示す図である。 BPMシステム内のステートフル通信シナリオを示す図である。 BPMシステム内の3タイプの通信シナリオを示す図である。 同一インタフェースで異なる送信ステップの間から区別するためのコンテキストオブジェクトの使用を示す図である。 BPMシステムでの結合事例の態様を示す図である。 プロセス正規化された値フォーマット動作として値マッピング処理を示す図である。 プロセスエンジンランタイムの実施形態を示す図である。 暗黙の取消動作を示す図である。
符号の説明
100 システム
102 内部コンポーネント(IC)
104 外部コンポーネント(EC)
105 ファイヤウォール
110 交換基盤(XI)
200 システム環境
202 統合リポジトリ
203 システム環境ディレクトリ
204 統合ディレクトリ
206 統合サーバ
208 ランタイムワークベンチ
209 アダプタ
210 ウェブアプリケーションサーバ
211 固有アプリケーション
213 ウェブベースサービス
214 ランタイムエンジン
215 サードパーティアプリケーション
216 統合サービス
218 プロキシジェネレータ
220 Java(登録商標)アプリケーション
222 ABAPアプリケーション
230 ビジネスシナリオ
232 設計時のビジネスプロセス
234 ルーティングオブジェクト
236 マッピング
238 インタフェース
240 ソフトウェアコンポーネント
250 ビジネスシナリオ
252 ビジネスプロセス
254 コンテキストオブジェクト
256 マッピング
258 ウェブサービス
260 ビジネスパートナ
262 システム環境
272 統合層
274 ビジネスプロセスエンジン
276 論理ルーティングサービス
278 マッピングサービス
280 メッセージングおよびトランスポート層(MTL)
282 物理アドレス解決サービス
284 メッセージングおよびキューイングサービス
286 トランスポートサービス
288 データベース
299 BPMシステム
302 送信側コンポーネントシステム
303 送信側アプリケーション
304 受信側コンポーネントシステム
305 受信側アプリケーション
307 アウトバウンドプロキシ
309 アダプタ
310 メッセージ
311 インバウンドプロキシ
500 BPMシステム
502 統合サーバ
504 プロセスエンジン
503 クライアントアプリケーションシステム
505 J2EEプラットフォーム
506 プロセス定義
508 BPMランタイム
512 XIオブジェクト
514 統合ディレクトリ
516 システムランタイム構成
518 ビジネスプロセス
520 設計時の構成
522 統合リポジトリ
524 監視および管理ツール
526 インポート/エクスポートフレームワーク
600 ワークフロー
702 抽象インタフェース
704 コンテキストオブジェクト
706 インタフェースマッピング
708 プロセスインタフェース
710 メッセージ型
712 メッセージマッピング
720 ビジネスシナリオ
730 ビジネスシナリオ
732 プロセス
734 ルーティング関係
736 マッピング関係
802 SRMアプリケーション
804 供給業者アプリケーション
806 メッセージング機能およびサービス

Claims (20)

  1. 企業システムにおいて複数のアプリケーションを統合するシステムであって、
    前記複数のアプリケーションの間に接続され、1つまたは複数の予め定義されたビジネスプロセスを実行するように構成されたプロセスエンジンを含む統合サーバと、
    前記プロセスエンジンの指揮下で動作する、少なくとも1つの予め定義されたビジネスプロセスに基づいて前記複数のアプリケーションの間で1つまたは複数のメッセージングサービスを実行するランタイムエンジンと、
    を含むシステム。
  2. 前記1つまたは複数の予め定義されたビジネスプロセスを保管するリポジトリをさらに含む請求項1に記載のシステム。
  3. 前記リポジトリは、前記複数のアプリケーションの間の交信を定義する設計時のオブジェクトを含む請求項2に記載のシステム。
  4. 企業システム環境のランタイム構成に基づいて、前記1つまたは複数の予め定義されたビジネスプロセスの一部を保管するディレクトリをさらに含む請求項2または3に記載のシステム。
  5. 前記1つまたは複数の予め定義されたビジネスプロセスの一部は、前記ランタイムエンジンによる実行のために前記プロセスエンジンによってアクセス可能である請求項4に記載のシステム。
  6. 前記メッセージングサービスは、前記プロセスエンジンによって実行される前記1つまたは複数のビジネスプロセスに従って、メッセージの論理ルーティング、あるアプリケーションから他のアプリケーションへのメッセージのマッピング、および前記複数のアプリケーションの物理アドレス解決を含む請求項1から5のいずれか一項に記載のシステム。
  7. 前記各ビジネスプロセスは、前記複数のアプリケーションの間のメッセージ交換を定義する請求項1から6のいずれか一項に記載のシステム。
  8. 企業システムにおける複数のビジネスアプリケーションの間のメッセージ交換のためのシステムであって、
    前記複数のビジネスアプリケーションの企業システムにおける設計時の記述を保管するリポジトリと、
    前記複数のビジネスアプリケーションの企業システムにおける構成に固有な記述を保管するディレクトリと、
    を含み、
    前記設計時の記述は、設計時のビジネスプロセスを含み、
    前記構成に固有な記述は、前記複数のビジネスアプリケーションの間で実行される構成に固有なビジネスプロセスを含むシステム。
  9. 前記リポジトリは、前記複数のビジネスアプリケーションの設計時のインタフェース記述、前記複数のビジネスアプリケーションの間で交換されるメッセージのメッセージコンテキスト記述、および前記設計時のインタフェース記述の組を関連付けるインタフェースマッピング記述をさらに含み、
    前記設計時のインタフェース記述、前記メッセージコンテキスト記述、および前記インタフェースマッピング記述は、少なくとも1つの設計時のビジネスプロセスにリンクされる請求項8に記載のシステム。
  10. 前記リポジトリは、前記設計時のビジネスプロセスを抽象化して表現する設計時のビジネスシナリオ記述をさらに含む請求項8または9に記載のシステム。
  11. 前記各設計時のインタフェース記述は、少なくとも1つのインタフェース型オブジェクトおよび/または少なくとも1つのメッセージ型オブジェクトへのリンクを含む請求項9に記載のシステム。
  12. 前記各設計時のインタフェースマッピング記述は、ビジネスプロセスに基づくインタフェースの組の間のマッピングを定義する少なくとも1つのメッセージマッピングオブジェクトへのリンクを含む請求項9に記載のシステム。
  13. 前記ディレクトリは、構成に固有なビジネスシナリオ記述をさらに含み、
    前記構成に固有なビジネスシナリオ記述は、前記構成に固有なビジネスプロセスを含む請求項8から12のいずれか一項に記載のシステム。
  14. 前記各構成に固有なビジネスプロセスは、少なくとも1つのルーティング関係オブジェクトおよび/または少なくとも1つのマッピング関係オブジェクトへのリンクを含む請求項13に記載のシステム。
  15. 企業アプリケーション環境において複数のアプリケーションサービスを統合する方法であって、
    ビジネスシナリオ内で複数のアプリケーションを関連付ける過程と、
    前記ビジネスシナリオに基づいて1つまたは複数の設計時のビジネスプロセスを定義する過程と、
    前記1つまたは複数の設計時のビジネスプロセスのそれぞれを前記複数のアプリケーションのインタフェース記述にリンクする過程と、
    を含む方法。
  16. 前記1つまたは複数の設計時のビジネスプロセスのそれぞれを、メッセージ内容に基づいて前記アプリケーションのうちの2つの間のメッセージのルーティングを記述する少なくとも1つのコンテキストオブジェクトにリンクする過程をさらに含む請求項15に記載の方法。
  17. 前記1つまたは複数の設計時のビジネスプロセスのそれぞれを、前記複数のアプリケーションのインタフェースの間のマッピングを記述した少なくとも1つのインタフェースマッピング記述にリンクする過程をさらに含む請求項15または16に記載の方法。
  18. 前記企業アプリケーション環境のランタイム構成に対応し、前記設計時のビジネスプロセスに基づく1つまたは複数の構成に固有なビジネスプロセスを定義する過程をさらに含む請求項15から17のいずれか一項に記載の方法。
  19. ランタイムエンジン内で少なくとも1つの構成に固有なビジネスプロセスの実体を生成する過程と、
    前記少なくとも1つの構成に固有なビジネスプロセスに従ってメッセージを送受信するために前記実体を実行する過程と、
    をさらに含む請求項18に記載の方法。
  20. 前記構成に固有なビジネスプロセスに従って前記複数のアプリケーションのうちの2つの間でメッセージを送受信する過程をさらに含む請求項19に記載の方法。
JP2006529828A 2003-05-16 2004-05-14 メッセージ交換基盤のためのビジネスプロセス管理システムおよび方法 Expired - Lifetime JP5290518B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US47123703P 2003-05-16 2003-05-16
US60/471,237 2003-05-16
PCT/EP2004/005211 WO2004102438A2 (en) 2003-05-16 2004-05-14 Business process management for a message-based exchange infrastructure

Publications (2)

Publication Number Publication Date
JP2006529037A true JP2006529037A (ja) 2006-12-28
JP5290518B2 JP5290518B2 (ja) 2013-09-18

Family

ID=33452433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006529828A Expired - Lifetime JP5290518B2 (ja) 2003-05-16 2004-05-14 メッセージ交換基盤のためのビジネスプロセス管理システムおよび方法

Country Status (5)

Country Link
US (2) US7788319B2 (ja)
EP (1) EP1625499A2 (ja)
JP (1) JP5290518B2 (ja)
CN (1) CN1791861A (ja)
WO (1) WO2004102438A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305130A (ja) * 2006-05-09 2007-11-22 Sap Ag ビジネスプロセステンプレートとしてのアドホックワークフロー
JP2008217443A (ja) * 2007-03-05 2008-09-18 Mitsubishi Electric Corp ビジネスプロセスシミュレータ及びビジネスプロセスシミュレーションプログラム

Families Citing this family (196)

* Cited by examiner, † Cited by third party
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
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測定方法
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
JP5154292B2 (ja) * 2008-04-24 2013-02-27 株式会社日立製作所 情報管理システム、帳票定義管理サーバ及び情報管理方法
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
CN103403674B (zh) * 2011-03-09 2018-12-14 安提特软件有限责任公司 执行基于策略的改变过程
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
CN110633947A (zh) * 2018-06-22 2019-12-31 上海昶铭软件科技有限公司 一种项目管理系统及其工作方法
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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04229357A (ja) * 1990-05-10 1992-08-18 Hewlett Packard Co <Hp> 異種ネットワーク環境における適用業務プログラムの統合システム
JP2001216143A (ja) * 2000-02-02 2001-08-10 Hitachi Ltd アプリケーション統合のための連携方法
JP2002132503A (ja) * 2000-10-27 2002-05-10 Hitachi Ltd ワークフロー管理システムにおけるデータ連携定義方法およびプロセスデータ管理システム
JP2002175274A (ja) * 2000-12-06 2002-06-21 Sony Corp 情報処理装置及び情報処理方法、ネットワーク・システム、記憶媒体、並びにコンピュータ・プログラム
JP2002530740A (ja) * 1998-11-13 2002-09-17 ザ チェイス マンハッタン バンク アプリケーション独立形メッセージングシステム
JP2003067329A (ja) * 2001-08-27 2003-03-07 Bank Of Tokyo-Mitsubishi Ltd 情報中継装置、情報処理システム及び記録媒体

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US6904595B2 (en) * 2000-05-08 2005-06-07 Microtune (San Diego), Inc. Priority in a portable thread environment
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
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04229357A (ja) * 1990-05-10 1992-08-18 Hewlett Packard Co <Hp> 異種ネットワーク環境における適用業務プログラムの統合システム
JP2002530740A (ja) * 1998-11-13 2002-09-17 ザ チェイス マンハッタン バンク アプリケーション独立形メッセージングシステム
JP2001216143A (ja) * 2000-02-02 2001-08-10 Hitachi Ltd アプリケーション統合のための連携方法
JP2002132503A (ja) * 2000-10-27 2002-05-10 Hitachi Ltd ワークフロー管理システムにおけるデータ連携定義方法およびプロセスデータ管理システム
JP2002175274A (ja) * 2000-12-06 2002-06-21 Sony Corp 情報処理装置及び情報処理方法、ネットワーク・システム、記憶媒体、並びにコンピュータ・プログラム
JP2003067329A (ja) * 2001-08-27 2003-03-07 Bank Of Tokyo-Mitsubishi Ltd 情報中継装置、情報処理システム及び記録媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
峰岸 巧: "MDAに基づくソフトウェア開発の事例と開発プロセス", 情報処理学会研究報告, vol. 2003, no. 22, JPN6010018131, 7 March 2003 (2003-03-07), JP, pages 15 - 22, ISSN: 0001585276 *
玉樹 正人: "ネットワーク時代の新情報システムソリューション:エンタープライズアプリケーションインテグレーション", 日立評論, vol. 第81巻 第8号, JPN6010018128, 1 August 1999 (1999-08-01), JP, pages 39 - 44, ISSN: 0001585275 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007305130A (ja) * 2006-05-09 2007-11-22 Sap Ag ビジネスプロセステンプレートとしてのアドホックワークフロー
JP2008217443A (ja) * 2007-03-05 2008-09-18 Mitsubishi Electric Corp ビジネスプロセスシミュレータ及びビジネスプロセスシミュレーションプログラム

Also Published As

Publication number Publication date
CN1791861A (zh) 2006-06-21
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
JP5290518B2 (ja) メッセージ交換基盤のためのビジネスプロセス管理システムおよび方法
US7603476B1 (en) Pseudo-synchronous messaging
US20060224702A1 (en) Local workflows in a business process management system
US8065657B2 (en) Exchange infrastructure system and method
US20120215581A1 (en) Ad-Hoc and Priority-Based Business Process Execution
US7428597B2 (en) Content-based routing system and method
US8103713B2 (en) System and method for managing service interactions
US20030055668A1 (en) Workflow engine for automating business processes in scalable multiprocessor computer platforms
EP1993260B1 (en) Shortcut in reliable communication
US7373424B2 (en) Exactly once protocol for message-based collaboration
Juric A Hands-on Introduction to BPEL
WO2007068651A1 (en) Scheduling and searching meetings in a network environment
Bordbar et al. On behavioural model transformation in web services
CA2481099C (en) Exchange infrastructure system and method
EP1574980A1 (en) Context objects for accessing message content
Krimmel et al. SAP NetWeaver Process Integration
Moon et al. Transformation algorithms between BPEL4WS and BPML for the executable business process
Karpenko Design and realization of a middleware for mobile task coordination
Yuan Prototype for executable EAI patterns
Peng et al. An agent system for application initialization in an integrated manufacturing environment
Endlich An Evaluation of Enterprise Application Integration Solutions and the Role of Web Services
Dunphy et al. BizTalk Design Patterns and Practices
Moon et al. Transformation algorithms between WSCI and BPEL4WS for the collaborative business process

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100610

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110128

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110202

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130606

R150 Certificate of patent or registration of utility model

Ref document number: 5290518

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term