JP2011509458A - サービス指向アーキテクチャ(soa)対応のアプリケーションを検証するための方法、データ処理システム及びコンピュータ・プログラム - Google Patents

サービス指向アーキテクチャ(soa)対応のアプリケーションを検証するための方法、データ処理システム及びコンピュータ・プログラム Download PDF

Info

Publication number
JP2011509458A
JP2011509458A JP2010540993A JP2010540993A JP2011509458A JP 2011509458 A JP2011509458 A JP 2011509458A JP 2010540993 A JP2010540993 A JP 2010540993A JP 2010540993 A JP2010540993 A JP 2010540993A JP 2011509458 A JP2011509458 A JP 2011509458A
Authority
JP
Japan
Prior art keywords
service
business process
process model
vertices
graph
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
JP2010540993A
Other languages
English (en)
Other versions
JP5209062B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2011509458A publication Critical patent/JP2011509458A/ja
Application granted granted Critical
Publication of JP5209062B2 publication Critical patent/JP5209062B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】サービス指向アーキテクチャ(SOA)対応のアプリケーションを検証するための方法、システム及びコンピュータ・プログラムを提供する。
【解決手段】本発明の実施形態では、SOA対応のアプリケーションを検証するための方法を提供する。この方法は、SOA対応のアプリケーション用の一のビジネス・プロセス・モデルを一の有向連結非巡回グラフに変換するステップと、前記ビジネス・プロセス・モデル用の複数のサービス・グルーピングを対応する複数の有向連結非巡回グラフにさらに変換するステップと、前記ビジネス・プロセス・モデル用の前記グラフにおけるルート・ノードからリーフ・ノードに至る全てのパスを計算するステップと、前記ビジネス・プロセス・モデル用の前記グラフにおいてループ又は閉路が存在しないことを保証することにより、前記ビジネス・プロセス・モデルを検証するとともに、前記複数のサービス・グルーピング用の前記複数のグラフ間に共有頂点が存在しないことを保証することにより、前記ビジネス・プロセス・モデルをさらに検証するステップとを有する。
【選択図】 図2

Description

