JP2008204430A - ビジネスプロセス再構成方法、そのプログラム及び計算機 - Google Patents

ビジネスプロセス再構成方法、そのプログラム及び計算機 Download PDF

Info

Publication number
JP2008204430A
JP2008204430A JP2007240393A JP2007240393A JP2008204430A JP 2008204430 A JP2008204430 A JP 2008204430A JP 2007240393 A JP2007240393 A JP 2007240393A JP 2007240393 A JP2007240393 A JP 2007240393A JP 2008204430 A JP2008204430 A JP 2008204430A
Authority
JP
Japan
Prior art keywords
business process
service
computer
esb
reconfiguration
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
JP2007240393A
Other languages
English (en)
Other versions
JP4701220B2 (ja
Inventor
Katsu Iwashita
岩下克
Katsutoshi Asaki
朝木克利
Nobuyuki Yamamoto
山本展之
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007240393A priority Critical patent/JP4701220B2/ja
Publication of JP2008204430A publication Critical patent/JP2008204430A/ja
Application granted granted Critical
Publication of JP4701220B2 publication Critical patent/JP4701220B2/ja
Expired - Fee Related 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/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】複数のESB実行計算機が連携してビジネスプロセスの実行を行う環境において
、ビジネスプロセス実行時に行われる非効率なESB実行計算機間の連携を削減する。
【解決手段】ESB実行計算機201と通信可能なシステム管理用計算機400が、ビジ
ネスプロセスを構成するサービスを指定するサービス名と、サービスが配備されたESB
実行計算機201〜203とを対応させた配備情報を記憶する記憶部を備える。そして、
配備情報に基づいて、ESB実行計算機201と異なるESB実行計算機202,203
で実行可能な複数の連続するサービスの組み合わせを抽出して、抽出したサービスの組み
合わせをESB実行計算機202または203に配備する新たなビジネスプロセスとして
定義し、ESB実行計算機201に配備するビジネスプロセスを、新たに定義したビジネ
スプロセスを呼び出すビジネスプロセスとして再構成する処理部を備えることとした。
【選択図】図1

Description

本発明は、ビジネスプロセス定義情報と、ビジネスプロセスを構成するサービスの配備先情報とを用いて、ビジネスプロセスを再構成する技術に関する。
近年、企業の統廃合や市場競争の激化といった企業をとりまくビジネス環境の激しい変化に対し、短期間で柔軟に対応できるシステムが求められており、SOA(Service Oriented Architecture)の考え方に基づいたシステムが注目を集めている。SOAとは、業務上意味のある独立した機能を持つソフトウェアをサービスと呼ぶ単位で構築し、サービスの名前や入出力メッセージの形式を定義したサービスのインタフェース情報を公開することで、その機能を提供することを提案したソフトウェア構築における考え方の一つである。ここでは、SOAの考え方に基づいて構築されたシステムを、SOAシステムと呼ぶ。
SOAシステムでは、可能な限り既存のサービスを再利用し、また必要に応じて新たなサービスを開発し、これらのサービスを組み合わせて新たな機能を提供することで、業務の変化に柔軟に対応することができる。前記のように、複数のサービスを組み合わせて提供する新たなサービスを、ビジネスプロセスと呼ぶ。また、SOAシステムにおいてサービスを利用する場合、サービスの利用者であるクライアントがサービスを直接呼び出すのではなく、ESB(Enterprise Service Bus)などのミドルウェアを仲介としてサービスを利用することで、業務とシステムを独立して管理することができるため、ビジネス環境の変化に柔軟に対応することができる。
ESBは、SOAシステムを実現するためのミドルウェアの一つであり、サービスの利用者であるクライアントと、サービスとの仲介機能を持つ。ESBを用いることで、クライアントとサービスが直接やりとりを行う必要がなくなるため、クライアントとサービスの関係を疎に保つことができる。ESBは仲介機能の他にも、プロトコル変換やデータ変換機能によりクライアントのアプリケーションとサービスのアプリケーションとの差異を吸収する機能や、サービスの実行履歴を管理する機能を有する。また、ESBはビジネスプロセス実行機能や、ESB同士で連携する機能を有する場合もある。ここでは、ESBはクライアントとサービスの仲介機能、ビジネスプロセス実行機能、及びESB間連携機能を持つミドルウェアであるとする。
ビジネスプロセスは、BPEL(Business Process Execution Language)などのビジネスプロセス定義言語(ビジネスプロセス記述言語)を用いて、複数のサービスを組み合わせて新たな機能を提供するものであり、ビジネスプロセスはそれ自身もサービスとなる。このため、ビジネスプロセスを組み合わせて新たなビジネスプロセスを構成することも可能である。ビジネスプロセスは独立した機能を持つサービスを組み合わせて機能を提供していることから、機能の変更が必要になった際には、サービスの組み合わせを変更するだけで対応することができるため、ビジネスの変化に柔軟に対応することができる。ビジネスプロセスには、サービス呼び出しの他、分岐処理やフォーマット編集処理などのフロー制御を記述することができ、これらビジネスプロセスを構成する要素をアクティビティと呼ぶ。また、ビジネスプロセスにおいて、各アクティビティで使用するメッセージインスタンスを格納するための領域を変数と呼ぶ。変数は、サービス呼び出しの入出力メッセージや、分岐処理の分岐条件などに用いることができる。
ビジネスプロセスの記述方式としては、前記のようにBPELなどのビジネスプロセス定義言語(ビジネスプロセス記述言語)が用いられる。ビジネスプロセスやサービスの実装方式としては、各種のコンポーネントモデルなどが用いられる。また、ビジネスプロセスやサービスの実行基盤プログラムとしては、実装されたコンポーネントを実行する各種プログラムが用いられる。ここでは、サービスの実行基盤プログラムをサービス実行基盤プログラムと呼ぶ。
ビジネスプロセスの定義を行うビジネスプロセス開発者は、定義するビジネスプロセスを利用して業務を行うSOAシステムの利用者であり、SOAシステムの管理者のようにシステム構成についての知識を有していない。このことから、ビジネスプロセス開発者はSOAシステムに配備されたシステムの構成を意識することなく、ビジネスプロセスを定義できる必要がある。また、ビジネスプロセス実行機能には、ビジネスプロセスを構成する個々のアクティビティを実行するために最適なサービスを、システムから選択する機能が求められる。
ビジネスプロセス定義を解析し、ビジネスプロセスを構成する各アクティビティに対して適切なサービスを割り当て、ビジネスプロセスを実行可能にするための技術として、特許文献1がある。この技術では、予め登録されたサービスの中から、各アクティビティを実行するための最適なサービスを選択し、割り当てを行うことでビジネスプロセスを実行可能にするための方法を開示している。
US20050149367A1号公報
今後SOAが発展していくと、SOAシステム同士が連携してサービスを提供するようになる。複数のSOAシステムが連携してサービスを提供することで、クライアントが利用可能なサービスの範囲を拡大することができる。ここで、SOAシステム同士が連携を行う際の連携方法は、双方のESBが連携することで実現される。これは、ESBがサービスを利用するための仲介機能を持つことや、サービスの呼び出しをESBからのみ可能にすることで、サービスのセキュリティやメンテナンス性、及び実行履歴管理の容易性を向上させることができるためである。
しかしながら、複数のESBが連携してサービスを提供する環境においては、前記特許文献1により開示されている技術では、非効率なESB間連携が行われる場合がある。具体的には、ビジネスプロセスが配備されたESBと異なるESBに配備されたサービスが連続して呼び出される場合、サービス呼び出しごとにESB間連携を行うため、連続するサービスの個数と同数の連携が必要となってしまう。しかし、一回のESB間連携で複数のサービスを実行することができれば、ESB間の連携の回数を削減することができ、ビジネスプロセスの実行性能を向上させることができる。
そこで本発明は、複数のESBが連携してサービスを提供するシステムにおいて、ビジネスプロセスの実行時に行われる非効率なESB間連携を削減する必要があるという課題を解決することを目的とする。
本発明は前記課題を解決するために、1または複数の計算機とビジネスプロセス処理装置とが通信可能にされたサブシステムにおけるビジネスプロセス処理装置が、他の1または複数のサブシステムにおけるビジネスプロセス処理装置とネットワークを介して連携してビジネスプロセスを処理するビジネスプロセス処理システムに使用される計算機であるとした。そして、この計算機が、ビジネスプロセスを構成するサービスを特定可能な情報及びサービスが配備されたビジネスプロセス処理装置を対応させた配備情報とビジネスプロセスが定義されたビジネスプロセス定義情報とを記憶する記憶部と、情報を処理する処理部とを備えることとした。処理部は、配備情報に基づいて、計算機と同一のサブシステムに属するビジネスプロセス処理装置と異なるビジネスプロセス処理装置で実行可能な複数の連続するサービスの組み合わせをビジネスプロセス定義情報から抽出し、抽出したサービスの組み合わせを異なるビジネスプロセス処理装置に配備される新たなビジネスプロセスとして定義し、ビジネスプロセスを新たなビジネスプロセスを呼び出すビジネスプロセスとして再構成を行うこととした。
本発明によれば、複数のESBが連携してサービスを提供するシステムにおいて、ビジネスプロセスの実行時に行われる非効率なESB間連携を削減する必要があるという課題を解決することが可能となる。
以下、本発明の実施形態について、図面を用いて詳細に説明する。まず、第一の実施形態について説明する。
図1は、本実施形態におけるシステム構成の一例を示している。図1は、本実施形態におけるシステム全体の概念図であるため、各計算機内部の詳細は後記する。
図1に示すように、本実施形態では、SOAシステムA(101)、SOAシステムB(102)、SOAシステムC(103)の3つのSOAシステム101〜103が、それぞれのSOAシステム101〜103に属するESBミドルウェアを実行する計算機であるESB実行計算機(ビジネスプロセス処理装置)201〜203同士を、ネットワーク1000を介して相互に通信可能にすることによって、相互に連携してサービスを提供するシステムの例を示しているが、SOAシステムの数は3つに限定されるものではなく、複数であればよい。また、ネットワーク1000は、LAN(Local Area Network)やイントラネットなどのローカルネットワークであってもよいし、インターネットなどのグローバルネットワークであってもよい。また、ESB実行計算機201〜203が、ネットワーク1000を介して連携してビジネスプロセスを処理するシステムを、ビジネスプロセス処理システムと呼ぶことにする。さらに、本実施形態では、すくなくとも1台のシステム管理用計算機(単に「計算機」ともいう)400と、ESB実行計算機201(201〜203)とが通信可能にされたサブシステムの一例としてSOAシステムを使用することにする。
また、本実施形態では、各SOAシステム101〜103を、ESBを実行するためのESB実行計算機201〜203、ビジネスプロセスの開発を行うためのビジネスプロセス開発用計算機300、SOAシステム101〜103の管理を行うためのシステム管理用計算機(単に「計算機」ともいう)400、ESB実行計算機201〜203にサービスの実行要求を送信するクライアント用計算機701〜703、サービスを実行するためのサービス実行計算機501〜506、及びこれらの計算機を相互に通信可能にするネットワーク1001から構成している。ここで、ネットワーク1001は、ローカルネットワークでもよいし、グローバルネットワークでもよい。各SOAシステム101〜103において、ビジネスプロセス開発用計算機300、システム管理用計算機400、クライアント用計算機701(701〜703)、及びサービス実行計算機501(501〜506)は複数存在してもよい。
また、図1に示すように、本実施形態では、SOAシステムA(101)において、ESB実行計算機201、ビジネスプロセス開発用計算機300、システム管理用計算機400、クライアント用計算機701、サービス実行計算機501,502がネットワーク1001を介して相互に通信可能にされており、サービス実行計算機501上のサービス実行基盤510には、サービスA1(601)が配備され、サービス実行計算機502上のサービス実行基盤510には、サービスA2(602)、サービスA3(603)及びサービスA4(604)が配備されている。サービス実行計算機501,502上の各サービス実行基盤510に配備されるサービスは、サービス実行計算機501のように一つ存在してもよいし、サービス実行計算機502のように複数存在してもよく、またサービスが一つも存在しなくてもよい。
SOAシステムA(101)と同様に、SOAシステムB(102)において、ESB実行計算機202、ビジネスプロセス開発用計算機300、システム管理用計算機400、クライアント用計算機702、サービス実行計算機503,504がネットワーク1001を介して相互に通信可能にされており、サービス実行計算機503上のサービス実行基盤510には、サービスB1(605)が配備され、サービス実行計算機504上のサービス実行基盤510には、サービスB2(606)が配備されている。
さらに、SOAシステムC(103)において、ESB実行計算機203、ビジネスプロセス開発用計算機300、システム管理用計算機400、クライアント用計算機703、サービス実行計算機505,506がネットワーク1001を介して相互に通信可能にされており、サービス実行計算機505上のサービス実行基盤510には、サービスC1(607)が配備され、サービス実行計算機506上のサービス実行基盤510には、サービスC2(608)が配備されている。
本実施形態では、ESB実行計算機201〜203がネットワーク1000を介して相互に通信可能にされていることにより、異なるSOAシステム101〜103に配備されたサービスを利用することができる。例えば、SOAシステムA(101)に属するクライアント用計算機701から、他のSOAシステムであるSOAシステムB(102)や、SOAシステムC(103)に配備されたサービスB1(605)やサービスC1(607)を利用することが可能である。このとき、例えばクライアント用計算機701からサービスB1(605)を利用するためには、クライアント用計算機701はまず、クライアント用計算機701と同一のSOAシステムA(101)に属するESB実行計算機201にサービス実行要求を送信する。次に、サービス実行要求を受け付けたESB実行計算機201は、サービスB1(605)の配備先であるESB実行計算機202にサービス実行要求を転送し、ESB実行計算機202からサービス実行計算機503にサービス実行要求が送信され、サービスB1(605)が実行される。サービスB1(605)の実行結果は、サービス実行要求が送信された際の経路と逆順の経路をたどって、クライアント用計算機701に返される。サービス実行要求にはすくなくともサービスB1(605)を特定する情報が含まれる。
図2は、図1のSOAシステムA(101)の詳細なシステム構成例を示している。図2では図1のSOAシステムA(101)のシステム構成例を示しているが、図1のSOAシステムB(102)、及び図1のSOAシステムC(103)についても同様のシステム構成となるため、SOAシステムB(102)、及びSOAシステムC(103)の説明は省略する。
本実施形態では、図2に示すように、ESB実行計算機201を、パーソナルコンピュータ(以下、パソコンと呼ぶ)などの汎用の計算機と、その上で実行されるミドルウェアであるESB210とから構成している。ESB210はその機能として、クライアントの要求に応じてビジネスプロセスを実行するビジネスプロセス実行機能221と、連携先ESBの情報を収集するESB連携状態監視機能222と、他のESBと連携してサービスを提供するESB間連携機能223を有している。以下では、必要に応じてSOAシステムA(101)に属するESB実行計算機201上で動作するESBをESB−A、図1のSOAシステムB(102)に属するESB実行計算機202上で動作するESBをESB−B、図1のSOAシステムC(103)に属するESB実行計算機203上で動作するESBをESB−Cと呼ぶこととする。
ESB連携状態監視機能222は、システム管理者810による入力、もしくは、連携先ESBのESB連携状態監視機能222から、相互連携可能なESBのアドレスを取得し、連携先ESBのアドレスを連携先ESB情報管理テーブル240に格納する。連携先ESB情報管理テーブル240の構成についての詳細は後記する(図4参照)。ESB連携状態監視機能222は、ESBを特定する情報と、そのESBのアドレスとを関連付けて連携先ESB情報管理テーブル240に情報を格納する。本実施形態では、ESBを特定する情報としてESBの名称、ESBのアドレスとしてIP(Internet Protocol)アドレスをそれぞれ用いているが、これらに限定されるものではない。
また、ESB連携状態監視機能222は、連携先ESB情報管理テーブル240から連携先ESBのアドレスを取得し、連携先ESB上で動作するESB連携状態監視機能と通信を行う。このとき、ESB連携状態監視機能222は、自ESB210に配備されたサービスの情報を連携先ESB上のESB連携状態監視機能に送信する処理と、連携先ESBに配備されたサービスの情報を連携先ESB上のESB連携状態監視機能から受信し、サービス配備状況管理テーブル230、及び提供サービス一覧管理テーブル250に情報を格納する処理とを実行する。サービスの情報には、すくなくともサービスを特定可能な情報、例えば、サービス名と、そのサービス概要とが含まれる。サービスの概要については後記する。ESB連携状態監視機能222は、サービス名と、そのサービスの配備先ESB名とを関連付けてサービス配備状況管理テーブル230に情報(配備情報)を格納するが、サービス配備状況管理テーブル230の構成についての詳細は後記する(図5参照)。また、ESB連携状態監視機能222は、サービス名と、そのサービス概要とを関連付けて情報を格納する。提供サービス一覧管理テーブル250の構成についても後記する(図6参照)。
ESB間連携機能223は、連携先ESB上で動作するESB間連携機能223と通信を行い、連携先ESBに配備されたサービスを相互に利用可能とするための処理を行う。このとき、ESB間連携機能223は、連携先ESB情報管理テーブル240を、配備先ESB名をキーとして検索することで、連携するESBのアドレスを取得し、取得したアドレスを用いてESB間連携を実現する。
前記したESBの機能であるビジネスプロセス実行機能221、ESB連携状態監視機能222、ESB間連携機能223は、汎用のESBを用いることで実現可能であるため、詳細の説明は省略する。
本実施形態では、図2に示すように、ビジネスプロセス開発用計算機300を、すくなくともパソコンなどの汎用の計算機と、その上で実行されるビジネスプロセス開発機能310と、提供サービス一覧管理テーブル250とから構成している。ビジネスプロセス開発機能310は、ビジネスプロセス開発者800がビジネスプロセス定義を行うためのGUI(Graphical User Interface)プログラムであることが多いが、これに限定されるものではなく、半導体回路などの専用ハードウェアとして実装してもよい。本実施例では、ビジネスプロセス開発機能310はプログラムとして実現されていることとする。ビジネスプロセス開発機能310は、提供サービス一覧管理テーブル250を参照し、ビジネスプロセス定義に利用可能なサービスの一覧を、ビジネスプロセス開発者800に提示し、ビジネスプロセス開発者800は、提示されたサービスを組み合わせて、ビジネスプロセスの定義を行う。なお、本実施形態ではビジネスプロセス開発用計算機300とESB実行計算機201の両方が提供サービス一覧管理テーブル250を保持しているが、その内容は同一である。このため、提供サービス一覧管理テーブル250がどちらか一方の計算機上に存在し、他方の計算機は該テーブルを参照する構成としてもよい。また、前記のビジネスプロセス開発機能310は汎用のビジネスプロセス開発プログラムなどで実現可能であるため、詳細の説明は省略する。
ビジネスプロセス開発者800がビジネスプロセス開発機能310を用いて定義したビジネスプロセスは、システム管理者810によって、システム管理用計算機400上のビジネスプロセス解析・再構成処理部410に入力される。
本実施形態では、図2に示すように、システム管理用計算機400を、パソコンなどの汎用の計算機と、その上で実行される、処理部としてのビジネスプロセス解析・再構成処理部410と、ビジネスプロセス配備部420、及びサービス配備状況管理テーブル230と、連携先ESB情報管理テーブル240とから構成している。
ビジネスプロセス解析・再構成処理部410は、サービス名とサービスの配備先ESB名との関連付け情報を保持するサービス配備状況管理テーブル230から情報を取得し、取得した情報に基づいてビジネスプロセスを構成する各アクティビティを実行するための適切なサービスの割り当てを行うビジネスプロセス解析部411と、ビジネスプロセス解析部411で割り当てられたサービスのESBへの配備状況に基づいて、ビジネスプロセスの再構成を行うビジネスプロセス再構成部412と、ビジネスプロセスの再構成の結果、新たに定義されたビジネスプロセスを、連携先ESB情報管理テーブル240からアドレスを取得して、連携先ESBに配布するビジネスプロセス配布部413とから構成される。なお、本実施形態ではシステム管理用計算機400とESB実行計算機201の双方がサービス配備状況管理テーブル230と連携先ESB情報管理テーブル240を保持しているが、その内容は同一である。このため、これらのテーブルがどちらか一方の計算機上に存在し、他方の計算機は該テーブルを参照する構成としてもよい。また、本実施例では、上記各処理部410、411、412、413は、CPU900によって実行されるソフトウェアである、ビジネスプロセス解析・再構成プログラム430、ビジネスプロセス解析プログラム431、ビジネスプロセス再構成プログラム432、ビジネスプロセス配布プログラム433、として実現されているものとする(図3参照)が、これに限定されるものではなく、半導体回路などの専用のハードウェアとして実装してもよい。また説明の関係上、以降では必要に応じて各処理部を実装したプログラムを実行主体として説明を行う。
また、ビジネスプロセス配備部420は、システム管理者810の指示に従って、ビジネスプロセスをESBに配備、ESBから削除など、ESB上のビジネスプロセスを管理する機能を持つ処理部であり、本実施例ではCPU900によって実行されるソフトウェアとして実現されていることとするが、これに限定されず、半導体回路などの専用ハードウェアとして実装してもよい。ビジネスプロセスの配備とは、ビジネスプロセスをESBに登録し、実行可能な状態とする操作である。すなわち、この操作により、クライアント用計算機701〜703(図1参照)からビジネスプロセスの呼び出しを行うことが可能になる。ビジネスプロセスの呼び出しとは、ビジネスプロセスの名前など、ビジネスプロセスを特定可能な情報と、ビジネスプロセスに対する入力情報とを用いて、ビジネスプロセスの実行要求を送信し、必要に応じてビジネスプロセスの実行結果を取得する操作を示す。なお、ビジネスプロセス配備部420は、ビジネスプロセスが入力された際に、システム管理者810の指示を受けることなく、該ビジネスプロセスを自動的に配備する機能を有してもよい。また、前記のビジネスプロセス配備部420は、汎用のビジネスプロセス配備機能を持つプログラムで実現可能であるため、詳細の説明は省略する。
本実施形態では、図2に示すように、クライアント用計算機701を、パソコンなどの汎用の計算機と、その上で実行される、サービス呼び出し基盤710とから構成している。クライアント820はサービス呼び出し基盤710を用いて、ESBにサービスの実行要求を送信することで、サービスを利用することができる。サービス呼び出し基盤710は、各種のプログラム言語を用いて実現可能であるため、その実現方法の詳細な説明は省略するが、サービス呼び出し基盤710は、半導体回路などの専用ハードウェアとして実装してもよい。本実施例では、サービス呼び出し基盤710はソフトウェアとして実現されていることとする。
本実施形態では、図2に示すように、サービス実行計算機501,502を、パソコンなどの汎用の計算機と、その上で実行される、サービスを実行するためのサーバプログラムであるサービス実行基盤510から構成している。サービスは各種のコンポーネントモデルによって実装可能であり、サービス実行基盤510は、実装されたコンポーネントを実行する各種プログラムによって実現可能であるため、その実現方式の詳細な説明は省略する。なお、サービスやサービス実行基盤510は、半導体回路などの専用のハードウェアとして実現してもよいが、本実施例ではプログラムとして実装されていることとする。
本実施形態で用いる計算機の構成をさらに詳細に説明するために、システム管理用計算機400の構成を図3に示す。
本実施形態では、図3に示すように、システム管理用計算機400を、処理部としてのCPU(Central Processing Unit)900、ネットワークインタフェース910、グラフィックインタフェース920、ユーザ入力インタフェース930、記憶部としての主記憶装置940、二次記憶装置950、及びこれらを接続するシステムバス960から構成している。ネットワークインタフェース910は、CPU900の指示に従って、ネットワーク1001を介して相互に通信可能にされているESB実行計算機(図1参照)やビジネスプロセス開発用計算機300(図1参照)と通信を行う。
ユーザ入力インタフェース930は、マウスやキーボードなどの入力装置からユーザの入力を受け付ける機能を持つ。グラフィックインタフェース920は、ディスプレイなどの画像表示装置921に表示する画像の処理を行うが、必須の装置ではない。主記憶装置940上には、ビジネスプロセス解析・再構成処理プログラム430(ビジネスプロセス解析プログラム431、ビジネスプロセス再構成プログラム432、及びビジネスプロセス配布プログラム433を含む)、ビジネスプロセス配備プログラム440、OS(Operating System)970が格納され、これらのプログラムはCPU900によって実行される。また、主記憶装置940上には、サービス配備状況管理テーブル230、連携先ESB情報管理テーブル240が格納されるが、これらのテーブルは、ビジネスプロセス解析・再構成プログラム430に包含されてもよく、または、二次記憶装置950に格納されてもよい。二次記憶装置950は、CPU900からの指示に従い、データの入出力を行う。主記憶装置940はメモリなどの揮発性記憶装置であり、二次記憶装置950はハードディスクなどの磁気記憶装置や、CD(Compact Disc)、DVD(Digital Versatile Disk)ドライブなどの光学記憶装置などの不揮発性記憶装置であるが、これらに限定されるものではない。
ESB実行計算機201〜203(図1参照)、ビジネスプロセス開発用計算機300(図1参照)、サービス実行計算機501〜506(図1参照)、クライアント用計算機701〜703(図1参照)のハードウェア構成は、図3に示すシステム管理用計算機400と同様である。システム管理用計算機400との違いは、主記憶装置940に展開され、CPU900により実行されるプログラムや、テーブルである。ESB実行計算機201〜203では、主記憶装置940上に、OS970やESB210(図2参照)、サービス配備状況管理テーブル230(図2参照)、連携先ESB情報管理テーブル240(図2参照)、提供サービス一覧管理テーブル250(図2参照)が展開される。ただし、サービス配備状況管理テーブル230(図2参照)、連携先ESB情報管理テーブル240(図2参照)、提供サービス一覧管理テーブル250(図2参照)は、ESB210(図2参照)に包含されてもよく、または、二次記憶装置950に格納されてもよい。ビジネスプロセス開発用計算機300(図2参照)では、主記憶装置940上にOS970とビジネスプロセス開発機能310(図2参照)、提供サービス一覧管理テーブル250(図2参照)が展開される。提供サービス一覧管理テーブル250(図2参照)は、ビジネスプロセス開発機能310(図2参照)に包含されてもよく、または、二次記憶装置950に格納されてもよい。サービス実行計算機501〜506では、主記憶装置940上にOS970やサービス実行基盤510(図2参照)、サービス実行基盤510(図2参照)に配備されているサービスが展開される。また、クライアント用計算機701〜703では、主記憶装置940上にOS970とサービス呼び出し基盤710(図2参照)が展開される。
図4は、本実施形態における連携先ESB情報管理テーブルの構成を示す図である。図4に示すように、連携先ESB情報管理テーブル240は、ESB名称を格納するカラムであるESB名241と、ESBのアドレスを格納するカラムであるアドレス242とから構成されている。ESB名241は、ESBを特定可能な情報、アドレス242は、ESBのアドレス情報を含めばよく、名称やIPアドレスに限定されない。
図5は、本実施形態におけるサービス配備状況管理テーブル230の構成を示す図であり、図5(a)は、新たに定義されたビジネスプロセス登録前の状態、図5(b)は、本発明のビジネスプロセス再構成により、新たに定義されたビジネスプロセス登録後の状態を示している。図5(a)に示すように、サービス配備状況管理テーブル230は、サービスの名称を格納するカラムであるサービス名231と、サービスの配備先ESB名を格納するカラムである配備先ESB名232とから構成されている。各カラムに格納される情報は、サービスまたはESBが特定できればよく、名称に限定されるものではない。また、図5(b)に示すように、サービス配備状況管理テーブル230には、新たに定義されたビジネスプロセス(例えば、サービスBB、サービスCC)がビジネスプロセス配布プログラム433によって登録される。なお、ビジネスプロセスは、サービスに含まれるものである。
図6は、本実施形態における提供サービス一覧管理テーブル250の構成を示す図であり、図6(a)は、新たに定義されたビジネスプロセス登録前の状態、図6(b)は、本発明のビジネスプロセス再構成により、新たに定義されたビジネスプロセス登録後の状態を示している。図6(a)に示すように、提供サービス一覧管理テーブル250は、サービスの名称を格納するカラムであるサービス名251と、サービスの概要を格納するカラムであるサービス概要252とから構成されている。本実施形態では、サービス名251のカラムにサービスの名称が格納されているが、サービス名251に格納される情報は、サービスを特定可能であればよく、サービスの名称に限定されるものではない。ここで、サービスの概要とは、サービスの提供する機能の情報や、入出力メッセージの形式などのインタフェース情報を意味する。また、図6(b)に示すように、提供サービス一覧管理テーブル250には、新たに定義されたビジネスプロセス(例えば、サービスBB、サービスCC)がビジネスプロセス配布プログラム433によって登録される。
以降では、本実施形態の実施手順に従って、本発明の実施形態をさらに詳細に説明する。
図7は、本実施形態の実施手順のフローを示している。以下、図7を参照して(適宜図1ないし図6参照)、本実施形態の実施手順について説明する。
はじめに、ビジネスプロセス開発者800は、ビジネスプロセス開発用計算機300上で実行されるビジネスプロセス開発機能310を用いて、ビジネスプロセスの定義を行う。この際、ビジネスプロセス開発機能310は、ビジネスプロセス定義に用いることのできるサービスの一覧情報を、提供サービス一覧管理テーブル250から取得し、ビジネスプロセス開発者800に提示する。ビジネスプロセス開発機能310が提示するデータは、提供サービス一覧管理テーブル250に登録されている全データであってもよいし、一部であってもよい。ビジネスプロセス開発者800は、提示されたサービスを組み合わせて、ビジネスプロセスの定義を行う。提供サービス一覧管理テーブル250は、図6(a)に示すように、サービス名251と、サービス概要252とから構成されており、ビジネスプロセス開発者800はSOAシステムA,B,Cの詳細なシステム構成を意識することなく、ビジネスプロセスの定義を行うことができる。本実施形態では、図9に示すビジネスプロセスA(1400)を、ビジネスプロセス開発者800が定義したこととする。ビジネスプロセスA(1400)は、サービスA1(601)、サービスB1(605)、サービスB2(606)、サービスC1(607)、サービスC2(608)、サービスA2(602)を前記の順番に実行することを定義している。
次に、システム管理者810は、ビジネスプロセス開発者800によって定義されたビジネスプロセスの定義情報を、例えばメールなどの手段でビジネスプロセス開発者800から通知を受けることによって把握する。そして、システム管理者810は、通知によって把握したビジネスプロセスの定義情報をビジネスプロセス解析・再構成プログラム430に入力する。ビジネスプロセス解析・再構成プログラム430は、ビジネスプロセス解析プログラム431、ビジネスプロセス再構成プログラム432、及びビジネスプロセス配布プログラム433から構成され、前記の順序で処理を行う。
ビジネスプロセス解析プログラム431は、ビジネスプロセスを構成するサービスの配備先ESBを調査する(ステップS1101)。つまり、ビジネスプロセス解析プログラム431は、システム管理者810から入力されたビジネスプロセスの定義情報を解析し、ビジネスプロセスを構成する個々のアクティビティに対し、アクティビティを実行するための適切なサービスの割り当てを行う。この際、ビジネスプロセス解析プログラム431は、サービス名231をキーとしてサービス配備状況管理テーブル230を検索し、検索した結果得られた配備先ESB名232のESBに配備されたサービス名231のサービスを、アクティビティを実行するサービスとして割り当てる処理を行う。ここで、サービス配備状況管理テーブル230から、同一のサービス名231を持つ配備先ESB名232が複数検索された場合、サービスの実行履歴(不図示)を参照し、最も実行時間の短いサービスを選択することや、サービス実行計算機のメトリック情報を収集し、最もリソースに余裕のある計算機上で実行されるサービスを選択するなど、付加的な情報を使用してサービスの割り当てを行ってもよい。このようなサービス割り当て方法は、前記の特許文献1などにより公開されている。なお、サービス呼び出しを行うアクティビティ以外のアクティビティについては、サービスの割り当てを行う必要はない。
ビジネスプロセス再構成プログラム432は、サービスの配備状況に基づいてビジネスプロセス定義を再構成する(ステップS1102)。つまり、ビジネスプロセス再構成プログラム432は、ビジネスプロセス開発者800によって定義されたビジネスプロセスの定義情報と、ステップS1101において各アクティビティに割り当てられたサービスを特定できる情報(サービス名231など)及びサービスが配備された配備先情報(配備先ESB名232など)の組み合わせである配備情報とを入力として、ビジネスプロセスの再構成を行う(ステップS1102)。本ステップで適用するビジネスプロセス再構成アルゴリズムは後記する。
ビジネスプロセス配布プログラム433は、ステップS1102で行ったビジネスプロセスの再構成によって新たに定義されたビジネスプロセスを、該ビジネスプロセスを実行するESBに配布する(ステップS1103)。配布する際には、ネットワーク1001、ESB実行計算機201、ネットワーク1000を介して配布される。配布先ESBのアドレスは、配布先のESB名241をキーとして、連携先ESB情報管理テーブル240を検索することにより取得することができる。配布を行う前に、ビジネスプロセス配布プログラム433は、配布先ESB上に配備されたサービスのサービス名231を、配備先ESB名232をキーとしてサービス配備状況管理テーブル230から取得し、取得したサービス名231によって指定されるサービスのサービス概要252を、サービス名251をキーとして提供サービス一覧管理テーブル250から取得し、配布するビジネスプロセスと同一の機能を実行するサービス(ビジネスプロセス)が配布先ESB上に既に配備されているかどうかの確認を行う機能を有してもよい。この機能を用いて、同一の機能を持つサービス(ビジネスプロセス)が既に存在している場合には、新たなビジネスプロセスを配布せず、すでに定義されているサービス(ビジネスプロセス)を利用するように、ビジネスプロセスの定義を変更することで、同一機能を持つ複数のサービス(ビジネスプロセス)が、同一のESB上に配備されないようにすることができる。また、ビジネスプロセス配布プログラム433は、新たに定義されたビジネスプロセスを、該ビジネスプロセスを実行するESBに配布するとともに、サービス配備状況管理テーブル230及び提供サービス一覧管理テーブル250にデータを登録する。データを登録する際、ビジネスプロセス配布プログラム433は、新たに定義されたビジネスプロセスを特定可能な情報及び該ビジネスプロセスを実行するESBを、例えば、サービス名231及び配備先ESB名232としてサービス配備状況管理テーブル230に登録し、新たに定義されたビジネスプロセスを特定可能な情報及び該ビジネスプロセスの概要を、例えば、サービス名251及びサービス概要252として提供サービス一覧管理テーブル250に登録する。
ビジネスプロセス解析・再構成プログラム430の実行終了後、システム管理者810は、ビジネスプロセス配備プログラム440を用いて、ステップS1103で配布されたビジネスプロセスをESBに配備する。前記手順では、ステップS1103において配布したビジネスプロセスを、システム管理者810が手動で配備しているが、ビジネスプロセス配備プログラム440がビジネスプロセスを自動的にESBに配備する機能を有する場合には、配布されたビジネスプロセスを自動的に配備してもよい。
以降では、前記ステップS1102で実行されるビジネスプロセス再構成アルゴリズムについて、説明を行う。
ビジネスプロセス再構成アルゴリズムは、ビジネスプロセスを構成するアクティビティに対して割り当てられたサービスの配備先ESB情報(配備先ESB名)を用いて、ESB間連携回数が削減されるようにビジネスプロセスを再構成するアルゴリズムであり、ビジネスプロセス再構成プログラム432で実行される。図8は、ビジネスプロセス再構成アルゴリズムの処理フローを示している。以下、図8を参照して(適宜図1ないし図6参照)、ビジネスプロセス再構成アルゴリズムについて説明する。
はじめに、前記ステップS1101で行ったビジネスプロセスを構成するアクティビティへのサービスの割り当て結果を用いて、ビジネスプロセスの配備先ESBと同一のESBに配備されているサービスの呼び出しを行うアクティビティを列挙する(ステップS1201)。図9は、ESB−A(210)に配備されるビジネスプロセスの例を示す図である。例えば、図9に示すビジネスプロセスA(1400)の例では、ビジネスプロセスA(1400)の配備先ESBであるESB−A(210)に配備されているサービスである、サービスA1、及びサービスA2の呼び出しをそれぞれ行うアクティビティ1404、及びアクティビティ1409が列挙される。ここで、ビジネスプロセスA(1400)は、システム管理者810によってSOAシステムA(101)のシステム管理用計算機400に入力されたものであるため、そのシステム管理用計算機400と同一のSOAシステムである(そのシステム管理用計算機400とネットワーク1001を介して通信可能である)SOAシステムA(101)に属するESB実行計算機201のESB−A(210)がビジネスプロセスA(1400)の配備先ESBである。ただし、ビジネスプロセスA(1400)を再構成した結果、新たに定義されるビジネスプロセスの配備先となるESB実行計算機は、後記する処理によって決定される。
前記ステップS1201で列挙したアクティビティとアクティビティの間を一つの領域として、ビジネスプロセスを領域分割する(ステップS1202)。なお、ここでの領域とは、ビジネスプロセスに定義された0個以上の連続するアクティビティを包含する、ビジネスプロセスの一部を表すこととする。例えば、図9に示すビジネスプロセスA(1400)では、アクティビティ1404の前までを一つの領域1401、アクティビティ1404とアクティビティ1409の間を一つの領域1402、アクティビティ1409以降を一つの領域1403として、領域分割が行われる。領域1401、領域1403のように、領域にサービスが含まれない場合も存在する。
ここで、ビジネスプロセスが制御構造を含む場合、制御構造の前後においてもビジネスプロセスの領域分割を行う。制御構造を含むビジネスプロセスの例を図10に示す。ここで、制御構造とは、ビジネスプロセスにおいてフロー制御を行うアクティビティを表すこととし、その例として分岐処理や並列処理がある。分岐処理とは、クライアント820が入力するデータ(在庫管理サービスを受ける場合であれば在庫数など)やサービスの状態(サービスの実行結果など)によって、ビジネスプロセス実行時のフローを選択(制御)するための制御構造である。図10の例においては、制御構造が分岐処理であった場合には、ある条件が満たされた場合にはサービスA3が、条件が満たされない場合にはサービスA4が実行されることが定義されたビジネスプロセスとなる。また、並列処理とは、複数の処理フローを並行に処理するための制御構造である。図10の例においては、制御構造が並列処理であった場合には、サービスB2を実行後、サービスA3とサービスA4を並行して実行することが可能であり、サービスA3、サービスA4の両方の処理が終了した後、サービスC1が実行されることが定義されたビジネスプロセスとなる。
図10に示す例では、サービスA1の前までを一つの領域1601、サービスA1と制御構造の開始までの間を一つの領域1602、制御構造の終了後からサービスA2の間を一つの領域1603、サービスA2以降を一つの領域1604として、領域分割が行われる。また、ビジネスプロセスが制御構造を含む場合、その制御構造の内部には、1つ、または複数のフローが定義される。図10の例では、2つのフローが記述された例を示している。これら制御構造内部のフローに対しては、ビジネスプロセス再構成アルゴリズムを再帰的に実行する。図10の例では、制御構造内部のフローとしてフロー1605、及びフロー1606が存在しており、これらのフローに対し、ビジネスプロセス再構成アルゴリズムを再帰的に実行する。
前記のように、制御構造を含むビジネスプロセスの領域分割を再帰的に実行することで、最終的に分割された領域は、制御構造を含まず、サービス呼び出しを行うアクティビティのみで構成することが可能となる。
なお、本実施形態は制御構造が含まれないビジネスプロセスの再構成方法について説明を行っているが、本実施形態は、制御構造を含むビジネスプロセスの再構成を行うことを制限するものではない。
前記ステップ1202で分割された各領域に対して領域解析アルゴリズムを適用する(ステップS1203)。領域解析アルゴリズムの詳細は後記する。
前記ステップS1203において、新たなビジネスプロセスが定義された場合には、新たに定義されたすべてのビジネスプロセスに対し、前記ステップS1201〜S1203を再帰的に適用するのが好ましい。ステップS1203において、新たなビジネスプロセスが定義されなかった場合には、アルゴリズムを終了する。
以降では、前記ステップS1203において実行される領域解析アルゴリズムについて、説明を行う。領域解析アルゴリズムは、領域内に包含されているアクティビティを新たなビジネスプロセスとして定義するためのアルゴリズムであり、ビジネスプロセス再構成プログラム432において実行される。
図11は、領域解析アルゴリズムの処理フローを示している。
はじめに、領域中の最初のサービスをSに設定する(ステップS1301)。つまり、領域中の最初のアクティビティによって呼び出されるサービスを取得してSに設定する。図9に示す領域1402の例では、領域1402の最初のアクティビティであるアクティビティ1405によって呼び出されるサービスB1がSに設定される。
次に、ビジネスプロセス再構成プログラム432は、Sに割り当てられたサービスの配備先ESBを確認する。つまり、ビジネスプロセス再構成プログラム432は、Sの配備先ESBをEとする(ステップS1302)。図9に示す領域1402の例では、サービスB1の配備先ESBが、ESB−Bであることが確認される。配備先ESBは、ステップS1101で取得済みである。
続いて、領域中にEに配備されたサービスが割り当てられたアクティビティが存在するか否かを確認する。つまり、Eに配備されたS以外のサービスが領域中に存在するか否かを判定する(ステップS1303)。図9に示す領域1402の例では、サービスB2が割り当てられたアクティビティ1406が存在する。つまり、Eに配備されたS以外のサービスB2が領域1402中に存在することが確認される。
他のアクティビティが存在しなかった場合、つまり、Eに配備されたS以外のサービスが領域中に存在しなかった場合には(ステップS1303で「No」)、ステップS1308に進む。
一つもしくは複数のアクティビティが存在した場合、つまり、Eに配備されたS以外のサービスが領域中に存在した場合には(ステップS1303で「Yes」)、領域から、Eに配備されたS以外のサービスのうち、最後に呼び出されるサービスを探索してLに設定する(ステップS1304)。図9に示す領域1402の例では、サービスB2が選択される。
その後、SからLまでのビジネスプロセス定義をEに配備する新たなビジネスプロセスとして定義する(ステップS1305)。入力されたビジネスプロセスから一部のビジネスプロセスを切り出し、新たなビジネスプロセスとして定義するための、ビジネスプロセス分割アルゴリズムは後記する。
SからLまでの定義を元のビジネスプロセスから削除し、新たに定義したビジネスプロセスを呼び出すように定義を変更する(ステップS1306)。図9に示すビジネスプロセスA(1400)からアクティビティ1405、アクティビティ1406を切り出し、新たなビジネスプロセスとして再定義した結果を、図12に示す。図12に示すビジネスプロセスA(1410)では、サービスA1を実行した後、ビジネスプロセスB(1420)を実行し、続いてサービスC1、サービスC2、サービスA2を実行することが定義されている。ここで、ビジネスプロセスB(1420)には、サービスB1、サービスB2を順番に実行することが定義されていることから、ビジネスプロセスA(1410)を実行すると、サービスA1、サービスB1、サービスB2、サービスC1、サービスC2、サービスA2の順番で実行されるため、分割前のビジネスプロセスであるビジネスプロセスA(1400)と同一のサービス実行手順が定義されていることになる。また、サービスB1、サービスB2の順番で実行されるサービスの組み合わせを、ここでは、サービスBBと表している。
ステップS1306の実行後、新たなSとしてLを設定して(ステップS1307)、ステップS1308に進む。
続いて、Sの実行が領域の最後のアクティビティであるか否かを判定する。つまり、Sが領域の最後のサービスであるか否かを判定する(ステップS1308)。Sが最後のサービスの場合には(ステップS1308で「Yes」)、アルゴリズムは終了する。
Sが最後のサービスでない場合には、Sの次のサービスを新たなSとして(ステップS1309)、ステップS1302に戻る。
図9に示すビジネスプロセスA(1400)では、領域1402中にアクティビティ1407、アクティビティ1408が含まれていることから、アクティビティ1407が実行するサービスC1を新たなSとしてステップS1302に戻る。アクティビティ1407が実行するサービスC1をSとしてアルゴリズムを実行した結果を、図13に示す。図13では、サービスC1、サービスC2を順番に実行するビジネスプロセスC(1450)が新たに定義され、ビジネスプロセスA(1430)から呼び出されていることを示している。また、サービスC1、サービスC2の順番で実行されるサービスの組み合わせを、ここでは、サービスCCと表している。
以降では、前記ステップS1305において適用されるビジネスプロセス分割アルゴリズムについて説明する。ビジネスプロセス分割アルゴリズムは、ビジネスプロセス再構成プログラム432において実行される。
ビジネスプロセスを複数のビジネスプロセスに分割する場合、分割元のビジネスプロセスから分割するサービス呼び出しと同一の定義を持つ新たなビジネスプロセスの定義を行い、分割元のビジネスプロセスから新たに定義したビジネスプロセスを呼び出すように、定義の変更を行えばよい。ただし、分割元のビジネスプロセスが変数宣言を行っている場合には、以下の方法でビジネスプロセスの分割を行う。
ビジネスプロセスにおける変数とは、ビジネスプロセスを構成するアクティビティで使用するメッセージインスタンスを格納するための領域のことであり、サービス呼び出しの入出力メッセージや、分岐処理の分岐条件などに用いることができる。
変数を定義したビジネスプロセスを分割する場合、分割したビジネスプロセスにおいても、分割元のビジネスプロセスと同一の変数を利用できる必要がある。このため、分割先のビジネスプロセスでは、分割元のビジネスプロセスで定義されている変数定義と同一の変数定義を行う。分割先のビジネスプロセスに定義された変数の値は、分割先のビジネスプロセスを呼び出す際、メッセージの一部分として変数の値を送付することで、値の割り当てを可能にする。また、分割先のビジネスプロセス実行後の変数の値を分割元のビジネスプロセスに伝達するために、分割先のビジネスプロセスから分割元のビジネスプロセスに送信するメッセージに、変数の状態を付加する。
変数を定義したビジネスプロセスの例として、図14にビジネスプロセスA(1700)を示す。なお、ビジネスプロセスA(1700)はESB−Aに配備されることとする。ビジネスプロセスA(1700)では、変数宣言1701に示すように、変数として変数1、変数2、変数3の宣言を行っている。また、図14に示す例では、サービスB1の入力メッセージの形式としてメッセージB1(1702)、サービスB2の出力メッセージの形式としてメッセージB2(1703)を用いている。
ビジネスプロセスA(1700)を、ビジネスプロセス解析・再構成プログラム430を用いて再構成した結果を、図15に示す。図15では、ESB−Bに配備されたサービスであるサービスB1、サービスB2の呼び出しを行うビジネスプロセスB(1720)が新たに定義されており、ビジネスプロセスA(1710)から呼び出しが行われる。ここで、ビジネスプロセスB(1720)では、ビジネスプロセスA(1700)と同様に変数宣言1704が行われる。さらに、ビジネスプロセスA(1710)からビジネスプロセスB(1720)を呼び出す際には、サービスB1の入力メッセージ形式であるメッセージB1(1702)に加えて、変数の値を送付するメッセージ1705が送付されており、ビジネスプロセスB(1720)からビジネスプロセスA(1710)への返信時には、サービスB2の出力メッセージ形式であるメッセージB2(1703)に加え、ビジネスプロセスB(1720)実行後の変数の値を送付するメッセージ1706が送付されている。
前記のように、変数を含むビジネスプロセスを分割する場合、分割先のビジネスプロセスに分割元のビジネスプロセスと同等の変数宣言を行い、分割先ビジネスプロセスの入出力メッセージに変数の値を付加することで、分割を行うことができる。
なお、図15の例では分割先のビジネスプロセスに分割元のビジネスプロセスで定義されたすべての変数を定義しているが、分割先のビジネスプロセスで使用する変数のみ定義してもよい。
以上で説明したように、ステップS1102では、システム管理用計算機400は、ビジネスプロセスの定義情報が入力されたビジネスプロセス解析・再構成プログラム430を格納しているシステム管理用計算機400と異なるSOAシステムに属するESB実行計算機で実行できる複数の連続するサービスの組み合わせをビジネスプロセス定義情報から抽出する。そして、システム管理用計算機400は、抽出したサービスの組み合わせを、前記したシステム管理用計算機400と異なるSOAシステムに属するESB実行計算機に配備される新たなビジネスプロセスとして定義して、ビジネスプロセスを新たなビジネスプロセスを呼び出すビジネスプロセスとして再構成を行う。以降では、ビジネスプロセス開発者800が定義したビジネスプロセスA(1400)(図9参照)に対し、本実施形態によるビジネスプロセスの再構成を適用した場合の効果について説明する。図16は、本実施形態によるビジネスプロセスの再構成を実施せず、ビジネスプロセス開発者800が定義したビジネスプロセスA(1400)(図9参照)をそのまま実行した際の、シーケンス図を示している。図16に示すように、ビジネスプロセスA(1400)の実行時には、サービスB1、サービスB2、サービスC1、及びサービスC2の各サービスを実行する際に、それぞれESB−AとESB−Bとの間、ESB−AとESB−Bとの間、ESB−AとESB−Cとの間、ESB−AとESB−Cとの間で、サービスを実行するための連携が行われており、合計4回の連携が行われている。
一方、ビジネスプロセスA(1400)に対して、本実施形態によるビジネスプロセスの再構成を適用した結果のビジネスプロセスである、ビジネスプロセスA(1430)(図13参照)を実行した際のシーケンス図を、図17に示す。図17に示すように、本実施形態によるビジネスプロセスの再構成を適用した結果のビジネスプロセスA(1430)(図13参照)では、サービスB1、サービスB2を連続して実行するビジネスプロセスB(1440)(図13参照)と、サービスC1、サービスC2を連続して実行するビジネスプロセスC(1450)(図13参照)が定義されており、ビジネスプロセスA(1430)(図13参照)から呼び出しが行われている。このため、ビジネスプロセスA(1430)(図13参照)の実行時に必要なESB間連携が2回に低減されている。したがって、本実施形態によるビジネスプロセスの再構成により、ビジネスプロセスの実行時に行われる非効率なESB間連携が削減されている。また、ビジネスプロセスの実行時に必要なESB間連携回数が削減されていることから、ビジネスプロセスの実行に必要なESB実行計算機の計算量を削減することによるESB実行計算機のスループットの向上や、ネットワークの通信量が削減される効果が得られる。
次に、第二の実施形態について、図面を用いて説明を行う。
第二の実施形態におけるSOAシステムの例を、図18に示す。図2に示した第一の実施形態におけるSOAシステムとの差異は、ビジネスプロセス解析・再構成部410が、ビジネスプロセス再構成履歴管理部414を有することと、システム管理用計算機400がビジネスプロセス再構成履歴管理テーブル260を有することである。
ビジネスプロセス再構成履歴管理テーブル260は、システム管理用計算機400の主記憶装置940(図3参照)に格納される。ただし、ビジネスプロセス再構成履歴管理テーブル260は、ビジネスプロセス解析・再構成処理部410に包含されてもよく、また、二次記憶装置950(図3参照)に格納されてもよい。
ビジネスプロセス再構成履歴管理部414は、システム管理用計算機400の主記憶装置940(図3参照)に格納され、CPU900(図3参照)により実行されるソフトウェアとして実装することができるが、これに限定されず、半導体回路などの専用ハードウェアとして実装してもよい。ビジネスプロセス再構成履歴管理部414は、ビジネスプロセス解析・再構成処理部410を用いて再構成されたビジネスプロセスについて、再構成を行う前のビジネスプロセスと、再構成を行った後のビジネスプロセスを関連付けるための履歴情報を、ビジネスプロセス再構成履歴管理テーブル260を用いて管理する機能を有する。なお、本実施形態では、ビジネスプロセス再構成履歴管理部414は、CPU900によって実行されるソフトウェアとして実現されているものとするが、説明の関係上、以降では、必要に応じてビジネスプロセス再構成履歴管理部414を実行主体として説明を行う。
ビジネスプロセス再構成履歴管理テーブル260の構成を、図19に示す。ビジネスプロセス再構成履歴管理テーブル260は、再構成前のビジネスプロセス名を格納するカラムである再構成前名称261と、再構成後のビジネスプロセス名を格納するカラムである再構成後名称262とから構成されており、ビジネスプロセス再構成履歴管理部414は、再構成前のビジネスプロセス名と、再構成後のビジネスプロセス名とを関連付けて情報を格納する。すなわち、再構成前のビジネスプロセス名が同一のビジネスプロセスは、すべて同一のビジネスプロセスを再構成した結果、得られたビジネスプロセスであることを示している。例えば、図19に示す例では、ビジネスプロセス開発者800が定義したビジネスプロセスAを再構成した結果、ビジネスプロセスA、ビジネスプロセスB、ビジネスプロセスCの3つのビジネスプロセスとして再構成されたことを示している。同様に、ビジネスプロセスDを再構成した結果として、ビジネスプロセスD、ビジネスプロセスE、ビジネスプロセスF、ビジネスプロセスGの4つのビジネスプロセスとして、再構成されたことを示している。なお、ビジネスプロセスの関連付けを行うための情報は、ビジネスプロセスを特定可能な情報であればよく、ビジネスプロセスの名称に限定されるものではない。
本実施形態では、ビジネスプロセス配備部420がビジネスプロセス再構成履歴管理テーブル260に格納された情報を用いて、再構成前のビジネスプロセスと再構成後のビジネスプロセスの関連付けを行う機能を有することとする。この機能により、システム管理者810は、再構成前のビジネスプロセスの定義情報を用いて、ビジネスプロセスのESBへの配備や削除、ビジネスプロセスの定義変更などの操作を行うことができる。これにより、システム管理者810は、ビジネスプロセスの再構成を行い、ビジネスプロセスが複数のビジネスプロセスに分割された場合でも、再構成を行わなかった場合と同様にビジネスプロセスの操作を行うことが可能となる。
また、ビジネスプロセス再構成履歴管理部414では、ビジネスプロセスの再構成結果を格納する際、再構成されたビジネスプロセスが既に定義されていたものかどうかを調査するために、ビジネスプロセス名をキーとしてビジネスプロセス再構成履歴管理テーブル260の検索を行う。もし、ビジネスプロセスが新たに定義されたものであった場合(登録しようとするビジネスプロセス名と一致する再構成前名称261が存在しない場合)には、ビジネスプロセス再構成履歴管理部414は新たな関連付け情報として、ビジネスプロセス再構成履歴管理テーブル260に情報を格納する。もし、再構成されたビジネスプロセスと同一名称を持つビジネスプロセスが既に定義されていた場合(登録しようとするビジネスプロセス名と一致する再構成前名称261が存在する場合)には、該ビジネスプロセスの定義が変更されたことを表している。このため、ビジネスプロセス再構成履歴管理テーブル260に既に存在している情報(再構成前名称261が、登録しようとするビジネスプロセス名と一致するデータ)を削除してから、改めて関連付け情報を格納する。これにより、ビジネスプロセス開発者800は、ビジネスプロセスが再構成されているかどうかに関わらず、再構成前のビジネスプロセスの定義情報を用いて、ビジネスプロセスの定義変更を行うことができる。
本実施形態によれば、ビジネスプロセスの再構成を行い、ビジネスプロセス実行時のESB間連携回数を低減することにより、ビジネスプロセスの実行に必要なESBの計算量を低減することができ、ESBのスループットを向上することが可能となる。さらには、ESB間の通信回数を低減することによるネットワーク負荷の軽減や、ビジネスプロセス実行時のレスポンスタイムを改善することが可能となる。
第一の実施形態におけるシステム全体の構成図の例である。 第一の実施形態におけるSOAシステムの構成図の例である。 図1のシステム管理用計算機400の構成図の例である。 図2の連携先ESB情報管理テーブル240の構成図の例である。 図2のサービス配備状況管理テーブル230の構成図の例である。 図2の提供サービス一覧管理テーブル250の構成図の例である。 本実施形態の実施手順のフローチャートの例であり、ビジネスプロセス解析部、ビジネスプロセス再構成部、及びビジネスプロセス配布部の処理実行順序を示す図である。 図7のビジネスプロセス定義の再構成アルゴリズムの処理フローを示す図であり、ビジネスプロセス再構成部で実行される処理のフローを示す図である。 ビジネスプロセスの定義例である。 制御構造を含むビジネスプロセスの定義例である。 図8の領域解析アルゴリズムのフローチャートの例である。 ビジネスプロセス再構成における途中経過の例である。 ビジネスプロセス再構成結果の例である。 変数宣言を含むビジネスプロセスの定義例である。 変数宣言を含むビジネスプロセスの再構成結果の例である。 ビジネスプロセス再構成アルゴリズム適用前のビジネスプロセス実行時シーケンス図の例である。 ビジネスプロセス再構成アルゴリズム適用後のビジネスプロセス実行時シーケンス図の例である。 第二の実施形態におけるSOAシステムの構成図の例である。 図18のビジネスプロセス再構成履歴管理テーブルの構成図の例である。
符号の説明
101,102,103 SOAシステム(サブシステム)
201,202,203 ESB実行計算機(ビジネスプロセス処理装置)
210 ESB
221 ビジネスプロセス実行機能
222 ESB連携状態監視機能
223 ESB間連携機能
230 サービス配備状況管理テーブル(配備情報)
240 連携先ESB情報管理テーブル
250 提供サービス一覧管理テーブル
300 ビジネスプロセス開発用計算機
310 ビジネスプロセス開発機能
400 システム管理用計算機
410 ビジネスプロセス解析・再構成処理部
411 ビジネスプロセス解析部
412 ビジネスプロセス再構成部
413 ビジネスプロセス配布部
420 ビジネスプロセス配備部
430 ビジネスプロセス解析・再構成プログラム
431 ビジネスプロセス解析プログラム
432 ビジネスプロセス再構成プログラム
433 ビジネスプロセス配布プログラム
440 ビジネスプロセス配備プログラム
501,502,503,504,505,506 サービス実行計算機
510 サービス実行基盤
601 サービスA1
602 サービスA2
603 サービスA3
604 サービスA4
605 サービスB1
606 サービスB2
607 サービスC1
608 サービスC2
701,702,703 クライアント用計算機
710 サービス呼び出し基盤
800 ビジネスプロセス開発者
810 システム管理者
820 クライアント
900 CPU(処理部)
910 ネットワークインタフェース
920 グラフィックインタフェース
921 画像表示装置
930 ユーザ入力インタフェース
940 主記憶装置(記憶部)
950 二次記憶装置
960 システムバス
970 OS
1000,1001 ネットワーク

Claims (19)

  1. 1または複数の計算機と、ビジネスプロセス処理装置とが通信可能にされたサブシステムにおけるビジネスプロセス処理装置が、他の1または複数のサブシステムにおけるビジネスプロセス処理装置とネットワークを介して連携してビジネスプロセスを処理するビジネスプロセス処理システムに使用され、ビジネスプロセスを構成するサービスを特定可能な情報及び前記サービスが配備されたビジネスプロセス処理装置を対応させた配備情報とビジネスプロセスが定義されたビジネスプロセス定義情報とを記憶する記憶部と、
    情報を処理する処理部と
    を備えた計算機によるビジネスプロセス再構成方法であって、
    前記処理部は、
    前記配備情報に基づいて、前記計算機と同一のサブシステムに属するビジネスプロセス処理装置と異なるビジネスプロセス処理装置で実行可能な複数の連続するサービスの組み合わせを前記ビジネスプロセス定義情報から抽出し、
    抽出した前記サービスの組み合わせを前記異なるビジネスプロセス処理装置に配備される新たなビジネスプロセスとして定義し、前記ビジネスプロセスを前記新たなビジネスプロセスを呼び出すビジネスプロセスとして再構成を行う
    ことを特徴とするビジネスプロセス再構成方法。
  2. 前記記憶部は、
    前記サービスに付与された名称を、前記サービスを特定する情報として記憶する
    ことを特徴とする請求項1に記載のビジネスプロセス再構成方法。
  3. 前記処理部は、
    前記ビジネスプロセスを再構成した後に、
    前記新たなビジネスプロセスを、前記計算機と同一のサブシステムに属するビジネスプロセス処理装置を介して、当該新たなビジネスプロセスを実行するビジネスプロセス処理装置に配布する
    ことを特徴とする請求項1または請求項2に記載のビジネスプロセス再構成方法。
  4. 前記処理部は、
    前記新たなビジネスプロセスを配布した後、当該新たなビジネスプロセスが配布されたビジネスプロセス処理装置に、当該新たなビジネスプロセスを配備する
    ことを特徴とする請求項3に記載のビジネスプロセス再構成方法。
  5. 前記処理部は、
    前記ビジネスプロセスを再構成した後に、
    前記新たなビジネスプロセスを実行するビジネスプロセス処理装置に、前記新たなビジネスプロセスと同一の機能を持つビジネスプロセスが抽出された場合、前記新たなビジネスプロセスの代替として前記抽出されたビジネスプロセスを用いるように、前記ビジネスプロセスの定義を変更する
    ことを特徴とする請求項1ないし請求項4のいずれか1項に記載のビジネスプロセス再構成方法。
  6. 前記処理部は、
    前記配備情報に基づいて、前記計算機と同一のサブシステムに属するビジネスプロセス処理装置に配備されているサービスを前記ビジネスプロセス定義情報から列挙し、
    列挙したサービスとサービスとの間を一つの領域として、前記ビジネスプロセスを領域分割し、
    前記領域内において、複数の連続するサービスの組み合わせであり、かつ、当該サービスの組み合わせの中で最初のサービスおよび最後のサービスが同一のビジネスプロセス処理装置で実行可能な前記サービスの組み合わせを前記ビジネスプロセス定義情報から抽出し、
    抽出した前記サービスの組み合わせを前記異なるビジネスプロセス処理装置に配備される新たなビジネスプロセスとして定義する
    ことを特徴とする請求項1ないし請求項5のいずれか1項に記載のビジネスプロセス再構成方法。
  7. 前記処理部は、
    前記ビジネスプロセスが変数の宣言を含む場合、前記新たなビジネスプロセスに前記変数の値を通知する
    ことを特徴とする請求項1ないし請求項6のいずれか1項に記載のビジネスプロセス再構成方法。
  8. 前記記憶部は、
    再構成前のビジネスプロセスと、再構成後のビジネスプロセスとの関連付け情報をさらに記憶し、
    前記処理部は、
    前記関連付け情報から、前記再構成前のビジネスプロセスを指定した処理を、前記再構成後のビジネスプロセスを指定した処理に変換する
    ことを特徴とする請求項1ないし請求項7のいずれか1項に記載のビジネスプロセス再構成方法。
  9. 前記処理部は、
    前記再構成前のビジネスプロセスを指定した処理として、前記ビジネスプロセス処理装置へのビジネスプロセス配備処理、前記ビジネスプロセス処理装置からのビジネスプロセス削除処理、及びビジネスプロセスの定義変更処理のうち、すくなくともひとつの処理を含んで実行する
    ことを特徴とする請求項8に記載のビジネスプロセス再構成方法。
  10. 請求項1ないし請求項9のいずれか1項に記載のビジネスプロセス再構成方法をコンピュータに実行させるためのビジネスプロセス再構成プログラム。
  11. 1または複数の計算機と、ビジネスプロセス処理装置とが通信可能にされたサブシステムにおけるビジネスプロセス処理装置が、他の1または複数のサブシステムにおけるビジネスプロセス処理装置とネットワークを介して連携してビジネスプロセスを処理するビジネスプロセス処理システムに使用される計算機であって、
    ビジネスプロセスを構成するサービスを特定可能な情報及び前記サービスが配備されたビジネスプロセス処理装置を対応させた配備情報とビジネスプロセスが定義されたビジネスプロセス定義情報とを記憶する記憶部と、情報を処理する処理部と
    を備え、
    前記処理部は、
    前記配備情報に基づいて、前記計算機と同一のサブシステムに属するビジネスプロセス処理装置と異なるビジネスプロセス処理装置で実行可能な複数の連続するサービスの組み合わせを前記ビジネスプロセス定義情報から抽出し、
    抽出した前記サービスの組み合わせを前記異なるビジネスプロセス処理装置に配備される新たなビジネスプロセスとして定義し、前記ビジネスプロセスを前記新たなビジネスプロセスを呼び出すビジネスプロセスとして再構成を行う
    ことを特徴とする計算機。
  12. 前記記憶部は、
    前記サービスに付与された名称を、前記サービスを特定する情報として記憶する
    ことを特徴とする請求項11に記載の計算機。
  13. 前記処理部は、
    前記ビジネスプロセスを再構成した後に、
    前記新たなビジネスプロセスを、前記計算機と同一のサブシステムに属するビジネスプロセス処理装置を介して、当該新たなビジネスプロセスを実行するビジネスプロセス処理装置に配布する
    ことを特徴とする請求項11または請求項12に記載の計算機。
  14. 前記処理部は、
    前記新たなビジネスプロセスを配布した後、当該新たなビジネスプロセスが配布されたビジネスプロセス処理装置に、当該新たなビジネスプロセスを配備する
    ことを特徴とする請求項13に記載の計算機。
  15. 前記処理部は、
    前記ビジネスプロセスを再構成した後に、
    前記新たなビジネスプロセスを実行するビジネスプロセス処理装置に、前記新たなビジネスプロセスと同一の機能を持つビジネスプロセスが抽出された場合、前記新たなビジネスプロセスの代替として前記抽出されたビジネスプロセスを用いるように、前記ビジネスプロセスの定義を変更する
    ことを特徴とする請求項11ないし請求項14のいずれか1項に記載の計算機。
  16. 前記処理部は、
    前記配備情報に基づいて、前記計算機と同一のサブシステムに属するビジネスプロセス処理装置に配備されているサービスを前記ビジネスプロセス定義情報から列挙し、
    列挙したサービスとサービスとの間を一つの領域として、前記ビジネスプロセスを領域分割し、
    前記領域内において、複数の連続するサービスの組み合わせであり、かつ、当該サービスの組み合わせの中で最初のサービスおよび最後のサービスが同一のビジネスプロセス処理装置で実行可能な前記サービスの組み合わせを前記ビジネスプロセス定義情報から抽出し、
    抽出した前記サービスの組み合わせを前記異なるビジネスプロセス処理装置に配備される新たなビジネスプロセスとして定義する
    ことを特徴とする請求項11ないし請求項15のいずれか1項に記載の計算機。
  17. 前記処理部は、
    前記ビジネスプロセスが変数の宣言を含む場合、前記新たなビジネスプロセスに前記変数の値を通知する
    ことを特徴とする請求項11ないし請求項16のいずれか1項に記載の計算機。
  18. 前記記憶部は、
    再構成前のビジネスプロセスと、再構成後のビジネスプロセスとの関連付け情報をさらに記憶し、
    前記処理部は、
    前記関連付け情報から、前記再構成前のビジネスプロセスを指定した処理を、前記再構成後のビジネスプロセスを指定した処理に変換する
    ことを特徴とする請求項11ないし請求項17のいずれか1項に記載の計算機。
  19. 前記処理部は、
    前記再構成前のビジネスプロセスを指定した処理として、前記ビジネスプロセス処理装置へのビジネスプロセス配備処理、前記ビジネスプロセス処理装置からのビジネスプロセス削除処理、及びビジネスプロセスの定義変更処理のうち、すくなくともひとつの処理を含んで実行する
    ことを特徴とする請求項18に記載の計算機。
JP2007240393A 2007-01-25 2007-09-18 ビジネスプロセス再構成方法、そのプログラム及び計算機 Expired - Fee Related JP4701220B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007240393A JP4701220B2 (ja) 2007-01-25 2007-09-18 ビジネスプロセス再構成方法、そのプログラム及び計算機

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007014885 2007-01-25
JP2007014885 2007-01-25
JP2007240393A JP4701220B2 (ja) 2007-01-25 2007-09-18 ビジネスプロセス再構成方法、そのプログラム及び計算機

Publications (2)

Publication Number Publication Date
JP2008204430A true JP2008204430A (ja) 2008-09-04
JP4701220B2 JP4701220B2 (ja) 2011-06-15

Family

ID=39668965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007240393A Expired - Fee Related JP4701220B2 (ja) 2007-01-25 2007-09-18 ビジネスプロセス再構成方法、そのプログラム及び計算機

Country Status (2)

Country Link
US (1) US20080183479A1 (ja)
JP (1) JP4701220B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010073211A (ja) * 2009-09-18 2010-04-02 Bank Of Tokyo-Mitsubishi Ufj Ltd サービス処理装置、システム、プログラム及び記録媒体
JP2010231539A (ja) * 2009-03-27 2010-10-14 Nec Corp バス型メッセージ交換システム、バス型メッセージ交換方法及びプログラム
JP2011034392A (ja) * 2009-08-03 2011-02-17 Mitsubishi Electric Corp サービス連携装置、サービス連携方法及びサービス連携プログラム
WO2012114889A1 (ja) * 2011-02-23 2012-08-30 日本電気株式会社 アプリケーション構築配置システム、アプリケーション構築配置方法、およびプログラム
US9325808B2 (en) 2012-04-26 2016-04-26 International Business Machines Corporation Message handling in a data processing system

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560938B2 (en) * 2008-02-12 2013-10-15 Oracle International Corporation Multi-layer XML customization
US8095670B2 (en) * 2007-09-11 2012-01-10 International Business Machines Protocol for enabling dynamic and scalable federation of enterprise service buses
US8788542B2 (en) 2008-02-12 2014-07-22 Oracle International Corporation Customization syntax 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
US8538998B2 (en) * 2008-02-12 2013-09-17 Oracle International Corporation Caching and memory optimizations for multi-layer XML customization
US8875306B2 (en) 2008-02-12 2014-10-28 Oracle International Corporation Customization restrictions for multi-layer XML customization
US8782604B2 (en) 2008-04-11 2014-07-15 Oracle International Corporation Sandbox support for metadata in running applications
US8667031B2 (en) * 2008-06-13 2014-03-04 Oracle International Corporation Reuse of shared metadata across applications via URL protocol
JP5136238B2 (ja) * 2008-06-25 2013-02-06 富士通株式会社 サービスバス連携方法及びサービスバス
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
US9122520B2 (en) 2008-09-17 2015-09-01 Oracle International Corporation Generic wait service: pausing a BPEL process
US8332654B2 (en) * 2008-12-08 2012-12-11 Oracle International Corporation Secure framework for invoking server-side APIs using AJAX
US8869108B2 (en) 2009-11-18 2014-10-21 Oracle International Corporation Techniques related to customizations for composite applications
US8688499B1 (en) * 2011-08-11 2014-04-01 Google Inc. System and method for generating business process models from mapped time sequenced operational and transaction data
US8954942B2 (en) 2011-09-30 2015-02-10 Oracle International Corporation Optimizations using a BPEL compiler
JP2014010703A (ja) * 2012-06-29 2014-01-20 International Business Maschines Corporation 情報処理システムの連携を支援するシステム、装置および連携方法
US10848384B2 (en) * 2015-09-04 2020-11-24 Celonis Se Method for determining parallel process paths in process data
US10503787B2 (en) 2015-09-30 2019-12-10 Oracle International Corporation Sharing common metadata in multi-tenant environment
US11714615B2 (en) 2020-09-18 2023-08-01 International Business Machines Corporation Application migration using cost-aware code dependency graph

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049493A (ja) * 2000-08-04 2002-02-15 Hitachi Ltd プログラム制御情報生成方法およびシステム並びにその処理プログラムを格納した記録媒体
JP2005535980A (ja) * 2002-08-15 2005-11-24 ジェイジーアール アクイジション インコーポレイテッド Bpss会話管理とローカル・ビジネス管理との間の動的インターフェース
JP2005539324A (ja) * 2002-09-18 2005-12-22 ジェイジーアール アクイジション インコーポレイテッド ウェブサービスとしてのプロセスフロー及びコレオグラフィーコントローラの提示

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745901A (en) * 1994-11-08 1998-04-28 Kodak Limited Workflow initiated by graphical symbols
JPH09134282A (ja) * 1995-11-08 1997-05-20 Hitachi Ltd プログラム作成方法
US6427230B1 (en) * 1998-11-09 2002-07-30 Unisys Corporation System and method for defining and managing reusable groups software constructs within an object management system
US20050033588A1 (en) * 2003-08-04 2005-02-10 Mario Ruiz Information system comprised of synchronized software application moduless with individual databases for implementing and changing business requirements to be automated
KR100617604B1 (ko) * 2003-12-23 2006-09-01 한국전자통신연구원 기업간 협업 프로세스 관리 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002049493A (ja) * 2000-08-04 2002-02-15 Hitachi Ltd プログラム制御情報生成方法およびシステム並びにその処理プログラムを格納した記録媒体
JP2005535980A (ja) * 2002-08-15 2005-11-24 ジェイジーアール アクイジション インコーポレイテッド Bpss会話管理とローカル・ビジネス管理との間の動的インターフェース
JP2005539324A (ja) * 2002-09-18 2005-12-22 ジェイジーアール アクイジション インコーポレイテッド ウェブサービスとしてのプロセスフロー及びコレオグラフィーコントローラの提示

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231539A (ja) * 2009-03-27 2010-10-14 Nec Corp バス型メッセージ交換システム、バス型メッセージ交換方法及びプログラム
JP2011034392A (ja) * 2009-08-03 2011-02-17 Mitsubishi Electric Corp サービス連携装置、サービス連携方法及びサービス連携プログラム
JP2010073211A (ja) * 2009-09-18 2010-04-02 Bank Of Tokyo-Mitsubishi Ufj Ltd サービス処理装置、システム、プログラム及び記録媒体
JP4599456B2 (ja) * 2009-09-18 2010-12-15 株式会社三菱東京Ufj銀行 サービス処理装置、システム、プログラム及び記録媒体
WO2012114889A1 (ja) * 2011-02-23 2012-08-30 日本電気株式会社 アプリケーション構築配置システム、アプリケーション構築配置方法、およびプログラム
US9325808B2 (en) 2012-04-26 2016-04-26 International Business Machines Corporation Message handling in a data processing system

Also Published As

Publication number Publication date
US20080183479A1 (en) 2008-07-31
JP4701220B2 (ja) 2011-06-15

Similar Documents

Publication Publication Date Title
JP4701220B2 (ja) ビジネスプロセス再構成方法、そのプログラム及び計算機
CN112118565B (zh) 多租户服务灰度发布方法、装置、计算机设备和存储介质
US11068241B2 (en) Guided definition of an application programming interface action for a workflow
US7490265B2 (en) Recovery segment identification in a computing infrastructure
CN108989066B (zh) 设备管理方法及装置
CN114115852A (zh) 可视化服务编排方法、装置、设备及介质
JP5976946B2 (ja) 仮想マシンテストシステム、仮想マシンテスト方法
US9893959B1 (en) Resource modeling language to specify and control the placement of resources in a cloud environment
US10019293B2 (en) Enhanced command selection in a networked computing environment
US10038753B2 (en) Network-independent programming model for online processing in distributed systems
CN110704749B (zh) 推荐引擎定制系统、推荐方法及推荐系统、电子设备
JP7231518B2 (ja) パッケージ化支援システムおよびパッケージ化支援方法
US9246920B2 (en) Cloud resource cloning based on collaborative content
JP4336363B2 (ja) ビジネスプロセス実行方法、ビジネスプロセス実行システムおよびプログラム
WO2017002222A1 (ja) システムデプロイ装置およびシステムデプロイ方法
US11184251B2 (en) Data center cartography bootstrapping from process table data
WO2017117876A1 (zh) 基于tosca的服务调用方法及装置
CN114489954A (zh) 基于虚拟化平台的租户创建方法、租户访问方法及设备
US8849974B2 (en) Social network based information discovery about network data processing systems
CN114327770A (zh) 容器集群管理系统及方法
JP6947129B2 (ja) 管理装置およびネットワーク管理方法
US7945598B2 (en) Methodology for the automatic capture of process information in federated knowledge systems
JP2016189045A (ja) システム環境変更支援システム、方法およびプログラム
JP6502783B2 (ja) 一括管理システム、一括管理方法およびプログラム
WO2024042589A1 (ja) コンフィグ投入装置、コンフィグ投入方法、及びコンフィグ投入プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110121

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110307

LAPS Cancellation because of no payment of annual fees