[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2010026695A - ビジネスプロセス実行方法、ビジネスプロセス実行装置及びビジネスプロセス実行プログラム - Google Patents

ビジネスプロセス実行方法、ビジネスプロセス実行装置及びビジネスプロセス実行プログラム Download PDF

Info

Publication number
JP2010026695A
JP2010026695A JP2008185935A JP2008185935A JP2010026695A JP 2010026695 A JP2010026695 A JP 2010026695A JP 2008185935 A JP2008185935 A JP 2008185935A JP 2008185935 A JP2008185935 A JP 2008185935A JP 2010026695 A JP2010026695 A JP 2010026695A
Authority
JP
Japan
Prior art keywords
business process
execution
activity
business
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008185935A
Other languages
English (en)
Inventor
Katsu Iwashita
克 岩下
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 JP2008185935A priority Critical patent/JP2010026695A/ja
Publication of JP2010026695A publication Critical patent/JP2010026695A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】ビジネスプロセス実行時のリソース使用量を削減する。
【解決手段】サービス実行装置及びサービスを組み合わせたビジネスプロセスを実行するビジネスプロセス実行装置を備える計算機システムで、ビジネスプロセスは、少なくとも一つのアクティビティを含む領域ごとに分割され、ビジネスプロセス実行装置は、領域とアクティビティとの対応を含むプロセス分割情報及びビジネスプロセスの実行情報を含むプロセス実行状態情報を記憶し、ビジネスプロセスの実行を受け付けた場合には、プロセス実行状態情報及びプロセス分割情報に基づいて実行するアクティビティ及び領域を抽出し、抽出された領域に対応する実行情報に基づいて抽出された領域に含まれるアクティビティを実行し、抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には領域に対応する実行情報をプロセス実行状態情報に格納する。
【選択図】図1

Description

本発明は、ビジネスプロセス実行時に消費されるリソースを低減する技術に関する。
近年、企業の統廃合及び市場競争の激化といった企業をとりまくビジネス環境の激しい変化に対し、短期間で柔軟に対応可能なシステムが求められている。そこで、SOA(Service Oriented Architecture)の考え方に基づいたシステムが注目を集めている。SOAとは、業務において独立した機能を有するソフトウェアをサービスと呼ばれる単位で構築し、サービスの名前及び入出力メッセージの形式が定義されたサービスのインターフェース情報を公開することによって、当該サービスの機能を提供するソフトウェア構築手法の一つである。ここでは、SOAに基づいて構築されたシステムを、SOAシステムと呼ぶこととする。
SOAシステムでは、可能な限り既存のサービスを再利用し、また、必要に応じて新たなサービスを開発し、これらのサービスを組み合わせて新たな機能を提供することによって、業務の変化に柔軟に対応することができる。以上のように複数のサービスを組み合わせることによって提供される新たなサービスは、ビジネスプロセスと呼ばれる。
ビジネスプロセスは、BPEL(Business Process Execution Language)などのビジネスプロセス記述言語を用いて、複数のサービスを組み合わせて新たな機能を提供する。ビジネスプロセスは、自身もサービスとなりうる。したがって、ビジネスプロセスを組み合わせて新たなビジネスプロセスを構成することも可能である。
ビジネスプロセスは、独立した機能を有するサービスを組み合わせて機能を提供するため、機能の変更が必要になった際には、サービスの組み合わせを変更するだけで対応することが可能であり、ビジネスの変化に柔軟に対応することができる。ビジネスプロセスには、サービス呼び出しの他、分岐処理及びフォーマット編集処理などのフロー制御を記述することが可能である。このようなビジネスプロセスを構成する要素をアクティビティと呼ぶ。また、ビジネスプロセスにおいて、各アクティビティで使用されるメッセージインスタンスを格納するための領域を変数と呼ぶ。変数は、サービス呼び出しの入出力メッセージの格納及び分岐処理の分岐条件などに用いることができる。
ビジネスプロセスの記述方式としては、前述したBPELなどのビジネスプロセス定義言語が用いられる。ビジネスプロセス及びサービスの実装方式としては、各種のコンポーネントモデルなどが用いられる。また、ビジネスプロセス及びサービスの実行基盤プログラムとしては、実装されたコンポーネントを実行する各種プログラムが用いられる。ここでは、サービスの実行基盤プログラムをサービス実行基盤プログラムと呼ぶ。
業務フローが記述されたビジネスプロセスを実行すると、非常に長い時間を要する場合がある。例えば、人手を介した作業を含む場合などは、数日から数週間に渡る場合もある。ビジネスプロセスの実行は、一般的にインスタンスをメモリ上に配備して実行するが、ビジネスプロセスにおいて人手作業の完了を待機するなど、待ち状態になっている間もメモリ上に配備しておくことは非効率的である。そこで、待ち状態となったビジネスプロセスの実行時情報をデータベース(DB)などに永続化して実行を一時的に中断し、人手作業が完了した時点で、ビジネスプロセスを活性化して処理を継続することによって、メモリの利用効率を向上させる手法が一般的に用いられている。ここで、永続化とは、ビジネスプロセスのフロー定義、フローに含まれる各アクティビティの実行状態、変数の定義情報及び変数の値といった、ビジネスプロセスの実行時情報をDBなどに格納することである。また、活性化とは、DBに永続化した情報を取得し、メモリ上に展開することである。
特許文献1には、ビジネスプロセス実行時に必要なメモリ量を削減するために、ビジネスプロセスの実行時に必要に応じて変数をメモリ上に作成し、不要になった時点で変数をメモリ上から削除することによって、メモリ上に必要以上の変数がロードされないようにする技術が開示されている。
特開2006−31500号公報
ビジネスプロセスが長大化すると、ビジネスプロセスの実行時間も長時間に渡る傾向がり、ビジネスプロセスが永続化及び活性化される頻度が増加する。また、ビジネスプロセスを構成する業務ステップ数及びビジネスプロセスが利用する変数の数が増加することから、ビジネスプロセスを永続化又は活性化する際に操作される情報量も増加する。
従来の技術では、ビジネスプロセス全体を一括して活性化又は永続化するため、ビジネスプロセスを活性化した際に実行されない業務ステップの定義情報及び実行状態、活性化時に利用されない変数定義及び値なども常に活性化又は永続化されていた。このように、実行されないアクティビティ及び利用されない変数情報を活性化することは、メモリなどのリソースを不要に消費してしまうため、メモリの効率的な利用を妨げていた。
また、特許文献1に開示された技術は、ビジネスプロセスで定義された変数が必要になった時点で変数をメモリ上に作成し、不要になった時点で変数をメモリから破棄することによって、メモリ利用効率を向上させている。しかし、変数を必要に応じて生成するため、新たな変数が必要になるたびにDBから情報を読み込んで、メモリ領域を割り当てる必要があるため、実行性能が悪化するおそれがある。また、ビジネスプロセスのフロー定義を解析していないため、フロー定義に基づいた効率的なリソースの利用が実現されていない。
本発明は、ビジネスプロセスの実行性能を向上させ、ビジネスプロセスの実行に必要なリソース量を削減することを目的とする。
本発明の代表的な一形態では、サービスを提供するサービス実行装置と、前記サービスを組み合わせて業務処理が定義されたビジネスプロセスを実行するビジネスプロセス実行装置と、を備える計算機システムにおけるビジネスプロセス実行方法であって、前記ビジネスプロセス実行装置は、前記サービス実行装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備え、前記ビジネスプロセスは、前記ビジネスプロセスを構成するアクティビティに基づいて、少なくとも一つのアクティビティを含む領域に分割され、前記メモリは、前記ビジネスプロセスの実行経過を含む実行情報を格納するプロセス実行状態情報、及び前記領域と前記アクティビティとの対応を含むプロセス分割情報を記憶し、前記方法は、前記ビジネスプロセスの実行を受け付けた場合には、前記プロセス実行状態情報及び前記プロセス分割情報に基づいて、実行されるアクティビティを特定し、前記特定されたアクティビティを含む領域を抽出し、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報から取得し、前記取得された実行情報に基づいて、前記抽出された領域に含まれるアクティビティを実行し、前記抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報に格納する。
本発明の一形態によれば、ビジネスプロセスを分割して実行することによって、ビジネスプロセスの実行単位を縮小し、ビジネスプロセス実行時に必要なリソース量を削減することができる。
以下、本発明の実施の形態を、図面を参照しながら詳細に説明する。
図1は、本発明の実施の形態のSOAシステムの構成の一例を示す図である。
本発明の実施の形態のSOAシステムは、ビジネスプロセス実行計算機201、ビジネスプロセス開発用計算機300、サービス実行計算機(501、502)、及びクライアント用計算機701を含む。ビジネスプロセス実行計算機201、ビジネスプロセス開発用計算機300、サービス実行計算機(501、502)、及びクライアント用計算機701は、互いにネットワークによって接続される。
ビジネスプロセス実行計算機201は、ビジネスプロセスを実行する。ビジネスプロセス実行計算機201は、パーソナルコンピュータ(以下、パソコンと呼ぶ)などの汎用の計算機である。ビジネスプロセス実行計算機201の構成の詳細については、図3にて後述する。
ビジネスプロセス実行計算機201は、ビジネスプロセス実行部221、ロード領域判定部222、プロセス分割結果格納テーブル230、変数参照関係格納テーブル240、プロセス実行状態格納テーブル250、及び変数状態格納テーブル260を含む。本発明の実施の形態では、ビジネスプロセス実行部221及びロード領域判定部222はソフトウェアとして実現されているが、これに限定されるものではなく、専用の半導体回路などによって実現されてもよい。
ビジネスプロセス実行部221は、プロセス実行状態格納テーブル250及び変数状態格納テーブル260などを利用してビジネスプロセスの実行を制御する。ビジネスプロセス実行部221は、汎用のビジネスプロセス実行プログラムなどを利用して実現可能であるため、詳細の説明を省略する。なお、本発明の実施の形態におけるビジネスプロセス実行部221は、汎用のビジネスプロセス実行プログラムの機能に加え、ビジネスプロセスを活性化するタイミングで、ロード領域判定部222に処理を要求する機能を有する。
プロセス実行状態格納テーブル250は、ビジネスプロセスの実行状況を格納する。プロセス実行状態格納テーブル250の詳細については、図4にて後述する。変数状態格納テーブル260は、ビジネスプロセス実行時に設定される変数を格納する。変数状態格納テーブル260の詳細については、図5にて後述する。
ロード領域判定部222は、ビジネスプロセス実行部221からの要求に基づいて、プロセス分割結果格納テーブル230及び変数参照関係格納テーブル240からビジネスプロセスの実行に必要な情報を取得し、結果をビジネスプロセス実行部221に応答する。
プロセス分割結果格納テーブル230は、分割されたビジネスプロセスを領域ごとに格納する。プロセス分割結果格納テーブル230の詳細については、図6にて後述する。変数参照関係格納テーブル240は、分割されたビジネスプロセスの領域ごとに使用される変数を格納する。変数参照関係格納テーブル240の詳細については、図7にて後述する。
ビジネスプロセス開発用計算機300は、ビジネスプロセス開発者800がビジネスプロセスを定義するための計算機である。ビジネスプロセス開発用計算機300は、ビジネスプロセス実行計算機201と同様に、パソコンなどの汎用の計算機である。ビジネスプロセス開発用計算機300の構成の詳細については、図2にて後述する。
ビジネスプロセス開発用計算機300は、ビジネスプロセス開発部310、フロー定義解析部320、及び変数参照関係解析部330を含む。本発明の実施の形態では、ビジネスプロセス開発部310、フロー定義解析部320、及び変数参照関係解析部330はソフトウェアとして実現されているが、専用の半導体回路などによって実現されてもよい。
ビジネスプロセス開発部310は、ビジネスプロセス開発者800がビジネスプロセスを定義するためのアプリケーションである。ビジネスプロセス開発部310は、GUI(Graphical User Interface)ツールであることが多いが、これに限定されるものではない。ビジネスプロセス開発部310は、汎用のビジネスプロセス開発用プログラムなどによって実現可能であるため、詳細の説明は省略する。
ビジネスプロセス開発者800によって定義されたビジネスプロセスは、BPELなどのプロセス定義記述言語によって記述される。ビジネスプロセスの定義情報は、XML(eXtensible Markup Language)などの形式で記述されるが、これに限定されるものではない。ビジネスプロセスの定義例については、図8にて後述する。
本発明の実施の形態では、ビジネスプロセス開発部310は、汎用のビジネスプロセス開発用プログラムなどに加え、ビジネスプロセス永続化ポイント提示部311及びビジネスプロセス永続化ポイント指定部312を含む。
ビジネスプロセス永続化ポイント提示部311は、後述するフロー定義解析部320によるビジネスプロセスの解析結果に基づいて抽出されたビジネスプロセスの永続化ポイントをビジネスプロセス開発者800に提示する。また、ビジネスプロセス永続化ポイント指定部312は、ビジネスプロセス開発者800から、ビジネスプロセスを永続化するポイントの入力を受け付ける。
フロー定義解析部320は、ビジネスプロセス開発者800が開発したビジネスプロセスのフローを後述のアルゴリズムに従って解析し、ビジネスプロセスの永続化ポイントを抽出する。さらにフロー定義解析部320は、抽出された永続化ポイントに基づいてビジネスプロセスを分割し、その結果をプロセス分割結果格納テーブル230に格納する。
なお、フロー定義解析部320は、抽出したビジネスプロセスの永続化ポイントを、ビジネスプロセス永続化ポイント提示部311を用いて、ビジネスプロセス開発者800に提示してもよい。ビジネスプロセス開発者800は、ビジネスプロセス永続化ポイント指定部312を用いて、提示されたビジネスプロセスの永続化ポイントを削除したり、新たな永続化ポイントを指定するなどの編集処理を行うことができる。ビジネスプロセス開発者800に解析結果を提示した場合には、フロー定義解析部320は、ビジネスプロセス開発者800によって指定された永続化ポイントに基づいてビジネスプロセスを分割し、その結果をプロセス分割結果格納テーブル230に格納する。
変数参照関係解析部330は、フロー定義解析部320による分割結果に対して後述のアルゴリズムを適用することによって、分割された各領域から参照される変数を抽出し、結果を変数参照関係格納テーブル240に格納する。
なお、本発明の実施の形態では、ビジネスプロセス実行計算機201のみがプロセス分割結果格納テーブル230及び変数参照関係格納テーブル240を保持しているが、ビジネスプロセス開発用計算機300が同等の情報を保持していてもよい。また、ビジネスプロセス実行計算機201がビジネスプロセス開発用計算機300に保持されているテーブルを参照する構成としてもよい。さらに、本発明の実施の形態ではビジネスプロセス実行計算機201とビジネスプロセス開発用計算機300を異なる計算機としているが、これに限定されることはなく、単一の計算機で実現することも可能である。
クライアント用計算機701は、ビジネスプロセス実行計算機201にビジネスプロセスの実行を要求するための計算機である。クライアント用計算機701は、パソコンなどの汎用の計算機である。クライアント用計算機701は、サービス呼び出しプログラム710を含む。
クライアント用計算機701は、クライアント820からの要求を受け付け、サービス呼び出しプログラム710を実行し、ビジネスプロセス実行計算機201のビジネスプロセス実行部221にサービスの実行要求を送信することによって、サービスを利用する。サービス呼び出しプログラム710は、各種のプログラム言語によって実現可能であり、詳細な説明は省略する。本発明の実施の形態では、サービス呼び出しプログラム710はソフトウェアとして実現されているが、半導体回路などの専用ハードウェアとして実装してもよい。
サービス実行計算機501及び502は、ビジネスプロセスによって呼び出されるサービスが実行される計算機である。サービス実行計算機501及び502は、パソコンなどの汎用の計算機である。サービス実行計算機501及び502は、サービスを実行するためのサーバプログラムであるサービス実行基盤プログラム510を含む。
サービスは、各種のコンポーネントモデルによって実装可能である。また、サービス実行基盤プログラム510は、実装されたコンポーネントを実行する各種プログラムによって実現可能であるため、その実現方式の詳細な説明は省略する。なお、本発明の実施の形態では、サービス及びサービス実行基盤プログラム510はソフトウェアとして実現されているが、半導体回路などの専用のハードウェアとして実現してもよい。
図2は、本発明の実施の形態のビジネスプロセス開発用計算機300の構成の一例を示す図である。
ビジネスプロセス開発用計算機300は、CPU900、ネットワークインタフェース910、グラフィックインタフェース920、ユーザ入力インターフェース930、主記憶装置940、及び二次記憶装置950を備える。CPU900、ネットワークインタフェース910、グラフィックインタフェース920、ユーザ入力インターフェース930、主記憶装置940、及び二次記憶装置950は、システムバス960によって接続される。
CPU900は、主記憶装置940に記憶されたプログラムを処理することによって、各種業務処理を実行する。ネットワークインタフェース910は、CPU900の指示に従って、ネットワーク1000介して接続されている他の計算機などと通信する。
ユーザ入力インターフェース930は、マウス又はキーボードなどの入力装置から、利用者の入力を受け付ける。グラフィックインタフェース920は、ディスプレイなどの画像表示装置921に表示する画像の処理を行う。
主記憶装置940は、CPU900によって処理されるプログラム及び当該プログラムの処理に必要なデータを記憶する。主記憶装置940に記憶されるプログラムは、ビジネスプロセス開発部310、フロー定義解析部320、変数参照関係解析部330、OS(Operating System)970である。主記憶装置940は、揮発性記憶媒体である。
二次記憶装置950は、CPU900からの指示に基づいて、データを入出力する。二次記憶装置950は、ハードディスクなどの磁気記憶装置、又はCD、DVDドライブなどの光学記憶装置などの不揮発性記憶媒体であるが、これらに限定されるものではない。
ビジネスプロセス実行計算機201、サービス実行計算機(501、502)、及びクライアント用計算機701のハードウェア構成は、図2に示したビジネスプロセス開発用計算機300と同様である。ビジネスプロセス開発用計算機300と相違する点は、主記憶装置940に記憶されるプログラム及びデータの内容である。
図3は、本発明の実施の形態のビジネスプロセス実行計算機201の構成の一例を示す図である。
ビジネスプロセス実行計算機201のハードウェア構成は、前述したように、ビジネスプロセス開発用計算機300と同様である。
ビジネスプロセス実行計算機201の主記憶装置940には、OS970、ビジネスプロセス実行部221、ロード領域判定部222、プロセス分割結果格納テーブル230、及び変数参照関係格納テーブル240が記憶される。なお、プロセス分割結果格納テーブル230及び変数参照関係格納テーブル240は、ビジネスプロセス実行部221又はロード領域判定部222に包含されてもよい。また、二次記憶装置950に格納されていてもよい。
サービス実行計算機(501、502)の主記憶装置940には、OS970、サービス実行基盤プログラム510、及びサービス実行基盤プログラムに配備されているサービスが記憶される。また、クライアント用計算機701の主記憶装置940には、OS970及びサービス呼び出しプログラム710が記憶される。
図4は、本発明の実施の形態のプロセス実行状態格納テーブル250の構成の一例を示す図である。
プロセス実行状態格納テーブル250は、ビジネスプロセス(BP)名251、アクティビティ名252、状態253、開始時刻254、及び終了時刻255を含む。プロセス実行状態格納テーブル250は、ビジネスプロセス実行部221によってレコードが格納及び更新される。プロセス実行状態格納テーブル250の各レコードは、実行されたビジネスプロセスについてアクティビティごとに格納される。
ビジネスプロセス名251は、ビジネスプロセスの名称である。アクティビティ名252は、ビジネスプロセスに属するアクティビティの名称である。なお、ビジネスプロセス名251及びアクティビティ名252は、それぞれを一意に特定できる情報であればよく、名称に限定されるものではなく、識別コードなどであってもよい。
また、同一のビジネスプロセス定義によって複数のビジネスプロセスが実行される場合には、実行されたビジネスプロセスを識別する情報がさらに追加される。
状態253は、アクティビティの実行状態である。状態253には、例えば、実行が完了している場合には「完了」、実行されていない場合には「未実行」と記録される。開始時刻254は、ビジネスプロセスの実行時にアクティビティが開始された時刻である。終了時刻255は、アクティビティの実行終了時刻である。
図5は、本発明の実施の形態の変数状態格納テーブル260の構成の一例を示す図である。
変数状態格納テーブル260は、ビジネスプロセス(BP)名261、変数名262及び変数値263を含む。変数状態格納テーブル260は、ビジネスプロセス実行部221によって格納及び更新される。変数状態格納テーブル260は、実行されたビジネスプロセスについて、当該ビジネスプロセスで使用される変数ごとにレコードが格納される。
ビジネスプロセス名261は、ビジネスプロセスの名称である。変数名262は、ビジネスプロセスで使用される変数の名称である。変数値263は、変数名262によって特定される変数に格納される値である。なお、ビジネスプロセス名261及び変数名262はそれぞれを一意に特定できる情報であればよく、名称に限定されるものではない。
また、同一のビジネスプロセス定義によって複数のビジネスプロセスが実行される場合には、プロセス実行状態格納テーブル250と同様に、実行されたビジネスプロセスを識別する情報がさらに追加される。
図6は、本発明の実施の形態のプロセス分割結果格納テーブル230の構成の一例を示す図である。
プロセス分割結果格納テーブル230は、ビジネスプロセス(BP)名231、領域名232、及びアクティビティ名233を含む。プロセス分割結果格納テーブル230は、フロー定義解析部320によって格納される。プロセス分割結果格納テーブル230は、ビジネスプロセスを構成するアクティビティごとにレコードが格納され、フロー定義解析部320による解析結果に基づいて領域が設定される。
ビジネスプロセス名231は、ビジネスプロセスの名称である。領域名232は、ビジネスプロセスを構成する領域の名称である。アクティビティ名233は、ビジネスプロセスを構成するアクティビティである。なお、ビジネスプロセス名、領域名、及びアクティビティ名はそれぞれを一意に特定できる情報であればよく、名称に限定されるものではない。
図7は、本発明の実施の形態の変数参照関係格納テーブル240の構成の一例を示す図である。
変数参照関係格納テーブル240は、領域名241及び変数名242を含む。変数参照関係格納テーブル240は、変数参照関係解析部330によって格納される。変数参照関係格納テーブル240の各レコードは、各領域で使用される変数ごとに格納される。
領域名241は、ビジネスプロセスを構成する領域の名称である。変数名242は、ビジネスプロセスに属する変数の名称である。なお、領域名241及び変数名242はそれぞれを一意に特定できる情報であればよく、名称に限定されるものではない。
図8は、本発明の実施の形態のビジネスプロセスの定義(XML形式)の一例を示す図である。
図8に示すビジネスプロセスBP−A1700は、XML形式のBPELによって記述されている。図8に示すビジネスプロセスでは、<variable>タグにサービスを呼び出す際に送受信されるメッセージを格納する変数の宣言が記述され、<sequence>タグには、サービスを呼び出すアクティビティの記述、サービスを呼び出す際に送信されるメッセージを格納する変数の指定、サービスの実行によって受信したメッセージを格納する変数の指定など、ビジネスプロセスを構成するアクティビティと、そのアクティビティで利用される変数などの関連情報が記述されている。
ビジネスプロセスは、図8に示すようなXML形式で記述することも可能であるが、図15に示すように、フローチャート形式で表現することも可能である。
図15は、本発明の実施の形態のビジネスプロセスの定義(フローチャート形式)の一例を示す図である。
本発明の実施の形態では、ビジネスプロセス開発者800がビジネスプロセス開発用計算機300を利用してビジネスプロセスを定義する。
図15に示すフローチャート形式のビジネスプロセスの定義は、図8に示したXML形式のビジネスプロセスの定義に対応している。したがって、汎用のビジネスプロセス開発プログラムなどを利用して、図8に示すXML形式のビジネスプロセスの定義と図15に示すビジネスプロセスの定義を相互に変換することが可能である。
ここで、図8及び図15に示したビジネスプロセスの振る舞いについて、図8及び図15を参照しながら説明する。
ビジネスプロセスBP−A1700は、まず、外部からのリクエストを受信するアクティビティ(受付アクティビティ)であるreceive−A1アクティビティが定義されている。receive−A1アクティビティでは、受信したリクエストを変数in−A1に格納する。
続いて、invoke−A1アクティビティにおいて、変数in−A1を入力として外部サービスを呼び出し、結果を変数var−A1に格納する。invokeアクティビティは、外部(例えば、サービス実行計算機501)で提供されているサービスを呼び出すアクティビティである。
次に、dt−A1アクティビティ(assignアクティビティ)において、変数var−A1の値を変換して変数out−A1に設定し、reply−A1アクティビティ(replyアクティビティ)において変換結果を外部に出力している。
さらに、ビジネスプロセスBP−A1700には、再び外部からのリクエストを受信し、受信した内容を変数in−A2に格納するアクティビティreceive−A2が定義されている。その後、変数var−A1及び変数in−A2に基づいて変数var−A2を生成するdt−A2アクティビティが定義されている。
続いて、ビジネスプロセスBP−A1700には、生成された変数var−A2の値を入力として外部サービスを呼び出すinvoke−A2アクティビティが定義されている。invoke−A2アクティビティでは、呼び出した外部サービスからの応答を変数out−A2に格納し、reply−A2アクティビティによって外部に結果を出力する。
以降、本発明の実施の形態のビジネスプロセスの開発及び実行手順の詳細について説明する。まず、ビジネスプロセス開発者800によってビジネスプロセスが開発(定義)された際に、ビジネスプロセスを解析する手順について説明し、その後、解析結果に基づいてビジネスプロセスを実行する手順について説明する。なお、ビジネスプロセス開発者800によって定義されたビジネスプロセスを図8及び図15に示したBP−A1700として各手順について説明する。
以下、本発明の実施の形態におけるビジネスプロセスを解析する手順について説明する。なお、図16には、図8及び図15に示したビジネスプロセス定義を、図9に示す手順によって解析した結果を示し、適宜参照しながらビジネスプロセスを解析する手順について説明する。
図9は、本発明の実施の形態におけるビジネスプロセスを解析する手順を示すフローチャートである。
ビジネスプロセス開発者800は、ビジネスプロセス開発用計算機300で実行されるビジネスプロセス開発部310によってビジネスプロセスを定義すると、開発されたビジネスプロセス定義情報を入力情報として、フロー定義解析部320を実行する。
ビジネスプロセス開発用計算機300のCPU900は、フロー定義解析部320によって、入力されたビジネスプロセスを解析し、ビジネスプロセスが永続化されるポイント(以下、「永続化ポイント」と呼ぶ)をすべて抽出する。そして、ビジネスプロセス永続化ポイント提示部311によって、抽出された永続化ポイントをビジネスプロセス開発者800に提示する(ステップ1103)。なお、フロー定義解析処理(ステップ1103)の詳細については、図10にて後述する。
ここで、永続化とは、前述したように、ビジネスプロセスが長時間待ち状態になる場合などにビジネスプロセスの実行情報をDBなどに格納することである。永続化ポイントとは、永続化される可能性の高いポイント(タイミング)である。
ビジネスプロセスが長時間待ち状態となる場合とは、例えば、ビジネスプロセスが外部からの入力を受け付ける場合、すなわち、受付アクティビティにおいて外部からの入力を待機している場合である。したがって、受付アクティビティの直前をビジネスプロセスが永続化される可能性が高い永続化ポイントと判定することができる。
ここで、入力されたビジネスプロセスを解析し、永続化ポイントを抽出する永続化ポイント抽出処理について説明する。なお、本発明の実施の形態では、ビジネスプロセスに含まれる受付アクティビティの直前を永続化ポイントとして判定しているが、これに限定されることはなく、その他のポイントを永続化ポイントとして判定してもよい。
図10は、本発明の実施の形態のビジネスプロセスを分割する永続化ポイントを抽出する永続化ポイント抽出処理の手順を示すフローチャートである。
永続化ポイント抽出処理は、前述したように、フロー定義解析部320によって実行される。
ビジネスプロセス開発用計算機300のCPU900は、まず、ビジネスプロセス開発者800によって定義されたビジネスプロセスの最初に定義されているアクティビティをSに設定する(ステップ11031)。アクティビティSは、直前が永続化ポイントに設定されるか否かを判定する対象のアクティビティである。
次に、ビジネスプロセス開発用計算機300のCPU900は、アクティビティSが受付アクティビティであるか否かを判定する(ステップ11032)。アクティビティSが受付アクティビティでない場合には(ステップ11032の結果が「No」)、アクティビティSは永続化ポイントの候補ではないため、永続化ポイントの判定処理を終了し、ステップ11035の処理を実行する。
ビジネスプロセス開発用計算機300のCPU900は、アクティビティSが受付アクティビティであった場合には(ステップ11032の結果が「Yes」)、アクティビティSが永続化ポイントの候補となりうるため、さらに、アクティビティSがビジネスプロセスの最初のアクティビティであるか否かを判定する(ステップ11033)。アクティビティSがビジネスプロセスの最初のアクティビティである場合には(ステップ11033の結果が「Yes」)、永続化ポイントがビジネスプロセスの最初に設定されることはないため、アクティビティSが永続化ポイントになることはない。この場合には、永続化ポイントの判定処理を終了し、ステップ11035の処理を実行する。
ビジネスプロセス開発用計算機300のCPU900は、アクティビティSがビジネスプロセスの最初のアクティビティでない場合には(ステップ11033の結果が「No」)、アクティビティSの直前を永続化ポイントに設定する(ステップ11034)。
続いて、ビジネスプロセス開発用計算機300のCPU900は、アクティビティSがビジネスプロセスの最後のアクティビティであるか否かを判定する(ステップ11035)。アクティビティSが最後のアクティビティであった場合には(ステップ11035の結果が「Yes」)、本処理を終了する。
ビジネスプロセス開発用計算機300のCPU900は、アクティビティSが最後のアクティビティでない場合には(ステップ11035の結果が「No」)、アクティビティSの次に処理されるアクティビティを新たにアクティビティSに設定し(ステップ11036)、ステップ11032の処理に戻る。
以上の手順によって、ビジネスプロセス定義に含まれる受付アクティビティのうち、ビジネスプロセスの先頭に定義されたアクティビティ以外の受付アクティビティをすべて抽出し、抽出された受付アクティビティの直前を永続化ポイントとして設定することが可能となる。図15に示すビジネスプロセス定義例BP−A1700に図10に示した手順を適用した場合、BP−A1700にはreceive−A1及びreceive−A2の二つの受付アクティビティが定義されているが、receive−A1アクティビティはBP−A1700の最初のアクティビティであるため、receive−A2の直前にのみ永続化ポイント1720が1つ抽出される(図16参照)。
ここで、図9のフローチャートの説明に戻る。
続いて、ビジネスプロセス開発用計算機300のCPU900は、フロー定義解析部320による解析結果に対する修正又は確認を受け付ける(ステップ1104)。具体的には、ステップ1103の処理で抽出された永続化ポイントの中から不要なポイントの削除、又は任意の永続化ポイントの追加を受け付ける。
なお、フロー定義解析部320による解析結果は、必ずしもビジネスプロセス開発者800に提示される必要はなく、ステップ1104の処理を実行することなく、ステップ1105以降の処理を実行するようにしてもよい。
ビジネスプロセス開発者800に対するビジネスプロセスの提示は、ビジネスプロセス永続化ポイント提示部311によって実行される。ビジネスプロセス永続化ポイント指定部312によって提示されるビジネスプロセスの形式としては、例えば、図8に示すXML形式、又は図15に示すフローチャート形式があるが、これに限定されるものではない。
また、ビジネスプロセス開発者800に提示する永続化ポイントの形式としては、例えば、XML形式において特殊なタグを挿入する形式、図16に示した永続化ポイント1720のようにフローチャートに特別な記号を挿入して表す形式などがあるが、これに限定されるものではない。
本発明の実施の形態では、ビジネスプロセス永続化ポイント指定部312によって、ビジネスプロセスに対する永続化ポイントの追加又は永続化ポイントの削除をビジネスプロセス開発者800から受け付けることが可能である。図17にて永続化ポイントを追加又は削除する画面の一例を示す。
ビジネスプロセス開発用計算機300のCPU900は、ビジネスプロセス永続化ポイント指定部312によって、追加又は削除された永続化ポイントの情報をビジネスプロセス定義に反映する。例えば、図8に示すXML形式のビジネスプロセス定義情報に永続化ポイントを示すタグを挿入又は削除する。
図17は、本発明の実施の形態のビジネスプロセス開発者800に提示される永続化ポイント編集画面の一例を示す図である。
図17には、ステップ1103の処理でフロー定義解析部320によって抽出された永続化ポイント1720に加え、ビジネスプロセス開発者800によって新たな永続化ポイント1730が追加された場合の例が示されている。
永続化ポイントを追加又は削除する手順について具体的に説明すると、永続化ポイントの追加は、フローチャートを構成する2つのアクティビティを連結する線を選択し、選択された線上に永続化ポイントを追加することを指定すればよい。永続化ポイントを追加する指示は、例えば、線をダブルクリックする方法としてもよいし、メニューから指示を選択する方法としてもよく、これらに限定されない。
また、永続化ポイントの削除は、フローチャート上に表示されている永続化ポイントを指定し、削除を指示すればよい。永続化ポイントを削除する指示は、例えば、永続化ポイントをダブルクリックする方法としてもよいし、メニューから指示を選択する方法としてもよく、これらに限定されるものではない。
また、ビジネスプロセス永続化ポイント提示部311は、図17に示すように、フロー定義解析部320によって抽出された永続化ポイントとビジネスプロセス開発者800によって追加された永続化ポイントを区別して表示するようにしてもよい。また、フロー定義解析部320によって抽出された永続化ポイントのうち、ビジネスプロセス開発者800によって削除された永続化ポイントについては、例えば、黒塗りの菱形などを用いて、他の永続化ポイントと区別して表示してもよい。
ビジネスプロセス開発者800によって編集されたビジネスプロセスは、再度フロー定義解析部320に入力される。なお、ビジネスプロセス開発者800による永続化ポイントの指定(追加)は、フロー定義解析部320を実行する前に実施してもよい。
ここで、図9のフローチャートの説明に戻る。本発明の実施の形態では、ビジネスプロセス開発者800によって永続化ポイントが追加又は削除されていないものとして、以降の説明を行う。
ビジネスプロセス開発用計算機300のCPU900は、フロー定義解析部320によって、ステップ1104の処理で編集されたビジネスプロセスをさらに解析する(ステップ1105)。具体的には、ビジネスプロセスを領域ごとに分割し、各領域に含まれているアクティビティを抽出する。さらに、解析結果をプロセス分割結果格納テーブル230に格納する。
ビジネスプロセスの領域分割は、ステップ1103及びステップ1104の処理によって指定された永続化ポイント、ビジネスプロセスの先頭及び最後尾を基点として、各基点間を一つの領域として切り出すことによって行われる。
以下、ステップ1105の処理でフロー定義解析部320によって実行されるビジネスプロセス領域分割処理の詳細を、図11を参照しながら説明する。
図11は、本発明の実施の形態のフロー定義解析部320によるビジネスプロセス領域分割処理の手順を示すフローチャートである。
ビジネスプロセス領域分割処理は、前述のように、フロー定義解析部320によって実行される。
ビジネスプロセス開発用計算機300のCPU900は、まず、ビジネスプロセスの最初に定義されているアクティビティをS及びLに設定する(ステップ11051)。アクティビティSは、分割する領域の先頭に対応するアクティビティである。一方、アクティビティLは、分割する領域の最後尾に対応するアクティビティである。
ビジネスプロセス開発用計算機300のCPU900は、次に、アクティビティLの直後が永続化ポイントとして設定されているか否かを判定する(ステップ11052)。アクティビティLの直後が永続化ポイントとして設定されていない場合には(ステップ11052の結果が「No」)、アクティビティLの次のアクティビティを新たなLとして設定し(ステップ11053)、ステップ11052の処理に戻る。
ビジネスプロセス開発用計算機300のCPU900は、アクティビティLの直後が永続化ポイントとして設定されている場合には(ステップ11052の結果が「Yes」)、アクティビティSからLまでを新たな領域として抽出し、領域に一意な名称を付与する(ステップ11054)。
ビジネスプロセス開発用計算機300のCPU900は、次に、アクティビティSからLまでの間に含まれるすべてのアクティビティの情報を抽出し、ビジネスプロセス名、及びステップ11054の処理で付与した領域名と関連付けてプロセス分割結果格納テーブル230に格納する(ステップ11055)。
図6に示したプロセス分割結果格納テーブル230を参照すると、例えば、「receive−A1」アクティビティが、ビジネスプロセスBP−A及び領域realm−A1に関連付けられている。このことは、領域realm−A1がビジネスプロセスBP−Aに含まれており、かつ、receive−A1アクティビティが領域realm−A1に含まれていることを示している。
続いて、ビジネスプロセス開発用計算機300のCPU900は、アクティビティLがビジネスプロセスの最後のアクティビティであるか否かを判定する(ステップ11056)。アクティビティLがビジネスプロセスの最後のアクティビティであった場合には(ステップ11056の結果が「Yes」)、本処理を終了する。アクティビティLが最後のアクティビティでない場合には(ステップ11056の結果が「No」)、アクティビティLの次のアクティビティを新たにS及びLに設定し(ステップ11057)、ステップ11052の処理に戻る。
以上の手順によって、ステップ1103及びステップ1104の処理で指定された永続化ポイントに基づいてビジネスプロセスを領域ごとに分割し、結果をプロセス分割結果格納テーブル230に格納することができる。
本発明の実施の形態では、ステップ1105までの処理の結果として、図16に示すように、領域realm−A1(1710)及び領域realm−A2(1711)が抽出される。領域realm−A1(1710)には、アクティビティreceive−A1、invoke−A1、dt−A1、及びreply−A1が含まれる。また、領域realm−A2(1711)には、アクティビティreceive−A2、dt−A2、invoke−A2、及びreply−A2が含まれる。
また、ステップ1105までの処理の結果は、図6に示すように、プロセス分割結果格納テーブル230に格納される。図6に示したプロセス分割結果格納テーブル230を参照すると、前述したように、ビジネスプロセスBP−Aには領域realm−A1が含まれており、更に領域realm−A1にはreceive−A1アクティビティが含まれていることが1行目のレコードに表されている。以降のレコードについても同様である。
ここで、図9のフローチャートの説明に戻る。
ビジネスプロセス開発用計算機300のCPU900は、次に、変数参照関係解析部330によって、ステップ1105の処理で抽出された各領域で参照される変数を解析し、結果を変数参照関係格納テーブル240に格納する(ステップ1106)。
以下、ステップ1106の処理で変数参照関係解析部330によって実行される変数参照関係解析処理の詳細を、図12を参照しながら説明する。
図12は、本発明の実施の形態の変数参照関係解析部330による変数参照関係解析処理の手順を示すフローチャートである。
変数参照関係解析処理は、前述のように、変数参照関係解析部330によって実行される。また、変数参照関係解析処理は、分割された領域ごとに実行される。
ビジネスプロセス開発用計算機300のCPU900は、まず、領域の最初に定義されているアクティビティをSに設定する(ステップ11061)。
次に、ビジネスプロセス開発用計算機300のCPU900は、ビジネスプロセス定義を参照し、アクティビティSによって参照されるすべての変数名を抽出する(ステップ11062)。アクティビティによって参照される変数の抽出は、例えば、図15に示したBP−Aにおけるreceive−A1では、受信したリクエストを変数in−A1に割り当てていることから、receive−A1は変数in−A1を参照すると判定することができる。他のアクティビティについても同様に、ビジネスプロセスの定義から各アクティビティから参照される変数を特定することが可能である。
次に、ビジネスプロセス開発用計算機300のCPU900は、ビジネスプロセスから抽出された各変数について、ステップ11064、11065及び11066の処理を実行する(ステップ11063、11067)。
ビジネスプロセス開発用計算機300のCPU900は、まず、抽出された変数について領域名及び変数名に基づいて変数参照関係格納テーブル240を検索し、領域名241が一致し、かつ、変数名242が一致するレコードを抽出する(ステップ11064)。領域内でアクティビティSよりも前に定義されたアクティビティで既に処理対象の変数が参照されている場合には、同一の変数を重複して変数参照関係格納テーブル240に登録する必要がないため、あらかじめ登録済みの変数を検索する。
ビジネスプロセス開発用計算機300のCPU900は、ステップ11064の処理で該当するレコードが存在したか否かを判定する(ステップ11065)。該当するレコードが存在する場合には(ステップ11065の結果が「Yes」)、処理対象の変数が変数参照関係格納テーブル240に既に登録されているため、当該変数については登録せずに他の変数について処理を継続する。
ビジネスプロセス開発用計算機300のCPU900は、該当するレコードが存在しない場合(ステップ11065の結果が「No」)、すなわち、領域内で処理対象の変数を利用することが登録されていない場合には、変数参照関係格納テーブル240に当該変数に対応するレコードを追加する(ステップ11066)。変数参照関係格納テーブル240にレコードを追加することによって、領域内で当該変数を利用することが登録される。図7に示した変数参照関係格納テーブル240を参照すると、1行目のレコードには、領域realm−A1(1701)で変数in−A1が参照されることが表されている。以降のレコードについても同様である。
ビジネスプロセス開発用計算機300のCPU900は、ステップ11062の処理で抽出されたすべての変数についてステップ11064、11065及び11066の処理を実行した後、アクティビティSが領域中の最後のアクティビティであるか否かを判定する(ステップ11068)。アクティビティSが領域の最後のアクティビティの場合には(ステップ11068の結果が「Yes」)、本処理を終了する。アクティビティSが最後のアクティビティでない場合には(ステップ11068の結果が「No」)、アクティビティSの次のアクティビティを新たなSに設定し(ステップ11069)、ステップ11062の処理に戻る。
以上の手順によって、各領域に含まれるアクティビティによって参照されるすべての変数を抽出し、抽出された変数の名称を領域名と関連付けた結果を変数参照関係格納テーブル240に格納することができる。
ビジネスプロセス開発用計算機300のCPU900は、ステップ1106の処理が終了すると、ビジネスプロセスの解析処理を終了する。
本発明の実施の形態では、ステップ1106の処理の結果として、図16に示すように、領域realm−A1(1710)では変数in−A1、var−A1及びout−A1が参照される。また、領域realm−A2(1711)では変数in−A2、var−A1、var−A2及びout−A2が参照される。
また、図7に示すように、領域realm−A1では変数in−A1、var−A1及びout−A1が参照され、領域realm−A2では変数in−A2、var−A1、var−A2及びout−A2が参照されることが、変数参照関係格納テーブル240に格納される。
図13は、本発明の実施の形態のビジネスプロセス実行時の手順を示すフローチャートである。
クライアント用計算機701は、クライアント820によって送信されたサービス実行要求を受け付け、サービス呼び出しプログラム710によって、ビジネスプロセス実行計算機201にサービス(ビジネスプロセス)の実行を要求する(ステップ1201)。ステップ1201の処理は、クライアント820からサービス実行要求を受け付けるまで待機する処理とみなすこともできる。なお、ビジネスプロセスの実行要求は、外部システムから要求されてもよい。また、プログラムなどのソフトウェアが実行されることによって要求されてもよいし、当該機能を備えたハードウェアによって要求されてもよい。
ビジネスプロセス実行計算機201のCPU900は、クライアント用計算機701によって送信されたサービス実行要求を受け付け、ビジネスプロセス実行部221によって、指定されたビジネスプロセスの実行を開始する。なお、ビジネスプロセスが永続化されていた場合には、ビジネスプロセスが活性化される。
なお、受付アクティビティ以外のアクティビティの前に永続化ポイントが指定された場合には、ビジネスプロセスを活性化するタイミングはリクエストの受信以外の場合も含まれるが、本発明の実施の形態では受付アクティビティの前にのみ永続化ポイントが指定されている場合について説明する。
ビジネスプロセス実行計算機201のCPU900は、ビジネスプロセス実行部221によって、クライアント820からビジネスプロセスの実行要求を受信すると、まず、最初に実行すべきアクティビティを特定する。そして、特定されたビジネスプロセスの名称及びアクティビティの名称をロード領域判定部222に通知する(ステップ1202)。なお、受信したビジネスプロセスの実行要求に基づいて、次に実行すべきビジネスプロセス及びアクティビティを特定する技術は、従来技術である汎用のビジネスプロセス実行プログラムなどによって実現されている機能であるため、詳細を省略する。
ビジネスプロセス実行計算機201のCPU900は、ロード領域判定部222によって、ステップ1202の処理で通知されたビジネスプロセス名及びアクティビティ名に基づいて、次に実行すべき領域を特定する。さらに、特定された領域に含まれるアクティビティ及び変数をビジネスプロセス実行部221に応答する(ステップ1203)。
以下、ステップ1203の処理でロード領域判定部222によって実行されるロード領域特定処理の詳細を、図14を参照しながら説明する。
図14は、本発明の実施の形態のロードされる領域に含まれるアクティビティと当該領域で使用される変数を取得する手順を示すフローチャートである。
ビジネスプロセス実行計算機201のCPU900は、まず、ビジネスプロセス実行部221から通知されたアクティビティ名が含まれる領域を特定する(ステップ1401)。具体的には、通知されたビジネスプロセス名及びアクティビティ名に基づいて、プロセス分割結果格納テーブル230を検索し、ビジネスプロセス名231が一致し、かつ、アクティビティ名233が一致するレコードを抽出する。
次に、ビジネスプロセス実行計算機201のCPU900は、ステップ1401の処理で特定された領域に含まれるアクティビティを抽出する(ステップ1402)。具体的には、ビジネスプロセス名及びステップ1401の処理で特定された領域の名称に基づいて、プロセス分割結果格納テーブル230を検索し、ビジネスプロセス名231が一致し、かつ、領域名232が一致するすべてのアクティビティ名を取得する。
さらに、ビジネスプロセス実行計算機201のCPU900は、ステップ1401の処理で特定された領域で使用される変数を抽出する(ステップ1403)。具体的には、ステップ1401の処理で特定された領域の名称に基づいて、変数参照関係格納テーブル240を検索し、領域名241が一致するすべての変数名を取得する。
最後に、ビジネスプロセス実行計算機201のCPU900は、ステップ1402の処理で抽出されたすべてのアクティビティ名、及びステップ1403の処理で抽出されたすべての変数名をビジネスプロセス実行部221に通知する(ステップ1404)。
ここで、図13のフローチャートの説明に戻る。
ビジネスプロセス実行計算機201のCPU900は、ビジネスプロセス実行部221によって、ステップ1203の処理で応答されたアクティビティを含むフロー定義と変数の定義情報及びその値をメモリ上にロードし、領域内に定義されたビジネスプロセス(アクティビティ)を実行する。さらに、実行結果をプロセス実行状態格納テーブル250及び変数状態格納テーブル260に格納することによってビジネスプロセスを永続化し、非活性状態とする(ステップ1204)。
ビジネスプロセス実行計算機201のCPU900は、ビジネスプロセス実行部221によって、ステップ1204の処理で実行された領域がビジネスプロセスに含まれる最後の領域であるか否かを判定する(ステップ1205)。最後の領域である場合には(ステップ1205の結果が「Yes」)、ビジネスプロセスの実行を終了する。最後の領域でない場合には(ステップ1205の結果が「No」)、ビジネスプロセスが活性化されるまで待機するために、ステップ1201の処理に戻る。
以上、図13に示した手順によって、分割されたビジネスプロセスを領域ごとに実行することができる。
次に、ビジネスプロセスが制御構造を含む場合の解析手順について、図18を参照しながら説明する。制御構造は、ビジネスプロセスにおいて、分岐処理又は並列処理などのフロー制御を行う構造である。具体的には、制御構造に対応するアクティビティがビジネスプロセスに含まれる。
分岐処理は、ビジネスプロセスに定義された変数の値などに基づいて、ビジネスプロセス実行時のフローを選択(制御)するための制御構造である。また、並列処理は、複数の処理フローを並行して処理するための制御構造である。
図18は、本発明の実施の形態の制御構造を含むビジネスプロセスの一例を示す図である。
図18に示すビジネスプロセスBP−B1800の一例では、「invoke−A1」の後に制御構造1850が含まれている。
まず、制御構造1850が分岐処理であった場合について説明する。制御構造1850は、所定の条件が満たされた場合にはinvoke−A2からreply−A3の4つのアクティビティが実行される。また、条件が満たされない場合にはinvoke−A4からreply−A5までの4つのアクティビティが実行される。
一方、制御構造1850が並列処理であった場合には、reply−A1アクティビティが実行された後、invoke−A2からreply−A3の4つのアクティビティとinvoke−A4からreply−A5までの4つのアクティビティが並行して実行される。そして、reply−A3及びreply−A5の両方の処理が終了した後、invoke−A7以降の処理が実行される。
ここで、制御構造を含むビジネスプロセスの解析処理について説明すると、ビジネスプロセスに制御構造が含まれる場合には、あらかじめビジネスプロセスを制御構造の前後で分割し、制御構造を含まないビジネスプロセスに分割する。そして、分割された各フローについて図9に示した処理手順を適用することによって、さらに領域を分割する。すなわち、図9に示したフロー定義解析部320によってビジネスプロセスの解析処理を実行する前に、制御構造の前後に永続化ポイントを付加する前処理を実行すればよい。
図18に示すビジネスプロセスBP−B1800は、ビジネスプロセスの開始から制御構造の開始までをフロー1801、制御構造に含まれる各フローをフロー1810及び1811、制御構造終了後からビジネスプロセスの終了までをフロー1802として分割される。
さらに、ビジネスプロセスが制御構造を含む場合の別の解析手順について、図19を参照しながら説明する。
図19は、本発明の実施の形態の制御構造を含むビジネスプロセスの一例を示す図である。ビジネスプロセスの構造自体は、図18に示した構造と同じである。
図19に示した解析結果は、制御構造を特別に区別することなく、領域を分割した結果である。このため、制御構造開始前の領域1901には制御構造内のフローで抽出された最初の永続化ポイントである1910及び1911よりも前に定義されているアクティビティinvoke−A2及びinvoke−A5が含まれている。
また、制御構造内のフローを含む領域1902及び1903は、制御構造終了後の最初の永続化ポイント1912までに定義されているアクティビティinvoke−A7を含んでいることを示している。すなわち、図19の例は、制御構造に含まれる個々のフローについて、最初の永続化ポイントまでを制御構造の開始前の領域に含まれるものとし、また、各フローの最後の領域は、制御構造終了後の最初の永続化ポイントまでに定義されたアクティビティを含むことを示している。
なお、制御構造が並列の場合には、invoke−A7が領域1902及び1903に重複して含まれるため、領域ごとにアクティビティを実行すると、同期せずにinvoke−A7が実行されてしまうおそれがある。したがって、制御構造が並列の場合には、制御構造を区別せずに領域を分割すると問題が生じる可能性がある。
以上、図18及び図19に示した方法などによって、制御構造を含むビジネスプロセスを領域ごとに分割することが可能となる。
次に、図9にて前述した手順によってビジネスプロセスが解析され、当該ビジネスプロセスが実行された後、当該ビジネスプロセスの稼動統計に基づいて、ビジネスプロセスの各領域を再構成する方法について説明する。なお、本発明の実施の形態では、稼動統計として平均値を用いるが、これ以外のものであってもよい。
ビジネスプロセスの各領域を再構成する手順は、図9に示した手順とほぼ同様であり、フロー定義解析部320によって実行される。
ビジネスプロセスの再構成時において追加される手順は、永続化ポイントを抽出するアルゴリズム(図10参照)において、ビジネスプロセスの稼動状況に基づいて、永続化ポイントを設定する。
具体的には、まず、図10におけるアクティビティSの開始時刻とアクティビティSの前に実行されるアクティビティの終了時刻の差の平均値を算出する。そして、算出された値が基準となる値(所定の閾値)よりも大きい場合、アクティビティSの前に実行されるアクティビティの終了からSの実行が開始されるまでの時間が長いと判定し、アクティビティSの前を永続化ポイントに指定する。
一方、算出された値が基準となる値よりも小さい場合には、アクティビティSの前に実行されたアクティビティの終了からアクティビティSの実行開始までの時間が短いと判定し、アクティビティSが受付アクティビティであっても、アクティビティSの直前を永続化ポイントとして設定しないようにする。
なお、アクティビティSの開始時刻及びアクティビティSの前に実行されるアクティビティの終了時刻は、プロセス実行状態格納テーブル250から取得することができる。具体的には、ビジネスプロセス名と、アクティビティS及びアクティビティSの前に実行されるアクティビティ名に基づいて、プロセス実行状態格納テーブル250を検索する。そして、ビジネスプロセス名251が一致し、かつ、アクティビティ名252が一致するレコードを抽出し、開始時刻254又は終了時刻255を取得する。
また、基準となる値は、固定された数値情報(例えば30秒など)であってもよいし、ビジネスプロセス開発者800が指定した特定の数値データであってもよい。さらに、ビジネスプロセス全体の実行時間から算出された数値であってもよいし、ビジネスプロセスによって提供されるサービスに依存する値でもよい。
以上の手順によって、ビジネスプロセスの実行時に稼動統計に基づいて動的に領域を分割することが可能となり、より効率的なビジネスプロセスの実行を実現できる。なお、ビジネスプロセス実行時の再構成は、必ずしも実施される必要はなく、ビジネスプロセスを定義した場合にのみ領域を分割するようにしてもよい。
最後に、図15に示すビジネスプロセスBP−A1700に対し、本発明の実施の形態によるビジネスプロセスの解析及び実行方法を適用した場合の効果について、図20及び図21を参照しながら説明する。
前述のように、ビジネスプロセスBP−A1700をフロー定義解析部320によって解析すると、ビジネスプロセスBP−A1700は二つの領域に分割される(図16における領域1710及び1720)。
図20及び図21は、本発明の実施の形態のビジネスプロセスの分割及び実行による効果を説明する図である。
図20は、ビジネスプロセスBP−A1700の最初のアクティビティであるreceive−A1が実行されるタイミングでメモリ上に展開される情報を説明する図である。図20の表において太枠で囲まれた各レコードが、receive−A1アクティビティが実行されるタイミングで読み込まれる。
ビジネスプロセスBP−A1700は、図16に示した領域realm−A1(1710)に示すように、receive−A1アクティビティからreply−A1アクティビティまでが一つの領域として分割される。したがって、メモリ上にはreceive−A1アクティビティからreply−A1アクティビティまでのフロー定義と、recive−A1アクティビティからreply−A1アクティビティの実行中に参照される変数であるin−A1、var−A1及びout−A1が展開される。
従来は、領域realm−A1に含まれるアクティビティを実行するために必要のないフロー定義情報(receive−A2アクティビティからreply−A2アクティビティまでの)及び変数(in−A2、var−A2及びout−A2)、すなわち、図20の表に格納されているすべてのレコードがメモリに読み込まれていた。
本発明の実施の形態では、図20中の表において太枠で囲まれているレコードのみがメモリに読み込まれるため、従来と比較して、データの読み込み量、及びメモリ上に展開される情報量を削減することができる。
図21は、receive−A1アクティビティの実行が完了したタイミングで各テーブルに書き込まれる情報を示している。
receive−A1アクティビティの実行が完了すると、ビジネスプロセスBP−A1700が永続化され、各テーブルにビジネスプロセスの実行状態及び各変数の状態が格納される。図21中の表において太枠で囲まれているレコードは、receive−A1アクティビティの実行完了時に書き込まれるレコードである。
従来は、ビジネスプロセスBP−A1700の永続化時に、図21中の表に格納されているすべてのレコードが書き込まれていたが、本発明の実施の形態では、太枠内の情報のみが書き込まれるため、書き込まれるデータ量を削減することができる。
本発明の実施の形態によれば、ビジネスプロセスを領域ごとに分割して実行することによって、ビジネスプロセス実行時に必要なリソース量、特にメモリ使用量を削減することができる。
また、本発明の実施の形態によれば、ビジネスプロセスを領域ごとに分割することによって、ビジネスプロセスの永続化時に書き込まれるデータ量、及び活性化時に読み出されるデータ量を削減することによって、ビジネスプロセスの実行性能を向上させることができる。
本発明の実施の形態のSOAシステムの構成の一例を示す図である。 本発明の実施の形態のビジネスプロセス開発用計算機の構成の一例を示す図である。 本発明の実施の形態のビジネスプロセス実行計算機の構成の一例を示す図である。 本発明の実施の形態のプロセス実行状態格納テーブルの構成の一例を示す図である。 本発明の実施の形態の変数状態格納テーブルの構成の一例を示す図である。 本発明の実施の形態のプロセス分割結果格納テーブルの構成の一例を示す図である。 本発明の実施の形態の変数参照関係格納テーブルの構成の一例を示す図である。 本発明の実施の形態のビジネスプロセスの定義(XML形式)の一例を示す図である。 本発明の実施の形態におけるビジネスプロセスを解析する手順を示すフローチャートである。 本発明の実施の形態のビジネスプロセスを分割する永続化ポイントを抽出する永続化ポイント抽出処理の手順を示すフローチャートである。 本発明の実施の形態のフロー定義解析部によるビジネスプロセス領域分割処理の手順を示すフローチャートである。 本発明の実施の形態の変数参照関係解析部による変数参照関係解析処理の手順を示すフローチャートである。 本発明の実施の形態のビジネスプロセス実行時の手順を示すフローチャートである。 本発明の実施の形態のロードされる領域を特定し、特定された領域に含まれるアクティビティと特定された領域で使用される変数を取得する手順を示すフローチャートである。 本発明の実施の形態のビジネスプロセスの定義(フローチャート形式)の一例を示す図である。 本発明の実施の形態のビジネスプロセスが解析された後の状態の一例を示す図である。 本発明の実施の形態のビジネスプロセス開発者に提示される永続化ポイント編集画面の一例を示す図である。 本発明の実施の形態の制御構造を含むビジネスプロセスの一例を示す図である。 本発明の実施の形態の制御構造を含むビジネスプロセスの一例を示す図である。 本発明の実施の形態のビジネスプロセスの分割及び実行による効果を説明する図である。 本発明の実施の形態のビジネスプロセスの分割及び実行による効果を説明する図である。
符号の説明
201 ビジネスプロセス実行計算機
221 ビジネスプロセス実行部
222 ロード領域判定部
230 プロセス分割結果格納テーブル
240 変数参照関係格納テーブル
250 プロセス実行状態格納テーブル
260 変数状態格納テーブル
300 ビジネスプロセス開発用計算機
310 ビジネスプロセス開発部
311 ビジネスプロセス永続化ポイント提示部
312 ビジネスプロセス永続化ポイント指定部
320 フロー定義解析部
330 変数参照関係解析部
501 サービス実行計算機
510 サービス実行基盤プログラム
701 クライアント用計算機
710 サービス呼び出しプログラム
800 ビジネスプロセス開発者
820 クライアント
900 CPU
910 ネットワークインタフェース
920 グラフィックインタフェース
921 画像表示装置
930 ユーザ入力インターフェース
940 主記憶装置
950 二次記憶装置
960 システムバス
1000 ネットワーク

Claims (20)

  1. サービスを提供するサービス実行装置と、前記サービスを組み合わせて業務処理を定義したビジネスプロセスを実行するビジネスプロセス実行装置と、を備える計算機システムにおけるビジネスプロセス実行方法であって、
    前記ビジネスプロセス実行装置は、前記サービス実行装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリとを備え、
    前記ビジネスプロセスは、前記ビジネスプロセスを構成するアクティビティに基づいて、少なくとも一つのアクティビティを含む領域に分割され、
    前記メモリは、前記ビジネスプロセスの実行経過を含む実行情報を格納するプロセス実行状態情報、及び前記領域と前記アクティビティとの対応を含むプロセス分割情報を記憶し、
    前記方法は、
    前記ビジネスプロセスの実行を受け付けた場合には、前記プロセス実行状態情報及び前記プロセス分割情報に基づいて、実行されるアクティビティを特定し、
    前記特定されたアクティビティを含む領域を抽出し、
    前記抽出された領域に対応する実行情報を前記プロセス実行状態情報から取得し、
    前記取得された実行情報に基づいて、前記抽出された領域に含まれるアクティビティを実行し、
    前記抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報に格納することを特徴とするビジネスプロセス実行方法。
  2. 前記方法は、
    前記ビジネスプロセスが定義された場合には、前記ビジネスプロセスの実行が中断される可能性が高いアクティビティを特定し、
    前記特定されたアクティビティに基づいて、前記ビジネスプロセスを分割することを特徴とする請求項1に記載のビジネスプロセス実行方法。
  3. 前記ビジネスプロセスの実行が中断される可能性が高いアクティビティは、外部からの入力を受け付ける受付アクティビティであることを特徴とする請求項2に記載のビジネスプロセス実行方法。
  4. 前記方法は、前記ビジネスプロセスが新たに定義された場合に、前記ビジネスプロセスの分割結果を提示することを特徴とする請求項2に記載のビジネスプロセス実行方法。
  5. 前記方法は、前記ビジネスプロセスの分割結果が提示された後、前記領域の分割又は統合を受け付けることを特徴とする請求項4に記載のビジネスプロセス実行方法。
  6. 前記抽出された領域に対応する実行情報には、前記ビジネスプロセスの実行時に使用される変数が含まれることを特徴とする請求項1に記載のビジネスプロセス実行方法。
  7. 前記方法は、
    前記ビジネスプロセスに含まれるアクティビティの実行開始時刻及び実行終了時刻を含む時間情報を測定し、
    前記測定された時間情報に基づいて、前記ビジネスプロセスを分割することを特徴とする請求項1に記載のビジネスプロセス実行方法。
  8. 前記方法は、
    前記時間情報に基づいて、前記アクティビティの実行間隔を算出し、
    前記算出された実行間隔が所定の閾値よりも長いアクティビティの間で、前記ビジネスプロセスを分割することを特徴とする請求項7に記載のビジネスプロセス実行方法。
  9. 前記ビジネスプロセスは、並列処理を制御するアクティビティに基づいて分割されることを特徴とする請求項1に記載のビジネスプロセス実行方法。
  10. 前記ビジネスプロセスは、条件分岐処理を制御するアクティビティに基づいて分割されることを特徴とする請求項1に記載のビジネスプロセス実行方法。
  11. サービスを提供するサービス実行装置に接続し、前記サービスを組み合わせて業務処理を定義したビジネスプロセスを実行するビジネスプロセス実行装置であって、
    前記サービス実行装置に接続されるインターフェースと、前記インターフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
    前記ビジネスプロセスは、前記ビジネスプロセスを構成するアクティビティに基づいて、少なくとも一つのアクティビティを含む領域に分割され、
    前記メモリは、前記ビジネスプロセスの実行経過を含む実行情報を格納するプロセス実行状態情報、及び前記領域と前記アクティビティとの対応を含むプロセス分割情報を記憶し、
    前記プロセッサは、
    前記ビジネスプロセスの実行を受け付けた場合には、前記プロセス実行状態情報及び前記プロセス分割情報に基づいて、実行されるアクティビティを特定し、
    前記特定されたアクティビティを含む領域を抽出し、
    前記抽出された領域に対応する実行情報を前記プロセス実行状態情報から取得し、
    前記取得された実行情報に基づいて、前記抽出された領域に含まれるアクティビティを実行し、
    前記抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報に格納することを特徴とするビジネスプロセス実行装置。
  12. 前記プロセッサは、
    前記ビジネスプロセスが新たに定義された場合には、前記ビジネスプロセスの実行が中断される可能性が高いアクティビティを特定し、
    前記特定されたアクティビティに基づいて、前記ビジネスプロセスを分割することを特徴とする請求項11に記載のビジネスプロセス実行装置。
  13. 前記ビジネスプロセスの実行が中断される可能性が高いアクティビティは、外部からの入力を受け付ける受付アクティビティであることを特徴とする請求項12に記載のビジネスプロセス実行装置。
  14. 前記抽出された領域に対応する実行情報には、前記ビジネスプロセスの実行時に使用される変数が含まれることを特徴とする請求項11に記載のビジネスプロセス実行装置。
  15. 前記プロセッサは、
    前記ビジネスプロセスに含まれるアクティビティの実行開始時刻及び実行終了時刻を含む時間情報を測定し、
    前記測定された時間情報に基づいて、前記ビジネスプロセスを分割することを特徴とする請求項11に記載のビジネスプロセス実行装置。
  16. 前記プロセッサは、
    前記測定された時間情報に基づいて、前記アクティビティの実行間隔を算出し、
    前記算出された実行間隔が所定の閾値よりも長いアクティビティの間で、前記ビジネスプロセスを分割することを特徴とする請求項15に記載のビジネスプロセス実行装置。
  17. サービスを提供するサービス実行装置に接続し、前記サービスを組み合わせて業務処理を定義したビジネスプロセスを実行するビジネスプロセス実行装置によって実行されるプログラムであって、
    前記ビジネスプロセスは、前記ビジネスプロセスを構成するアクティビティに基づいて、少なくとも一つのアクティビティを含む領域に分割され、
    前記ビジネスプロセス実行装置は、前記ビジネスプロセスの実行経過を含む実行情報を格納するプロセス実行状態情報、及び前記領域と前記アクティビティとの対応を含むプロセス分割情報を記憶し、
    前記プログラムは、
    前記ビジネスプロセスの実行を受け付けた場合には、前記プロセス実行状態情報及び前記プロセス分割情報に基づいて、実行されるアクティビティを特定する手順と、
    前記特定されたアクティビティを含む領域を抽出する手順と、
    前記抽出された領域に対応する実行情報を前記プロセス実行状態情報から取得する手順と、
    前記取得された実行情報に基づいて、前記抽出された領域に含まれるアクティビティを実行する手順と、
    前記抽出された領域に含まれるすべてのアクティビティの実行が完了した場合には、前記抽出された領域に対応する実行情報を前記プロセス実行状態情報に格納する手順と、を含むことを特徴とするビジネスプロセス実行プログラム。
  18. 前記プログラムは、
    前記ビジネスプロセスが新たに定義された場合には、前記ビジネスプロセスの実行が中断される可能性が高いアクティビティする手順と、
    前記特定されたアクティビティに基づいて、前記ビジネスプロセスを分割する手順と、をさらに含むことを特徴とする請求項17に記載のビジネスプロセス実行プログラム。
  19. 前記プログラムは、
    前記ビジネスプロセスに含まれるアクティビティの実行開始時刻及び実行終了時刻を含む時間情報を測定する手順と、
    前記測定された時間情報に基づいて、前記ビジネスプロセスを分割する手順と、さらに含むことを特徴とする請求項17に記載のビジネスプロセス実行プログラム。
  20. 前記プログラムは、
    前記測定された時間情報に基づいて、前記アクティビティの実行間隔を算出する手順と、
    前記算出された実行間隔が所定の閾値よりも長いアクティビティの間で、前記ビジネスプロセスを分割する手順と、をさらに含むことを特徴とする請求項19に記載のビジネスプロセス実行プログラム。
JP2008185935A 2008-07-17 2008-07-17 ビジネスプロセス実行方法、ビジネスプロセス実行装置及びビジネスプロセス実行プログラム Pending JP2010026695A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008185935A JP2010026695A (ja) 2008-07-17 2008-07-17 ビジネスプロセス実行方法、ビジネスプロセス実行装置及びビジネスプロセス実行プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008185935A JP2010026695A (ja) 2008-07-17 2008-07-17 ビジネスプロセス実行方法、ビジネスプロセス実行装置及びビジネスプロセス実行プログラム

Publications (1)

Publication Number Publication Date
JP2010026695A true JP2010026695A (ja) 2010-02-04

Family

ID=41732488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008185935A Pending JP2010026695A (ja) 2008-07-17 2008-07-17 ビジネスプロセス実行方法、ビジネスプロセス実行装置及びビジネスプロセス実行プログラム

Country Status (1)

Country Link
JP (1) JP2010026695A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276681A (zh) * 2019-06-17 2019-09-24 深圳前海微众银行股份有限公司 一种开展业务的方法及装置
WO2023153491A1 (ja) * 2022-02-10 2023-08-17 Ibc一番町弁理士法人 プロセス実行システム、データ構造、およびプロセス実行プログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177568A (ja) * 1996-12-17 1998-06-30 Hitachi Ltd 文書管理システムおよび文書管理用記憶媒体
JP2000250967A (ja) * 1999-02-26 2000-09-14 Fujitsu Ltd ワークフロー制御システム及び制御方法及びワークフロー制御プログラムを記録した記録媒体
JP2001014389A (ja) * 1999-06-25 2001-01-19 Hitachi Ltd ワークフローサーバおよびクライアント端末
JP2002517831A (ja) * 1998-06-05 2002-06-18 アイ2・テクノロジーズ・インコーポレイテッド マルチエンタープライズコラボレーションのためのシステムおよびプロセス
JP2002334194A (ja) * 2001-02-09 2002-11-22 Internatl Business Mach Corp <Ibm> ワークフロー管理システムにおいて選択的コマンド制御を提供する方法、システム、プログラム
JP2004280821A (ja) * 2003-03-12 2004-10-07 Microsoft Corp ソフトウェアビジネスプロセスモデル
JP2004280820A (ja) * 2003-03-12 2004-10-07 Microsoft Corp ビジネスソフトウェアアプリケーションをサポートするフレームワーク
JP2007156859A (ja) * 2005-12-06 2007-06-21 Hitachi Ltd 役割関係のモデル化によるビジネスプロセス設計支援方法およびシステム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10177568A (ja) * 1996-12-17 1998-06-30 Hitachi Ltd 文書管理システムおよび文書管理用記憶媒体
JP2002517831A (ja) * 1998-06-05 2002-06-18 アイ2・テクノロジーズ・インコーポレイテッド マルチエンタープライズコラボレーションのためのシステムおよびプロセス
JP2000250967A (ja) * 1999-02-26 2000-09-14 Fujitsu Ltd ワークフロー制御システム及び制御方法及びワークフロー制御プログラムを記録した記録媒体
JP2001014389A (ja) * 1999-06-25 2001-01-19 Hitachi Ltd ワークフローサーバおよびクライアント端末
JP2002334194A (ja) * 2001-02-09 2002-11-22 Internatl Business Mach Corp <Ibm> ワークフロー管理システムにおいて選択的コマンド制御を提供する方法、システム、プログラム
JP2004280821A (ja) * 2003-03-12 2004-10-07 Microsoft Corp ソフトウェアビジネスプロセスモデル
JP2004280820A (ja) * 2003-03-12 2004-10-07 Microsoft Corp ビジネスソフトウェアアプリケーションをサポートするフレームワーク
JP2007156859A (ja) * 2005-12-06 2007-06-21 Hitachi Ltd 役割関係のモデル化によるビジネスプロセス設計支援方法およびシステム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200701196007; 加藤 英之 Hideyuki KATOH: 'Webサービスを用いたワークフロー管理における負荷分散手法のシミュレーションによる評価 Simulation E' 日本データベース学会Letters Vol.4 No.2 DBSJ Letters 第4巻, 20070817, 頁25〜28, 日本データベース学会 The Database Society of Japa *
JPN6011062956; 加藤 英之 Hideyuki KATOH: 'Webサービスを用いたワークフロー管理における負荷分散手法のシミュレーションによる評価 Simulation E' 日本データベース学会Letters Vol.4 No.2 DBSJ Letters 第4巻, 20070817, 頁25〜28, 日本データベース学会 The Database Society of Japa *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110276681A (zh) * 2019-06-17 2019-09-24 深圳前海微众银行股份有限公司 一种开展业务的方法及装置
CN110276681B (zh) * 2019-06-17 2024-05-17 深圳前海微众银行股份有限公司 一种开展业务的方法及装置
WO2023153491A1 (ja) * 2022-02-10 2023-08-17 Ibc一番町弁理士法人 プロセス実行システム、データ構造、およびプロセス実行プログラム
JP7429941B2 (ja) 2022-02-10 2024-02-09 Ibc一番町弁理士法人 プロセス実行システムおよびプロセス実行プログラム

Similar Documents

Publication Publication Date Title
CN110244942B (zh) 一种页面生成方法、装置及系统
CN108304201B (zh) 对象更新方法、装置及设备
CN111045655A (zh) 一种页面渲染的方法、装置、渲染服务器和存储介质
WO2018036342A1 (zh) 基于csar的模型文件的可视化设计方法及装置
US20100281463A1 (en) XML based scripting framework, and methods of providing automated interactions with remote systems
US20080183479A1 (en) Business process reconstruction method, and its program and computer
US20130346992A1 (en) Computing system, method for controlling thereof, and computer-readable recording medium having computer program for controlling thereof
JP2013518321A (ja) パターンベースのユーザインターフェース
CN113971037A (zh) 应用处理方法、装置、电子设备及存储介质
US20200241850A1 (en) Code Management System and Code Management Method
JP4493269B2 (ja) プログラム編集装置及びプログラム
JP2010026695A (ja) ビジネスプロセス実行方法、ビジネスプロセス実行装置及びビジネスプロセス実行プログラム
CN113568614A (zh) 任务发布方法、电子设备及存储介质
US7502967B1 (en) Identifying an object in a data file that causes an error in an application
CN115469849B (zh) 一种业务处理系统、方法、电子设备和存储介质
JP4686117B2 (ja) ソースコード変換装置、ソースコード変換方法、およびプログラム
JP3449256B2 (ja) クライアント/サーバアプリケーション作成方法及びその装置並びに情報記録媒体
JP6372350B2 (ja) 定義ファイル生成プログラム、定義ファイル生成方法、および情報処理装置
JP2005141641A (ja) 情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体
CN114968200A (zh) 软件开发工具包组装方法、相关装置及计算机程序产品
JP4702835B2 (ja) Webサービスカスタマイズシステム
JP2008135054A (ja) ワークフロー管理方法及びその実施システム
JP7502216B2 (ja) プログラム生成支援装置、プログラム生成支援方法、及びプログラム生成支援プログラム
JP2006171913A (ja) 情報処理装置、情報処理方法、ならびにプログラム、記憶媒体
JP6221305B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121002