JP2003242313A - 業務進捗制御装置及びその方法と、業務進捗制御プログラム及びそのプログラムを記録した記録媒体 - Google Patents

業務進捗制御装置及びその方法と、業務進捗制御プログラム及びそのプログラムを記録した記録媒体

Info

Publication number
JP2003242313A
JP2003242313A JP2002039780A JP2002039780A JP2003242313A JP 2003242313 A JP2003242313 A JP 2003242313A JP 2002039780 A JP2002039780 A JP 2002039780A JP 2002039780 A JP2002039780 A JP 2002039780A JP 2003242313 A JP2003242313 A JP 2003242313A
Authority
JP
Japan
Prior art keywords
business
unit
rule
progress control
cancel operation
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
JP2002039780A
Other languages
English (en)
Other versions
JP3712984B2 (ja
Inventor
Takeshi Masuda
健 増田
Tadashi Kotani
忠司 小谷
Shingo Miyagawa
慎吾 宮川
Kazuma Ishikawa
数馬 石川
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002039780A priority Critical patent/JP3712984B2/ja
Publication of JP2003242313A publication Critical patent/JP2003242313A/ja
Application granted granted Critical
Publication of JP3712984B2 publication Critical patent/JP3712984B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】本発明は、処理粒度の異なる複数の単位業務や
取消操作から構成されたシステムで、柔軟性、記述性の
高いロールバック機能の提供を目的とする。 【解決手段】単位業務や取消操作など、現在の業務状態
に関連する処理間の依存性、対応関係、包含関係を進捗
状態記憶部にネットワークデータとして保持し、そのネ
ットワークデータの作成・更新を行うための動作記述を
ルール蓄積部にルールとして取り込み、ルール解釈実行
部がこの2つの処理部とその他の処理部との仲介を行っ
てロールバック処理の制御を行う。また、このロールバ
ック機能をソフトウェア部品化し業務内容に依存しない
構成とするために、ソフトウェア部品間で業務依頼イベ
ント、業務処理中断要求などのタイミングで連携動作を
行い、その際の交換データに、識別子生成部でユニーク
に生成され親子関係が定義される識別子を含むことで、
複数の処理スコープを扱えるようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】複数の単位業務の組み合わせ
によって構成される複合業務の進捗を制御する業務進捗
制御装置及びその方法と、その業務進捗制御方法の実現
に用いられる業務進捗制御プログラム及びそのプログラ
ムを記録した記録媒体とに関する。
【0002】
【従来の技術】(1)分散トランザクションサービス クライアントサーバ型システム環境や分散オブジェクト
指向型システム環境においては、従来から分散トランザ
クションサービスを提供する標準APIが存在する。
【0003】例えば、X/Open(X/Open Company Limit
ed) で制定するXAインターフェイス、あるいはOMG
(Object Management Group)で制定するOTS/Resou
rceInterface (Object Transaction Service)、ある
いはISO(InternationalOrganization for Standard
ization)で制定するOSI−TP(Transaction Proce
ssing)などである。
【0004】分散トランザクションサービスを利用する
際は、それに参加するサブシステムを前記標準APIに
適合させる必要がある。このため、サブシステムがレガ
シィシステムである等の理由により直接改造ができない
場合は、アダプタを作成しなければならない。
【0005】ここで、異なる開発経緯のサブシステムを
複数統合して1つのトランザクションを処理する場合、
各サブシステムにおける業務処理や取消操作の粒度が異
なるために、前記アダプタが使えない場合がある。
【0006】例えば、ひとつの伝票に対する処理が完了
するまでに数日かかるような業務ドメインの場合、その
伝票に対して実行される単位業務ごとに、完結したトラ
ンザクションとして扱うのが一般的である。すなわち、
1つのトランザクションとして扱う処理の粒度を小さく
抑える設計とするのが一般的である。
【0007】さらに、取消操作については、それに対応
する単位業務と同じ粒度で定義されるとは限らない。例
えば、Aという単位業務と、Aに続いて行われるBとい
う単位業務とが存在した場合、Aの取消操作A’と、B
の取消操作B’とが、前記単位業務と1対1に対応しな
い場合がある。つまりBを取り消す場合は、B’を実行
するが、その後、A’を実行しなくても、Aを実行する
前の状態まで一気に戻す形の設計が考えられる。
【0008】これは、AとBとの間の状態は一時的なも
のであり、取消操作としては、常にAの前の状態まで戻
すほうがその業務ドメインで一般化している場合に行わ
れる。すなわち、取消操作の粒度を業務ドメインの事情
にあわせて設計する場合がしばしば発生する。
【0009】他の業務ドメインのシステムについても、
前記と同様に、そのドメインに適した処理粒度で設計さ
れる。
【0010】このような場合、各業務ドメインで既に稼
動しているシステムを複数連携させて、より大域的な業
務処理を実行するシステムに統合しようとしても、サブ
システム相互の処理粒度の違い、ならびにサブシステム
と統合システムとの間の処理粒度の違い、あるいは単位
業務とそれに対応する取消操作の粒度の違い、等をアダ
プタによって吸収することは困難である。
【0011】一方、トランザクションに参加するサブシ
ステムに対して、コミット操作あるいはロールバック操
作を行う場合は、全てに対して一律にどちらか一方の操
作を指定する。これはトランザクションのアトミック性
を維持することで、システム上のデータの一貫性を保証
する考え方である。
【0012】しかし、前記の大域的な業務処理において
は、一貫性が保証できる形で途中の状態へロールバック
させたい場合がある。分散トランザクションサービスで
は、このような要求に対応できない。途中の状態へのロ
ールバック処理を、分散トランザクションを複数組み合
せて実現しようとすると、複雑なプログラムコードが必
要となるため、開発・改造に大きなコストがかかってし
まう。
【0013】(2)ワークフローエンジン 複合業務の進捗を管理制御するミドルウェアとして、ワ
ークフローエンジンが広く用いられている。
【0014】ワークフローエンジンは、複合業務の構成
要素である単位業務について、その処理の実装がどのよ
うなプロセスで構成されているか、どのようなマシン上
で稼動しているか、どのようなソフトウェアアーキテク
チャ上で実装されているかに関係なく、業務の進捗状態
を制御管理できる。近年では、ワークフローエンジンの
フロー記述形式が標準化されており、ベンダ依存性も解
消される見通しとなっている。
【0015】しかし、業務進捗状態を戻す処理が必要な
場合、ワークフロー記述では分散トランザクションのよ
うにロールバックの概念がないため、取消の操作も通常
の操作と同じように記述しなければならない。
【0016】一部の市販ワークフローパッケージには、
ワークフロー記述を補助するものとして、ルール記述を
ワークフロー上のノードと関連付けて与えておくと、当
該ノードに進捗が到達した場合に、当該ルールとのマッ
チングを行うことで、柔軟な進捗状態管理制御機能を提
供するものが存在する。
【0017】この機能を利用すると、複雑な進捗過程を
簡潔なワークフローとして記述することができるが、ル
ールの適用は進捗状態が当該ノードに停留している場合
にのみ行われるので、ロールバック処理の記述には使う
ことができない。なぜならば、ロールバック処理は、本
質的に複数の進捗状態に跨る処理であり、前記のように
特定の進捗状態だけで有効な、いわばローカルなスコー
プに限定されたルールの適用では、実現できないからで
ある。
【0018】また、ワークフローパッケージを、ロール
バック処理が実現できるように拡張することも考えられ
るが、特定の業務ドメインに限定された仕様となってし
まうために現実的ではない。さらに、ドメインを限定し
ないようにするために、外部の記述を読み込むようにす
ることも考えられるが、当該ワークフローエンジンの独
自仕様に依存したワークフロー記述となることで、前記
標準記述形式との互換性が失われてしまう。
【0019】(3)ルールエンジン 複合業務の進捗を管理制御するミドルウェアとして、ワ
ークフローエンジン以外に、ルール形式で記述したスク
リプトを解釈実行するルールエンジンが存在する。
【0020】ルールにもとづく処理は、複雑な条件判断
が多数必要な場合に、ワークフローよりも簡潔に動作を
記述できるという利点がある。
【0021】しかし、ルールの実行部に記述できる処理
は、内部変数への値の設定もしくは内部オブジェクトへ
のメッセージ送信のみであるため、単独で複雑な動作を
実現することはできず、内部オブジェクトの実装部分と
どのように組み合せるかが重要になる。
【0022】ルールエンジンとして市販されているミド
ルウェアが既に存在し、これらはビジネスロジックの記
述に適合するよう、ルール間の優先順位制御、ルール間
の排他制御、前提ルールの導入、などを行っている。
【0023】しかし、判定の結果として起動される処理
は、前記同様、単純なメッセージ送信のみである。した
がって、複合業務の進捗について順方向への制御は柔軟
に行えるが、トランザクションにおけるロールバック処
理のような逆方向への制御は実現が困難である。
【0024】
【発明が解決しようとする課題】(1)実装上の制約の
問題 分散トランザクションは、異なる業務ドメインで既に稼
動しているシステムを複数連携させる場合、業務ドメイ
ンごとの最適設計で生じた処理粒度の違いを吸収するこ
とが困難である。
【0025】(2)進捗状態管理制御の柔軟性の問題 分散トランザクションは、トランザクションに参加する
複数の処理対象に対する操作を非分割にすることで、業
務状態の一貫性を保証するだけなので、複合業務におけ
る途中の進捗状態までロールバックする等といったよう
な柔軟な管理制御を行うことはできない。
【0026】(3)ワークフロー記述の大規模複雑化の
問題 ワークフローエンジンは、取消の操作も通常の操作と同
じように記述するため、進捗管理制御の自由度は高い。
【0027】そのかわり、分散トランザクションサービ
スのロールバック処理のように、常に内部状態の一貫性
を維持するための自動的な機能は提供されないので、シ
ステムが常に一貫性を維持するよう、メイン処理とロー
ルバック処理の整合性を取ってワークフローを記述しな
ければならない。
【0028】一般に、実行時例外はワークフロー上のあ
らゆる個所で発生する可能性があるため、ロールバック
処理を記述するためには多くの判断分岐が必要となり、
ワークフロー記述そのものが大規模かつ複雑化してしま
う。その結果、開発、デバッグ、改造に稼動がかかりす
ぎるため、時間的、経済的コストが増大する、あるいは
設計仕様やテスト内容にもれが生じやすくなるため、プ
ログラムの品質が低下するなどの問題がある。
【0029】(4)記述形式の問題 ワークフローエンジンに対し、ロールバック処理が可能
なように拡張することも考えられる。
【0030】しかし、この場合には、特定の業務ドメイ
ンへの限定を避けるため、外部記憶装置上のカスタマイ
ズ用記述データに基づいて動作を変えられるようにする
必要がある。
【0031】このカスタマイズ用記述として、ワークフ
ロー記述の形式を変更して対応すると、ワークフロー記
述の標準形式との互換性が失われ、当該ワークフローエ
ンジン以外への記述の移植ができなくなるという問題が
ある。
【0032】このような従来技術の持つ問題を解決する
ために、本発明は、次のようなシステムの提供を目的と
する。
【0033】(イ)実装上の制約に関する目的 本発明は、業務ドメインごとの最適設計により処理粒度
の違いが生じた場合、既存のサブシステムに改造を加え
ずに、かつ複雑なプログラムコードを必要としない方法
で、これらの違いを吸収し、一貫性を維持したロールバ
ック処理が可能な業務進捗制御装置を提供することを目
的とする。
【0034】(ロ)進捗状態管理制御の柔軟性に関する
目的 本発明は、複数の単位業務が束集合的依存関係を構成す
るような複雑な複合業務において、途中の段階までのロ
ールバック処理が可能な業務進捗制御装置を提供するこ
とを目的とする。
【0035】(ハ)ワークフロー記述の大規模複雑化に
関する目的 本発明は、前記記載の柔軟なロールバック処理を、ワー
クフロー形式で記述する場合に比較して、簡潔かつ管理
しやすい形式で記述できる業務進捗制御装置を提供する
ことを目的とする。
【0036】(ニ)記述形式に関する目的 本発明は、既存のワークフローエンジンに他のミドルウ
ェアとの接続性を損なう改造や、ワークフロー記述の標
準形式との互換性を失う拡張を行うことなく、ロールバ
ック処理の実行方法ならびにロールバック処理の記述形
式によって動作する業務進捗制御装置を提供することを
目的とする。
【0037】
【課題を解決するための手段】この目的を達成するため
に、本発明の業務進捗制御装置は、複数の単位業務の組
み合わせによって構成される複合業務の進捗を制御する
という構成を採るときにあって、単位業務の識別子を
キーにして、その単位業務に関連する単位業務及び取消
操作の情報をルールの形で保存するルール保存手段と、
単位業務及びその取消操作の間の関係を示すネットワ
ークデータを保存するネットワークデータ保存手段と、
単位業務の処理を進めるときに、ルール保存手段に保
存されるルールに従って、ネットワークデータ保存手段
に保存されるネットワークデータを更新する更新手段
と、単位業務の進捗状態を元に戻す必要があるとき
に、ネットワークデータ保存手段に保存されるネットワ
ークデータに従って、それに必要となる取消操作を検索
する検索手段と、検索手段の検索した取消操作の実行
を指示する指示手段とを備えるように構成する。
【0038】このように構成される本発明の業務進捗制
御装置では、ルール保存手段は、例えば、単位業務に先
行して完了すべき他の単位業務の情報や、単位業務に対
応する取消操作の情報や、その取消操作が包含する他の
取消操作の情報について記述するルールを保存する。
【0039】このルール保存手段に保存されるルールを
受けて、更新手段は、単位業務の処理を進めるときに、
その単位業務の識別子をキーにしてその保存されるルー
ルを検索し、その検索したルールに従って、ネットワー
クデータ保存手段に保存されるネットワークデータを更
新する。
【0040】このようにして更新されるネットワークデ
ータは、例えば、各単位業務を起点として、その単位業
務の取消操作と、その取消操作が包含する取消操作と、
その包含される取消操作に対応付けられる単位業務と、
さらに、その対応付けられる単位業務を起点として同様
にリンクしていく取消操作・単位業務というように、単
位業務及びその取消操作の間の関係(依存関係や包含関
係)を示すものとなっている。
【0041】このネットワークデータを受けて、検索手
段は、単位業務の進捗状態を元に戻す必要があるときに
は、進捗状態を戻す単位業務として指定される単位業務
を起点にしてネットワークデータを辿ることで、そのロ
ールバックに必要となる取消操作を検索する。このと
き、包含先となる取消操作については、包含元となる取
消操作を行えば取り消したことになることを考慮しつつ
取消操作を検索する。
【0042】この検索された取消操作を受けて、指示手
段は、その検索された取消操作の実行を指示すること
で、単位業務の進捗状態を元に戻す(ロールバックす
る)ように処理する。
【0043】この構成を採るときに、単位業務の間に依
存関係はないものの、別の理由で単位業務をグループ化
して、それらを一括してロールバックしたいというよう
な要求の出ることがある。
【0044】このときには、そのグループ化を実現する
ためのダミーの単位業務や取消操作が用意されることに
なるので、ルール保存手段は、そのダミーの単位業務や
取消操作について記述するルールを用意することにな
る。
【0045】但し、このとき、更新手段は、ダミーの単
位業務や取消操作についても正規の単位業務や取消操作
と何ら変わることなく、単位業務の識別子をキーにして
その保存されるルールを検索し、その検索したルールに
従って、ネットワークデータ保存手段に保存されるネッ
トワークデータを更新することになる。
【0046】このように構成される本発明の業務進捗制
御装置によれば、複数のサブシステムを統合して1つの
統合された業務システムを構築する場合にあって、サ
ブシステム相互に処理粒度の違い(サブシステムAとサ
ブシステムBとで単位業務の大きさや数が異なるといっ
たような処理粒度の違い)があっても、また、単位業
務とそれに対応する取消操作の処理粒度の違い(単位業
務と取消操作が1対1に対応したりしなかったりといっ
たような処理粒度の違い)があっても、また、サブシ
ステムと統合された業務システムとの間の処理粒度の違
い(処理時間が異なるといったような処理粒度の違い)
があっても、その違いを吸収できることから、統合され
た業務システム上で一貫性を維持したロールバックが可
能になる。
【0047】また、ルール形式の動作記述に従って、処
理を行った単位業務及びその取消操作の間の依存関係や
包含関係を記憶管理して、それに基づいてロールバック
を行うことから、複雑なプログラムコードを必要とせず
にロールバックが可能になり、また、ワークフロー記述
などにロールバック処理を記述しなくてもロールバック
が可能になり、また、ワークフロー記述などを変更しな
くてもロールバックが可能になる。
【0048】本発明の業務進捗制御装置の動作について
は、半導体メモリなどのような適当な記録媒体に記録し
て提供可能な本発明の業務進捗制御プログラムをインス
トールすることにより実現されることになる。
【0049】この本発明の業務進捗制御プログラムは、
上述のルール保存手段からルールを読み出す処理と、単
位業務の処理を進めるときに、その読み出したルールに
従って、上述のネットワークデータ保存手段に保存され
るネットワークデータを更新する処理と、単位業務の進
捗状態を元に戻す必要があるときに、上述のネットワー
クデータ保存手段に保存されるネットワークデータに従
って、それに必要となる取消操作を検索する処理と、そ
の検索した取消操作の実行を指示する処理とをコンピュ
ータに実行させるための処理を行うことで、複数の単位
業務の組み合わせによって構成される複合業務の進捗を
制御する処理を行う。
【0050】このように構成される本発明の業務進捗制
御プログラムについては、独立したミドルウェアに集約
することで実現することが考えられる。
【0051】すなわち、単位業務の進行を制御するミド
ルウェアとして用意される外部プログラム(例えば市販
のワークフローエンジン)とは別の形のミドルウェアと
して、本発明の業務進捗制御プログラムを実現すること
が考えられる。
【0052】ミドルウェアとして実現する場合には、本
発明の業務進捗制御プログラムは、単位業務の進行を制
御する外部プログラムから単位業務の処理依頼を受け取
るとともに、その処理依頼を受けた単位業務の実行を指
示し、さらに、その外部プログラムから単位業務の進捗
状態を元に戻す処理依頼を受け取るように処理すること
になる。ここで、進捗状態を元に戻す処理依頼について
は、外部プログラムが発行する他に、単位業務の実行に
失敗するときに、自動的に発行されることになる。
【0053】この構成に従う場合には、ミドルウェアが
互いに独立なプロセスとして動作するとともに、メモリ
空間を共有しないことから、ミドルウェア間の連携を実
現する構成を構築する必要がある。
【0054】一方、例えば、同一のワークフロー記述を
別々のユーザが使用することがあり、このような場合
(処理は同じだがインスタンスが異なる)には、それら
のユーザの固有のネットワークデータがネットワークデ
ータ保存手段に保存されることで、それらを区別してい
く必要がある。
【0055】このような事情を考慮して、本発明の業務
進捗制御プログラムは、ミドルウェアで構成されるとき
に、外部プログラムから処理依頼を受けた1つ又は複数
の単位業務に対してインスタンスな識別子を生成し、ネ
ットワークデータ保存手段に保存されるネットワークデ
ータの該当する単位業務にそれを記録するとともに、外
部プログラムに対してそれを通知する処理を行う。
【0056】このインスタンス識別子の通知を受け取る
と、外部プログラムは、必要に応じてインスタンス識別
子を指定して単位業務の処理依頼を発行したり、必要に
応じてインスタンス識別子を指定して単位業務の進捗状
態を元に戻す処理依頼を発行することで、インスタンス
の違いを考慮した形で処理依頼を発行できるようにな
る。
【0057】さらに、本発明の業務進捗制御プログラム
は、親子関係を有するインスタンス識別子を生成する処
理を行う。
【0058】例えば、ある単位業務グループを実行後、
ワークフローが分岐し、それぞれのフローにおいて、同
一の複数の単位業務が実行されることがあり、そのよう
な場合には、どちら側のフローのインスタンスであるの
かを区別していく必要がある。また、例えば、入れ子の
ワークフローにおいても、同一の複数の単位業務が実行
されることがあり、そのような場合には、フローのどの
箇所のインスタンスであるのかを区別していく必要があ
る。
【0059】このような事情を考慮して、本発明の業務
進捗制御プログラムは、親に相当する単位業務グループ
(1つ又は複数の単位業務で構成される)に対して、子
に相当する単位業務グループ(1つ又は複数の単位業務
で構成される)があれば、前者のインスタンス識別子を
親として持つインスタンス識別子を後者に割り当てるこ
とで、外部プログラムが親子関係を有するインスタンス
識別子を使って処理依頼を行えるようにする。
【0060】そして、その親子関係を持つインスタンス
識別子の生成機能に合わせて、本発明の業務進捗制御プ
ログラムは、インスタンス識別子を指定して、親子関係
にあるインスタンス識別子の検索要求を発行し、その検
索結果を受け取る処理を行ったり、2つのインスタンス
識別子を指定して、包含関係にあるのか否かの判定要求
を発行し、その判定結果を受け取る処理を行う。
【0061】例えば、ワークフローが分岐しているよう
な場合にあって、分岐後の単位業務グループ(子に相当
する)内で処理を取り消す必要が起こると、分岐前の単
位業務グループ(親に相当)内で処理を取り消す必要が
起こる場合がある。
【0062】そのような場合に、本発明の業務進捗制御
プログラムは、このような親子関係を有するインスタン
ス識別子の機能を持つことで、分岐後の単位業務グルー
プのインスタンス識別子から、分岐前の単位業務グルー
プのインスタンス識別子を直ちに特定できるようにな
り、そのような取り消しのためのネットワークデータを
作成できるようになることで、そのような取り消しを簡
単に行うことができるようになる。
【0063】また、例えば、ワークフローの記述が入れ
子となっているような場合にあって、入れ子の内側の単
位業務グループ(子に相当する)内で処理を取り消す必
要が起こると、入れ子の外側の単位業務グループ(親に
相当)内で処理を取り消す必要が起こる場合がある。
【0064】そのような場合に、本発明の業務進捗制御
プログラムは、このような親子関係を有するインスタン
ス識別子の機能を持つことで、入れ子の内側の単位業務
グループのインスタンス識別子から、入れ子の外側のイ
ンスタンス識別子を直ちに特定できるようになり、その
ような取り消しのためのネットワークデータを作成でき
るようになることで、そのような取り消しを簡単に行う
ことができるようになる。
【0065】そして、このような機能を持つことで、本
発明の業務進捗制御プログラムは、他のミドルウェアと
の連携時に、探索の範囲を指定させることができるよう
になる。
【0066】本明細書では、サブシステムの連携を行う
統合システムの実装において、市販のミドルウェアパッ
ケージが広く利用されていることから、本発明の業務進
捗制御プログラムを実現するソフトウェア部品の具体例
としてミドルウェアを挙げている。
【0067】しかしながら、本発明は複合業務を提供す
るシステムに広く適用可能なものであり、実装形態は前
記に限定されるものではない。例えば、単一のプロセス
上で動作し、異なる業務内容のコンポーネントを組み込
むことが可能で、それらの連携によって実現される複合
業務を柔軟に定義可能な、複合業務システムフレームワ
ークなどが考えられる。このように実施形態を広く考え
た場合、前記ソフトウェア部品の具体的呼称としては、
ミドルウェア、コンポーネント、モジュール、ライブラ
リ、等が含まれる。
【0068】また、既存のミドルウェア製品の具体例と
しては、複数のサブシステムに接続して業務処理依頼を
送信するリクエストブローカ、あるいはサブシステムへ
の業務処理依頼の順序を制御するワークフローエンジ
ン、あるいはワークフローエンジンから発行される処理
依頼イベントならびにリクエストブローカを通して返却
されるサブシステムの処理結果シグナルなどの様々なシ
ステム内通信を仲介するメッセージバス、等が挙げられ
る。
【0069】
【発明の実施の形態】本発明の実施形態について、ま
ず、ルール記述に基づくロールバック処理について説明
する。その後、このロールバック処理の機能を、ステイ
タスマネージャと呼ぶ独立したミドルウェアに集約する
際に必要となるミドルウェア間連携動作について説明す
る。
【0070】図1は、本発明の実施の形態について、全
体構成を示した図である。
【0071】図中、10000は、本発明を具備する業
務進捗管理制御システムである。
【0072】001は、ロールバック処理を実行するス
テイタスマネージャである。002は、ステイタスマネ
ージャ001と他の処理部のシステム内通信を仲介する
メッセージバスである。003は、メッセージバス00
2に接続し、単位業務処理の順序制御を行うワークフロ
ーエンジンである。
【0073】004は、メッセージバス002に接続
し、単位業務処理を実行する単位業務処理システムであ
る。005は、ロールバック処理に必要なルール記述を
保存したルール記述外部記憶装置である。006は、ワ
ークフローエンジン003が単位業務処理の順序制御を
行うために必要なワークフロー記述を保存したワークフ
ロー記述外部記憶装置である。
【0074】ここで、単位業務処理システム004が業
務進捗管理制御システム10000の外部構成要素とな
っているが、業務進捗管理制御システム10000の内
部に含まれる処理部として構成されている場合でも、本
質的な相違は生じない。
【0075】また、業務進捗管理制御システム1000
0の内部構成要素として、ステイタスマネージャ00
1、メッセージバス002、ワークフローエンジン00
3の3つのミドルウェアを組み合せる形態を示している
が、これらの3つの構成要素をシステム内に直接埋め込
まれた処理部として実装した場合でも、本質的な相違は
生じない。
【0076】また、業務進捗管理制御システム1000
0の内部構成要素として、メッセージバス002とワー
クフローエンジン003が存在するが、メッセージバス
002に相当する構成要素を使用せずに、直接内部構成
要素同士が通信する形態をとった場合や、ワークフロー
エンジン003に相当する構成要素を使用せずに、直接
単位業務処理の順序をハードコーディングする形態をと
った場合でも、本質的な相違は生じない。
【0077】引き続いて、図1のステイタスマネージャ
001の構成要素について説明する。
【0078】007は、ルール記述外部記憶装置005
からルール記述をプログラム上に読み込むルール蓄積部
である。008は、複合業務インスタンスごとにメモリ
領域を確保し、複合業務の進捗状態に関するデータを保
持する進捗状態記憶部である。009は、ルール蓄積部
007と進捗状態記憶部008とを参照し、ルール記述
によるロールバック処理を実行するルール解釈実行部で
ある。
【0079】引き続いて、図1のワークフローエンジン
003の構成要素について説明する。
【0080】010は、ワークフロー記述外部記憶装置
006からワークフロー記述をプログラム上に読み込む
ワークフロー蓄積部である。011は、ワークフローイ
ンスタンスごとにメモリ領域を確保し、実行順序制御に
必要なデータを保持するワークフロープロセスワーキン
グメモリである。012は、ワークフロー蓄積部010
とワークフロープロセスワーキングメモリ011とを参
照し、ワークフロー記述による実行順序制御を行うワー
クフロー解釈実行部である。
【0081】次に、図2に、ルール蓄積部007に展開
されたルール記述のデータ構造を示す。
【0082】0201は、1つの依頼ルール要素を表す
データ構造である。この依頼ルール要素0201は、0
202に示す業務識別子(依頼業務の識別子で1つの単
位業務識別子)と、0203に示す前提業務集合と、0
204に示す取消操作集合とから構成される。
【0083】前提業務集合0203は、0205に示す
1つ又は複数の前提業務識別子から構成される。取消操
作集合0204は、0206に示す1つ又は複数の取消
操作識別子から構成される。
【0084】一方、0207は、1つの取消ルール要素
を表すデータ構造である。この取消ルール要素0207
は、0208に示す業務識別子と、0209に示す包含
業務集合0209とから構成される。包含業務集合02
09は、0210に示す1つ又は複数の包含業務識別子
から構成される。
【0085】ルール蓄積部007では、複数の依頼ルー
ル要素0201や取消ルール要素0207がルールの優
先順位にもとづいて保持されている。
【0086】次に、図3に、進捗状態記憶部008に展
開された進捗状態のデータ構造と、ルール解釈実行部0
09に展開された作業用のデータ構造を示す。
【0087】進捗状態記憶部008の内部には、単位業
務依頼同士の依存関係を表したネットワーク構造のデー
タとして進捗状態が表現されている。
【0088】0301は、1つの単位業務依頼に対応し
た依頼履歴ノードである。0306は、1つの単位業務
依頼に対応した取消操作ノードである。
【0089】依頼履歴ノード0301は、取消操作ノー
ド0306を参照する逆操作ポインタ配列0305にポ
インタを0個以上保持する。取消操作ノード0306
は、依頼履歴ノード0301を参照する順操作ポインタ
配列0310にポインタを1個以上保持する。
【0090】依頼履歴ノード0301は、0304に示
す依存操作ポインタ配列を保持し、他の依頼履歴ノード
0301を0個以上参照する。また、取消操作ノード0
306は、0309に示す包含操作ポインタ配列を保持
し、他の取消操作ノード0306を0個以上参照する。
【0091】ルール解釈実行部009の作業用データに
は、0311に示す待機ノードリストと、0312に示
す処理済ノードリストが存在する。
【0092】待機ノードリスト0311と処理済ノード
リスト0312は、ともに、依頼履歴ノード0301へ
のポインタと取消操作ノード0306へのポインタが混
在したリストである。
【0093】次に、図4に、ルール解釈実行部009の
動作を表したフローチャートを示す。
【0094】このフローチャートのステップS0402
では、実際に単位業務依頼が実行されるか、ユーザから
複合処理の中断要求が送信されるまで、イベント待ちの
状態を維持し続ける。イベント待ちの状態を抜けた場
合、ステップS0403で、単位業務依頼か中断要求か
により分岐を行う。
【0095】イベント待ちの状態を抜けた理由が中断要
求の場合には、ステップS0407で、中断要求で指定
されたロールバック地点に該当する依頼履歴ノード03
01を待機ノードリスト0311に登録した後、ステッ
プS0408で、一括ロールバック処理を実行し、その
後再度ステップS0402に戻る。
【0096】一方、イベント待ちの状態を抜けた理由が
単位業務依頼であった場合には、ステップS0404
で、進捗状態記憶部008の更新処理を実行した後、ス
テップS0405で、依頼された単位業務を実行する。
【0097】その実行結果が異常終了だった場合には、
ステップS0409で、異常終了した依頼履歴ノード0
301を待機ノードリスト0311に登録した後、ステ
ップS0408で、一括ロールバック処理を実行する。
一方、その実行結果が正常終了だった場合には、再びス
テップS0402に戻る。
【0098】次に、図5に、ルール解釈実行部009に
よる進捗状態記憶部008の更新処理の動作を詳細に表
したフローチャート(図4のフローチャートのS040
4の詳細なフローチャート)を示す。
【0099】このフローでは、後に一括ロールバック処
理を実行する際に必要となる、単位業務間の依存関係、
単位業務と取消操作の対応関係、取消操作間の包含関係
を、進捗状態記憶部008中のネットワーク構造データ
を操作することで、記憶、更新している。動作の説明
は、「実施例」の欄にて後述する。
【0100】次に、図6に、ルール解釈実行部009に
よる一括ロールバック処理の動作を詳細に表したフロー
チャート(図4のフローチャートのS0408の詳細な
フローチャート)を示す。
【0101】このフローでは、進捗状態記憶部008中
のネットワーク構造データを参照することで、ロールバ
ックに必要かつ十分な取消操作のリストを計算し、それ
らを実行する。動作の説明は、「実施例」の欄にて後述
する。
【0102】引き続いて、前記ロールバック処理の機能
を、ステイタスマネージャ001と呼ぶ独立したミドル
ウェアに集約する際に必要となるミドルウェア間連携動
作について説明する。
【0103】図7に、本発明のミドルウェア間連携動作
を実現するための構成とデータ構造を示す。
【0104】ミドルウェアは、独立したプロセスで動作
するとともに、メモリ空間も別々のものになっている。
これから、ミドルウェア間連携動作を実現するための仕
組みが必要となる。この仕組みとして、本発明では、業
務をインスタンスレベルで識別するためのインスタンス
識別子を使ってミドルウェア間連携動作を実現するとい
う構成を採っている。
【0105】0701は、ステイタスマネージャ001
の中に設けた識別子生成部である。識別子生成部070
1には、インスタンス識別子の新規生成ならびに親イン
スタンス識別子の取得の外部オペレーションが用意され
る。ここで、このインスタンス識別子は、1つの単位業
務に対して生成されることもあるし、複数の単位業務の
グループに対して生成されることもある。
【0106】0702は、ミドルウェア間の通信メッセ
ージの中で他のデータと一緒に渡されるインスタンス識
別子である。
【0107】インスタンス識別子0702は、ミドルウ
ェア間における通信メッセージ0703のデータの一部
として受け渡しが可能で、コピー操作、同値判定、包含
判定の3つの手段が提供された抽象データ型であればど
のように実装しても良い。
【0108】これには、オブジェクトとして実装する場
合、あるいは文字列や整数の配列などプログラミング言
語に依存しない可変長の基本型データとそれに対する関
数として実装する場合、あるいは整数などの基本型と当
該基本型を引数とする識別子生成部0701の外部オペ
レーションとして実装する場合などが含まれる。
【0109】識別子生成部0701の中には、自身が生
成したインスタンス識別子のオリジナルが保持される。
識別子生成部0701の外部オペレーションによって、
インスタンス識別子の新規生成依頼があった場合、前記
オリジナルと重複しないようユニークなインスタンス識
別子が作成され、返却される。
【0110】また、インスタンス識別子の生成を依頼す
る際に、引数として他のインスタンス識別子を1つ指定
できる。このような生成依頼があった場合、引数として
渡されたインスタンス識別子を親として持つインスタン
ス識別子が作成され、そのコピーが返却される。
【0111】これによって、インスタンス識別子は相互
にツリー状の親子関係が定義される。識別子生成部07
01の外部オペレーションによって、親インスタンス識
別子の取得依頼があった場合、前記親子関係にもとづい
て親となるインスタンス識別子が返却される。また、イ
ンスタンス識別子Aの子孫がインスタンス識別子Bだっ
た場合、「BはAに含まれる」という意味の包含判定に
対して、真が返される。
【0112】さらに、0704は、ステイタスマネージ
ャ001の中に設けた単位業務実行部である。単位業務
実行部0704には、0705に示す実行内容テーブル
が保持される。
【0113】実行内容テーブル0705は、単位業務識
別子あるいは取消操作識別子と、実行コードとの組から
構成されている。単位業務実行部0704には、単位業
務識別子や取消操作識別子と必要な業務データとを渡す
と、実行内容テーブル0705にもとづき、該当する実
行コードを処理する外部オペレーションが処理を実行す
る。
【0114】以上、図7に示した構成を利用すること
で、各ミドルウェアに分散する様々なデータの対応を実
装に依存しない形態でとることができる。これによって
ミドルウェア間連携動作を行う。動作の説明は、「実施
例」の欄にて後述する。
【0115】
【実施例】本発明の実施例について、通信設備選定シス
テムに適用した場合を具体例にして説明する。
【0116】まず、実施例の通信設備選定業務について
業務内容を説明する。
【0117】通信設備選定業務は、3つの部分業務ドメ
インから構成されている。1つは通信事業者の所外通信
ケーブル設備のデータベースにおいて、通信事業者の収
容局ビルから消費者の住居近辺の接続点までの間に既に
敷設されているケーブルを対象として、選定、工事予
約、施工結果投入などの業務を行う業務ドメインであ
る。ここでは、これを所外設備業務ドメインと呼ぶ。
【0118】また、もう1つは、通信事業者の所内通信
ケーブル設備のデータベースにおいて、所外ケーブルへ
の接続端子盤から交換機周辺までの間に既に敷設されて
いる所内ケーブルを対象として、選定、工事予約、施工
結果投入の業務を行う業務ドメインである。ここでは、
これを所内設備業務ドメインと呼ぶ。
【0119】また、もう1つは、交換機側スロットの位
置、スロットに差し込む端末装置を対象として、選定、
施工結果投入の業務を行う業務ドメインである。ここで
は、これを端末設備業務ドメインと呼ぶ。
【0120】各業務ドメインにおける1つ1つの業務
を、ここでは非分割な操作という観点で、単位業務と呼
ぶことにする。
【0121】図8に、所外設備業務ドメインの単位業務
間依存関係を図示し、図9に、所内設備業務ドメインの
単位業務間依存関係を図示し、図10に、端末設備業務
ドメインの単位業務間依存関係を図示する。
【0122】この図8ないし図10において、矢印の元
の業務が終了しているときのみ、矢印の先の業務を実行
できることを意味している。そして、各業務ドメインの
一連の単位業務系列がどこまで実行されたかを、進捗状
態と呼ぶことにする。
【0123】途中の段階における進捗状態では、操作対
象となる設備データベース上の状態データが一時的に変
更される。これは例えば、工事予約を行った設備は、他
の業務遂行者によって設備を選定対象とされないように
するためである。
【0124】したがって、途中の進捗状態で業務をとり
やめる場合は、データベース上の状態データを最初の状
態に戻す必要がある。これを取消操作と呼ぶことにす
る。各業務ドメインの単位業務間の依存性や取消操作
は、その業務ドメインの中で扱いやすい様にモデル化さ
れている場合が多く、一般に統一されていない。
【0125】通信設備選定業務は、このような3つの部
分業務ドメインの多様な単位業務の組み合わせで実現さ
れる。ここで、通信設備選定業務の結果として得られる
設備データはトポロジー的に接続し、かつ提供可能サー
ビスが注文内容に合致するように、全体的な整合性が要
求される。
【0126】このため、例えば設備の新設を行う場合
は、各部分業務ドメインの作業は選定完了状態で一時停
止し、全体的な整合性が満足される設備の組み合わせが
確保できたときのみ、工事予約等の次の進捗状態に進む
ことになる。つまり、各単位業務は部分業務ドメインを
跨る形での依存関係を持つということであり、ここで
は、このような単位業務群全体を指して複合業務と呼
ぶ。
【0127】以下では、実施例として、設備新設の場合
の複合業務を示す。
【0128】図11ないし図16に、ルール蓄積部00
7に蓄積される設備新設に関連する単位業務のルール記
述(図2に示すデータ構造を持つ)を図示し、図17
に、設備新設を実行する場合のワークフロー記述を図示
する。
【0129】ここで、図11に示すルール記述は、所外
設備業務ドメインの依頼ルールのルール記述(図8に示
す単位業務間依存関係から定義される)を示し、図12
に示すルール記述は、所外設備業務ドメインの取消ルー
ルのルール記述(図8に示す単位業務間依存関係から定
義される)を示している。
【0130】また、図13に示すルール記述は、所内設
備業務ドメインの依頼ルールのルール記述(図9に示す
単位業務間依存関係から定義される)を示し、図14に
示すルール記述は、所内設備業務ドメインの取消ルール
のルール記述(図9に示す単位業務間依存関係から定義
される)を示している。
【0131】また、図15に示すルール記述は、端末設
備業務ドメインの依頼ルールのルール記述(図10に示
す単位業務間依存関係から定義される)を示し、図16
に示すルール記述は、端末設備業務ドメインの取消ルー
ルのルール記述(図10に示す単位業務間依存関係から
定義される)を示している。
【0132】図11に示す依頼ルールR1102につい
て具体的に説明するならば、この依頼ルールR1102
は、図8の所外工事予約0802に対応付けられる「所
外工事予約」を業務識別子とし、図8の所外設備選定0
801に対応付けられる「所外設備選定」を前提業務集
合とし、図8の所外予約取消0806に対応付けられる
「所外予約取消」を取消操作集合とするルールである。
【0133】また、図12に示す取消ルールR1202
について具体的に説明するならば、この取消ルールR1
202は、図8の所外予約取消0806に対応付けられ
る「所外予約取消」を業務識別子(取消操作の業務識別
子)とし、図8の所外選定取消0805に対応付けられ
る「所外選定取消」を包含業務集合(包含される取消操
作の業務集合)とするルールである。
【0134】ここで、包含業務集合とは、取消ルールR
1202で説明するならば、所外予約取消0806を行
うと、所外選定取消0805については取り消しを行っ
たことになる、という意味で包含業務集合と呼んでい
る。
【0135】次に、図17に示すワークフローの実行が
エラーや中断を発生せずに、全ての業務が正常に完了し
た場合について説明する。
【0136】まず、ワークフローの開始S1701で
は、ルール解釈実行部009も図4の開始S0401の
状態にあり、直後にS0402が実行され、ルール解釈
実行部009は、中断要求もしくは単位業務依頼の入力
を待つ状態となる。
【0137】ワークフローの所外設備選定S1702が
実行されると、ルール解釈実行部009は、S0403
の条件判断を行い、イベント待ちの状態を抜けた理由が
単位業務依頼であることで、S0404に進む。このS
0404で行う進捗状態記憶部更新処理の詳細について
は後述する。
【0138】次に、S0405で、当該処理プログラム
に実際に単位業務の依頼を行い、処理を実行する。S0
406で、前記処理の実行結果を判断し、正常に終了し
た場合は、再びS0402で待機する。このように、ワ
ークフロー記述のステップが進むに従い、ルール解釈実
行部009における前記動作サイクルを繰り返す。
【0139】ここで、ワークフローのS1705におけ
る選定結果についての承認判定で、「承認しない」(N
o)になった場合を説明する。
【0140】この状態における進捗状態記憶部008の
データ構造は、図18に示すものである。
【0141】この場合、図4における処理は、S040
2を抜け、S0403の条件判断で「中断要求」(Ye
s)に進み、S0407で、待機ノードリスト0311
に当該依頼履歴ノードが登録される。引き続いて、S0
408の一括ロールバック処理で業務進捗状態が元に戻
され、再びS0402で待機する。
【0142】また、ワークフローの所外工事予約S17
07における業務エラーにより、ロールバック処理が実
行された場合を説明する。
【0143】この状態における進捗状態記憶部008の
データ構造は、図19に示すものである。
【0144】この場合、図4における処理は、S040
5から返ってきた後、S0406の条件判断で「異常終
了」(No)に進み、S0409で、待機ノードリスト
0311に当該依頼履歴ノードが登録される。引き続い
て、S0408の一括ロールバック処理で業務進捗状態
が元に戻され、再びS0402で待機する。
【0145】図18ないし図21は、図17のワークフ
ロー記述にもとづき進捗状態記憶部008を更新した場
合のスナップショットである。
【0146】ここで、図18はワークフローのS170
5におけるスナップショットであり、図19はワークフ
ローのS1707におけるスナップショットであり、図
20はワークフローのS1710におけるスナップショ
ットであり、図21はワークフローのS1717におけ
るスナップショットである。
【0147】次に、図5に示す進捗状態記憶部008の
更新処理のフローチャートについて説明する。
【0148】この図5に示す進捗状態記憶部更新処理
は、図4のS0404を詳細に示したものである。この
S0404を実行する際は、S0402で入力された業
務識別子がワークフローから通知されるものとする。
【0149】ここでは、図17の所外工事予約S170
7における進捗状態記憶部更新処理について説明する。
このときのスナップショットは図19に示すものであ
る。
【0150】まず、図5の最初のステップS0501
で、ルール蓄積部007の中の依頼ルール集合を検索
し、ワークフローから通知された業務識別子と同じ業務
識別子を持つ依頼ルールを取得する。
【0151】この場合には、所外工事予約S1707の
業務識別子がワークフローから通知されることになるの
で、「所外工事予約」を業務識別子に持つ依頼ルールR
1102を取得することになる。
【0152】このとき、もし該当する依頼ルールが存在
しない場合は、S0502の判断分岐で、S0509の
システムエラー処理へと進む。一方、該当する依頼ルー
ルが複数存在する場合は、ルール蓄積部007における
依頼ルールの優先順位に基づき、1つが決定される。
【0153】S0503では、得られたルールの内容を
参照し、業務識別子に対応する依頼履歴ノードを新規に
作成する。依頼ルールR1102の場合には、ワークフ
ローの所外工事予約S1707に対応付けられるノード
N1804(図19に示す)を新規に作成する。
【0154】引き続いてS0504では、得られたルー
ルの内容を参照し、ルールの指定する前提業務識別子に
対応する依頼履歴ノードからのポインタを作成する。依
頼ルールR1102の場合には、ワークフローの所外設
備選定S1702が前提業務識別子になるので、その前
提業務識別子に対応するノードN1801から新規に作
成したノードN1804に向けてポインタを作成し、ノ
ードN1801の依存操作ポインタ配列0304に格納
する。
【0155】引き続いてS0505では、得られたルー
ルの内容を参照し、ルールの指定する取消操作識別子に
対応する取消操作ノードを新規に作成し、双方向のポイ
ンタを作成する。依頼ルールR1102の場合には、ル
ールの指定する取消操作識別子に対応する所外予約取消
のノードN1813を新規に作成する。ポインタは、ま
ずノードN1813からノードN1804に向けて作成
し、ノードN1813の順操作ポインタ配列0310に
格納する。同様に、ノードN1804からノードN18
13に向けて作成し、ノードN1804の逆操作ポイン
タ配列0305に格納する。
【0156】引き続いてS0506では、ルール蓄積部
007の中の取消ルール集合を検索し、新規に作成した
ノードN1813の取消操作識別子と同じ取消操作識別
子を業務識別子として持つ取消ルールを取得する。依頼
ルールR1102の場合には、「所外予約取消」が取消
操作識別子となっているので、図12の取消ルール集合
を検索することで、この「所外予約取消」を業務識別子
として持つ取消ルールR1202を新たに取得する。
【0157】このとき、もし該当する取消ルールが存在
しない場合は、S0507の判断分岐で、S0510の
システムエラー処理へと進む。一方、該当する取消ルー
ルが複数存在する場合は、ルール蓄積部007における
取消ルールの優先順位に基づき、1つが決定される。
【0158】引き続いてS0508では、得られたルー
ルの内容を参照し、ルールの指定する包含業務識別子に
対応する取消操作ノードに向けて、ポインタを作成す
る。取消ルールR1202の場合には、「所外選定取
消」が包含業務識別子となるので、ノードN1813か
ら、その所外選定取消のノードN1810に向けてポイ
ンタを作成し、ノードN1813の包含操作ポインタ配
列0309に格納する。
【0159】以上のステップを実行することによって、
進捗状態記憶部008を更新する。なお、S0504、
S0508では、複数の業務識別子があれば、それに対
応する複数のノードへのポインタをはる。また、S05
05では、既に該当する業務識別子の取消操作ノードが
存在すれば、新規にノードを作成しないで、図20に示
すように当該ノードを使用する。
【0160】次に、図6に示す一括ロールバック処理の
フローチャートについて説明する。
【0161】この図6に示す一括ロールバック処理は、
図4のS0408を詳細に示したものである。このS0
408を実行する際は、S0407の処理に従って、中
断要求で指定された依頼履歴ノードが待機ノードリスト
0311に登録されているか、あるいは、S0409の
処理に従って、異常終了した依頼履歴ノードが待機ノー
ドリスト0311に登録されている。
【0162】この待機ノードリスト0311は、図3に
示すように、ルール解釈実行部009の作業用データ
で、処理済ノードリスト0312とともに使用する。
【0163】ここでは、図17のワークフローの所内工
事予約S1710でシステム例外が生じ、ロールバック
処理を実行する場合について説明する。このときのスナ
ップショットは図20に示すものである。待機ノードリ
スト0311には、ワークフローの所内工事予約S17
10に対応付けられるノードN1806が登録される。
【0164】まず、図6の最初のステップS0601
で、待機ノードリスト0311中の依頼履歴ノードの依
存操作ポインタ配列0304をたどることで、取消の必
要がある依頼履歴ノードを全て検索して、それらを待機
ノードリスト0311に追加する。S1710に対応付
けられるノードN1806の依存操作ポインタ配列03
04は何もポイントしていないので、この段階では追加
処理は行わないことになる。
【0165】S0602で、待機ノードリスト0311
中の依頼履歴ノードの逆操作ポインタ配列0305をた
どることで、取消操作ノードを検索して、それらを待機
ノードリスト0311に追加する。S1710の場合、
逆操作ポインタ0305をたどることでノードN181
4を検索できるので、このノードN1814を待機ノー
ドリスト0311に追加することになる。
【0166】S0603で、待機ノードリスト0311
中の取消操作ノードの包含操作ポインタ配列0309を
たどることで、取消操作ノードを検索して、それらを待
機ノードリスト0311に追加する。S1710の場
合、包含操作ポインタ配列0309をたどることでノー
ドN1812を検索できるので、このノードN1812
を待機ノードリスト0311に追加することになる。
【0167】S0604で、待機ノードリスト0311
中の取消操作ノードの順操作ポインタ配列0310をた
どることで、依頼履歴ノードを検索して、それらを待機
ノードリスト0311に追加する。S1710の場合、
順操作ポインタ配列0310をたどることでノードN1
803を検索できるので、このノードN1803を待機
ノードリスト0311に追加することになる。
【0168】ここで、S0601〜S0604の追加処
理を行うにあたって、既に待機ノードリスト0311中
に存在するものについては重複の無いように処理する。
【0169】S0605で、待機ノードリスト0311
の要素数がS0601の時点と比べて増加したかどうか
により判断分岐を行う。ここでは、増加した(Yes)
のでS0601に戻る。
【0170】引き続いてS0601〜S0605を再度
実行する。この過程では待機ノードリスト0311の要
素数は増大しないので、S0605で、増加しない(N
o)方へ進む。
【0171】S0606で、待機ノードリスト0311
中の依頼履歴ノードを全て処理済ノードリスト0312
に追加する。S1710の場合、ノードN1806とノ
ードN1803が追加される。依頼履歴ノードは取消操
作ではないので、処理済ノードリスト0312に追加す
るのである。
【0172】S0607で、待機ノードリスト0311
中の取消操作ノードの包含操作ポインタ配列0309を
たどって、それにより検索された取消操作ノードを全て
処理済ノードリスト0312に追加する。S1710の
場合、ノードN1812が追加される。包含される取消
操作ノードについては、包含する取消操作ノードについ
て取消処理を行えば、自動的に取り消しを行ったことに
なるので、取消処理を行うことなく処理済ノードリスト
0312に追加するのである。
【0173】S0608で、待機ノードリスト0311
中の取消操作ノードの内、処理済ノードリスト0312
中に存在しない全てのノード(取消操作ノードである)
について、対応する取消処理を実行する。S1710の
場合、ノードN1814について取消処理を実行する。
実行済みの取消操作ノードは処理済ノードリスト031
2に追加される。
【0174】S0609で、前記取消処理のエラーを判
定し、エラー発生(Yes)の場合はS0612のシス
テムエラー処理へ移行する。全て正常に終了した場合は
(No)に進む。
【0175】S0610で、処理済ノードリスト031
2の全てのノードを進捗状態記憶部008から削除す
る。
【0176】S0611で、待機ノードリスト0311
と処理済ノードリスト0312を空にする。
【0177】以上のステップにより、必要最小限の取消
処理が実行される。
【0178】以上の方法によると、ワークフロー記述に
ロールバック処理を記述しなくても、業務種別ごとのル
ール記述と依頼履歴の依存関係にもとづいて自動的にロ
ールバック処理が実行されるため、記述の大規模複雑化
の傾向を抑えることができる。これは本発明で解決しよ
うとする課題の1つである。
【0179】上述した例では、ノードN1814につい
て取消処理を実行しており、これにより、包含関係にあ
るノードN1812についても取消処理を実行したこと
になる。従って、図17のワークフロー上のS1710
とS1704について取り消しを行ったことになる。
【0180】図17のワークフロー記述上に、S170
4とS1710のみを選んで再度実行するフローが定義
されていれば、ロールバック後の再実行について特に問
題は起こらない。
【0181】一方、S1704とS1710のみを選ん
で再度実行するフローが定義されていない場合には、最
初からワークフローを実行しなおすことが必要であり、
ノードN1812だけではなく、ノードN1810やノ
ードN1811やノードN1813の取消処理も実行し
なければならない。
【0182】このように、依頼処理の依存関係はないも
のの、別の理由で依頼処理群をグループ化し、それらを
一体としてロールバックさせたい場合がある。
【0183】このときは、ワークフローのS1701の
直後で、ダミーノードとして依頼履歴ノードと取消操作
ノードを作成するステップを追加する。そして、グルー
プ化したいノードを作成するときに、そのダミーノード
との間のポインタを依存操作ポインタ配列0304や包
含操作ポインタ配列0309に格納し、相互に関連付け
る。
【0184】図22に、このダミーノードを追加したス
ナップショットの一例を図示する。このダミーノードの
追加にあたり、ダミーノードの依頼処理識別子を、ルー
ル集合のR1101、R1201、R1301、R14
01、R1501、R1601の依存業務集合または包
含業務集合に追加すればよく、特別な機能拡張は不要で
ある。
【0185】ここで、図22に示すような形でダミーノ
ードを追加すると、全てのノードを取り消すことができ
るようになるが、このダミーノードの追加の形態につい
ては、ワークフローの記述に合わせる形で追加すること
になる。
【0186】以上の方法によると、ルール記述に業務の
種類ごとの依存関係を、ワークフロー記述にグループ化
させたい業務インスタンスの範囲を指定するというよう
に、分離して記述できるので、柔軟なロールバック処理
が可能となる。これは本発明で解決しようとする課題の
1つである。
【0187】次に、ミドルウェア間連携動作の実施例を
説明する。
【0188】ワークフローエンジン003から単位業務
の実行が依頼された場合、ステイタスマネージャ001
は、インスタンス識別子を新規生成し、そのコピーを進
捗状態記憶部008とワークフロープロセスワーキング
メモリ011にそれぞれ記憶する。
【0189】図17のワークフロー記述の場合、S17
02、S1703、S1704が順に実行されると、単
位業務依頼のメッセージはステイタスマネージャ001
に送信され、それぞれインスタンス識別子が生成され
て、ノードN1801、ノードN1802、ノードN1
803のインスタンス識別子0308にコピーが格納さ
れるとともに、当該業務が図7に示す単位業務実行部0
704で実行される。
【0190】当該業務の実行結果が得られたらば、その
データとともにワークフローエンジン003に当該イン
スタンス識別子のコピーを返却する。
【0191】S1705のステップで中断が指示された
場合は、ロールバックする地点をステイタスマネージャ
001に伝える必要がある。そこで、ワークフロー記述
においてS1702での結果データとして受け取ったイ
ンスタンス識別子を引数として、S0402の状態にあ
るステイタスマネージャ001に中断要求を入力する。
すると、ステイタスマネージャ001内の単位業務実行
部0704により必要な取消操作が実行される。
【0192】以上の方法によると、進捗状態記憶部00
8に記憶されたネットワークデータ上の依存関係や包含
関係を、ルール解釈実行部009が参照することによ
り、単位業務実行部0704で実行される単位業務や取
消操作の処理粒度の違いは自動的に吸収される。
【0193】また、ネットワークデータへの記憶・更新
操作に必要な動作記述は、ルール蓄積部007にルール
形式で取り込まれ実行されるので、複雑なプログラムコ
ードを必要としない。すなわち、従来の分散トランザク
ションサービスのアダプタでは困難であったことが、実
現されている。これは本発明で解決しようとする課題の
1つである。
【0194】一方、ステイタスマネージャ001の側で
は、インスタンス識別子の包含判定を行うことで、ノー
ドの探索範囲を管理できる。すなわち、インスタンス識
別子の親子関係に応じて、あるノードの下に他の複数の
ノードをグループ化することにより、探索対象をツリー
状に構造化できる。
【0195】複数の親を持つインスタンス識別子につい
て探索する場合は、まず当該インスタンス識別子の先祖
にあたるインスタンス識別子の系列を、図7に示した識
別子生成部0701の「親識別子の取得依頼」を必要回
数使用することで取得する。得られた識別子系列の任意
の部分系列をキーとして、任意のレベルのノードグルー
プを取得できる。
【0196】これは、図2に示す依頼ルール要素020
1に適合するノードを探索する場合に、基点となるノー
ドに近いレベルのノードグループから、段階的に範囲を
広げながら探索することを可能にする。
【0197】探索範囲が構造化されておらず、常に全て
探索対象となってしまうと、条件に合致するノードが複
数存在する場合が容易に発生する。例えば、ワークフロ
ー記述の側に、同じ業務識別子のステップが複数組み込
まれている場合が考えられる。
【0198】この場合は、同じ業務識別子のノードが同
じ探索範囲に属さないようにグループをつくり、そのグ
ループに対応するインスタンス識別子をあらかじめ生成
しておいて、問題のステップでインスタンス識別子を生
成する際、当該識別子を親として、識別子生成部070
1のオペレーションを呼び出すことで解決できる。
【0199】また例えば、ワークフローエンジン003
が並列処理で実行されている場合などに対応するために
は、各ワークフロー記述のプロセスに対応してインスタ
ンス識別子を生成しておき、それを親として指定して識
別子生成部0701の生成オペレーションを呼び出すこ
とで解決できる。
【0200】以上の方法によると、ワークフロー記述形
式の変更やワークフローエンジン003の改造を行うこ
となく、ステイタスマネージャ001との連携動作が可
能となる。これは本発明で解決しようとする課題の1つ
である。
【0201】このようにして、本発明のステイタスマネ
ージャ009は、ミドルウェア間連携動作を実現するた
めに、親に相当する単位業務グループ(1つ又は複数の
単位業務で構成される)に対して、子に相当する単位業
務グループ(1つ又は複数の単位業務で構成される)が
あれば、前者のインスタンス識別子を親として持つイン
スタンス識別子を後者に割り当てることで、ワークフロ
ーエンジン003が親子関係を有するインスタンス識別
子を使って処理依頼を行えるように処理するのである。
【0202】そして、本発明のステイタスマネージャ0
09は、その親子関係を持つインスタンス識別子の生成
機能に合わせて、インスタンス識別子を指定して、親子
関係にあるインスタンス識別子の検索要求を発行し、そ
の検索結果を受け取る処理を行ったり、2つのインスタ
ンス識別子を指定して、包含関係にあるのか否かの判定
要求を発行し、その判定結果を受け取る処理を行うので
ある。
【0203】例えば、ワークフローが分岐しているよう
な場合にあって、分岐後の単位業務グループ(子に相当
する)内で処理を取り消す必要が起こると、分岐前の単
位業務グループ(親に相当)内で処理を取り消す必要が
起こる場合がある。
【0204】そのような場合に、図23や図24から分
かるように、本発明のステイタスマネージャ009は、
このような親子関係を有するインスタンス識別子の機能
を持つことで、分岐後の単位業務グループのインスタン
ス識別子から、分岐前の単位業務グループのインスタン
ス識別子を直ちに特定できるようになり、そのような取
り消しのためのネットワークデータを作成できるように
なることで、そのような取り消しを簡単に行うことがで
きるようになる。
【0205】ここで、図23は、単位業務グループに対
して親子関係を有する1つのインスタンス識別子を生成
するという構成を採る場合の一例であり、図24は、1
つの単位業務に対して親子関係を有する1つのインスタ
ンス識別子を生成するという構成を採る場合の一例であ
る。
【0206】以上説明したように、本発明では、単位業
務や取消操作など、現在の業務状態に関連する処理間の
依存性、対応関係、包含関係を進捗状態記憶部008に
ネットワークデータとして保持し、そのネットワークデ
ータの作成・更新を行うための動作記述をルール蓄積部
007にルールとして取り込み、ルール解釈実行部00
9がこの2つの処理部とその他の処理部との仲介を行っ
てロールバック処理の管理制御を行うのである。
【0207】そして、このロールバック機能をソフトウ
ェア部品化し業務内容に依存しない構成とするために、
ソフトウェア部品間で業務依頼イベント、業務処理結果
シグナル、業務処理中断要求のタイミングで連携動作を
行い、その際の交換データに、識別子生成部0701で
ユニークに生成された親子関係が定義される識別子を含
むことで、複数の処理スコープを扱えるようにするので
ある。
【0208】
【発明の効果】以上説明したように、本発明によると、
既存のサブシステム間での処理粒度の違いが吸収できる
ため、統合システム上で一貫性を維持したロールバック
が可能となる。また、ルール形式の動作記述によって処
理間の依存関係・包含関係を記憶管理するため、従来の
ような複雑なプログラムコードを必要とせず、ロールバ
ック処理の開発・改造が容易になる。
【0209】また、ルール記述に業務種類ごとの依存関
係を指定し、ワークフロー記述に業務インスタンスごと
のグループ化対象を指定するというように、異なるカテ
ゴリの情報を分離して記述できるので、柔軟なロールバ
ック処理が可能となる。これによって、分散トランザク
ションでは不可能であった、複合業務における途中の進
捗状態までロールバックする等の柔軟な管理制御を行う
ことが可能になる。
【0210】また、ワークフロー記述にロールバック処
理を記述しなくても、業務種別ごとのルール記述と依頼
履歴の依存関係にもとづいて自動的にロールバック処理
が実行されるため、記述の大規模複雑化の傾向を抑える
ことができる。これによって開発、デバッグ、改造の稼
動が小さくなり、時間的、経済的コストを縮小できるな
どの効果がある。
【0211】また、設計やテストの際に検討項目の整理
が容易で見落としが生じにくくなるため、プログラムの
品質が向上するなどの効果がある。また、ワークフロー
記述形式の変更やワークフローエンジンの改造を行うこ
となく、ステイタスマネージャとの連携動作が可能とな
る。これによってワークフロー記述の形式を変更する必
要がなくなるため、ワークフロー記述の標準形式との互
換性が維持でき、当該ワークフローエンジン以外への記
述の移植が容易になるなどの効果がある。
【図面の簡単な説明】
【図1】本発明の一実施形態例である。
【図2】ルール蓄積部の一実施形態例である。
【図3】進捗状態記憶部の一実施形態例である。
【図4】ルール解釈実行部の実行するフローチャートの
一実施形態例である。
【図5】ルール解釈実行部の実行するフローチャートの
一実施形態例である。
【図6】ルール解釈実行部の実行するフローチャートの
一実施形態例である。
【図7】本発明のミドルウェア間連携動作を実現するた
めの一実施形態例である。
【図8】所外設備業務ドメインの単位業務間依存関係の
説明図である。
【図9】所内設備業務ドメインの単位業務間依存関係の
説明図である。
【図10】端末装置業務ドメインの単位業務間依存関係
の説明図である。
【図11】所外設備業務ドメインのルール記述の説明図
である。
【図12】所外設備業務ドメインのルール記述の説明図
である。
【図13】所内設備業務ドメインのルール記述の説明図
である。
【図14】所内設備業務ドメインのルール記述の説明図
である。
【図15】端末装置業務ドメインのルール記述の説明図
である。
【図16】端末装置業務ドメインのルール記述の説明図
である。
【図17】設備新設業務ワークフロー記述の説明図であ
る。
【図18】進捗状態記憶部のスナップショットの説明図
である。
【図19】進捗状態記憶部のスナップショットの説明図
である。
【図20】進捗状態記憶部のスナップショットの説明図
である。
【図21】進捗状態記憶部のスナップショットの説明図
である。
【図22】進捗状態記憶部のスナップショットの説明図
である。
【図23】インスタンス識別子を使った処理の一例であ
る。
【図24】インスタンス識別子を使った処理の一例であ
る。
【符号の説明】
10000 業務進捗管理制御システム 001 ステイタスマネージャ 002 メッセージバス 003 ワークフローエンジン 004 単位業務処理システム 005 ルール記述外部記憶装置 006 ワークフロー記述外部記憶装置 007 ルール蓄積部 008 進捗状態記憶部 009 ルール解釈実行部 010 ワークフロー蓄積部 011 ワークフロープロセスワーキングメモリ 012 ワークフロー解釈実行部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 宮川 慎吾 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 (72)発明者 石川 数馬 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 Fターム(参考) 5B076 AB04 AB14 5B098 AA10 GA04 GA08 GC01

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 複数の単位業務の組み合わせによって構
    成される複合業務の進捗を制御する業務進捗制御装置で
    あって、 単位業務の識別子をキーにして、その単位業務に関連す
    る単位業務及び取消操作の情報をルールの形で保存する
    手段と、 単位業務及びその取消操作の間の関係を示すネットワー
    クデータを保存する手段と、 単位業務の処理を進めるときに、上記ルールに従って、
    上記ネットワークデータを更新する手段と、 単位業務の進捗状態を元に戻す必要があるときに、上記
    ネットワークデータに従って、それに必要となる取消操
    作を検索する手段と、 上記検索した取消操作の実行を指示する手段とを備える
    ことを、 特徴とする業務進捗制御装置。
  2. 【請求項2】 請求項1記載の業務進捗制御装置におい
    て、 上記ルールとして、単位業務に先行して完了すべき他の
    単位業務の情報、単位業務に対応する取消操作の情報、
    その取消操作が包含する他の取消操作の情報について記
    述するものが用意されることを、 特徴とする業務進捗制御装置。
  3. 【請求項3】 請求項1又は2記載の業務進捗制御装置
    において、 ダミーの単位業務及び/又は取消操作が用意される場合
    には、上記ルールとして、そのダミーについて記述する
    ものが用意されることを、 特徴とする業務進捗制御装置。
  4. 【請求項4】 複数の単位業務の組み合わせによって構
    成される複合業務の進捗を制御する業務進捗制御方法で
    あって、 単位業務の識別子をキーにして、その単位業務に関連す
    る単位業務及び取消操作の情報をルールの形で保存する
    手段から、該ルールを読み出す過程と、 単位業務の処理を進めるときに、上記ルールに従って、
    単位業務及びその取消操作の間の関係を示すネットワー
    クデータを更新する過程と、 単位業務の進捗状態を元に戻す必要があるときに、上記
    ネットワークデータに従って、それに必要となる取消操
    作を検索する過程と、 上記検索した取消操作の実行を指示する過程とを備える
    ことを、 特徴とする業務進捗制御方法。
  5. 【請求項5】 請求項4記載の業務進捗制御方法におい
    て、 上記ルールとして、単位業務に先行して完了すべき他の
    単位業務の情報、単位業務に対応する取消操作の情報、
    その取消操作が包含する他の取消操作の情報について記
    述するものが用意されることを、 特徴とする業務進捗制御方法。
  6. 【請求項6】 請求項4又は5記載の業務進捗制御方法
    において、 ダミーの単位業務及び/又は取消操作が用意される場合
    には、上記ルールとして、そのダミーについて記述する
    ものが用意されることを、 特徴とする業務進捗制御方法。
  7. 【請求項7】 複数の単位業務の組み合わせによって構
    成される複合業務の進捗を制御する処理を行う業務進捗
    制御プログラムであって、 単位業務の識別子をキーにして、その単位業務に関連す
    る単位業務及び取消操作の情報をルールの形で保存する
    手段から、該ルールを読み出す処理と、 単位業務の処理を進めるときに、上記ルールに従って、
    単位業務及びその取消操作の間の関係を示すネットワー
    クデータを更新する処理と、 単位業務の進捗状態を元に戻す必要があるときに、上記
    ネットワークデータに従って、それに必要となる取消操
    作を検索する処理と、 上記検索した取消操作の実行を指示する処理とをコンピ
    ュータに実行させるための業務進捗制御プログラム。
  8. 【請求項8】 複数の単位業務の組み合わせによって構
    成される複合業務の進捗を制御する処理を行う業務進捗
    制御プログラムであって、 単位業務の識別子をキーにして、その単位業務に関連す
    る単位業務及び取消操作の情報をルールの形で保存する
    手段から、該ルールを読み出す処理と、 単位業務の進行を制御する外部プログラムから単位業務
    の処理依頼を受け取るときに、上記ルールに従って、単
    位業務及びその取消操作の間の関係を示すネットワーク
    データを更新するとともに、その処理依頼を受けた単位
    業務の実行を指示する処理と、 上記外部プログラムから単位業務の進捗状態を元に戻す
    処理依頼を受け取るときに、上記ネットワークデータに
    従って、それに必要となる取消操作を検索する処理と、 上記検索した取消操作の実行を指示する処理とをコンピ
    ュータに実行させるための業務進捗制御プログラム。
  9. 【請求項9】 請求項8記載の業務進捗制御プログラム
    において、 単位業務の実行に失敗するときに、上記ネットワークデ
    ータに従って、単位業務の進捗状態を元に戻すのに必要
    となる取消操作を検索する処理をコンピュータに実行さ
    せるための業務進捗制御プログラム。
  10. 【請求項10】 請求項8又は9記載の業務進捗制御プ
    ログラムにおいて、 上記外部プログラムから処理依頼を受けた1つ又は複数
    の単位業務に対してインスタンスな識別子を生成し、上
    記ネットワークデータの該当する単位業務にそれを記録
    するとともに、上記外部プログラムに対してそれを通知
    する処理をコンピュータに実行させるための業務進捗制
    御プログラム。
  11. 【請求項11】 請求項10記載の業務進捗制御プログ
    ラムにおいて、 さらに、親となるインスタンス識別子が指定される1つ
    又は複数の単位業務に対して、そのインスタンス識別子
    を親として持つインスタンス識別子を生成する処理をコ
    ンピュータに実行させるための業務進捗制御プログラ
    ム。
  12. 【請求項12】 請求項11記載の業務進捗制御プログ
    ラムにおいて、 インスタンス識別子を指定して、親子関係にあるインス
    タンス識別子の検索要求を発行し、その検索結果を受け
    取る処理をコンピュータに実行させるための業務進捗制
    御プログラム。
  13. 【請求項13】 請求項11記載の業務進捗制御プログ
    ラムにおいて、 2つのインスタンス識別子を指定して、包含関係にある
    のか否かの判定要求を発行し、その判定結果を受け取る
    処理をコンピュータに実行させるための業務進捗制御プ
    ログラム。
  14. 【請求項14】 請求項7ないし13のいずれか1項に
    記載の業務進捗制御プログラムにおいて、 上記ルールとして、単位業務に先行して完了すべき他の
    単位業務の情報、単位業務に対応する取消操作の情報、
    その取消操作が包含する他の取消操作の情報について記
    述するものが用意されることを、 特徴とする業務進捗制御プログラム。
  15. 【請求項15】 請求項7ないし14のいずれか1項に
    記載の業務進捗制御プログラムにおいて、 ダミーの単位業務及び/又は取消操作が用意される場合
    には、上記ルールとして、そのダミーについて記述する
    ものが用意されることを、 特徴とする業務進捗制御プログラム。
  16. 【請求項16】 請求項7ないし15のいずれか1項に
    記載の業務進捗制御プログラムを記録した記録媒体。
JP2002039780A 2002-02-18 2002-02-18 業務進捗制御装置及びその方法と、業務進捗制御プログラム及びそのプログラムを記録した記録媒体 Expired - Lifetime JP3712984B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002039780A JP3712984B2 (ja) 2002-02-18 2002-02-18 業務進捗制御装置及びその方法と、業務進捗制御プログラム及びそのプログラムを記録した記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002039780A JP3712984B2 (ja) 2002-02-18 2002-02-18 業務進捗制御装置及びその方法と、業務進捗制御プログラム及びそのプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2003242313A true JP2003242313A (ja) 2003-08-29
JP3712984B2 JP3712984B2 (ja) 2005-11-02

Family

ID=27780697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002039780A Expired - Lifetime JP3712984B2 (ja) 2002-02-18 2002-02-18 業務進捗制御装置及びその方法と、業務進捗制御プログラム及びそのプログラムを記録した記録媒体

Country Status (1)

Country Link
JP (1) JP3712984B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072450A (ja) * 2004-08-31 2006-03-16 Mitsubishi Electric Corp 情報処理システム及び情報処理方法及び情報処理プログラム
JP2007537511A (ja) * 2004-04-30 2007-12-20 マイクロソフト コーポレーション 規則を用いたエンドユーザアプリケーションカスタマイズ
JP2008004091A (ja) * 2006-06-20 2008-01-10 Xerox Corp 一体化されたルールベース・システムを用いる自動修理分析
JP2009020636A (ja) * 2007-07-11 2009-01-29 Obic Co Ltd 内部統制対応型業務システム
JP2011096111A (ja) * 2009-10-30 2011-05-12 Toshiba Corp 仕様情報管理装置および仕様情報管理プログラム
US8214430B2 (en) 2005-09-05 2012-07-03 Konica Minolta Business Technologies, Inc. Network image processing system, network image processing apparatus, and network image processing method
JP2012230721A (ja) * 2012-08-27 2012-11-22 Hitachi Ltd 仮想サーバのシステム障害回復方法及びそのシステム
CN112817709A (zh) * 2021-01-21 2021-05-18 平安普惠企业管理有限公司 批量数据的处理方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163372A (ja) * 1998-11-27 2000-06-16 Hitachi Ltd トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体
JP2001034595A (ja) * 1999-07-21 2001-02-09 Hitachi Ltd 複数システム間業務統合方法および装置
JP2001350660A (ja) * 2000-06-06 2001-12-21 Toshiba Corp プログラム実行管理装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000163372A (ja) * 1998-11-27 2000-06-16 Hitachi Ltd トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体
JP2001034595A (ja) * 1999-07-21 2001-02-09 Hitachi Ltd 複数システム間業務統合方法および装置
JP2001350660A (ja) * 2000-06-06 2001-12-21 Toshiba Corp プログラム実行管理装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007537511A (ja) * 2004-04-30 2007-12-20 マイクロソフト コーポレーション 規則を用いたエンドユーザアプリケーションカスタマイズ
JP2006072450A (ja) * 2004-08-31 2006-03-16 Mitsubishi Electric Corp 情報処理システム及び情報処理方法及び情報処理プログラム
JP4575088B2 (ja) * 2004-08-31 2010-11-04 三菱電機株式会社 情報処理システム及び情報処理方法及び情報処理プログラム
US8214430B2 (en) 2005-09-05 2012-07-03 Konica Minolta Business Technologies, Inc. Network image processing system, network image processing apparatus, and network image processing method
JP2008004091A (ja) * 2006-06-20 2008-01-10 Xerox Corp 一体化されたルールベース・システムを用いる自動修理分析
JP2009020636A (ja) * 2007-07-11 2009-01-29 Obic Co Ltd 内部統制対応型業務システム
JP2011096111A (ja) * 2009-10-30 2011-05-12 Toshiba Corp 仕様情報管理装置および仕様情報管理プログラム
JP2012230721A (ja) * 2012-08-27 2012-11-22 Hitachi Ltd 仮想サーバのシステム障害回復方法及びそのシステム
CN112817709A (zh) * 2021-01-21 2021-05-18 平安普惠企业管理有限公司 批量数据的处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
JP3712984B2 (ja) 2005-11-02

Similar Documents

Publication Publication Date Title
CN109840429B (zh) 智能合约部署、调用方法和装置
US5301270A (en) Computer-assisted software engineering system for cooperative processing environments
EP3399406A1 (en) User interface for automated flows within a cloud based developmental platform
US5864875A (en) Data management system for problems, releases and parts
US6516322B1 (en) XML-based representation of mobile process calculi
EP3425535A1 (en) Dynamically performing data processing in a data pipeline system
CN108845940B (zh) 一种企业级信息系统自动化功能测试方法和系统
CN109086071A (zh) 一种管理软件版本信息的方法及服务器
US6971093B1 (en) Techniques for maintaining compatibility of a software core module and an interacting module
US10101972B1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
US20180321833A1 (en) User interface for automated flows within a cloud based developmental platform
JPH047640A (ja) クラス継承解決処理方法
US20050234902A1 (en) Model for business workflow processes
CN101183379A (zh) 用于检索数据的方法和系统
CN102681878A (zh) 无需修改现有代码即可增加新软件特征的方法
KR20020097147A (ko) 새로운 컴포넌트를 생성 또는 구입하며 이들을 목록에추가할 수 있는 기능을 구비한 객체 지향 소프트웨어 개발툴
CN107038519B (zh) 用于系统之间的双向数据同步的方法和系统
CN101625738A (zh) 生成上下文感知的通用工作流应用的方法和装置
US7496927B2 (en) Auto-generated task sequence
CN107025108B (zh) 从源代码管理(scm)系统将分级数据导出到产品生命周期管理(plm)系统
CN113298503A (zh) 一种面向政务的工作流管理系统及其分库分表方法
EP3454203A1 (en) Data modelling and flow engine for building automated flows within a cloud based developmental platform
KR20040081790A (ko) 애스펙트 패턴 내의 일반 기능과 개체와의 연결
US6513153B1 (en) Automatically integrating and executing application software modules
JP3712984B2 (ja) 業務進捗制御装置及びその方法と、業務進捗制御プログラム及びそのプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050304

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050818

R150 Certificate of patent or registration of utility model

Ref document number: 3712984

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

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

Free format text: PAYMENT UNTIL: 20080826

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090826

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090826

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100826

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100826

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110826

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120826

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130826

Year of fee payment: 8

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term