本発明は、サービス指向アーキテクチャ(SOA)ベースのシステムを開発することに係り、さらに詳細に説明すれば、SOA対応のアプリケーション(以下「SOAアプリケーション」とも称する)を検証することに係る。
ビジネス及び消費者が、グローバル・インターネット及びローカル・イントラネットのようなコンピュータ通信を通して一層緊密に相互接続されるようになるにつれて、ビジネス及び消費者の間の電子商取引を統合するための電子商取引サイト及びコンパニオン計算アプリケーションも、これと同様に一層複雑になってきている。情報技術者は、ビジネス間の電子商取引及び一般消費者向き電子商取引の爆発に対処すべく、組み合わされたときにビジネスのライフ・サイクルを反映するような複数の異種アプリケーションを統合する代わりに、ビジネスの全ライフ・サイクルを反映すべき完全な電子商取引サイトのソリューションを設計し且つ実装することにますます焦点を合わせるようになっている。従って、最近の電子商取引サイトが大きくなり且つ分散されるにつれて、電子商取引システムは、できるだけシームレスな態様で完全な電子商取引システムを配備するように構成されてきた。
現在の普通の傾向は、異なるソリューション用のビジネス・プロセスを作成するために個々に再使用することができる1つ以上のコンポーネントから、通常の、独立型の、電子商取引アプリケーションを作成するというものである。これらのコンポーネントの各々は、1セットの再使用可能なビジネス機能としてそれ自体を公開することができる。これらの再使用可能なビジネス機能は、「サービス」とも呼ばれ、オープンなサービス指向アーキテクチャ(SOA)を促進する、エンタープライズ・レベルの論理を配備するためのコンピューティング標準と適合する。公開された全てのビジネス及び技術的な機能が再使用可能なサービスの形式を有している場合、SOAは、本質的にシステムとして定義することができる。これらの再使用可能なサービスは、互いに通信することにより、複数のサービス間の簡単なデータ引き渡し又は複数のサービスによる活動調整の何れかに従事することができる。
SOAでは、一のクライアントは、一の機能を実行するために一のサービス上の一の動作を呼び出すことができ、また、オプションとして、一の応答を受け取ることができる。一般に、呼び出される諸サービスは、ビジネス顧客が個々の消費者又は他のビジネスであるか否かに拘わらず、これらのビジネス顧客のニーズを満たすように構成された諸ビジネス機能である。これらのビジネス機能は、種々のサービスにグループ化することができる。すなわち、各サービスを、カタログ管理、ショッピング・カート管理、クレジット・カードのトランザクション処理、消費税の計算等のような諸機能に専門化することができる。SOAを使用すると、一の電子商取引ソリューションにおける諸サービスは、1つ以上の別個のビジネス・エンティティ及び1つ以上の別個の消費者エンティティを包含するより大きな電子商取引ソリューションにおける他のビジネス・プロセスと相互運用することができる。
SOAアプリケーションは、多数の利点を提供する。しかし、無計画に且つ無秩序にSOAを採用すると、諸組織は、多くの潜在的リスクにさらされることになる。この点に関して、一の組織をSOAに準拠するように変換する場合、所望のサービスが容易に探索可能であることを、エンタープライズ・アーキテクトがどのように保証するかを考慮しなければならない。また、諸サービスがテクノロジー及びビジネス・アプリケーションの標準に準拠することを、管理者がどのように保証できるかを考慮しなければならない。さらに、実行可能なエンドツーエンド・ソフトウェア・アプリケーションを構築するために諸サービスを再使用できることを、管理者がどのように保証できるかを考慮しなければならない。最後に、管理者の組織的な構造内で諸サービスの相互協調処理をどのように制御できるかを考慮しなければならない。
本発明は、SOA対応のビジネス・プロセス・モデル(以下「ビジネス・プロセス・モデル」とも称する)の検証に係る従来技術の欠点を解消することを意図する。すなわち、本発明は、SOA対応のアプリケーションを検証するための方法、システム及びコンピュータ・プログラムを提供する。本発明の一の実施形態では、SOA対応のアプリケーションを検証するための方法が提供される。この方法は、SOA対応のアプリケーション用の一のビジネス・プロセス・モデルを一の有向連結非巡回グラフ(directed and connected, acyclic graph)に変換するステップと、前記ビジネス・プロセス・モデル用の複数のサービス・グルーピングを対応する複数の有向連結非巡回グラフにさらに変換するステップと、前記ビジネス・プロセス・モデル用の前記グラフにおけるルート・ノードからリーフ・ノードに至る全てのパスを計算するステップと、前記ビジネス・プロセス・モデル用の前記グラフにおいてループ又は閉路(cycle)が存在しないことを保証することにより、前記ビジネス・プロセス・モデルを検証するとともに、前記複数のサービス・グルーピング用の前記複数のグラフ間に共有頂点(shared vertex)が存在しないことを保証することにより、前記ビジネス・プロセス・モデルをさらに検証するステップとを有する。
実施形態の1つの側面では、前記ビジネス・プロセス・モデルを検証するステップが、前記計算されたパスのうち単一のパスが前記複数のサービス・グルーピングのうち単一のサービス・グルーピング用の全ての頂点を含むか否かを決定するステップと、前記単一のパスが前記単一のサービス・グルーピング用の全ての頂点を含み且つ前記単一のパス内に含まれる全ての頂点が連結されていない場合は、前記単一のサービス・グルーピングが無効であると決定するステップとをさらに有する。実施形態の他の側面では、前記ビジネス・プロセス・モデルを検証するステップが、前記複数のサービス・グルーピングのうち対応するグラフ内に単一の頂点だけを含む各サービス・グルーピングが有効であると決定するステップをさらに有する。実施形態の他の側面では、前記ビジネス・プロセス・モデルを検証するステップが、前記計算されたパスのうち単一のパスと前記複数のサービス・グルーピングのうち単一のサービス・グルーピングとの間の交差(intersection)を計算するステップと、各交差が複数の頂点を含むか否かを決定するステップと、任意の交差が連結されていない複数の頂点を含む場合は、前記単一のサービス・グルーピングが無効であると決定するステップとをさらに有する。
本発明の他の実施形態では、SOA対応のアプリケーションを検証するためのデータ処理システムが提供される。このシステムは、SOA対応のアプリケーション用の一のビジネス・プロセス・モデルを一の有向連結非巡回グラフに変換するように構成されたモデル変換モジュールと、前記ビジネス・プロセス・モデル用の複数のサービス・グルーピングを対応する複数の有向連結非巡回グラフにさらに変換するように構成されたサービス・グループ変換モジュールと、前記ビジネス・プロセス・モデル用の前記グラフにおけるルート・ノードからリーフ・ノードに至る全てのパスを計算するように構成されたパス探索モジュールと、プログラム・コードを有するモデル検証論理とを備え、前記プログラム・コードが、前記ビジネス・プロセス・モデル用の前記グラフにおいてループ又は閉路が存在しないことを保証することにより、前記ビジネス・プロセス・モデルを検証するとともに、前記複数のサービス・グルーピング用の前記複数のグラフ間に共有頂点が存在しないことを保証することにより、前記ビジネス・プロセス・モデルをさらに検証するようにイネーブルされる。
本発明の追加の側面は、その一部が以下で記述され、他の一部は以下の記述から明らかであるか、又は本発明を実施することによって理解することができるであろう。本発明の諸側面は、請求項に明示された諸要素及び組み合わせによって実現されるであろう。前述の一般的な記述及び以下の詳細な記述は、説明のために例示されたものであるに過ぎず、請求項に係る発明の範囲を制限するものではないことに留意されたい。
本発明は、ビジネス・プロセス・モデルの複雑さに関わりなく、当該ビジネス・プロセス・モデル及びその指定されたサービス・グルーピングを検証することができるという効果を奏する。
SOAアプリケーションを検証するように構成されたデータ処理システムの概要を示す図である。 SOAアプリケーションを検証するためのプロセスを示すフローチャートである。 ビジネス・プロセス・モデル及びサービス・グルーピング用の有向連結非巡回グラフ、並びにビジネス・プロセス・モデル用の計算されたパスを通して、SOAビジネス・プロセス・モデルを検証するためのプロセスの第1段階を示すフローチャートである。 ビジネス・プロセス・モデル及びサービス・グルーピング用の有向連結非巡回グラフ、並びにビジネス・プロセス・モデル用の計算されたパスを通して、SOAビジネス・プロセス・モデルを検証するためのプロセスの第2段階を示すフローチャートである。 ビジネス・プロセス・モデル及びサービス・グルーピング用の有向連結非巡回グラフ、並びにビジネス・プロセス・モデル用の計算されたパスを通して、SOAビジネス・プロセス・モデルを検証するためのプロセスの静的パス解析段階を示すフローチャートである。
本発明は、SOAアプリケーションを検証するための方法、システム及びコンピュータ・プログラムを提供する。本発明の一の実施形態に従って、一のビジネス・プロセス・モデルは一の有向グラフに変換され、当該ビジネス・プロセス・モデル用の指定された複数のサービス・グルーピングは対応する複数の有向グラフに変換される。その後、無効サービス・グルーピングを示すループを検出するために、複数のサービス・グルーピングに対応する複数の有向グラフが、ビジネス・プロセス・モデル用の有向グラフと個別に比較される。さらに、ビジネス・プロセス・モデルの有向グラフをトラバースする全てのパスが、複数のサービス・グルーピング用の複数の有向グラフと個別に比較され、その結果、非連結頂点(disconnected vertex)を有するサービス・グルーピング及びパスが検出される。かかる非連結頂点を有するサービス・グルーピング及びパスは、無効なサービス・グルーピングを示す。このように、SOA対応のビジネス・プロセス・モデルの複雑さに関わりなく、当該ビジネス・プロセス・モデル及びその指定されたサービス・グルーピングを検証することができる。
図1は、SOAアプリケーションを検証するように構成されたデータ処理システムの概要を示す図である。このシステムのホスト・コンピューティング・プラットフォーム110は、動作環境120の実行をサポートする。動作環境120は、オペレーティング・システム又は仮想計算機であり、検証フレームワーク130の動作をホストする。検証フレームワーク130は、SOA対応のビジネス・プロセス・モデル180用の検証結果190を提供するように構成され、SOA対応のビジネス・プロセス・モデル180の諸サービス・コンポーネントから定義された諸サブプロセスを含む。
具体的には、検証フレームワーク130は、モデル変換モジュール140と、サービス・グループ変換モジュール150と、パス探索モジュール160と、モデル検証論理170とを含む。モデル変換モジュール140は、SOA対応のビジネス・プロセス・モデル180を一の有向連結非巡回グラフに変換するように構成される。同様に、サービス・グループ変換モジュール150は、SOA対応のビジネス・プロセス・モデル180内に反映される諸サービスの異なるサブグルーピングをそれぞれの有向連結非巡回グラフに変換するように構成される。パス探索モジュール160は、SOA対応のビジネス・プロセス・モデル180用の有向グラフをトラバースする全てのパスを計算するように構成される。
特に、モデル検証論理170に含まれるプログラム・コードは、ビジネス・プロセス・モデル180用の有向連結非巡回グラフ、諸サービスの複数のサービス・グルーピングに対応する複数の有向連結非巡回グラフ及び計算されたパスを処理することにより、無効サービス・グルーピングのリスト190を作成するようにイネーブルされる。すなわち、当該プログラム・コードは、ビジネス・プロセス・モデル180用のグラフが任意のループ又は閉路を含むか否かを決定するようにイネーブルされる。そうであれば、当該プログラム・コードは、無効のビジネス・プロセス・モデルを報告するようにイネーブルされる。さらに、当該プログラム・コードは、ビジネス・プロセス・モデル180用のグラフにおける所与の頂点が、複数のサービス・グルーピングに対応する複数のグラフ内に含まれるか否かを決定するようにイネーブルされる。そうであれば、当該プログラム・コードは、同じ頂点を含むサービス・グルーピングのリストを無効サービス・グルーピングのリストとして報告するようにイネーブルされる。
さらに、当該プログラム・コードは、各サービス・グルーピングに対応する各グラフを個別に処理することにより、複数の頂点を含むサービス・グルーピングであって、含まれる全ての頂点が同じパスに沿って連結されていないサービス・グルーピングを識別するようにイネーブルされる。同じパスに沿って連結されていない複数の頂点を含むサービス・グルーピングについては、当該プログラム・コードは、これらのサービス・グルーピングを無効として報告するようにイネーブルされる。最後に、当該プログラム・コードは、各パスを処理することにより、交差するサービス・グルーピングを識別して共通の頂点を指示するようにイネーブルされる。そのため、当該プログラム・コードは、交差する各サービス・グルーピングにおける非連結頂点を検出するようにイネーブルされる。一のサービス・グルーピングにおいて非連結頂点が検出される限り、当該プログラム・コードは、当該サービス・グルーピングを無効として報告するようにイネーブルされる。
図2は、SOAアプリケーションを検証するためのプロセスを示すフローチャートである。ブロック210で、一のビジネス・プロセス・モデルがロードされる。ブロック220で、ビジネス・プロセス・モデルが一の有向連結非巡回グラフに変換される。ブロック230で、ビジネス・プロセス・モデルの諸サブセットとしてのサービス・グルーピングの各セットが識別され、対応する複数の有向連結非巡回グラフにそれぞれ変換される。ブロック240で、ビジネス・プロセス・モデル用の有向連結非巡回グラフにおけるルート・ノードからリーフ・ノードに至る全てのパスが計算される。ブロック250で、ビジネス・プロセス・モデル及びサービス・グルーピング用の有向連結非巡回グラフ、並びに計算されたパスが検証され、ブロック260で、無効サービス・グルーピングのリストに加えて、無効ビジネス・プロセス・モデルの表示が報告される。
図3〜図5は、全体として、ビジネス・プロセス・モデル及びサービス・グルーピング用の有向連結非巡回グラフ、並びに当該ビジネス・プロセス・モデル用の計算されたパスを通して、当該ビジネス・プロセス・モデルを検証するためのプロセスを示す。先ず、図3を参照して説明する。ブロック300で、ビジネス・プロセス・モデル用の有向連結非巡回グラフがロードされる。ブロック305で、ビジネス・プロセス・モデルの各サービス・グルーピングに対応する各有向連結非巡回グラフがロードされる。ブロック310で、ビジネス・プロセス・モデル用のグラフをトラバースすることにより、容認できないループ及び閉路が識別される。
ブロック315で、ビジネス・プロセス・モデル用のグラフにおいてループ又は閉路が存在するか否かが決定される。そうであれば、ブロック320で、ビジネス・プロセス・モデルそれ自体が無効であることが報告される。そうでなければ、ブロック325で、ビジネス・プロセス・モデル用のグラフにおいて各頂点を含む各サービス・グルーピングが識別される。ブロック330で、当該グラフにおける一の頂点が複数の異なるサービス・グルーピング間で共有されているか否かが決定される。そうであれば、ブロック340で、当該頂点を共有するサービス・グルーピングが無効として報告される。そうでなければ、ブロック345で、ビジネス・プロセス・モデルが検証の第1段階に合格する。
検証の第2段階では、各サービス・グルーピングが有効性について解析される。図4を参照して、単一のサービス・グルーピングの解析を具体的に説明する。ブロック350で、当該サービス・グルーピング用の一の有向連結非巡回グラフがロードされ、ブロック355で、当該ビジネス・プロセス・モデル用のグラフについて計算された全てのパスがロードされる。ブロック360で、当該サービス・グルーピングが単一の頂点だけを含むか否かが決定される。そうであれば、ブロック365で、当該サービス・グルーピングは有効であると決定される(図4のプロセスは、他のサービス・グルーピングの各々について繰り返すことができる)。そうでなければ、このプロセスは、ブロック370を通して継続される。
ブロック370で、前記計算されたパスのうち単一のパスが当該サービス・グルーピングの全ての頂点を含むか否かが決定される。そうであれば、ブロック375で、全ての頂点が当該パスにおいて連結されているか否かが決定される。そうであれば、ブロック365で、当該サービス・グルーピングは有効であると決定される。そうでなければ、ブロック380で、当該サービス・グルーピングは無効であると報告される(図4のプロセスは、他のサービス・グルーピングの各々について繰り返すことができる)。もし、前記計算されたパスのうち単一のパスが当該サービス・グルーピングの全ての頂点を含んでいなければ、ブロック385で、より詳細な静的パス解析が行われる。
図5を参照して、静的パス解析を具体的に説明する。ブロック390で、当該サービス・グルーピング用の一の有向連結非巡回グラフがロードされる。ブロック395で、当該ビジネス・プロセス・モデルのグラフについて計算された全てのパスがロードされる。ブロック400で、前記全てのパスのうち最初のパスが処理のために選択される。ブロック405で、当該パス及び当該サービス・グルーピングの間の交差が決定される。すなわち、当該パスにおける当該サービス・グルーピングの共有頂点は交差である。ブロック410で、複数の頂点が当該交差に含まれるか否かが決定される。そうでなければ、ブロック420で、検討すべき追加のパスが残存しているか否かが決定される。そうであれば、このプロセスは、次のパスについてブロック400を通して継続される。
ブロック410で、複数の頂点が当該交差に含まれることが決定される場合、ブロック430で、当該交差における全ての頂点が連結されているか否かが決定される。そうでなければ、ブロック415で、当該サービス・グルーピングは無効として報告される。そうであれば、ブロック420で、検討すべき追加のパスが残存しているか否かが決定される。そうであれば、このプロセスは、次のパスについてブロック400を通して継続される。当該サービス・グルーピングについて検討すべき追加のパスが残存していなければ、当該サービス・グルーピングは、ブロック425において有効であると決定される。
本発明は、完全なハードウェア実施形態、完全なソフトウェア実施形態又はハードウェア及びソフトウェア要素の両方を含む実施形態の形式を取ることができる。好ましい実施形態では、本発明は、(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)ソフトウェアの形式で実装される。さらに、本発明は、コンピュータ又は任意の命令実行システムによって或いはそれらに関連して使用するためのプログラム・コードを提供するコンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラムの形式を取ることができる。
この点に関連して、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置又はデバイスによってあるいはそれらに関連して使用するためのプログラムを保持し、格納し、通信し、伝播し又は搬送することができる任意の装置とすることができる。かかる媒体は、電子的、磁気的、光学的、電磁的、赤外線、又は半導体システム(装置又はデバイス)或いは伝播媒体とすることができる。コンピュータ可読媒体の例は、半導体又は固体メモリ、磁気テープ、取り外し可能なフレキシブル・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、固定磁気ディスク及び光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク・リード・オンリ・メモリ(CD−ROM)、コンパクト・ディスク・リード/ライト(CD−R/W)及びDVDを含む。
プログラム・コードを格納又は実行もしくはこれらの両方を行うための適切なデータ処理システムは、システム・バスを通してメモリ要素に直接的に又は間接的に結合された少なくとも1つのプロセッサを含むであろう。かかるメモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリと、バルク・ストレージ、及び実行中にコードがバルク・ストレージから検索されなければならない回数を減らすために、プログラム・コードの一時的ストレージを提供するキャッシュ・メモリとを含む。I/Oデバイス(キーボード、ディスプレイ、ポインティング・デバイス等を含む)は、直接的に又はI/Oコントローラを介してシステムに結合することができる。また、ネットワーク・アダプタをデータ処理システムに結合すると、当該データ処理システムを、プライベート・ネットワーク又は公衆ネットワークを介して、他のデータ処理システム、リモート・プリンタ、ストレージ装置等に結合することができる。モデム、ケーブル・モデム及びイーサネット(登録商標)カードは、現時点で使用可能なタイプのネットワーク・アダプタである。
110・・・ホスト・コンピューティング・プラットフォーム
120・・・動作環境
130・・・検証フレームワーク
140・・・モデル変換モジュール
150・・・サービス・グループ変換モジュール
160・・・パス探索モジュール
170・・・モデル検証論理
180・・・ビジネス・プロセス・モデル
190・・・無効サービス・グルーピングのリスト

