JP5244194B2 - ビジネス・プロセスを再使用可能サービスに変換するためのシステム、方法、およびコンピュータ・プログラム - Google Patents

ビジネス・プロセスを再使用可能サービスに変換するためのシステム、方法、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP5244194B2
JP5244194B2 JP2010534326A JP2010534326A JP5244194B2 JP 5244194 B2 JP5244194 B2 JP 5244194B2 JP 2010534326 A JP2010534326 A JP 2010534326A JP 2010534326 A JP2010534326 A JP 2010534326A JP 5244194 B2 JP5244194 B2 JP 5244194B2
Authority
JP
Japan
Prior art keywords
service
computer
business process
establishing
soa
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.)
Active
Application number
JP2010534326A
Other languages
English (en)
Other versions
JP2011504627A (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 JP2011504627A publication Critical patent/JP2011504627A/ja
Application granted granted Critical
Publication of JP5244194B2 publication Critical patent/JP5244194B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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
    • 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
    • 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/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ビジネス・エンティティをサービス指向アーキテクチャに移動させる分野に関し、更に具体的には、ビジネス・プロセスに基づいて再使用可能サービスを組み込んだシステムを確立する方法のためのシステムに関する。
ビジネス・エンティティをサービス指向アーキテクチャに移動させることには、いくつかのステップが伴う。1つのステップは、ビジネス・プロセスをモデリングすることであり、これは、ビジネス・プロセスを1組のプロセス要素に分解することを含む。別のステップは、作成されるビジネス・プロセス・モデルに基づいてサービス指向コンポーネントを組み込んだシステムを確立することである。
サービス指向コンポーネントを組み込んだシステムの確立は、主として手作業によるプロセスであり、特にこのプロセスが多数の人々の間で分割される場合には、一貫性のない実行が行われる可能性が高くなる。
このプロセスの効率を向上させることは有利であろう。
1つの態様において、本発明は、ビジネス・プロセスに基づいてサービス指向コンポーネントを組み込んだSOAベースのビジネス・システムを確立するための方法を対象とする。この方法は、
ビジネス・プロセスに関連するビジネス・プロセス・モデルを用意するステップと、
ビジネス・プロセス・モデルから、第1のサービスとして公開するために、少なくとも1つの要素の第1の組を選択するステップと、
ビジネス・プロセス・モデルから、第2のサービスとして公開するために、少なくとも1つの要素の第2の組を選択するステップと、
自動化手段を用いて、第1および第2のサービスを実行するための少なくともスケルトン・コードを発生させるステップと、
自動化手段を用いて、第1および第2のサービス間にインタフェースを確立するためのコードを発生させるステップと、
を含む。
別の態様において、本発明は、ビジネス・プロセス・モデルに基づいて、ならびに、第1および第2のサービスとして公開するためにそれぞれ選択した第1の組のビジネス・プロセス・モデル要素および第2の組のビジネス・プロセス・モデル要素に基づいて、サービス指向コンポーネントを組み込んだSOAベースのビジネス・システムを確立するためのデータ処理システムを対象とする。このシステムは、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサに結合されたバスと、
バスに結合された少なくとも1つのコンピュータ使用可能媒体であって、少なくとも1つのコンピュータ使用可能媒体が1組の命令を含み、少なくとも1つのプロセッサが、データ処理システムに、
第1および第2のサービスを実行するための少なくともスケルトン・コードの発生と、
第1および第2のサービス間にインタフェースを確立するためのコードの発生と、
を実行させることによって、1組の命令を実行するように適合されている、少なくとも1つのコンピュータ使用可能媒体と、
を含む。
別の態様において、本発明は、ビジネス・プロセス・モデルに基づいて、ならびに、第1および第2のサービスとして公開するためにそれぞれ選択した第1の組のビジネス・プロセス・モデル要素および第2の組のビジネス・プロセス・モデル要素に基づいて、サービス指向コンポーネントを組み込んだSOAベースのビジネス・システムを確立するためのコンピュータ使用可能プログラム・コードを含む少なくとも1つのコンピュータ使用可能媒体を含むコンピュータ・プログラムを対象とする。このコンピュータ・プログラムは、
第1および第2のサービスを実行するための少なくともスケルトン・コードを発生させるためのコンピュータ使用可能プログラム・コードと、
第1および第2のサービス間にインタフェースを確立するためのコードを発生させるためのコンピュータ使用可能プログラム・コードと、
を更に含む。
別の態様において、本発明は、ビジネス・プロセスに基づいて、サービス指向コンポーネントを組み込んだSOAベースのビジネス・システムを確立するための方法を対象とする。この方法は、
ビジネス・プロセスに関連するビジネス・プロセス・モデルを用意するステップと、
ビジネス・プロセス・モデルを表示するように構成されると共に、ビジネス・プロセス・モデルからの要素をグループ化するためのグラフィックによる制御をユーザに与えるように構成されたグラフィカル・ユーザ・インタフェースを用意するステップと、
グラフィカル・ユーザ・インタフェースを用いて、サービスとして公開するために、ビジネス・プロセス・モデルからの要素をグループ化するステップと、
自動化手段を用いて、サービスを実行するための少なくともスケルトン・コードを発生させるステップと、
を含む。
別の態様において、本発明は、ビジネス・プロセスに基づいて、サービス指向コンポーネントを組み込んだSOAベースのビジネス・システムを確立するためのデータ処理システムを対象とする。このデータ処理システムは、
少なくとも1つのプロセッサと、
少なくとも1つのプロセッサに結合されたバスと、
バスに結合された少なくとも1つのコンピュータ使用可能媒体であって、少なくとも1つのコンピュータ使用可能媒体が1組の命令を含み、少なくとも1つのプロセッサが、データ処理システムに、
ビジネス・プロセスに関連するビジネス・プロセス・モデルの用意と、
ビジネス・プロセス・モデルを表示するように構成されると共に、ビジネス・プロセス・モデルからの要素をグループ化するためのグラフィックによる制御をユーザに与えるように構成されたグラフィカル・ユーザ・インタフェースの用意と、
グラフィカル・ユーザ・インタフェースを用いた、サービスとして公開するための、ビジネス・プロセス・モデルからの要素をグループ化することに関連するユーザからの入力の受信と、
サービスを実行するための少なくともスケルトン・コードの発生と、
を実行させることによって、1組の命令を実行するように適合されている、少なくとも1つのコンピュータ使用可能媒体と、
を含む。
別の態様において、本発明は、ビジネス・プロセスに基づいて、サービス指向コンポーネントを組み込んだSOAベースのビジネス・システムを確立するためのコンピュータ使用可能プログラム・コードを含む少なくとも1つのコンピュータ使用可能媒体を含むコンピュータ・プログラムを対象とする。このコンピュータ・プログラムは、
ビジネス・プロセスに関連するビジネス・プロセス・モデルを用意するためのコンピュータ使用可能プログラム・コードと、
ビジネス・プロセス・モデルを表示するように構成されると共に、ビジネス・プロセス・モデルからの要素をグループ化するためのグラフィックによる制御をユーザに与えるように構成されたグラフィカル・ユーザ・インタフェースを用意するためのコンピュータ使用可能プログラム・コードと、
グラフィカル・ユーザ・インタフェースを用いて、サービスとして公開するために、ビジネス・プロセス・モデルからの要素をグループ化することに関連するユーザからの入力を受信するためのコンピュータ使用可能プログラム・コードと、
サービスを実行するための少なくともスケルトン・コードを発生させるためのコンピュータ使用可能プログラム・コードと、
を含む。
本発明をよりいっそう理解するために、更に、本発明をどのように実施可能であるかをいっそう明らかに示すために、一例として、添付図面を参照する。
本発明の態様を実施可能であるデータ処理システムの図による表現である。 本発明の態様を実施可能であるデータ処理システムのブロック図である。 本発明の第1の態様に従った、ビジネス・プロセス・モデルに基づいてサービス指向アーキテクチャ・ベースのビジネス・システムを作成するためのプログラム・モジュールおよび方法ステップを示す図である。 ビジネス・プロセスのビジネス・プロセス・モデルである。 本発明の別の態様に従って、サービス・モデリング・システムを用いて、図4に示したビジネス・プロセス・モデルからサービス・モデルを作成することを示す図である。 図4に示したビジネス・プロセス・モデルに関連するサービス指向アーキテクチャ・ベースのビジネス・システムの図である。 別のビジネス・プロセスのビジネス・プロセス・モデルである。 図7に示したビジネス・プロセス・モデルのアセンブリ・ビューである。 図8に示したサービス・モジュールに関連するJava(登録商標)クラスのためのスケルトン・コードを示す。 図8に示したサービス・モジュールに関連する状態機械のためのスケルトン・コードを示す。 図8に示したビジネス・プロセス・モデルのためのプログラム・フローの図である。 図3に示したSOAコード作成システムの動作の図である。 図12に動作を示したSOAコード作成システムによって適用される変換ルールのためのソースおよびターゲットの例である。 図13に識別した例示的なルールの階層ビューを示す。
図1は、本発明の態様を実施可能であるデータ処理システムの図による表現である。図示されているコンピュータ100は、システム・ユニット102、ビデオ・ディスプレイ端末104、キーボード106、フレキシブル・ディスクおよび他のタイプの永久および着脱可能記憶媒体を含むことができる記憶デバイス108、ならびにマウス110を含む。例えば、ジョイスティック、タッチパッド、タッチ・スクリーン、トラックボール、マイクロフォン等の追加の入力デバイスを、パーソナル・コンピュータ100に含ませることも可能である。
コンピュータ100は、ニューヨーク州アーモンクに位置するインターナショナル・ビジネス・マシーンズ社の製品であるIBM(R) eServer(商標)コンピュータ、またはIntelliStation(R)コンピュータ等、いずれかの適切なコンピュータを用いて実施すれば良い。図示した表現ではパーソナル・コンピュータを示すが、本発明の例示的な態様は、ラップトップ・コンピュータ、パームトップ・コンピュータ、ハンドヘルド・コンピュータ、ネットワーク・コンピュータ、サーバ、ワークステーション、携帯電話および同様の無線デバイス、パーソナル・デジタル・アシスタント、および他のソフトウェア・プログラムをインストールすることができる電子デバイス等、他のタイプのデータ処理システムにおいて実施することも可能である。また、コンピュータ100は、好ましくは、コンピュータ100内で動作するコンピュータ読み取り可能媒体に存在するシステム・ソフトウェアによって実施することができるグラフィカル・ユーザ・インタフェース(GUI)を含む。
ここで図2を参照すると、本発明の態様を実施可能なデータ処理システムのブロック図が示されている。データ処理システム200は、図1のパーソナル・コンピュータ100等のコンピュータの一例であり、ここに、例示的な態様のプロセスを実施するコードまたは命令を配置することができる。図示した例において、データ処理システム200は、ノース・ブリッジおよびメモリ・コントローラ・ハブ(MCH)202ならびにサウス・ブリッジおよび入出力(I/O)コントローラ・ハブ(ICH)204を含むハブ・アーキテクチャを採用する。プロセッサ206、メイン・メモリ208、およびグラフィック・プロセッサ210は、ノース・ブリッジおよびメモリ・コントローラ・ハブ202に接続されている。グラフィック・プロセッサ210は、例えばアクセレレーテッド・グラフィックス・ポート(AGP)を介してMCH202に接続することも可能である。
図示した例において、ローカル・エリア・ネットワーク(LAN)・アダプタ212は、サウス・ブリッジおよびI/Oコントローラ・ハブ204ならびにオーディオ・アダプタ216、キーボードおよびマウス・アダプタ220、モデム222、読み出し専用メモリ(ROM)224、ユニバーサル・シリアル・バス(USB)・ポートおよび他の通信ポート232に接続する。PCI/PCIeデバイス234は、バス238を介してサウス・ブリッジおよびI/Oコントローラ・ハブ204に接続する。ハード・ディスク・ドライブ(HDD)226およびCD−ROMドライブ230は、バス240を介してサウス・ブリッジおよびI/Oコントローラ・ハブ204に接続する。PCI/PCIeデバイスは、例えば、ノートブック・コンピュータのためのイーサネット(登録商標)・アダプタ、アドイン・カード、およびPCカードを含むことができる。PCIはカード・バス・コントローラを用いるが、PCIeはこれを用いない。ROM224は、例えば、フラッシュ・バイナリ入出力システム(BIOS)とすれば良い。ハード・ディスク・ドライブ226およびCD−ROMドライブ230は、例えば、IDE(integrated drive electronics)またはSATA(serial advanced technology attachment)インタフェースを用いることができる。サウス・ブリッジおよびI/Oコントローラ・ハブ204に、スーパーI/O(SIO)デバイス236を接続することも可能である。
バス・システムは、システム・バス、I/Oバス、およびPCIバス等の1つ以上のバスから構成することができる。むろん、バス・システムは、通信構造またはアーキテクチャに接続された異なるコンポーネントまたはデバイス間のデータ転送を行ういかなるタイプの通信構造またはアーキテクチャを用いて実装することも可能である。通信ユニットは、モデムまたはネットワーク・アダプタ等、データの送受信を行うために用いられる1つ以上のデバイスを含むことができる。
プロセッサ206上で、オペレーティング・システムが動作し、図2のデータ処理システム200内の様々なコンポーネントの制御を調整し実行する。オペレーティング・システムは、Microsoft(登録商標) Windows(登録商標) XP(MicrosoftおよびWindowsは、米国、他の国々、またはそれら双方におけるマイクロソフト社の商標である)等の市販されているオペレーティング・システムとすれば良い。オペレーティング・システムと共に、Java(登録商標)プログラミング・システム等のオブジェクト指向プログラミング・システムが動作することができ、データ処理システム200上で実行しているJava(登録商標)プログラムまたはアプリケーションからオペレーティング・システムに対するコールを行う。(Javaおよび全てのJavaベースの商標は、米国、他の国々、またはそれら双方におけるサン・マイクロシステムズ社の商標である。)
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムのための命令は、ハード・ディスク・ドライブ226等の記憶デバイス上に配置されており、プロセッサ206によって実行するためにメイン・メモリ208にロードすることができる。本発明の態様は、例えばメイン・メモリ208、読み出し専用メモリ224等のメモリ、または1つ以上の周辺デバイスに配置することができるコンピュータ実施命令を用いて、プロセッサ206によって実行すれば良い。
図1から図2のハードウェアは実施に応じて変動する場合があることは、当業者には認められよう。図1から図2に示したハードウェアに加えて、またはこのハードウェアの代わりに、フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブ等の他の内部ハードウェアまたは周辺デバイスを用いることができる。また、本発明のプロセスは、マルチプロセッサ・データ処理システムに適用することも可能である。
いくつかの例示的な例では、データ処理システム200はパーソナル・デジタル・アシスタント(PDA)であり、フラッシュ・メモリと共に構成して、オペレーティング・システム・ファイルまたはユーザが発生したデータあるいはその両方を記憶するための不揮発性メモリを提供することも可能である。メモリは、例えばメイン・メモリ208、または、ノース・ブリッジおよびメモリ・コントローラ・ハブ202において見出されるもののようなキャッシュとすれば良い。処理ユニットは、1つ以上のプロセッサを含むことができる。図1から図2に示した例および上述した例は、アーキテクチャ上の制限を示すことを意図していない。例えば、データ処理システム200は、PDAの形態を取ることに加えて、タブレット・コンピュータ、ラップトップ・コンピュータ、または電話デバイスとすることも可能である。
ここで図3を参照すると、ビジネス・プロセスに基づいてサービス指向アーキテクチャを組み込んだサービス指向アーキテクチャ・ベース・ビジネス・システム302(図6)を確立するための方法300を表すフロー図が示されている。「サービス指向アーキテクチャ」という言葉は、本開示において、SOAと称する場合もある。
方法300は、ステップ304において、ビジネス・プロセス・モデルを提供することを含む。図4において、ステップ306に、例示的なビジネス・プロセス・モデルを示す。ビジネス・プロセス・モデル306は、インターナショナル・ビジネス・マシーンズ社のWebSphere Business Modeler(商標)等のいずれかの適切な手段を用いて、または何らかの他の適切なビジネス・プロセス・モデリング・パッケージによって、作成することができる。ビジネス・プロセス・モデル306は、第1のユーザ308(図3)によって作成することができる。第1のユーザ308は、例えば、ビジネス・プロセスを専門とするビジネス分析家とすることができ、ソフトウェアを専門とするソフトウェア・アーキテクト(310に示す)とは異なる。
ビジネス・プロセス・モデル306(図4)は、アトミック(atomic)ビジネス・プロセス・ステップ312から成る。ステップ312は、これ以上小さいステップの組に縮小することができないか、またはユーザの目的のためにこれ以上小さいステップに縮小する必要がないビジネス・プロセスにおけるステップを現す。
サービス・モデリング・システム313において、ユーザ・インタフェース・ウィザードを用いて、ユーザ308(図3)は、アトミック・ビジネス・プロセス・ステップ312の1つ以上のプロセス・ステップ・グループ化314(図5)を規定する。ユーザ規定のプロセス・ステップ・グループ化314は、ユーザ308がSOAベースのビジネス・システム302においてサービスとして公開することを望む共通のアクティビティへと導かれるプロセス・ステップ312のグループ化を表す。
図7に、かかるグループ化の一例を示す。図7は、購入注文処理プロセスのための例示的なビジネス・プロセス・モデル316を示す。ビジネス・プロセス・モデル316において、ユーザ規定のグループ化は全体として318に示され、これは、318aに示すカスタマおよび注文確認グループ化、318bに示す販売ヘッダ・データ・エントリ・グループ化、318cに示す販売アイテム・データ・エントリ・グループ化、および318dに示す購入注文チェックアウト・グループ化を含む。
図5を参照すると、ユーザ308は、サービス・モデル323の作成の一部として、グループ化314を、サービス・モデリング・システム313のサービス・モデル・レイアウト領域320に移動させて、322に示すサービス・モジュールとする。サービス・モジュール322は、比較的複雑なサービスを提供する。サービス・モデル・レイアウト領域320において、サービス・モジュール322は、更にユーザ308(図3)によって規定される。例えば、ユーザ308(図3)は、どのようにサービス・モジュール322を実装するかを特定することができる。例えば、サービス・モジュール322は、Java(登録商標)において実装すれば良い。各サービス・モジュール322に、プルダウン・メニュー324または何らかの他の適切な手段を提供して、サービス・モジュール322について325に示す実装タイプをユーザが選択することを可能とする。サービス・モジュール322は、単にモジュール322と称する場合もある。
グループ化314を構成するアトミック・ビジネス・プロセス・ステップ312のいくつかは、それら自体、サービス・コンポーネント326(これらはコンポーネント326と称する場合もある)として、サービス・モデル・レイアウト領域320内に移動させることも可能である。これらのコンポーネント326は、単純な(すなわち比較的低レベルの)サービスを提供する。
コンポーネント326およびモジュール322は、SCA(サービス・コンポーネント・アーキテクチャ)のオープン・スタンダード(open standard)に準拠する抽象化のレベルで規定することができる。
モジュール322と同様に、これらのコンポーネント326の各々には、328に示す実装タイプが関連付けられている。任意に、コンポーネント326の各々が、コンポーネント326が属するモジュール322についての実装タイプ325と同一の実装タイプ328を自動的に有することが可能である。あるいは、コンポーネント326の各々について、実装タイプ328はユーザによって選択可能とすることもできる。
図5に示すように、ユーザ308(図3)が、アトミック・ビジネス・プロセス・ステップ312を、モジュール322の一部ではないコンポーネント326として、サービス・モデル・レイアウト領域320に移動させることができる。かかるコンポーネント326の各々には、ユーザ選択可能な実装タイプ328が関連付けられていることは認められよう。
アトミック・ビジネス・プロセス・ステップ312およびサービス・コンポーネント326またはサービス・モジュール322として公開されるアトミック・ビジネス・プロセス・ステップ312のグループ化314の選択に加えて、ユーザ308(図3)は、実行する必要があるいずれかの決定を含む、選択されたサービス要素(すなわちコンポーネント326およびモジュール322)間で行われるプログラム・フローを選択することができる。例えば、図5に示されたサービス・モデル323において、332に示すモジュールからのプログラム・フローは、決定ボックス334に至る。決定ボックス334の結果に基づいて、プログラム・フローは、336に示すモジュールまたは338に示すコンポーネントのいずれかに至る。
グループ化314の選択、モジュール322およびコンポーネント322の規定、ならびにプログラム・フローの選択を含む、サービス・モデル323を完成させるプロセスは、図3に示すステップ339に包含される。
いったんユーザ308がサービス・モデル323を完了すると、サービス・モデル323は、図3におけるSOA変換システム340に対する入力として機能する。SOAコード作成システム340は、サービス・モデル323を受信し、このサービス・モデル323をSOAベースのビジネス・システム302のためのコードに変換する。SOAコード作成システム340は2つの要素を含む。すなわち、アーチファクト・マッパ(artifact mapper)342およびサービス・アセンブラ344である。アーチファクト・マッパ342の機能は、ステップ345において実行される。アーチファクト・マッパ342は、サービス・モデル323のアセンブリ・ビューを提供する。その例を図8の346に示す。具体的には、図8に示すアセンブリ・ビュー346は、図7に示すビジネス・プロセス・モデル316に関連する。
アセンブリ・ビュー346においては、サービス・モデル323を構成するモジュール322およびコンポーネント326が示され、ユーザ308は、コンポーネント326およびモジュール322について選択された実装タイプ等、これらに関連したいかなる特性に関する情報も取得することができる。このビュー346において、コンポーネント326とモジュール322との間のフローは示されない。任意に、ユーザ308は、アセンブリ・ビュー346を見る場合に、いずれかのモジュール322上でダブル・クリックし、そのモジュール322を構成するコンポーネント326を見ることができる。
図3を参照すると、アーチファクト・マッパ342は、ユーザ308(図3)によってサービスとして公開されたコンポーネント326(図5)およびモジュール322の各々について、ユーザ308が選択した実装タイプによって特定されたフォーマットで、スケルトン・コードを用意する。例えば、図8に示すように、カスタマに対するリスクおよび信用分析を実行することに関して、348に示すモジュールに関連した実装タイプは、Java(登録商標)による実装である。アーチファクト・マッパ342は、図9の350に示すように、Java(登録商標)クラスのためのスケルトン・コードを用意することができる。別の例として、図8の352に示すコンポーネントでは、アーチファクト・マッパ342は、ユーザに従って、図10の354に示すように、状態機械のためのスケルトン・コードを用意することができる。
いっそう明らかにするために、サービス・モデル323において、いずれかの適切な数のサービスを公開し提示することができる。例えば、サービス・モデル323において、2つ以上のサービスを公開し提示することができる。
図3を参照すると、サービス・アセンブラ344の機能は、方法300のステップ355において実行される。図11を参照すると、サービス・アセンブラ344(図3)は、ユーザ308による検討のために、BPEL(ビジネス・プロセス編集言語)を用いて、サービス・モデル323のプログラム・フロー356の一例を示す。サービス・アセンブラ344は、どのようにコンポーネント326およびモジュール322が相互運用するかを設定する。例えば、各コンポーネント326またはモジュール322について、サービス・アセンブラ344は、ユーザ308(図3)によって特定されたプログラム・フローに基づいて、他のコンポーネント326またはモジュール322に必要ないかなる参照も追加することができる。
更に、サービス・アセンブラ344は、どのデータを送信するか、および、どの特性がコンポーネント326およびモジュール322の各々に対してまたはそれらから送信されたデータのためのものなのかを規定するので、コンポーネント326またはモジュール322がモジュール322の他のコンポーネント326によって提供されたサービスを消費した場合、送信されたデータと入力データに対する要件との間に整合性がある。
SOAベースのビジネス・システム302において共働するモジュール322およびコンポーネント326は、相互にデータおよびプログラム・フローを受け渡すが、それらは全て相互に比較的独立して動作するという意味で、モジュール322およびコンポーネント326のアセンブリが比較的緩いということは理解されよう。それらは、異なるソフトウェア言語で、異なるコンピュータにおいて、異なるオペレーティング・システムを用いて動作することができる。サービス指向アーキテクチャの一般的な概念に従って、これらのモジュール322およびコンポーネント326のいずれも、例えば、他のモジュール322およびコンポーネント326のいずれに対しても何ら影響を与えることなく修正を加えることができる。
モジュール322自体のアセンブリ、すなわちモジュール322内で共に動作するコンポーネント326のアセンブリは、ある程度、もっと大きいSOAベースのビジネス・システム302におけるモジュール322およびコンポーネント326のアセンブリとは異なる場合がある。モジュール322内のコンポーネント326のアセンブリは、比較的強固であることがある。例えば、コンポーネント326は、コンポーネント326が属するモジュールに属する変数からのデータを直接用いて動作することができる。別の例として、コンポーネント326は、全て同一のハードウェア上で動作し同一のソフトウェア言語で記述される必要がある場合がある。更に別の例として、モジュール322内のコンポーネント326は、それら自体、モジュール322の外側からアクセスすることができない。すなわち、モジュール322自体のみにアクセス可能である。
図12は、スケルトン・コードを作成し、そのスケルトン・コードに要素を追加する場合の、SOAコード作成システム340の動作を示す。SOAコード作成システム340は、変換ルールを適用する。このルールは、各コンポーネント326(図5)またはモジュール322ごとに、どのようにSOAコード作成システム340がコードを発生させるかを管理する。図13に、各ルールのソースおよびターゲットの例を示す。図14は、図13において識別した例示的なルールの階層ビューを示す。
図3を参照すると、SOAコード作成システム340がサービス指向コンポーネント326およびモジュール322の作成を完了した後、ソフトウェア技術者310(図3)等の適切なユーザによって、SOAベースのビジネス・システム302(図6)を完了させるために必要ないずれかの追加の実装上の細目またはコーディングを提供することができる。
サービス・モデリング・システム313の結果として、ビジネス・プロセスに関して精通しているがソフトウェアまたはコーディングに関しては精通していない場合がある者によって、サービス・モデル323が容易に作成される。これに対して、いくつかのビジネスでは、サービス・モデル323は、ビジネスに精通したユーザとソフトウェア技術者の双方の間の共同作業によって作成される。このため、サービス・モデリング・システム313を用いることで、サービス・モデル323を作成するステップにおいてソフトウェア技術者が直接関与する必要性が低くなる。
更に、SOAコード作成システム340の結果、ソフトウェア技術者310は、いっそう生産性が高くなる。なぜなら、技術者310は、システム340によって少なくともある程度用意されるコードを完了させれば良いだけだからである。
更に、SOAコード作成システム340によって記述されるコードは、固定された融通の効かないルールに基づいてではなく、少なくとも部分的に、ビジネス分析家304によって入力される基本設定(preferences)に基づいて用意される。
コンポーネント326およびモジュール322は、SOAコード作成システム340によって適切な位置に記憶することができ、モジュール322についてのエントリ・ポイント等、モジュール322によって提供される公開サービスを規定する、いずれかの関連データと共に、ビジネス・エンティティのためのSOAレジストリ上に自動的に入力することができる。更にソフトウェア技術者310によって要求される何らかのコーディングの後、これらの要素すなわちコンポーネント326およびモジュール322を、適切な記憶位置に再びセーブすることができる。
あるいは、SOAレジストリ上にコンポーネント326およびモジュール322を入力するステップは、ソフトウェア技術者310が、コンポーネント326およびモジュール322に対して必要な更に別のコーディングを完了させた後に、技術者310によって手作業で実行することも可能である。
本発明に記載した方法の1つ以上のステップがソフトウェアを用いて実行される実施形態において、本発明に包含される記述を読めば、ソフトウェアのコーディングは、当業者の知識内である。
本発明は、全体的にソフトウェアによる実施形態、またはハードウェアおよびソフトウェア要素の双方を包含する実施形態という形態を取ることができる。好適な実施形態において、本発明はソフトウェアにおいて実施される。このソフトウェアは、限定ではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含む。
更に、本発明は、コンピュータまたはいずれかの命令実行システムによってまたはこれと組み合わせて使用するためのプログラム・コードを提供するコンピュータ使用可能またはコンピュータ読み取り可能媒体からアクセス可能なコンピュータ・プログラムの形態を取ることができる。この記述の目的のために、コンピュータ使用可能またはコンピュータ読み取り可能媒体は、命令実行システム、装置、またはデバイスによってまたはこれと組み合わせて使用するためのプログラムを包含し、記憶し、伝達し、伝搬し、または転送することができるいずれかの有形の(tangible)装置とすることができる。
この媒体は、電子、磁気、光、電磁、赤外線、または半導体システム(または装置またはデバイス)、または伝搬媒体とすることができる。コンピュータ読み取り可能媒体の例は、半導体または固体メモリ、磁気テープ、着脱可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、剛性(rigid)磁気ディスク、および光ディスクを含む。光ディスクの現在の例は、コンパクト・ディスク読み取り専用メモリ(CD−ROM)、コンパクト・ディスク読み取り/書き込み(CD−R/W)、およびDVDを含む。
プログラム・コードの記憶または実行あるいはその両方を行うのに適したデータ処理システムは、直接的にまたはシステム・バスを介して間接的にメモリ要素に結合された少なくとも1つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に用いられるローカル・メモリ、大容量記憶装置、および、実行中に大容量記憶装置からコードを検索しなければならない回数を減らすために少なくとも一部のプログラム・コードを一時的に記憶するキャッシュ・メモリを含むことができる。
システムに対して直接的に、またはI/Oコントローラを介在させて、入出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティング・デバイス等を含むがこれらには限定されない)を結合することができる。
また、システムにネットワーク・アダプタを結合して、データ処理システムを、構内ネットワークまたは公衆ネットワークを介在させて他のデータ処理システムまたは遠隔プリンタまたは記憶デバイスに結合可能とすることができる。ネットワーク・アダプタの現在利用可能なタイプのいくつかの例として、モデム、ケーブル・モデム、およびイーサネット(登録商標)・カードが挙げられる。
本発明の記述は、例示および説明の目的のために与えられており、包括的であることも、開示した形態に本発明を限定することも、意図していない。当業者には、多くの変更および変形が明らかであろう。実施形態は、本発明の原理、実際的な適用を最良に説明するために、更に、想定される具体的な使用に適した様々な変更と共に様々な実施形態について当業者が本発明を理解することができるように、選択され記述されたものである。

