(57)【要約】【課題】管理対象となるオブジェクトの状態変更と承認操作を異なる装置を用いて実施する場合に、業務アプリケーションからオブジェクト状態変更とオブジェクト承認操作を直接行う必要をなくした業務システムのデータ操作装置を得る。【解決手段】業務アプリケーション１からの指示に応じて、オブジェクト状態変更手段３によるオブジェクトの状態変更と、オブジェクト承認操作手段４によるオブジェクトの状態変更の承認操作を行わせるデータ操作部１１を有し、このデータ操作部１１を用いることにより、業務アプリケーション１から、オブジェクト状態変更手段３及びオブジェクト承認操作手段４を直接操作しなくても良いようにした。【選択図】図１
2008257637.tif 000002
【特許請求の範囲】
【請求項１】
業務アプリケーションからの指示に応じて、オブジェクトの状態変更を行うオブジェクト状態変更手段と上記オブジェクトの状態変更の承認操作を行うオブジェクト状態変更承認操作手段とを操作するデータ操作部を備えたことを特徴とする業務システムのデータ操作装置。
【請求項２】
上記データ操作部は、上記オブジェクト状態変更手段に上記オブジェクトの状態変更を行わせるオブジェクト状態管理手段と、上記オブジェクト状態変更承認操作手段に上記オブジェクトの状態変更の承認操作を行わせるオブジェクト状態変更承認管理手段と、上記業務アプリケーションの指示に応じて、上記オブジェクト状態管理手段及び上記オブジェクト状態変更承認管理手段を整合性を保つように管理するオブジェクト管理手段とを有することを特徴とする請求項１記載の業務システムのデータ操作装置。
【請求項３】
上記オブジェクト管理手段は、上記オブジェクト状態変更手段による上記オブジェクトの状態変更及び上記オブジェクト状態変更承認操作手段による上記オブジェクトの状態変更の承認操作の開始前に、事前処理を行うように構成されていることを特徴とする請求項２記載の業務システムのデータ操作装置。
【請求項４】
上記オブジェクト管理手段は、上記オブジェクト状態変更手段による上記オブジェクトの状態変更及び上記オブジェクト状態変更承認操作手段による上記オブジェクトの状態変更の承認操作の終了後に、事後処理を行うように構成されていることを特徴とする請求項２または請求項３記載の業務システムのデータ操作装置。
【請求項５】
上記オブジェクト管理手段は、上記オブジェクト状態変更手段による上記オブジェクトの状態変更及び上記オブジェクト状態変更承認操作手段による上記オブジェクトの状態変更の承認操作の開始前に、事前処理を行い、上記オブジェクトの状態変更及び上記オブジェクトの状態変更の承認操作の終了後に、事後処理を行うように構成されるとともに、上記オブジェクトの状態変更及び上記オブジェクトの状態変更の承認操作並びに上記事前処理及び上記事後処理のトランザクション整合性を保つように構成されていることを特徴とする請求項２記載の業務システムのデータ操作装置。
【請求項６】
業務アプリケーションからの指示に応じて、データ操作部により、オブジェクトの状態変更を行うオブジェクト状態変更手段と上記オブジェクトの状態変更の承認操作を行うオブジェクト状態変更承認操作手段とを操作するようにしたことを特徴とする業務システムのデータ操作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、分野を問わず、状態管理と承認管理を同時に実施するような業務システムのデータ操作装置及び業務システムのデータ操作方法に関するものである。
このような業務システムは、例えば資材部門の契約業務における伝票審査や物品検収がある。
なお、この発明で用いるオブジェクトは、業務システムで使用されるデータの総称である。すなわち、オブジェクトは、業務システムが資材業務システムであれば、伝票であり、工程管理システムであれば、工程内の各タスクであるように、業務データそのものを抽象化した概念である。
【背景技術】
【０００２】
従来の業務システムにおいて、対象オブジェクトの業務状態変更と対象オブジェクトの承認行為を実施しようとするときは、特許文献１の「階層化されたビジネスプロセス定義を有するワークフローシステム」に記載されているように、業務状態管理装置自体に承認機能を付加した装置を利用するか、または、別々に開発されてきた業務状態変更装置や承認管理装置をシステム内で単独の装置として利用し、別々の機能として実装してきた。
これは、主にプログラムを処理する装置の性能に応じてシステム化対象範囲が狭義であったり、開発するプログラム言語が単独の機能開発に適したものであることに起因していた。
しかし、近年、プログラムを処理する装置が高機能化し、それに伴いシステム化対象範囲も広がり、個別の機能を大量に製作していたのでは、顧客の要求する機能を定められた契約期間で完遂することが難しくなってきた。
そこで、どのようにプログラム開発量を削減するかを検討する必要が発生した。また、プログラム言語Ｊａｖａ（登録商標）が開発され、システムの中で、個別の業務アプリケーションで開発する層と、全業務が共通に利用する層を分離することが可能となってきた。
そこで、全業務が共通に利用する層の開発物を、業務アプリケーションで開発する層から利用するようにし、システム全体の製作量の削減に繋げる必要が生じる。
【０００３】
【特許文献１】特開平１１−３１６７８０号公報（第３〜８頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
例えば、従来の資材業務システムでは、契約業務に使用される伝票データの状態の管理と状態を遷移させるための承認行為が必ず発生する。状態遷移を司る装置と承認行為を司る装置は、どちらかを包含するものも存在するが、システムを構築する上で、発注側の既設装置を使用する必要があったり、発注側の指定するアプリケーションを使用しなければならないことが少なくなく、必ずしもこのような装置を選択できるとは限らない。
従来の特許文献１で示される「階層化されたビジネスプロセス定義を有するワークフローシステム」は、状態遷移装置の中に承認管理機能を作り込んだ装置であるため、前述の機能をシステム化する場合には、必ずその装置を使用しなければならず、顧客の要望を反映しようとすると、この装置を導入する場合に、装置導入費用の他にカスタマイズ費用も発生する。すなわち、業務システム構築の基本要素である「安価に構築」を阻害するという問題があった。
このため、状態遷移を管理する装置と承認行為を管理する装置の両者を使用してシステム構築をする方が得策である。
【０００５】
この発明は、上述のような課題を解決するためになされたものであり、管理対象となるオブジェクトの状態変更と承認操作を異なる装置を用いて実施する場合に、業務アプリケーションからオブジェクト状態変更とオブジェクト承認操作を直接行う必要をなくした業務システムのデータ操作装置及び業務システムのデータ操作方法を得ることを目的にしている。
【課題を解決するための手段】
【０００６】
この発明に係わる業務システムのデータ操作装置においては、業務アプリケーションからの指示に応じて、オブジェクトの状態変更を行うオブジェクト状態変更手段とオブジェクトの状態変更の承認操作を行うオブジェクト状態変更承認操作手段とを操作するデータ操作部を備えたものである。
【発明の効果】
【０００７】
この発明は、以上説明したように、業務アプリケーションからの指示に応じて、オブジェクトの状態変更を行うオブジェクト状態変更手段とオブジェクトの状態変更の承認操作を行うオブジェクト状態変更承認操作手段とを操作するデータ操作部を備えたので、業務アプリケーションから、オブジェクト状態変更手段とオブジェクト状態変更承認操作手段の操作を直接行う必要をなくすることができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
以下、この発明の実施の形態１を図に基づいて説明する。
図１は、この発明の実施の形態１による業務システムのデータ操作装置を示す構成図である。
図１は、本装置のソフトウェア構造であり、図１において、業務システムのデータ操作装置を構成するデータ操作部１１は、ソフトウェアによって構成され、業務アプリケーション１からの要求により、オブジェクトの状態変更と、この状態変更を承認するための承認操作を行う。そして、その操作データを、オブジェクトの状態を変更するオブジェクト状態変更手段３と、オブジェクトの承認を操作するオブジェクト承認操作手段４（オブジェクト状態変更承認操作手段）に渡す。
データ操作部１１は、業務アプリケーション１とネットワークを介して接続された計算機上に搭載され、オブジェクト管理手段２と、オブジェクト状態管理手段６と、オブジェクト承認管理手段５（オブジェクト状態変更承認管理手段）とによって構成される。
オブジェクト管理手段２は、業務アプリケーション１からの要求により、オブジェクト状態管理手段６及びオブジェクト承認管理手段５を制御して、オブジェクトの状態変更と、オブジェクトの状態変更の承認操作を行う。すなわち、オブジェクト管理手段２は、オブジェクト状態管理手段６及びオブジェクト承認管理手段５を整合性を保つように管理する。
オブジェクト状態変更手段３は、オブジェクトの状態を変更する。オブジェクト承認操作手段４は、オブジェクトの承認操作を行う。
オブジェクト状態管理手段６は、オブジェクト管理手段２の制御により、オブジェクト状態変更手段３に、オブジェクトの状態を変更するように指示する。オブジェクト承認管理手段５は、オブジェクト管理手段２の制御により、オブジェクト承認操作手段４に、オブジェクトの承認操作を行うように指示する。
つまり、オブジェクト管理手段２と、オブジェクト状態管理手段６と、オブジェクト承認管理手段５により、業務アプリケーション１から見たときのオブジェクト状態変更手段３とオブジェクト承認操作手段４の実装を隠蔽している。
このため、オブジェクト状態変更手段３とオブジェクト承認操作手段４は、どのような種類のものでもよく、オブジェクト承認管理手段５とオブジェクト状態管理手段６がそれらの実装を吸収する構成としている。
なお、オブジェクトの状態とは、例えばオブジェクトの取り消し中の状態、登録中の状態などであり、承認は、この状態の変更を承認するものである。
【０００９】
なお、特許文献１では、オブジェクト状態変更手段３とオブジェクト承認操作手段４に相当する装置が２つの機能を併せ持つ装置として記載されているが、実施の形態１では、データ操作部１１により、オブジェクト状態変更手段３とオブジェクト承認操作手段４はどのようなものや装置であってもよく、データ操作部１１が業務アプリケーション１からそれらの実装を隠蔽するため、より柔軟なシステム構成が採用でき、顧客の要望を実現しやすい。
【００１０】
図２は、この発明の実施の形態１による業務システムのデータ操作装置の詳細を示す構成図である。
図２において、１、２、５、６は図１におけるものと同一のものである。図２では、オブジェクト管理手段２は、記憶装置に格納されたマッピング表７を持っており、これを用いてオブジェクト状態管理手段６とオブジェクト承認管理手段５を制御する。マッピング表７は、オブジェクト状態変更手段３の持つ管理対象オブジェクトを識別するための識別子をＯＩＤとし、オブジェクト承認操作手段４の持つ管理対象オブジェクトを識別するための識別子をＳＳＩＤとして、業務アプリケーション１から渡される情報である業務名とこれら２つの識別子を対応付けている。マッピング表７は、予め作成しておく。
また、オブジェクト管理手段２は、承認が完了したオブジェクトを格納する履歴表８を記憶装置に持ち、履歴表８には、ＳＳＩＤ、ＯＩＤ、業務名、完了日が格納される。
マッピング表７は、承認対象オブジェクトが格納され、履歴表８は、承認済みのオブジェクトが格納される。
【００１１】
次に、動作について説明する。
オブジェクト管理手段２が、オブジェクト状態管理手段６とオブジェクト承認管理手段５を制御し、これらを通じて、オブジェクト状態変更手段３とオブジェクト承認操作手段４に状態変更及び状態変更の承認操作を行わせる。
システム開発者は、業務アプリケーション１を開発する。開発された業務アプリケーション１では、ある業務オブジェクトに対し、業務状態の変更と承認状態の変更を行う場合は、オブジェクト管理手段２にアクセスする。オブジェクト管理手段２は、業務アプリケーション１より渡された情報より、マッピング表７を用いて、オブジェクト状態管理手段６とオブジェクト承認管理手段５が必要とする情報を取得し、オブジェクト状態管理手段６に対して状態変更を指示し、オブジェクト承認管理手段５に対して承認操作を指示する。オブジェクト状態管理手段６とオブジェクト承認管理手段５は、それぞれオブジェクト状態変更手段３に状態変更を、オブジェクト承認操作手段４に状態変更の承認操作を行わせる。
これにより、オブジェクト状態変更手段３とオブジェクト承認操作手段４が、どのような装置であっても、オブジェクト状態管理手段６とオブジェクト承認管理手段５を制御することにより、状態変更操作と、承認操作を行うことができる。
【００１２】
実施の形態１によれば、この構成により、業務アプリケーション１は、オブジェクト状態変更手段３とオブジェクト承認操作手段４の詳細を認識しなくとも、データ操作部１１を使用することで、業務システムの開発を行うことができる。
これにより、業務アプリケーションを効率的に開発できることになる。
【００１３】
実施の形態２．
図３は、この発明の実施の形態２による業務システムのデータ操作装置の詳細を示す構成図である。
図３において、１、２、５〜８は図２におけるものと同一のものである。図３では、オブジェクト管理手段２が、業務アプリケーション１からＯＩＤを取得し、これをオブジェクト状態管理手段６に渡すとともに、ＯＩＤをオブジェクト承認管理手段５に渡して、後述する承認設定を行って、得られる承認用のＩＤであるＳＳＩＤを取得する。そして、オブジェクト状態管理手段６のＯＩＤと、ＳＳＩＤを対応付けてマッピング表７を形成する。このマッピング表７のうち、承認が完了したものが履歴表８に移動される。
【００１４】
図４は、この発明の実施の形態２による業務システムのデータ操作装置の承認設定時の処理を示すフローチャートである。
ここで、承認行為を行う承認者とその順番を設定する行為を承認設定と呼ぶことにする。
図５は、この発明の実施の形態２による業務システムのデータ操作装置の承認操作実行時の処理を示すフローチャートである。
【００１５】
図３では、どのようなオブジェクト状態変更手段３、オブジェクト承認操作手段４であっても、操作対象オブジェクトを識別するための識別子をデータベースであるマッピング表７に格納し、その識別子を利用してオブジェクト状態変更手段３及びオブジェクト承認操作手段４の持つ機能を実行する。
オブジェクト管理手段２は、これら２つの識別子ＯＩＤとＳＳＩＤを対応付けるためのマッピング表７を作っている。
【００１６】
承認設定時のフローチャートを図４に示す。すなわち、図４は、マッピング表７を作成するフローである。
図４で、ステップＳ１で、業務アプリケーション１は、承認対象のオブジェクトを識別するためのＯＩＤとその業務名称をオブジェクト管理手段２に渡す。ステップＳ２で、オブジェクト管理手段２は、この渡されたＯＩＤをオブジェクト承認管理手段５に渡し、それの持つ承認設定機能（承認設定ＡＰＩ）を利用し、承認設定を行う。
ステップＳ３で、オブジェクト管理手段２は、ステップＳ２の結果を確認し、処理が正常に終了したのであれば、ステップＳ４で、オブジェクト承認管理手段５から、作成した承認用ＩＤであるＳＳＩＤを取得する。このとき、処理が異常終了したのであれば、マッピング表７への保管を行わない。
次いで、ステップＳ５で、オブジェクト管理手段２は、ステップＳ１で渡されたＯＩＤとステップＳ４で取得したＳＳＩＤと業務名称を自身の管理するマッピング表７に保管する。
これにより、状態変更対象オブジェクトＯＩＤとそれに対する承認設定が対応づけられる。
【００１７】
次に、承認操作実行時のフローチャートについて図５を用いて説明する。
図５のステップＳ１１で、業務アプリケーション１は、業務アプリケーションが承認実行対象であるオブジェクト一覧をオブジェクト管理手段２に要求する。ステップＳ１２で、オブジェクト管理手段２は、業務アプリケーション利用者が承認実行対象であるオブジェクト一覧をオブジェクト承認管理手段５から取得し、業務アプリケーション１へ返す。このとき、オブジェクトのＳＳＩＤも一緒に返却する。
ステップＳ１３で、業務アプリケーションがオブジェクト一覧から、１アイテムを選択し、選択したＳＳＩＤを業務アプリケーション１がオブジェクト管理手段２に渡し、承認実行を要求する。ステップＳ１４で、オブジェクト管理手段２は、渡されたＳＳＩＤからマッピング表７を用いて状態変更対象のオブジェクトＯＩＤを取得する。
【００１８】
次いで、ステップＳ１５で、オブジェクト承認管理手段５は、そのＯＩＤに対して承認操作（承認ボタンを押下するなど）を実行する。
ステップＳ１６で、オブジェクト管理手段２は、オブジェクト承認管理手段５に対して最終承認であるか否かを問い合わせ、最終承認であれば、ステップＳ１７で、オブジェクト状態変更手段３に対して状態変更操作を実行する。
さらにステップＳ１８で、最終承認であるときは、マッピング表７の該当レコードを履歴表８に操作日時と共に格納し、ステップＳ１９で、マッピング表７から該当レコードを削除する。
次いで、オブジェクト管理手段２は、実行結果の正常／異常を業務アプリケーション１へ通知する。
【００１９】
実施の形態２によれば、本構成によりオブジェクト状態変更手段３とオブジェクト承認操作手段４の存在を利用者から隠蔽し、オブジェクト管理手段２を利用することで業務アプリケーション１を容易に開発でき、業務アプリケーション１を開発する初期開発コストを低減できるという効果が有る。
【００２０】
実施の形態３．
図６は、この発明の実施の形態３による業務システムのデータ操作装置の事前処理を実行するプログラムの構造を説明する図である。
図６は、Ｊａｖａ（登録商標）言語のような構造化プログラミングを可能とする言語を想定した構造である。オブジェクト管理手段２によって、業務アプリケーション１に提供するために作成された基底クラス１０を継承して、業務アプリケーション１で実行クラス９が作成される。
【００２１】
オブジェクト管理手段２では、基底となるクラスにオブジェクトの承認を実行する操作のための呼び出し口（Ｊａｖａ（登録商標）言語でいうメソッドのことであり、以後これを承認メソッドと呼ぶ）を作成しておく。業務アプリケーション１は、必ずこのクラスを継承し、承認メソッドを実装することを義務付ける。
図６のように、オブジェクト管理手段２によって作成された基底クラス１０を継承して、業務アプリケーション１で実行クラス９が作成される。
承認メソッドは、実行のための引数が基底クラスにより決められており、その中に承認実行前に事前処理しておきたい内容を実装したクラス名称とメソッド名称を設定する。基底クラスはこの情報を読み取り、指定されたクラスを実体化し、指定されたメソッドを実行する（図６の事前処理の実行。例えば、これから承認しますとのメッセージ出力またはメール出力など）。その後、承認メソッドを実行する。
【００２２】
実施の形態３によれば、基底クラスで作成された承認メソッドが、実行クラスの事前処理のメソッドを承認処理実行の前に呼ぶように構成しているので、オブジェクト承認前に処理しておきたい操作が実行可能であるという効果を生む。
【００２３】
実施の形態４．
図７は、この発明の実施の形態４による業務システムのデータ操作装置の事後処理を実行するプログラムの構造を説明する図である。
図７も実施の形態３と同様、Ｊａｖａ（登録商標）言語のような構造化プログラミングを可能とする言語を想定した構造である。図７において、９、１０は図６におけるものと同じものである。
【００２４】
承認メソッドに渡される情報には承認実行後に事後処理したい操作を実装したクラス名称とメソッド名称を設定する。基底クラスは、承認メソッドを実行後にこの情報を読み取り、指定されたクラスを実体化し、指定されたメソッドを実行する（図７の事後処理の実行。例えば、承認が完了しましたなどのメッセージ出力またはメール出力など）。
【００２５】
実施の形態４によれば、基底クラスで作成された承認メソッドが、実行クラスの事後処理のメソッドを承認処理実行の後に呼ぶように構成しているので、オブジェクト承認後に処理しておきたい操作が実行可能であるという効果を生む。
【００２６】
実施の形態５．
図８は、この発明の実施の形態５による業務システムのデータ操作装置のトランザクション確保のためのプログラムの構造を説明する図である。
図８も、実施の形態３と同様、Ｊａｖａ（登録商標）言語のような構造化プログラミングを可能とする言語を想定した構造である。図８において、９、１０は図６におけるものと同じものである。
【００２７】
図８は、実施の形態４の事前処理、オブジェクト状態変更処理、オブジェクト承認操作、事後処理という一連の処理において、トランザクション整合性を確保するための構成である。
ここで、トランザクションとは、関連する複数の処理を１つの処理単位としてまとめたものであり、トランザクションとして管理された処理は、「すべて成功」か「すべて失敗」の何れかになる。事前処理、承認処理、事後処理を１個のトランザクションにして、事前処理、承認処理、事後処理のどれかが失敗した場合に、事前処理を処理する前の状態に戻す。
基底クラス１０は、承認メソッド実行時に、実施の形態３及び実施の形態４で記述した事前処理、事後処理のための情報を読み取り、図８に示すように、事前処理、承認処理、事後処理という処理の各メソッドを順番に実行する。
実施の形態３及び実施の形態４で記述した事前処理、事後処理のための情報にはメソッド名称のみが指定され（引数１〜引数４）、データベースへの接続情報の引数が指定されていないが、図８では、基底クラスで既定された引数の中にデータベースへのアクセスを司るオブジェクト（データベースへの接続情報で、以後コネクションと呼ぶ）が指定されている。
業務アプリケーション１は、承認メソッドを以下のように記述することにより、トランザクション整合性を確保する。まず、コネクションを用いて、事前処理の実行前の状態をチェックポイントして記録しておく。事前処理、承認処理、事後処理は、どれかの処理が失敗した場合に、共通のエラー処理を行うように記述する。図８に示すＪａｖａ（登録商標）言語のプログラム例では、ｔｒｙ―ｃａｔｃｈ構文をもちいている。ｔｒｙ―ｃａｔｃｈ構文では、ｔｒｙ｛｝で囲まれた処理のうちどれか１つでも失敗したならば、失敗した時点でｔｒｙの処理は中止し、ｃａｔｃｈ｛｝で囲まれた処理を行う。
ｔｒｙ｛｝で囲まれた処理として、同一のコネクションを使用して、事前処理、承認処理、事後処理を記述する。ｃａｔｃｈ｛｝で囲まれたエラー処理では、コネクションを用いて記録してあるチェックポイント（事前処理の実行前の状態）にデータベースの状態を戻す。事前処理、承認処理、事後処理でのデータベースに対する処理は、すべて同一のコネクションを用いているので、このようなトランザクションが実現できる。
【００２８】
実施の形態５によれば、基底クラスの承認メソッド実行時に、事前処理、承認処理、事後処理のすべてにコネクションを使用することで、どれか１つの操作に失敗してもトランザクションが分断されず、整合性を保つことができる。
【図面の簡単な説明】
【００２９】
【図１】この発明の実施の形態１〜実施の形態５による業務システムのデータ操作装置を示す構成図である。
【図２】この発明の実施の形態１による業務システムのデータ操作装置の詳細を示す構成図である。
【図３】この発明の実施の形態２による業務システムのデータ操作装置の詳細を示す構成図である。
【図４】この発明の実施の形態２による業務システムのデータ操作装置の承認設定時の処理を示すフローチャートである。
【図５】この発明の実施の形態２による業務システムのデータ操作装置の承認操作実行時の処理を示すフローチャートである。
【図６】この発明の実施の形態３による業務システムのデータ操作装置の事前処理を実行するプログラムの構造を説明する図である。
【図７】この発明の実施の形態４による業務システムのデータ操作装置の事後処理を実行するプログラムの構造を説明する図である。
【図８】この発明の実施の形態５による業務システムのデータ操作装置のトランザクション確保のためのプログラムの構造を説明する図である。
【符号の説明】
【００３０】
１  業務アプリケーション
２  オブジェクト管理手段
３  オブジェクト状態変更手段
４  オブジェクト承認操作手段
５  オブジェクト承認管理手段
６  オブジェクト状態管理手段
７  マッピング表
８  履歴表
９  実行クラス
１０  基底クラス
１１  データ操作部
【図１】
2008257637.tif 000003
【図２】
2008257637.tif 000004
【図３】
2008257637.tif 000005
【図４】
2008257637.tif 000006
【図５】
2008257637.tif 000007
【図６】
2008257637.tif 000008
【図７】
2008257637.tif 000009
【図８】
2008257637.tif 000010