Claims (9)

  1. サービス指向アーキテクチャ(SOA)対応のアプリケーションを検証するための方法であって、
    SOA対応のアプリケーション用の一のビジネス・プロセス・モデルを一の有向連結非巡回グラフに変換するステップと、
    前記ビジネス・プロセス・モデル用の複数のサービス・グルーピングを対応する複数の有向連結非巡回グラフにさらに変換するステップと、
    前記ビジネス・プロセス・モデル用の前記グラフにおけるルート・ノードからリーフ・ノードに至る全てのパスを計算するステップと、
    前記ビジネス・プロセス・モデル用の前記グラフにおいてループ又は閉路が存在しないことを保証することにより、前記ビジネス・プロセス・モデルを検証するとともに、前記複数のサービス・グルーピング用の前記複数のグラフ間に共有頂点が存在しないことを保証することにより、前記ビジネス・プロセス・モデルをさらに検証するステップとを有する、方法。
  2. 前記ビジネス・プロセス・モデルを検証するステップが、
    前記計算されたパスのうち単一のパスが前記複数のサービス・グルーピングのうち単一のサービス・グルーピング用の全ての頂点を含むか否かを決定するステップと、
    前記単一のパスが前記単一のサービス・グルーピング用の全ての頂点を含み且つ前記単一のパス内に含まれる全ての頂点が連結されていない場合は、前記単一のサービス・グルーピングが無効であると決定するステップとをさらに有する、請求項1記載の方法。
  3. 前記ビジネス・プロセス・モデルを検証するステップが、
    前記複数のサービス・グルーピングのうち対応するグラフ内に単一の頂点だけを含む各サービス・グルーピングが有効であると決定するステップをさらに有する、請求項1記載の方法。
  4. 前記ビジネス・プロセス・モデルを検証するステップが、
    前記計算されたパスのうち単一のパスと前記複数のサービス・グルーピングのうち単一のサービス・グルーピングとの間の交差を計算するステップと、
    各交差が複数の頂点を含むか否かを決定するステップと、
    任意の交差が連結されていない複数の頂点を含む場合は、前記単一のサービス・グルーピングが無効であると決定するステップとをさらに有する、請求項1記載の方法。
  5. サービス指向アーキテクチャ(SOA)対応のアプリケーションを検証するためのデータ処理システムであって、
    SOA対応のアプリケーション用の一のビジネス・プロセス・モデルを一の有向連結非巡回グラフに変換するように構成されたモデル変換モジュールと、
    前記ビジネス・プロセス・モデル用の複数のサービス・グルーピングを対応する複数の有向連結非巡回グラフにさらに変換するように構成されたサービス・グループ変換モジュールと、
    前記ビジネス・プロセス・モデル用の前記グラフにおけるルート・ノードからリーフ・ノードに至る全てのパスを計算するように構成されたパス探索モジュールと、
    プログラム・コードを有するモデル検証論理とを備え、
    前記プログラム・コードが、前記ビジネス・プロセス・モデル用の前記グラフにおいてループ又は閉路が存在しないことを保証することにより、前記ビジネス・プロセス・モデルを検証するとともに、前記複数のサービス・グルーピング用の前記複数のグラフ間に共有頂点が存在しないことを保証することにより、前記ビジネス・プロセス・モデルをさらに検証するようにイネーブルされる、データ処理システム。
  6. 前記プログラム・コードが、
    前記計算されたパスのうち単一のパスが前記複数のサービス・グルーピングのうち単一のサービス・グルーピング用の全ての頂点を含むか否かを決定し、前記単一のパスが前記単一のサービス・グルーピング用の全ての頂点を含み且つ前記単一のパス内に含まれる全ての頂点が連結されていない場合は、前記単一のサービス・グルーピングが無効であると決定するようにさらにイネーブルされる、請求項5記載のシステム。
  7. 前記プログラム・コードが、
    前記複数のサービス・グルーピングのうち対応するグラフ内に単一の頂点だけを含む各サービス・グルーピングが有効であると決定するようにさらにイネーブルされる、請求項5記載のシステム。
  8. 前記プログラム・コードが、
    前記計算されたパスのうち単一のパスと前記複数のサービス・グルーピングのうち単一のサービス・グルーピングとの間の交差を計算し、各交差が複数の頂点を含むか否かを決定し、任意の交差が連結されていない複数の頂点を含む場合は、前記単一のサービス・グルーピングが無効であると決定するようにさらにイネーブルされる、請求項5記載のシステム。
  9. 請求項1ないし請求項4の何れか1項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。