Claims (9)

  1. ビジネス・プロセスに基づいてサービス指向コンポーネントを組み込んだSOAベースのビジネス・システムを確立するためのコンピュータによって実施される方法であって、
    前記コンピュータが、前記ビジネス・プロセスに関連するビジネス・プロセス・モデルを入力として受け取るステップと、
    前記コンピュータが、ユーザの指示に従って、前記ビジネス・プロセス・モデルから、第1のサービスとして公開するために、少なくとも1つの要素の第1の組を選択するステップと、
    前記コンピュータが、ユーザの指示に従って、前記ビジネス・プロセス・モデルから、第2のサービスとして公開するために、少なくとも1つの要素の第2の組を選択するステップと、
    前記コンピュータが、アーチファクト・マッパを用いて、前記第1および第2のサービスを実行するための少なくともスケルトン・コードを発生させるステップと、
    前記コンピュータが、サービス・アセンブラを用いて、前記第1および第2のサービス間にインタフェースを確立するためのコードを発生させるステップと、
    を含む、方法。
  2. 前記コンピュータが、ユーザの指示に従って、前記第1および第2のサービス間のプログラム・フローを選択するステップと、前記コンピュータが、前記サービス・アセンブラを用いて、前記第1および第2のサービス間に前記選択したプログラム・フローを確立するためのコードを発生させるステップと、を更に含む、請求項1に記載のSOAベースのビジネス・システムを確立するための方法。
  3. 前記コンピュータが、ユーザの指示に従って、前記第1および第2のサービスの各々が実装されるソフトウェア言語を選択するステップであって、前記アーチファクト・マッパを用いて、前記選択したソフトウェア言語において前記少なくともスケルトン・コードを発生させる前記ステップを更に含む、請求項1に記載のSOAベースのビジネス・システムを確立するための方法。
  4. ビジネス・プロセスに基づいてサービス指向コンポーネントを組み込んだSOAベースのビジネス・システムを確立するためのコンピュータによって実施される方法であって、
    前記コンピュータが、前記ビジネス・プロセスに関連するビジネス・プロセス・モデルを入力として受け取るステップと、
    前記コンピュータが、ユーザ・インタフェースを介して入力されるユーザの指示に従って、サービスとして公開するために、前記ビジネス・プロセス・モデルからの要素をグループ化するステップと、
    前記コンピュータが、アーチファクト・マッパを用いて、前記サービスを実行するための少なくともスケルトン・コードを発生させるステップと、
    を含む、方法。
  5. 前記サービスが第1のサービスであり、前記方法が、
    前記コンピュータが、前記ユーザ・インタフェースを介して入力されるユーザの指示に従って、第2のサービスとして公開するために、前記ビジネス・プロセス・モデルからの要素をグループ化するステップと、
    前記コンピュータが、サービス・アセンブラを用いて、前記第1および第2のサービス間にインタフェースを確立するためのコードを発生させるステップと、
    を更に含む、請求項に記載のSOAベースのビジネス・システムを確立するための方法。
  6. 前記サービスが第1のサービスであり、前記方法が、
    前記コンピュータが、前記ユーザ・インタフェースを介して入力されるユーザの指示に従って、第2のサービスとして公開するために、前記ビジネス・プロセス・モデルからの要素をグループ化するステップと、
    前記コンピュータが、ユーザ・インタフェースを介して入力されるユーザの指示に従って、前記第1および第2のサービス間のプログラム・フローを選択するステップと、
    前記コンピュータが、サービス・アセンブラを用いて、前記第1および第2のサービス間に前記選択したプログラム・フローを確立するためのコードを発生させるステップと、を更に含む、請求項に記載のSOAベースのビジネス・システムを確立するための方法。
  7. 前記コンピュータが、ユーザ・インタフェースを介して入力されるユーザの指示に従って、前記サービスが実装されるソフトウェア言語を選択するステップであって、前記アーチファクト・マッパを用いて、前記選択したソフトウェア言語において前記少なくともスケルトン・コードを発生させる前記ステップを更に含む、請求項に記載のSOAベースのビジネス・システムを確立するための方法。
  8. 請求項1〜7のいずれか1項に記載の方法の各ステップをコンピュータに実行させる、SOAベースのビジネス・システムを確立するためのプログラム
  9. 請求項1〜7のいずれか1項に記載の方法の各ステップを実行するように適合された手段を備える、SOAベースのビジネス・システムを確立するためのシステム
JP2010534326A 2007-11-23 2008-09-16 ビジネス・プロセスを再使用可能サービスに変換するためのシステム、方法、およびコンピュータ・プログラム Active JP5244194B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/944,577 2007-11-23
US11/944,577 US20090138273A1 (en) 2007-11-23 2007-11-23 Systems and methods for transforming a business process into reusable services
PCT/CA2008/001635 WO2009065209A1 (en) 2007-11-23 2008-09-16 Systems and methods for transforming a business process into reusable services

Publications (2)

Publication Number Publication Date
JP2011504627A JP2011504627A (ja) 2011-02-10
JP5244194B2 true JP5244194B2 (ja) 2013-07-24

Family

ID=40667073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010534326A Active JP5244194B2 (ja) 2007-11-23 2008-09-16 ビジネス・プロセスを再使用可能サービスに変換するためのシステム、方法、およびコンピュータ・プログラム

Country Status (7)

Country Link
US (1) US20090138273A1 (ja)
JP (1) JP5244194B2 (ja)
KR (1) KR20100059947A (ja)
CN (1) CN102112999A (ja)
CA (1) CA2700943A1 (ja)
TW (1) TW200935337A (ja)
WO (1) WO2009065209A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8676627B2 (en) * 2008-12-04 2014-03-18 International Business Machines Corporation Vertical process merging by reconstruction of equivalent models and hierarchical process merging
US8255253B2 (en) * 2009-06-03 2012-08-28 International Business Machines Corporation Cross functional area service identification method and system
US8739111B2 (en) * 2010-02-02 2014-05-27 International Business Machines Corporation Re-factoring, rationalizing and prioritizing a service model and assessing service exposure in the service model
US8726230B1 (en) 2011-10-07 2014-05-13 Google Inc. Generating a user interface for sending data among resources
US10394533B2 (en) 2013-09-30 2019-08-27 The Mathworks, Inc. Reusable component in a modeling environment
US20170011322A1 (en) * 2014-01-31 2017-01-12 Hewlett Packard Enterprise Development Lp Business process managment
US10133996B2 (en) * 2014-04-22 2018-11-20 International Business Machines Corporation Object lifecycle analysis tool
US10284646B2 (en) * 2014-12-17 2019-05-07 International Business Machines Corporation Application multi-versioning in a traditional language environment
US9952837B1 (en) * 2015-04-01 2018-04-24 The Mathworks, Inc. Reusable component in a modeling environment
US20230385730A1 (en) * 2022-05-24 2023-11-30 Red Hat, Inc. Segmenting processes into stand-alone services

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105387A (ja) * 1996-09-26 1998-04-24 Nec Commun Syst Ltd Sdl/プログラムコード相互変換方式
US7404175B2 (en) * 2000-10-10 2008-07-22 Bea Systems, Inc. Smart generator
US20010044738A1 (en) * 2000-03-22 2001-11-22 Alex Elkin Method and system for top-down business process definition and execution
JP2002229787A (ja) * 2001-02-01 2002-08-16 Nri & Ncc Co Ltd プログラム生成装置
US20030097286A1 (en) * 2001-10-18 2003-05-22 Vitria Technologies, Inc. Model driven collaborative business application development environment and collaborative applications developed therewith
WO2003093988A1 (en) * 2002-05-03 2003-11-13 Cedar Point Communications, Inc. Service description and development processes
JP4444920B2 (ja) * 2003-09-19 2010-03-31 株式会社ニコン 露光装置及びデバイス製造方法
US20050144226A1 (en) * 2003-11-10 2005-06-30 Churchill Software Services Systems and methods for modeling and generating reusable application component frameworks, and automated assembly of service-oriented applications from existing applications
JP2005251128A (ja) * 2004-03-08 2005-09-15 Nec Corp モデル編集システム、モデル編集方法およびモデル編集用プログラム
US7805324B2 (en) * 2004-10-01 2010-09-28 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
US7451432B2 (en) * 2004-10-01 2008-11-11 Microsoft Corporation Transformation of componentized and extensible workflow to a declarative format
US20060112122A1 (en) * 2004-11-23 2006-05-25 International Business Machines Corporation Method, system, and storage medium for implementing business process modules
CN100573448C (zh) * 2005-04-22 2009-12-23 瑞士银行股份有限公司 平台无关服务建模技术
US20070033570A1 (en) * 2005-08-02 2007-02-08 Kong Raymond L Method and system for transforming a process flow