JP2010540993A 2008-01-08 2008-10-10 サービス指向アーキテクチャ(soa)対応のアプリケーションを検証するための方法、データ処理システム及びコンピュータ・プログラム Active JP5209062B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/971,036 2008-01-08
US11/971,036 US8321841B2 (en) 2008-01-08 2008-01-08 Validation framework for service oriented architecture (SOA) application adoption
PCT/CA2008/001789 WO2009086616A1 (en) 2008-01-08 2008-10-10 Validation framework for service oriented architecture (soa) application adoption

Publications (2)

Publication Number Publication Date
JP2011509458A true JP2011509458A (ja) 2011-03-24
JP5209062B2 JP5209062B2 (ja) 2013-06-12

Family

ID=40845307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010540993A Active JP5209062B2 (ja) 2008-01-08 2008-10-10 サービス指向アーキテクチャ(soa)対応のアプリケーションを検証するための方法、データ処理システム及びコンピュータ・プログラム

Country Status (6)

Country Link
US (1) US8321841B2 (ja)
EP (1) EP2255327A4 (ja)
JP (1) JP5209062B2 (ja)
KR (1) KR20100098441A (ja)
CN (1) CN101911104A (ja)
WO (1) WO2009086616A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017045098A (ja) * 2015-08-24 2017-03-02 日本電気株式会社 サービス連携管理システム、装置、方法及びプログラム
JP2018205905A (ja) * 2017-05-31 2018-12-27 株式会社日本総合研究所 出力プログラム及びビジネスモデルデータ

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8462161B1 (en) * 2009-01-20 2013-06-11 Kount Inc. System and method for fast component enumeration in graphs with implicit edges
KR101363561B1 (ko) 2009-11-18 2014-02-14 한국전자통신연구원 웹을 통한 응용서비스 생명주기 관리를 위한 soa 기반 서비스 플랫폼 시스템
US8949773B2 (en) * 2010-03-25 2015-02-03 International Business Machines Corporation Deriving process models from natural language use case models
US8676818B2 (en) * 2010-05-03 2014-03-18 International Business Machines Corporation Dynamic storage and retrieval of process graphs representative of business processes and extraction of formal process models therefrom
US8839197B2 (en) * 2010-10-11 2014-09-16 International Business Machines Corporation Automated analysis of composite applications
CN101986624B (zh) * 2010-11-17 2013-07-31 云南云电同方科技有限公司 一种核心处理基于服务流机制的服务架构集成系统
CN102034152B (zh) * 2010-12-13 2016-06-15 东莞市高鑫机电科技服务有限公司 基于soa架构的异构软件系统数据的集成整合方法与系统
CN102331926B (zh) * 2011-05-31 2013-11-13 北京航空航天大学 基于控制流模式的过程模型转换与结构验证方法
CN103543992A (zh) * 2012-07-11 2014-01-29 神州数码信息系统有限公司 一种面向服务的软件构建方法
US10380533B2 (en) 2013-12-11 2019-08-13 International Business Machines Corporation Business process modeling using a question and answer system
JP6758599B2 (ja) * 2016-06-23 2020-09-23 富士ゼロックス株式会社 端末装置
US10635789B1 (en) * 2017-06-21 2020-04-28 Amazon Technologies, Inc. Request authorization using recipe-based service coordination

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619694A (ja) * 1992-06-05 1994-01-28 Nec Corp ネットワーク領域指定編集装置
JPH06149555A (ja) * 1992-11-16 1994-05-27 Nippon Telegr & Teleph Corp <Ntt> データフロー図作成方法
JP2000285084A (ja) * 1999-02-04 2000-10-13 Sun Microsyst Inc 制御フロープログラムの実行方法、データフロープログラムの開発方法、データプロセッシングシステム、プログラム実行方法、プログラム実行装置、データプロセッシングシステムの制御命令を記憶したコンピュータ読取可能な記録媒体、コンピュータ実装可能なプログラムの開発方法、コンピュータ実装可能なプログラムの変換方法
JP2005173645A (ja) * 2003-12-05 2005-06-30 Ibm Japan Ltd プログラム開発支援装置、プログラム開発支援方法、プログラム、及び、記録媒体
JP2005259030A (ja) * 2004-03-15 2005-09-22 Sharp Corp 性能評価装置、性能評価方法、プログラムおよびコンピュータ読取可能記録媒体

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69031758T2 (de) * 1990-04-13 1998-05-28 Koninkl Philips Electronics Nv Verfahren zur Organisation von und zum Zugriff auf Produkt beschreibenden Daten in Zusammenhang mit einem technischen Prozess
US5634113A (en) * 1994-12-13 1997-05-27 Unisys Corporation Method for generating a preferred processing order and for detecting cycles in a directed graph used to represent system component connectivity
DE69719269T2 (de) * 1996-08-01 2003-10-30 Ibm Absicherung der Unteilbarkeit für eine Ansammlung von transaktionellen Arbeitsschritten in einem Arbeitsflussverwaltungssystem
US6038538A (en) * 1997-09-15 2000-03-14 International Business Machines Corporation Generating process models from workflow logs
SG77163A1 (en) * 1998-03-06 2000-12-19 John Francis Chong A method of implementing an acyclic directed graph structure using a relational database
US6105018A (en) * 1998-03-26 2000-08-15 Oracle Corporation Minimum leaf spanning tree
DE10003015A1 (de) * 1999-02-06 2000-08-17 Ibm Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen
IE20010964A1 (en) * 2000-11-03 2002-05-29 Wilde Technologies Ltd A software development process
JP2002334194A (ja) * 2001-02-09 2002-11-22 Internatl Business Mach Corp <Ibm> ワークフロー管理システムにおいて選択的コマンド制御を提供する方法、システム、プログラム
US7577554B2 (en) * 2001-07-03 2009-08-18 I2 Technologies Us, Inc. Workflow modeling using an acyclic directed graph data structure
US20080163096A1 (en) * 2003-11-10 2008-07-03 Pannese Patrick D Methods and systems for controlling a semiconductor fabrication process
JP2007511983A (ja) * 2003-11-19 2007-05-10 コアストリート、 リミテッド 分散委任されたパス発見及び検証
US7421696B2 (en) * 2003-12-22 2008-09-02 Jp Morgan Chase Bank Methods and systems for managing successful completion of a network of processes
US20050256818A1 (en) * 2004-04-30 2005-11-17 Xerox Corporation Workflow auto generation from user constraints and hierarchical dependence graphs for workflows
US20060106626A1 (en) * 2004-11-16 2006-05-18 Jun-Jang Jeng Method and apparatus of model driven business solution monitoring and control
US7424696B2 (en) * 2004-12-03 2008-09-09 Lsi Corporation Power mesh for multiple frequency operation of semiconductor products
US7496887B2 (en) * 2005-03-01 2009-02-24 International Business Machines Corporation Integration of data management operations into a workflow system
US7493602B2 (en) * 2005-05-02 2009-02-17 International Business Machines Corporation Methods and arrangements for unified program analysis
US7849448B2 (en) * 2005-06-01 2010-12-07 Crosscheck Networks Technique for determining web services vulnerabilities and compliance
US20070021995A1 (en) * 2005-07-20 2007-01-25 Candemir Toklu Discovering patterns of executions in business processes
US20070022410A1 (en) * 2005-07-22 2007-01-25 Ban Linda B Method and system for using a component business model to transform warranty claims processing in the automotive industry
US20070022404A1 (en) * 2005-07-25 2007-01-25 Liang-Jie Zhang Method and apparatus for enabling enterprise project management with service oriented resource and using a process profiling framework
US7437277B2 (en) * 2005-08-11 2008-10-14 International Business Machines Corporation Model independent simulation
US20070136326A1 (en) * 2005-12-14 2007-06-14 Business Objects Apparatus and method for defining relationships between component objects in a business intelligence system
US8060863B2 (en) * 2006-05-19 2011-11-15 Sap Ag Conformance control module
US20080005743A1 (en) * 2006-06-30 2008-01-03 Frank Michael Kraft Using Status Models with Status Transitions in a Computer System
US7844959B2 (en) * 2006-09-29 2010-11-30 Microsoft Corporation Runtime optimization of distributed execution graph
US8015039B2 (en) * 2006-12-14 2011-09-06 Sap Ag Enterprise verification and certification framework
US7673261B2 (en) * 2007-02-07 2010-03-02 International Business Machines Corporation Systematic compliance checking of a process
US7932907B2 (en) * 2007-05-21 2011-04-26 Microsoft Corp. Layered graph layouts with a given aspect ratio
US20090019427A1 (en) * 2007-07-13 2009-01-15 International Business Machines Corporation Method and Apparatus for Providing Requirement Driven Static Analysis of Test Coverage for Web-Based, Distributed Processes
US8024163B2 (en) * 2007-07-23 2011-09-20 International Business Machines Corporation Method and apparatus for executing multiple simulations on a supercomputer
EP2026532B1 (en) * 2007-08-13 2010-07-21 Accenture Global Services GmbH Service request execution architecture for a communications service provider
US8660905B2 (en) * 2007-10-31 2014-02-25 Sap Ag Method and system for validating process models
US8340999B2 (en) * 2007-11-27 2012-12-25 International Business Machines Corporation Automatic generation of executable components from business process models
US8677174B2 (en) * 2007-12-28 2014-03-18 International Business Machines Corporation Management of runtime events in a computer environment using a containment region
US8365185B2 (en) * 2007-12-28 2013-01-29 International Business Machines Corporation Preventing execution of processes responsive to changes in the environment
US20090172674A1 (en) * 2007-12-28 2009-07-02 International Business Machines Corporation Managing the computer collection of information in an information technology environment
US20090171731A1 (en) * 2007-12-28 2009-07-02 International Business Machines Corporation Use of graphs in managing computing environments

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619694A (ja) * 1992-06-05 1994-01-28 Nec Corp ネットワーク領域指定編集装置
JPH06149555A (ja) * 1992-11-16 1994-05-27 Nippon Telegr & Teleph Corp <Ntt> データフロー図作成方法
JP2000285084A (ja) * 1999-02-04 2000-10-13 Sun Microsyst Inc 制御フロープログラムの実行方法、データフロープログラムの開発方法、データプロセッシングシステム、プログラム実行方法、プログラム実行装置、データプロセッシングシステムの制御命令を記憶したコンピュータ読取可能な記録媒体、コンピュータ実装可能なプログラムの開発方法、コンピュータ実装可能なプログラムの変換方法
JP2005173645A (ja) * 2003-12-05 2005-06-30 Ibm Japan Ltd プログラム開発支援装置、プログラム開発支援方法、プログラム、及び、記録媒体
JP2005259030A (ja) * 2004-03-15 2005-09-22 Sharp Corp 性能評価装置、性能評価方法、プログラムおよびコンピュータ読取可能記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017045098A (ja) * 2015-08-24 2017-03-02 日本電気株式会社 サービス連携管理システム、装置、方法及びプログラム
JP2018205905A (ja) * 2017-05-31 2018-12-27 株式会社日本総合研究所 出力プログラム及びビジネスモデルデータ