Also Published As

Publication number Publication date
WO2009065209A1 (en) 2009-05-28
CA2700943A1 (en) 2009-05-28
JP2011504627A (ja) 2011-02-10
TW200935337A (en) 2009-08-16
US20090138273A1 (en) 2009-05-28
CN102112999A (zh) 2011-06-29
KR20100059947A (ko) 2010-06-04

Similar Documents

Publication Publication Date Title
JP5244194B2 (ja) ビジネス・プロセスを再使用可能サービスに変換するためのシステム、方法、およびコンピュータ・プログラム
JP5021211B2 (ja) デジタル装置メニューエディタのための方法およびシステム
JP4812337B2 (ja) フォームタイプを使用してフォームを生成する方法および装置
US7809597B2 (en) Progressive refinement model for business processes
US7885793B2 (en) Method and system for developing a conceptual model to facilitate generating a business-aligned information technology solution
US9411798B1 (en) Methods and apparatus for reusing report design components and templates
US7877680B2 (en) Auto-generation and auto-versioning of a multi-sourced dynamic document
US20070088598A1 (en) Mechanism for using processlets to model service processes
EP1577817A2 (en) System for capturing project time and expense data
US20120005116A1 (en) Modeling of business process data
US20120215732A1 (en) Rule authoring for events in a grid environment
US20100313182A1 (en) Extensible user interface generation
US20100235275A1 (en) Card Processing
CA2451164A1 (en) Customizable components
CN103718155A (zh) 运行时系统
EP2652585A2 (en) Reverse engineering user interface mockups from working software
CN104731588B (zh) 页面布局文件生成方法和页面布局文件生成装置
US20130185694A1 (en) Declarative dynamic control flow in continuation-based runtime
CN111045675A (zh) 一种基于Flutter的页面生成方法、装置、设备和存储介质
US7509628B2 (en) Extensibility framework for developing front office (CRM) workflow automation components
Weaver et al. Rapid application development with Openstudio
US11315208B2 (en) Conceptual representation of business processes for cross-domain mapping
CN114048415A (zh) 表单生成方法及装置、电子设备和计算机可读存储介质
US20120078597A1 (en) Mobile device with a modeling platform
EP2171581A1 (en) Methods and apparatus for collaborative process modeling

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

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130405

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

Free format text: PAYMENT UNTIL: 20160412

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5244194

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150