Also Published As

Publication number Publication date
US8321841B2 (en) 2012-11-27
JP5209062B2 (ja) 2013-06-12
WO2009086616A1 (en) 2009-07-16
EP2255327A4 (en) 2011-03-02
EP2255327A1 (en) 2010-12-01
KR20100098441A (ko) 2010-09-06
US20090177508A1 (en) 2009-07-09
CN101911104A (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
JP5209062B2 (ja) サービス指向アーキテクチャ(soa)対応のアプリケーションを検証するための方法、データ処理システム及びコンピュータ・プログラム
US10797958B2 (en) Enabling real-time operational environment conformity within an enterprise architecture model dashboard
Goedertier et al. Designing compliant business processes with obligations and permissions
CN110245110A (zh) 数据处理方法、装置及存储介质
US20080294408A1 (en) Method and system for developing a conceptual model to facilitate generating a business-aligned information technology solution
US20060111926A1 (en) Realizing legally binding business contracts through service management models
US20080270153A1 (en) Service oriented architecture (soa) lifecycle model migration
WO2010009097A2 (en) Architecture for service oriented architecture (soa) software factories
Gomathy et al. A Software Design Pattern for Bank Service Oriented Architecture
CN114879939A (zh) 生成微服务的方法、系统、电子设备及存储介质
Lee et al. Enterprise architecture content model applied to complexity management while delivering IT services
CN111258567B (zh) 服务代码开发处理方法及装置
Meyer et al. Weak conformance between process models and synchronized object life cycles
JP2020505710A (ja) ソフトウェアプログラムを検証するための方法およびシステム
CN110134585A (zh) 系统测试计划生成方法及终端设备
Mikhail et al. A model of continuous integration and deployment of engineering software
CN105224301B (zh) 一种应用实例组装的方法和系统
US9996806B2 (en) Modeling an enterprise
Sun et al. Computing degree of parallelism for BPMN processes
US20090063217A1 (en) Multi-staged and multi-viewpoint choreography modeling
US20100250294A1 (en) Technical feasibility exploration for service-oriented architecture environments
Liu FSM Modeling of Off-Blockchain Computation
Stearns et al. Managing interaction concerns in web-service systems
US20090138249A1 (en) Defining operational elements in a business process model
Xi et al. A scenario-based modeling method for crossover services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5209062

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150