(57)【要約】【課題】アプリケーションの品質向上、開発効率向上を図るアプリケーション開発支援装置を得る。【解決手段】業務処理における典型的な画面遷移および処理遷移が定義された業務パターン定義ファイル２０の解読結果に基づいて業務処理の統括制御を行う業務パターン制御手段１０と、業務処理データおよび業務処理一覧データを記憶する記憶部６０と、業務処理一覧データの表示制御、および業務処理一覧データの中から選択された業務処理に対応する業務処理データの表示制御を、業務パターン制御手段１０による画面遷移の解読結果に応じて行う画面表示手段４０と、業務処理一覧データの中から選択された業務処理に対応する業務処理データの業務処理を、業務パターン制御手段１０による処理遷移の解読結果に応じて実行する伝票処理手段３０と、同一伝票の重複利用に対してデータ不整合を防止する排他制御手段５０とを備える。【選択図】図１
2006163776.tif 000002
【特許請求の範囲】
【請求項１】
業務処理における典型的な画面遷移および処理遷移が定義された業務パターン定義ファイルを読み込み、前記業務ファイル定義ファイルの解読結果に基づいて業務処理の統括制御を行う業務パターン制御手段と、
業務処理データおよび業務処理一覧データを記憶する記憶部と、
前記記憶部に記憶された前記業務処理一覧データの表示制御、および前記業務処理一覧データの中から選択された業務処理に対応する前記業務処理データの表示制御を、前記業務パターン制御手段による前記画面遷移の解読結果に応じて行う画面表示手段と、
前記業務処理一覧データの中から選択された業務処理に対応する前記記憶部に記憶された業務処理データの業務処理を、前記業務パターン制御手段による前記処理遷移の解読結果に応じて実行する伝票処理手段と
を備えたことを特徴とするアプリケーション開発支援装置。
【請求項２】
請求項１に記載のアプリケーション開発支援装置において、
前記業務パターン制御手段は、１以上の伝票データに対して逐次処理を行う典型的な画面遷移および処理遷移が定義された逐次処理方式定義ファイルを業務パターン定義ファイルとして読み込み、
前記記憶部は、複数の伝票データを業務データとして記憶するとともに、伝票一覧データを業務処理一覧データとして記憶し、
前記画像表示手段は、前記伝票一覧データの中から選択された１以上の伝票データの逐次表示制御を、前記業務パターン制御手段による前記画面遷移の解読結果に応じて行い、
前記伝票処理手段は、前記伝票一覧データの中から選択された１以上の伝票データに対する逐次業務処理を、前記業務パターン制御手段による前記処理遷移の解読結果に応じて実行する
ことを特徴とするアプリケーション開発支援装置。
【請求項３】
請求項１に記載のアプリケーション開発支援装置において、
前記業務パターン制御手段は、ある１つの伝票に対して繰返し処理を行う典型的な画面遷移および処理遷移が定義された繰返し処理方式定義ファイルを業務パターン定義ファイルとして読み込み、
前記記憶部は、複数の伝票データを業務データとして記憶するとともに、伝票一覧データを業務処理一覧データとして記憶し、
前記画像表示手段は、前記伝票一覧データの中から選択されたある１つの伝票データの表示制御を、前記業務パターン制御手段による前記画面遷移の解読結果に応じて行い、
前記伝票処理手段は、前記伝票一覧データの中から選択されたある１つの伝票データに対する繰返し業務処理を、前記業務パターン制御手段による前記処理遷移の解読結果に応じて実行する
ことを特徴とするアプリケーション開発支援装置。
【請求項４】
請求項１に記載のアプリケーション開発支援装置において、
前記業務パターン制御手段は、１以上の伝票データに対して一括処理を行う典型的な画面遷移および処理遷移が定義された一括処理方式定義ファイルを業務パターン定義ファイルとして読み込み、
前記記憶部は、複数の伝票データを業務データとして記憶するとともに、伝票一覧データを業務処理一覧データとして記憶し、
前記画像表示手段は、前記伝票一覧データの中から選択された１以上の伝票データの一括表示制御を、前記業務パターン制御手段による前記画面遷移の解読結果に応じて行い、
前記伝票処理手段は、前記伝票一覧データの中から選択された１以上の伝票データに対する一括業務処理を、前記業務パターン制御手段による前記処理遷移の解読結果に応じて実行する
ことを特徴とするアプリケーション開発支援装置。
【請求項５】
請求項２ないし４のいずれか１項に記載のアプリケーション開発支援装置において、
前記伝票処理手段は、それぞれの伝票ごとに伝票処理実行中であることを知らせるロック情報を出力し、
前記伝票処理手段による伝票処理が実行中であるか否かを示すロックモードと、それぞれの伝票を識別するためのリソースＩＤとを対応づけた排他制御テーブルを有し、前記伝票処理手段からの前記ロック情報に基づいて前記排他制御テーブルの該当するリソースＩＤを検索し、前記リソースＩＤに対応するロックモードを更新する排他制御手段をさらに備えたことを特徴とするアプリケーション開発支援装置。
【請求項６】
請求項５に記載のアプリケーション開発支援装置において、
前記伝票処理手段は、処理実行中である伝票が他の処理と重複することを許可する共有ロック状態と、処理実行中である伝票が他の処理と重複することを禁止する占有ロック状態とを区別して前記ロック情報を出力し、
前記排他制御手段は、前記伝票処理手段からの前記ロック情報に基づいて、共有ロック状態と占有ロック状態を区別して前記排他制御テーブルの前記ロックモードを更新する
ことを特徴とするアプリケーション開発支援装置。
【請求項７】
請求項５または６に記載のアプリケーション開発支援装置において、
前記排他制御手段は、前記伝票処理手段からの前記ロック情報に基づいて前記排他制御テーブルの該当するリソースＩＤを検索する際に、前記記憶部のミドルウェア機能である行ロックを行うことを特徴とするアプリケーション開発支援装置。
【請求項８】
アプリケーション開発支援装置用プログラムであって、
コンピュータを、
業務処理における典型的な画面遷移および処理遷移が定義された業務パターン定義ファイルを読み込み、前記業務ファイル定義ファイルの解読結果に基づいて業務処理の統括制御を行う業務パターン制御手段と、
業務処理データおよび業務処理一覧データを記憶する記憶部に記憶された前記業務処理一覧データの表示制御、および前記業務処理一覧データの中から選択された業務処理に対応する前記業務処理データの表示制御を、前記業務パターン制御手段による前記画面遷移の解読結果に応じて行う画面表示手段と、
前記業務処理一覧データの中から選択された業務処理に対応する前記記憶部に記憶された業務処理データの業務処理を、前記業務パターン制御手段による前記処理遷移の解読結果に応じて実行する伝票処理手段と
して機能させるアプリケーション開発支援装置用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、伝票データを処理する事務系の業務アプリケーションを開発するために使用され、アプリケーションフレームワーク（アプリケーションの振る舞いを制御する骨格）を利用したアプリケーション開発支援装置に関するものである。
【背景技術】
【０００２】
従来のアプリケーション開発支援方法は、業務分析、設計、あるいは製作を支援する仕組みを提供するものである（例えば、特許文献１、２参照）。このような従来のアプリケーション開発支援方法は、開発支援のための仕組みを提供しているのみである。したがって、業務分析、設計、あるいは製作における自由度は高く、どのような業務アプリケーションの開発も行うことができる。
【０００３】
【特許文献１】特開平１１−８５８８０号公報（第１頁、図１）
【特許文献２】特開２００２−２７８７６０号公報（第１頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術には次のような課題がある。従来のアプリケーション開発支援方法は、業務分析、設計、あるいは製作における自由度は高く、どのような業務アプリケーションの開発も行うことができる反面、開発効率が悪い、あるいは開発者のスキルによって、アプリケーションの品質に違いが出るという問題点があった。
【０００５】
本発明は上述のような課題を解決するためになされたもので、アプリケーションの品質向上、開発効率向上を図ることのできるアプリケーション開発支援装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るアプリケーション開発支援装置は、業務処理における典型的な画面遷移および処理遷移が定義された業務パターン定義ファイルを読み込み、業務ファイル定義ファイルの解読結果に基づいて業務処理の統括制御を行う業務パターン制御手段と、業務処理データおよび業務処理一覧データを記憶する記憶部と、記憶部に記憶された業務処理一覧データの表示制御、および業務処理一覧データの中から選択された業務処理に対応する業務処理データの表示制御を、業務パターン制御手段による画面遷移の解読結果に応じて行う画面表示手段と、業務処理一覧データの中から選択された業務処理に対応する記憶部に記憶された業務処理データの業務処理を、業務パターン制御手段による処理遷移の解読結果に応じて実行する伝票処理手段とを備えたものである。
【０００７】
また、本発明に係るアプリケーション開発支援装置用プログラムは、コンピュータを、業務処理における典型的な画面遷移および処理遷移が定義された業務パターン定義ファイルを読み込み、業務ファイル定義ファイルの解読結果に基づいて業務処理の統括制御を行う業務パターン制御手段と、業務処理データおよび業務処理一覧データを記憶する記憶部に記憶された業務処理一覧データの表示制御、および業務処理一覧データの中から選択された業務処理に対応する業務処理データの表示制御を、業務パターン制御手段による画面遷移の解読結果に応じて行う画面表示手段と、業務処理一覧データの中から選択された業務処理に対応する記憶部に記憶された業務処理データの業務処理を、業務パターン制御手段による処理遷移の解読結果に応じて実行する伝票処理手段として機能させるものである。
【発明の効果】
【０００８】
本発明によれば、典型的な画面遷移および処理遷移が定義された業務パターン定義ファイルの解読結果に基づいて業務処理パターンをフレームワーク化することにより、アプリケーションの品質向上、開発効率向上を図ることのできるアプリケーション開発支援装置を得ることができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明のアプリケーション開発支援装置の好適な実施の形態につき図面を用いて説明する。
本発明のアプリケーション開発支援装置は、様々な業務処理を分析した結果から抽出した典型的な画面遷移および処理遷移を備えた業務パターンをフレームワーク化することにより、フレームワーク化された業務パターンの中から個々の業務の目的に応じて所望の業務パターンを選択して流用することにより、アプリゲーションの開発効率向上および品質向上を実現するものである。
【００１０】
実施の形態１．
図１は、本発明の実施の形態１におけるアプリケーション開発支援装置の構成図である。図１において、業務パターン制御手段１０は、業務処理における典型的な画面遷移と処理遷移（以下業務パターンと呼ぶ）が定義された業務パターン定義ファイル２０を読み込み、この業務パターン定義ファイル２０を解釈する。以下においては、業務処理の一例として、伝票データの処理を行う場合について説明する。
【００１１】
ここで、典型的な画面遷移および処理遷移とは、様々な業務処理を分析した結果から抽出したものに相当し、例えば、様々な伝票処理業務を分析することにより得られる伝票の閲覧、新規作成、削除、伝票間の転記等の複数の処理に関連する画面遷移および処理遷移に相当する。そして、業務パターン制御手段１０は、この業務パターンの解釈結果に応じて伝票処理手段３０および画面表示手段４０を統括制御して、業務処理の実行を行う。
【００１２】
伝票処理手段３０は、業務パターン定義ファイルで定義された処理遷移を、業務パターン制御手段１０によって解釈した結果に基づいて、伝票処理を実行する。また、伝票処理手段３０は、伝票データの排他処理が必要な時には、排他制御手段５０を実行することができる。この排他制御手段については、実施の形態４以降で、詳細に説明する、
【００１３】
さらに、伝票処理手段３０は、記憶部６０に記憶されているデータの読み書きを行うことができる。一方、画面表示手段４０は、業務パターン制御手段１０による解釈結果、および伝票処理手段３０の処理結果に基づいて画面表示を実行する。
【００１４】
ここで、業務パターン定義ファイル２０によって定義される業務処理方式としては、例えば、逐次処理方式、繰返し処理方式、一括処理方式があり、これらの処理方法について以下に詳細に説明する。
【００１５】
図２は、本発明の実施の形態１における逐次処理方式による業務処理を行うアプリケーション開発支援装置の構成図である。ここでの逐次処理は、例えば、複数の伝票データを順次選択し、それらを順番に修正するような業務処理に相当する。３つの伝票データ６１ａ〜６１ｃの伝票処理を行う場合を例にして、図２を用いて具体的な構成を説明する。
【００１６】
業務パターン制御手段１０は、逐次処理方式定義ファイル２０ａを読み込んで解読することにより逐次処理制御を行うことができ、伝票処理手段３０および画面表示手段４０に対して逐次処理制御指令に基づく統括制御を行う。
【００１７】
画面表示手段４０は、業務パターン制御手段１０からの制御指令に応じて、伝票一覧画面４１、伝票編集画面４２ａ〜４２ｃを表示する。伝票一覧画面４１には、記憶部６０に記憶された複数の伝票データからなる伝票一覧が表示され、業務ユーザは、その中から処理を行うべき複数の伝票データを選択できる。
【００１８】
複数の伝票データの中から３つの伝票データ６１ａ〜６１ｃが選択された後に、それぞれの伝票データに対応した伝票編集画面４２ａ〜４２ｃが表示され、業務ユーザは、それぞれの編集操作を行うこととなる。
【００１９】
一方、伝票処理手段３０は、伝票選択処理手段３１および伝票逐次処理手段３２を有しており、業務パターン制御手段１０からの制御指令に応じて、業務ユーザにより選択された伝票データを記憶部６０から抽出し、業務ユーザにより編集操作された伝票データの逐次処理を行う。
【００２０】
すなわち、伝票選択処理手段３１は、記憶部６０から伝票一覧を取り出す、あるいは伝票一覧画面４１で選択された伝票データ６１ａ〜６１ｃを記憶部６０から抽出することができる。また、伝票逐次処理手段３２は、伝票編集画面４２ａ〜４２ｃにおける編集内容に基づいてそれぞれの伝票データ６１ａ〜６１ｃを逐次編集処理し、編集後の伝票データを記憶部６０に記憶させる。
【００２１】
伝票一覧画面４１、および伝票編集画面４２ａ〜４２ｃは、業務要件に応じて、アプリケーション開発者により作成される。同様に、伝票逐次処理手段３２における処理も、業務要件に応じて、アプリケーション開発者により作成される。
【００２２】
すなわち、アプリケーション開発者は、フレームワーク化されている逐次処理に関する業務処理アプリケーションを流用し、業務要件に応じて、伝票一覧画面４１、伝票編集画面４２ａ〜４２ｃ、および伝票逐次処理手段３２における処理に関する具体的なアプリケーションを開発することで、伝票を逐次処理するアプリケーションを実現することができる。
【００２３】
逐次処理方式定義ファイル２０ａは、カスタマイズ可能である。つまり、アプリケーション開発者は、このカスタマイズによって画面の追加等が可能となる。
【００２４】
次に、図３を用いて、一連の処理の流れを説明する。図３は、本発明の実施の形態１における逐次処理方式による業務処理のフローチャートである。まず始めに、ステップＳ３０１において、業務パターン制御手段１０は、逐次処理方式定義ファイル２０ａを読込み、その内容を解釈する。
【００２５】
さらに、ステップＳ３０２において、伝票処理手段３０は、伝票データが保存されたデータベース等に相当する記憶部６０から、対象となる伝票データの一覧データを取得する。そして、ステップＳ３０３において、画面表示手段４０は、業務パターン制御手段１０からの表示指令に基づいて、伝票一覧画面４１に一覧データを表示させる。
【００２６】
次に、ステップＳ３０４において、業務ユーザは、画面に表示された複数の伝票データの中から、処理（編集）したい伝票データを選択操作する。そして、業務パターン制御手段１０は、伝票処理手段３０および画面表示手段４０と連携して、選択された伝票データに対して全ての処理（編集）が完了するまで、ステップＳ３０５〜Ｓ３０９の処理を繰返す。
【００２７】
まず、ステップＳ３０５において、業務パターン制御手段１０は、選択された全ての伝票データに対する処理が完了したか否かを判断する。そして、処理が完了したと判断した場合には、業務パターン制御手段１０は、一連の処理を終了する。一方、処理が完了していないと判断した場合には、ステップＳ３０６に移行する。ステップＳ３０６において、伝票処理手段３０は、未処理の伝票データに対して逐次編集処理を行うための編集準備を行う。
【００２８】
以下の処理を具体的に説明するに当たって、選択された３つの伝票データ６１ａ、６１ｂ、６１ｃを順番に処理していく場合について説明する。ステップＳ３０６において、伝票処理手段３０は、まず始めの伝票データ６１ａの編集に必要な全てのデータを記憶部６０から取得する。
【００２９】
次に、ステップＳ３０７において、画面表示手段４０は、業務パターン制御手段１０からの制御指令に基づいて、伝票データ６１ａを編集するための伝票編集画面４２ａを表示する。そして、ステップＳ３０８において、業務ユーザは、伝票編集画面４２ａに表示された伝票データ６１ａの編集操作を行う。ステップＳ３０９において、伝票処理手段３０は、編集処理結果を取得し、伝票データの更新データとして記憶部６０に保持させる。
【００３０】
ステップＳ３０５〜Ｓ３０９の一連の処理が終了すると、ステップＳ３０５に戻り、業務パターン制御手段１０は、選択された全ての伝票データに対する処理が完了したか否かを判断する。そして、未処理である伝票データ６１ｂ、６１ｃについて、逐次処理を行うこととなる。最終的に３つの伝票データ６１ａ〜６１ｃの処理が完了したことにより、業務パターン制御手段１０は、ステップＳ３０５において、一連の処理の終了を判断する。
【００３１】
実施の形態１によれば、アプリケーション開発者は、フレームワーク化された逐次処理方式の制御構造をもったソフトウェアを利用することで、伝票業務で頻出する逐次処理業務を実現するアプリケーションの開発効率向上および品質向上を図ることができる。
【００３２】
実施の形態２．
上記実施の形態１では、業務パターン定義ファイル２０によって定義される業務処理方式が逐次処理方式である場合について説明した。本実施の形態２では、業務処理方式が繰返し処理である場合について説明する。
【００３３】
図４は、本発明の実施の形態２における繰返し処理方式による業務処理を行うアプリケーション開発支援装置の構成図である。ここでの繰返し処理は、ある１つの伝票データに対して複数の処理を行うものであり、例えば、ある物品購入票に対して、複数の見積依頼書を作成する業務に相当する。１つの伝票データ６１ａに対して３つの処理を行う場合を例にして、図４を用いて具体的な構成を説明する。
【００３４】
業務パターン制御手段１０は、繰返し処理方式定義ファイル２０ｂを読み込んで解読することにより繰返し処理制御を行うことができ、伝票処理手段３０および画面表示手段４０に対して繰返し処理制御指令に基づく制御を行う。
【００３５】
画面表示手段４０は、業務パターン制御手段１０からの制御指令に応じて、伝票一覧画面４１、伝票編集画面４３ａ、繰返し処理選択画面４３ｂを表示する。伝票一覧画面４１には、記憶部６０に記憶された複数の伝票データからなる伝票一覧が表示され、業務ユーザは、その中から処理を行うべき１つの伝票データを選択できる。
【００３６】
伝票一覧の中から１つの伝票データ６１ａ選択された後に、伝票データ６１ａの処理に対応した伝票編集画面４３ａが表示され、業務ユーザは、所望の編集操作を行うこととなる。さらに、伝票編集画面４３ａにおける一連の編集処理が終了すると、繰返し処理選択画面４３ｂが表示され、業務ユーザは、伝票データ６１ａに対して繰返し処理を行うか否かを選択できる。繰返し処理が選択された場合には、業務ユーザは、引き続き伝票データ６１ａに対して新たな処理を施すことができる。
【００３７】
一方、伝票処理手段３０は、伝票選択処理手段３１および伝票繰返し処理手段３３を有しており、業務パターン制御手段１０からの制御指令に応じて、業務ユーザにより選択された伝票データを記憶部６０から抽出し、業務ユーザにより編集操作された伝票データの繰返し処理を行う。
【００３８】
すなわち、伝票選択処理手段３１は、伝票一覧画面４１で選択された伝票データ６１ａを抽出し、伝票繰返し処理手段３３は、伝票編集画面４３ａにおける編集内容に基づいて伝票データ６１ａを編集処理していく。
【００３９】
伝票一覧画面４１、伝票編集画面４３ａおよび繰返し処理選択画面４３ｂは、業務要件に応じて、アプリケーション開発者により作成される。同様に、伝票繰返し処理手段３３における処理も、業務要件に応じて、アプリケーション開発者により作成される。
【００４０】
すなわち、アプリケーション開発者は、フレームワーク化されている繰返し処理に関する業務処理アプリケーションを流用し、業務要件に応じて、伝票一覧画面４１、伝票編集画面４３ａ、繰返し処理選択画面４３ｂ、および伝票繰返し処理手段３３における処理に関する具体的なアプリケーションを開発することで、伝票を繰返し処理するアプリケーションを実現することができる。
【００４１】
逐次処理方式定義ファイル２０ａは、カスタマイズ可能である。つまり、アプリケーション開発者は、このカスタマイズによって画面の追加等が可能となる。
【００４２】
次に、図５を用いて、一連の処理の流れを説明する。図５は、本発明の実施の形態２における繰返し処理方式による業務処理のフローチャートである。まず始めに、ステップＳ５０１において、業務パターン制御手段１０は、繰返し処理方式定義ファイル２０ｂを読込み、その内容を解釈する。
【００４３】
さらに、ステップＳ５０２において、伝票処理手段３０は、伝票データが保存されたデータベース等に相当する記憶部６０から、対象となる伝票データの一覧データを取得する。そして、ステップＳ５０３において、画面表示手段４０は、業務パターン制御手段１０からの表示指令に基づいて、伝票一覧画面４１に一覧データを表示させる。
【００４４】
次に、ステップＳ５０４において、業務ユーザは、画面に表示された複数の伝票データの中から、繰返し処理（編集）したい伝票データを１つ選択操作する。そして、業務パターン制御手段１０は、伝票処理手段３０および画面表示手段４０と連携して、選択された伝票データに対して繰返し処理（編集）が完了するまで、ステップＳ５０５〜Ｓ５１１の処理を繰返す。
【００４５】
まず、ステップＳ５０５において、伝票処理手段３０は、選択された伝票データに対して繰返し編集処理を行うための編集準備を行う。以下の処理を具体的に説明するに当たって、選択された１つの伝票データ６１ａを繰返し処理していく場合について説明する。このステップＳ５０５において、伝票処理手段３０は、選択された伝票データ６１ａの編集に必要な全てのデータを記憶部６０から取得する。
【００４６】
次に、ステップＳ５０６において、画面表示手段４０は、業務パターン制御手段１０からの制御指令に基づいて、伝票データ６１ａを編集するための伝票編集画面４３ａを表示する。そして、ステップＳ５０７において、業務ユーザは、伝票編集画面４３ａに表示された伝票データ６１ａの編集操作を行う。
【００４７】
ステップＳ５０８において、伝票処理手段３０は、編集処理結果を取得し、伝票データ６１ａの更新データとして記憶部６０に保持させる。さらに、業務パターン制御手段１０は、画面表示手段４０に対して、引き続き伝票データ６１ａの処理を行うか否かを選択するための繰返し処理選択画面４３ｂを表示させる制御指令を出力する。
【００４８】
ステップＳ５０９において、画面表示手段４０は、繰返し処理選択画面４３ｂを表示する。そして、ステップＳ５１０において、業務ユーザは、引き続き伝票データ６１ａの繰返し処理を行うか否かの選択操作を行う。最終的に、ステップＳ５１１において、業務パターン制御手段１０は、業務ユーザの操作に基づいて繰返し処理を行うか否かを判断する。
【００４９】
繰返し処理を行うと判断した場合には、ステップＳ５０５に戻り、業務パターン制御手段１０は、ステップＳ５０５〜Ｓ５１１の処理を繰り返すこととなる。一方、繰返し処理を行わないと判断した場合には、業務パターン制御手段１０は、一連の処理を終了する。
【００５０】
実施の形態２によれば、アプリケーション開発者は、フレームワーク化された繰返し処理方式の制御構造をもったソフトウェアを利用することで、伝票業務で頻出する繰返し処理業務を実現するアプリケーションの開発効率向上および品質向上を図ることができる。
【００５１】
実施の形態３．
上記実施の形態１では、業務パターン定義ファイル２０によって定義される業務処理方式が逐次処理方式である場合について説明した。また、上記実施の形態２では、業務パターン定義ファイル２０によって定義される業務処理方式が繰返し処理方式である場合について説明した。本実施の形態３では、業務処理方式が一括処理である場合について説明する。
【００５２】
図６は、本発明の実施の形態３における一括処理方式による業務処理を行うアプリケーション開発支援装置の構成図である。ここでの一括処理は、選択した複数の伝票データに対して一括処理を行うものであり、例えば、複数の見積書に対して、１枚ずつ内容確認は行わずに一括して印刷処理する業務に相当する。３つの伝票データ６１ａ、６１ｂ、６１ｃに対して一括処理を行う場合を例にして、図６を用いて具体的な構成を説明する。
【００５３】
業務パターン制御手段１０は、一括処理方式定義ファイル２０ｃを読み込んで解読することにより一括処理制御を行うことができ、伝票処理手段３０および画面表示手段４０に対して一括処理制御指令に基づく制御を行う。
【００５４】
画面表示手段４０は、業務パターン制御手段１０からの制御指令に応じて、伝票一覧画面４１、一括処理結果画面４４を表示する。伝票一覧画面４１には、記憶部６０に記憶された複数の伝票データからなる伝票一覧が表示され、業務ユーザは、その中から一括処理を行うべき複数の伝票データを選択できるとともに、一括して行う処理（例えば、印字処理）を選択できる。伝票一覧の中から３つの伝票データ６１ａ〜６１ｃが選択され、一括して行う処理が選択された後に、処理結果に対応した一括処理結果画面４４が表示される。
【００５５】
一方、伝票処理手段３０は、伝票選択処理手段３１および伝票一括処理手段３４を有しており、業務パターン制御手段１０からの制御指令に応じて、業務ユーザにより選択された伝票データの抽出、および業務ユーザにより編集操作された伝票データの一括処理を行う。すなわち、伝票選択処理手段３１は、伝票一覧画面４１で選択された伝票データ６１ａを記憶部６０から抽出し、伝票一括処理手段３４は、伝票一覧画面４１で選択された伝票データ６１ａ〜６１ｃに対して、伝票一覧画面４１で選択された一括処理を行う。
【００５６】
伝票一覧画面４１、および一括処理結果画面４４は、業務要件に応じて、アプリケーション開発者により作成される。同様に、伝票一括処理手段３４における処理も、業務要件に応じて、アプリケーション開発者により作成される。
【００５７】
すなわち、アプリケーション開発者は、フレームワーク化されている一括処理に関する業務処理アプリケーションを流用し、業務要件に応じて、伝票一覧画面４１、一括処理結果画面４４、および伝票一括処理手段３４における処理に関する具体的なアプリケーションを開発することで、伝票を一括処理するアプリケーションを実現することができる。
【００５８】
一括処理方式定義ファイル２０ｃは、カスタマイズ可能である。つまり、アプリケーション開発者は、このカスタマイズによって画面の追加等が可能となる。
【００５９】
次に、図７を用いて、一連の処理の流れを説明する。図７は、本発明の実施の形態３における一括処理方式による業務処理のフローチャートである。まず始めに、ステップＳ７０１において、業務パターン制御手段１０は、一括処理方式定義ファイル２０ｃを読込み、その内容を解釈する。
【００６０】
さらに、ステップＳ７０２において、伝票処理手段３０は、伝票データが保存されたデータベース等に相当する記憶部６０から、対象となる伝票データの一覧データを取得する。そして、ステップＳ７０３において、画面表示手段４０は、業務パターン制御手段１０からの表示指令に基づいて、伝票一覧画面４１に一覧データを表示させる。
【００６１】
次に、ステップＳ７０４において、業務ユーザは、画面に表示された複数の伝票データの中から、処理（編集）したい伝票データを選択操作する。そして、業務パターン制御手段１０は、伝票処理手段３０および画面表示手段４０と連携して、選択された伝票データに対して一括処理（編集）が完了するまで、ステップＳ７０５〜Ｓ７０８の処理を繰返す。
【００６２】
まず、ステップＳ７０５において、業務パターン制御手段１０は、選択された全ての伝票データに対する処理が完了したか否かを判断する。そして、処理が完了したと判断した場合には、業務パターン制御手段１０は、ステップＳ７０９以降の処理に移行する。一方、処理が完了していないと判断した場合には、ステップＳ７０６に移行する。ステップＳ７０６において、伝票処理手段３０は、未処理の伝票データに対して一括編集処理を行うための編集準備を行う。
【００６３】
以下の処理を具体的に説明するに当たって、選択された３つの伝票データ６１ａ、６１ｂ、６１ｃを順番に処理していく場合について説明する。ステップＳ７０６において、伝票処理手段３０は、まず始めの伝票データ６１ａの編集に必要な全てのデータを記憶部６０から取得する。
【００６４】
次に、ステップＳ７０７において、伝票一括処理手段３４は、伝票データ６１ａに対して、伝票処理を行う。そして、ステップＳ７０８において、伝票処理手段３０は、編集処理結果を取得し、伝票データの更新データとして記憶部６０に保持させる。
【００６５】
ステップＳ７０５〜Ｓ７０８の一連の処理が終了すると、ステップＳ７０５に戻り、業務パターン制御手段１０は、選択された全ての伝票データに対する処理が完了したか否かを判断する。そして、未処理である伝票データ６１ｂ、６１ｃについて、継続して処理を行うこととなる。最終的に３つの伝票データ６１ａ〜６１ｃの一括処理が完了したことにより、業務パターン制御手段１０は、ステップＳ７０５において、一連の処理の終了を判断し、ステップＳ７０９以降の処理に移行する。
【００６６】
ステップＳ７０９において、業務パターン制御手段１０は、画面表示手段４０に対して、一括処理が完了したことを知らせる一括処理結果画面４４を表示させる制御指令を出力する。そして、ステップＳ７１０において、画面表示手段４０は、一括処理結果画面４４を表示する。最終的に、ステップＳ７１１において、業務ユーザは、処理結果を確認し、一括処理が終了する。
【００６７】
実施の形態３によれば、アプリケーション開発者は、フレームワーク化された一括処理方式の制御構造をもったソフトウェアを利用することで、伝票業務で頻出する一括処理業務を実現するアプリケーションの開発効率向上および品質向上を図ることができる。
【００６８】
実施の形態４．
上記実施の形態１〜３では、伝票をそれぞれ逐次処理、繰返し処理、一括処理する場合について説明した。本実施の形態４では、これら３つの処理を兼ね備え、さらに、伝票データの重複利用によるデータ不整合を防止するものについて説明する。
【００６９】
図８は、本発明の実施の形態４における逐次処理方式、繰返し処理方式、一括処理方式を兼ね備えた業務処理を行うための伝票処理手段３０および排他制御手段５０の構成図である。伝票処理手段３０は、排他制御手段５０を利用することで、同一伝票の重複利用に対してデータ不整合を防止することができる。
【００７０】
さらに、フレームワーク化されたこのような排他制御機能を利用することにより、アプリケーション開発者は、複数の業務ユーザによる同一伝票データの重複利用に対してデータ不整合を防止するための排他制御を実現したアプリケーションの開発効率の向上を図ることができる。
【００７１】
伝票処理手段３０は、実施の形態１〜３で説明した伝票選択処理手段３１、伝票逐次処理手段３２、伝票繰返し処理手段３３および伝票一括処理手段３４で構成される。また、排他制御手段５０は、リソースロック手段５１およびリソースアンロック手段５２で構成される。
【００７２】
リソースロック手段５１は、特定の伝票データをロック状態とすることにより、この特定された伝票データに対する他の利用を制限する機能を有する。リソースロック手段５１は、伝票選択処理手段３１から特定の伝票データを指定されることにより、その特定された伝票データをロック状態とする。
【００７３】
一方、リソースアンロック手段５２は、すでにリソースロック手段５１によりロック状態とされている特定の伝票データをアンロック状態とすることにより、この特定された伝票データに対する他の利用を可能にする機能を有する。リソースアンロック手段５２は、伝票逐次処理手段３２、伝票繰返し処理手段３３、伝票一括処理手段３４のいずれかから特定の伝票データを指定されることにより、その特定された伝票データをアンロック状態とする。
【００７４】
このようにして伝票処理手段３０は、排他制御手段５０を利用することにより、ある伝票データの処理を開始してから終了するまでの間に、他の利用を制限することができ、同一の伝票に対して複数の利用が重なった場合にも、データの不整合を防止できる。図８においては、伝票処理手段３０が、伝票逐次処理手段３２、伝票繰返し処理手段３３および伝票一括処理手段３４を兼ね備えている場合を示しているが、少なくともいずれか１つの手段を備えている場合についても、排他制御手段５０を利用することができ、同様の効果を得ることができる。
【００７５】
次に、図９〜１１を用いて、逐次処理方式、繰返し処理方式、一括処理方式のそれぞれに対して排他制御を行った場合の一連の処理の流れを説明する。図９は、本発明の実施の形態４における逐次処理方式に排他制御を行った場合の業務処理のフローチャートである。ステップＳ９０１〜Ｓ９０３の処理は、図３のステップＳ３０１〜Ｓ３０３の処理と同一であり、説明を省略する。
【００７６】
次に、ステップＳ９０４において、業務ユーザは、画面に表示された複数の伝票データの中から、処理（編集）したい伝票データを選択操作する。ここで、業務ユーザは、ロック状態となっている伝票データは選択できず、アンロック状態の伝票データの中から、処理（編集）したい伝票データを選択操作する。
【００７７】
次に、業務パターン制御手段１０は、伝票処理手段３０および画面表示手段４０と連携して、ステップＳ９０４において選択された伝票データに対して全ての処理（編集）が完了するまで、ステップＳ９０５〜Ｓ９１１の処理を繰返す。
【００７８】
まず、ステップＳ９０５において、業務パターン制御手段１０は、選択された全ての伝票データに対する処理が完了したか否かを判断する。そして、処理が完了したと判断した場合には、業務パターン制御手段１０は、一連の処理を終了する。一方、処理が完了していないと判断した場合には、ステップＳ９０６に移行する。以下の処理を具体的に説明するに当たって、選択された３つの伝票データ６１ａ、６１ｂ、６１ｃを順番に処理していく場合について説明する。
【００７９】
ステップＳ９０６において、伝票処理手段３０内の伝票選択処理手段３１は、業務パターン制御手段１０からの制御指令に基づいて、排他制御手段５０内のリソースロック手段５１に対してこれから処理を開始する伝票データ６１ａをロック状態とする指令を出力する。このようにして、処理を開始する前に該当する伝票データ６１ａをロック状態とすることができる。
【００８０】
次に、ステップＳ９０７において、伝票処理手段３０は、ロック状態とされた伝票データ６１ａに対して逐次編集処理を行うための編集準備を行う。ステップＳ９０７において、伝票処理手段３０は、まず始めの伝票データ６１ａの編集に必要な全てのデータを記憶部６０から取得する。
【００８１】
次に、ステップＳ９０８において、画面表示手段４０は、業務パターン制御手段１０からの制御指令に基づいて、伝票データ６１ａを編集するための伝票編集画面４２ａを表示する。そして、ステップＳ９０９において、業務ユーザは、伝票編集画面４２ａに表示された伝票データ６１ａの編集操作を行う。ステップＳ９１０において、伝票処理手段３０は、編集処理結果を取得し、伝票データの更新データとして記憶部６０に保持させる。
【００８２】
さらに、ステップＳ９１１において、伝票処理手段３０内の伝票逐次処理手段３２は、伝票データ６１ａの処理が終了したことに伴って、排他制御手段５０内のリソースアンロック手段５２に対して処理が終了した伝票データ６１ａをアンロック状態とする指令を出力する。このようにして、処理が終了したことにより該当する伝票データ６１ａをロック状態からアンロック状態にすることができる。
【００８３】
ステップＳ９０５〜Ｓ９１１の一連の処理が終了すると、ステップＳ９０５に戻り、業務パターン制御手段１０は、選択された全ての伝票データに対する処理が完了したか否かを判断する。そして、未処理である伝票データ６１ｂ、６１ｃについて、同様にして逐次処理を行うこととなる。最終的に３つの伝票データ６１ａ〜６１ｃの処理が完了したことにより、業務パターン制御手段１０は、ステップＳ９０５において、一連の処理の終了を判断する。
【００８４】
図１０は、本発明の実施の形態４における繰返し処理方式に排他制御を行った場合の業務処理のフローチャートである。ステップＳ１００１〜Ｓ１００３の処理は、図５のステップＳ５０１〜Ｓ５０３の処理と同一であり、説明を省略する。
【００８５】
次に、ステップＳ１００４において、業務ユーザは、画面に表示された複数の伝票データの中から、処理（編集）したい伝票データを１つ選択操作する。ここで、業務ユーザは、ロック状態となっている伝票データは選択できず、アンロック状態の伝票データの中から、処理（編集）したい伝票データを選択操作する。なお、以下の処理を具体的に説明するに当たって、選択された１つの伝票データ６１ａを繰返し処理していく場合について説明する。
【００８６】
ステップＳ１００５において、伝票処理手段３０内の伝票選択処理手段３１は、業務パターン制御手段１０からの制御指令に基づいて、排他制御手段５０内のリソースロック手段５１に対してこれから処理を開始する伝票データ６１ａをロック状態とする指令を出力する。このようにして、処理を開始する前に該当する伝票データ６１ａをロック状態とすることができる。
【００８７】
次に、業務パターン制御手段１０は、伝票処理手段３０および画面表示手段４０と連携して、ステップＳ１００５においてロック状態とされた伝票データ６１ａに対して繰返し処理（編集）が完了するまで、ステップＳ１００６〜Ｓ１０１２の処理を繰返す。
【００８８】
まず、ステップＳ１００６において、伝票処理手段３０は、ロック状態とされた伝票データ６１ａに対して繰返し編集処理を行うための編集準備を行う。このステップＳ１００６において、伝票処理手段３０は、伝票データ６１ａの編集に必要な全てのデータを記憶部６０から取得する。
【００８９】
次に、ステップＳ１００７において、画面表示手段４０は、業務パターン制御手段１０からの制御指令に基づいて、伝票データ６１ａを編集するための伝票編集画面４３ａを表示する。そして、ステップＳ１００８において、業務ユーザは、伝票編集画面４３ａに表示された伝票データ６１ａの編集操作を行う。
【００９０】
ステップＳ１００９において、伝票処理手段３０は、編集処理結果を取得し、伝票データ６１ａの更新データとして記憶部６０に保持させる。さらに、業務パターン制御手段１０は、画面表示手段４０に対して、引き続き伝票データ６１ａの処理を行うか否かを選択するための繰返し処理選択画面４３ｂを表示させる制御指令を出力する。
【００９１】
ステップＳ１０１０において、画面表示手段４０は、繰返し処理選択画面４３ｂを表示する。そして、ステップＳ１０１１において、業務ユーザは、引き続き伝票データ６１ａの繰返し処理を行うか否かの選択操作を行う。最終的に、ステップＳ１０１２において、業務パターン制御手段１０は、業務ユーザの操作に基づいて繰返し処理を行うか否かを判断する。
【００９２】
繰返し処理を行うと判断した場合には、ステップＳ１００６に戻り、業務パターン制御手段１０は、ステップＳ１００６〜Ｓ１０１２の処理を繰り返すこととなる。一方、繰返し処理を行わないと判断した場合には、ステップＳ１０１３に移行する。
【００９３】
そして、ステップＳ１０１３において、伝票処理手段３０内の伝票逐次処理手段３２は、伝票データ６１ａの繰返し処理が終了したことに伴って、排他制御手段５０内のリソースアンロック手段５２に対して処理が終了した伝票データ６１ａをアンロック状態とする指令を出力する。このようにして、処理が終了したことにより該当する伝票データ６１ａをロック状態からアンロック状態にすることができる。
【００９４】
図１１は、本発明の実施の形態４における一括処理方式に排他制御を行った場合の業務処理のフローチャートである。ステップＳ１１０１〜Ｓ１１０３の処理は、図７のステップＳ７０１〜Ｓ７０３の処理と同一であり、説明を省略する。
【００９５】
次に、ステップＳ１１０４において、業務ユーザは、画面に表示された複数の伝票データの中から、処理（編集）したい伝票データを選択操作する。ここで、業務ユーザは、ロック状態となっている伝票データは選択できず、アンロック状態の伝票データの中から、処理（編集）したい伝票データを選択操作する。
【００９６】
次に、業務パターン制御手段１０は、伝票処理手段３０および画面表示手段４０と連携して、ステップＳ１１０４において選択された伝票データに対して一括処理（編集）が完了するまで、ステップＳ１１０５〜Ｓ１１１０の処理を繰返す。
【００９７】
まず、ステップＳ１１０５において、業務パターン制御手段１０は、選択された全ての伝票データに対する処理が完了したか否かを判断する。そして、処理が完了したと判断した場合には、業務パターン制御手段１０は、ステップＳ１１１１以降の処理に移行する。一方、処理が完了していないと判断した場合には、ステップＳ１１０６に移行する。以下の処理を具体的に説明するに当たって、選択された３つの伝票データ６１ａ、６１ｂ、６１ｃを順番に処理していく場合について説明する。
【００９８】
ステップＳ１１０６において、伝票処理手段３０内の伝票選択処理手段３１は、業務パターン制御手段１０からの制御指令に基づいて、排他制御手段５０内のリソースロック手段５１に対してこれから処理を開始する伝票データ６１ａをロック状態とする指令を出力する。このようにして、処理を開始する前に該当する伝票データ６１ａをロック状態とすることができる。
【００９９】
次に、ステップＳ１１０７において、伝票処理手段３０は、ロック状態とされた伝票データ６１ａに対して一括編集処理を行うための編集準備を行う。このステップＳ１１０７において、伝票処理手段３０は、まず始めの伝票データ６１ａの編集に必要な全てのデータを記憶部６０から取得する。
【０１００】
次に、ステップＳ１１０８において、伝票一括処理手段３４は、伝票データ６１ａに対して、伝票処理を行う。そして、ステップＳ１１０９において、伝票処理手段３０は、編集処理結果を取得し、伝票データの更新データとして記憶部６０に保持させる。
【０１０１】
さらに、ステップＳ１１１０において、伝票処理手段３０内の伝票逐次処理手段３２は、伝票データ６１ａの処理が終了したことに伴って、排他制御手段５０内のリソースアンロック手段５２に対して処理が終了した伝票データ６１ａをアンロック状態とする指令を出力する。このようにして、処理が終了したことにより該当する伝票データ６１ａをロック状態からアンロック状態にすることができる。
【０１０２】
ステップＳ１１０５〜Ｓ１１１０の一連の処理が終了すると、ステップＳ１１０５に戻り、業務パターン制御手段１０は、選択された全ての伝票データに対する処理が完了したか否かを判断する。そして、未処理である伝票データ６１ｂ、６１ｃについて、継続して処理を行うこととなる。最終的に３つの伝票データ６１ａ〜６１ｃの一括処理が完了したことにより、業務パターン制御手段１０は、ステップＳ１１０５において、一連の処理の終了を判断し、ステップＳ１１１１以降の処理に移行する。
【０１０３】
ステップＳ１１１１において、業務パターン制御手段１０は、画面表示手段４０に対して、一括処理が完了したことを知らせる一括処理結果画面４４を表示させる制御指令を出力する。そして、ステップＳ１１１２において、画面表示手段４０は、一括処理結果画面４４を表示する。最終的に、ステップＳ１１１３において、業務ユーザは、処理結果を確認し、一括処理が終了する。
【０１０４】
実施の形態４によれば、アプリケーション開発者は、フレームワーク化された排他制御利用方式の制御構造をもったソフトウェアを利用することで、伝票業務で頻出する伝票データの排他制御を確実に実施するアプリケーションを容易に実現することが可能となる。
【０１０５】
実施の形態５．
実施の形態４では、同一の伝票に対して複数の利用が重なった場合にも、データの不整合を防止できる排他制御手段について説明した。本実施の形態５では、複数の業務ユーザによる同一伝票データの重複利用に対してデータ不整合を防止するために、排他制御手段を活用する場合について説明する。
【０１０６】
図１２は、本発明の実施の形態５における排他制御手段の構成図である。図１２における排他制御手段５０は、排他制御管理手段５３および排他制御テーブル５５で構成される。さらに、排他制御管理手段５３は、共有ロック手段５１ａおよび占有ロック手段５１ｂを備えたリソースロック手段５１と、リソースアンロック手段５２と、リソースロック状態確認手段５４とで構成される。
【０１０７】
また、排他制御手段５０は、クライアントに相当する排他制御手段利用側７０に接続されている。複数の業務ユーザに相当する台数の排他制御手段利用側７０が排他制御手段５０に並列接続されることとなるが、図１２においては、説明を簡略化するために、排他制御手段利用側７０は１台のみ記載されている。
【０１０８】
排他制御手段５０内の排他制御管理手段５３は、排他制御手段利用側７０からの要求に応じて、リソースロック手段５１、リソースアンロック手段５２、リソースロック状態確認手段５４を実行する。
【０１０９】
リソースロック手段５１は、排他制御手段利用側７０からの指令に基づいて、あるリソース（例えば、伝票データ）に対して他の排他制御手段利用側（図示せず）からのアクセスに制限を加える手段である。この制限には２種類ある。１つは、複数の排他制御手段利用側からリソースロックが行える共有ロック手段５１ａである。もう一つは、唯一の排他制御手段利用側からのみリソースロックが行える占有ロック手段５１ｂである。
【０１１０】
このような共有ロックは、例えば、複数の業務ユーザが同一の伝票データを参照のみしたい場合に利用する。したがって、共有ロック状態のリソースは、ある業務ユーザがすでに利用している場合にも、他の業務ユーザが重複して利用可能であることを意味する。また、占有ロックは、例えば、業務ユーザがある伝票データを占有し、他の業務ユーザには参照や編集を許可したくない場合に利用する。したがって、占有ロック状態のリソースは、ある業務ユーザがすでに利用している場合には、他の業務ユーザが重複して利用することができないことを意味する。なお、同一リソースに対して、共有ロックと占有ロックは、共存できない。
【０１１１】
リソースアンロック手段５２は、排他制御手段利用側７０からの指令に基づき、あるリソースに対するロック状態を解除する手段であり、共有ロック、占有ロックともに解除できる。リソースロック状態確認手段５４は、排他制御手段利用側７０からの指令に基づき、あるリソースに対するロック状態（占有ロック状態／共有ロック状態／ロックなし）を取得して返答する手段である。
【０１１２】
図１３は、本発明の実施の形態５における排他制御テーブル５５のデータ構造を示す図である。図１３における排他制御テーブル５５は、リソースＩＤ５５ａ、ユーザＩＤ５５ｂ、アプリケーションＩＤ５５ｃ、ロックモード５５ｄのそれぞれの要素で構成される。ここで、リソースＩＤ５５ａ、ユーザＩＤ５５ｂ、アプリケーションＩＤ５５ｃが、検索あるいは登録に用いられる主キー情報である。
【０１１３】
リソースＩＤは、各リソースを判別するためのＩＤであり、例えば、請求票の伝票番号などに相当する。各リソースでユニークな識別子であれば、このリソースＩＤは、どのような形式でも構わない。ユーザＩＤ５５ｂは、あるリソースに対してロックを行った業務ユーザを識別するためのＩＤであり、例えば、社員番号などに相当する。各業務ユーザでユニークな識別子であれば、このユーザＩＤは、どのような形式でも構わない。
【０１１４】
アプリケーションＩＤ５５ｃは、あるリソースに対してロックを行ったアプリケーションを識別するためのＩＤであり、例えば、業務名称に相当する。なお、これらのカラムは、排他制御手段での必須であるが、テーブルにこの他のカラムが存在していても問題ない。
【０１１５】
ロックモード５５ｄは、リソースのロック種別である。共有ロック、占有ロック各々に割り当てられたユニークな識別子であれば、どのような形式でも構わない。例えば、共有ロックは「０」、占有ロックは「１」として識別することができる。
【０１１６】
次に、排他制御手段５０の一連の処理動作について、図１４〜図１７のフローチャートを用いて説明する。まず始めに、図１４は、本発明の実施の形態５の排他制御手段における占有ロック動作に関するフローチャートである。排他制御手段利用側７０は、リソースＩＤ、ユーザＩＤ、アプリケーションＩＤをパラメータにして、排他制御手段５０に占有ロックの要求を送る。
【０１１７】
ステップＳ１４０１において、要求を受けつけた排他制御手段５０内の排他制御管理手段５３は、リソースＩＤ５５ａをキーとして排他制御テーブル５５を行ロックするとともに検索する。さらに、ステップＳ１４０２において、排他制御管理手段５３は、検索結果を判別する。そして、該当するリソースＩＤ５５ａが見つからずに検索結果が０件である場合には、ステップＳ１４０３に移行し、該当するリソースＩＤ５５ａが見つかった場合（すなわち、検索結果が０件でない場合）には、ステップＳ１４０７に移行する。
【０１１８】
該当するリソースＩＤ５５ａが見つからずに検索結果が０件である場合には、ステップＳ１４０３において、リソースロック手段５１内の占有ロック手段５１ｂは、占有ロックの要求のあったリソースＩＤ、ユーザＩＤ、アプリケーションＩＤを新たに登録し、そのリソースＩＤ５５ａに対応するロックモード５５ｄを「占有」状態にロックする。
【０１１９】
さらに、ステップＳ１４０４において、排他制御管理手段５３は、新たなリソースＩＤの登録が正しく行われたか否かを判断する。すなわち、先のステップＳ１４０３で登録を行うよりも早く他の業務ユーザによる登録がなされた場合には、ロックモードの挿入エラーが発生することとなり、排他制御管理手段５３は、この挿入エラーの発生の有無を判断する。挿入エラーが発生していないと判断した場合には、ステップＳ１４０５に移行し、新たなリソースＩＤを占有ロックの状態に設定することに成功したとしてその旨を通知し、処理を終了する。
【０１２０】
一方、挿入エラーが発生したと判断した場合には、排他制御管理手段５３は、リソースＩＤ５５ａをキーとして排他制御テーブル５５を再度検索し、その後、ステップＳ１４０７に移行する。
【０１２１】
先のステップＳ１４０２で該当するリソースＩＤ５５ａが見つかった場合（すなわち、検索結果が０件でない場合）、または先のステップＳ１４０６で再検索を行った場合には、ステップＳ１４０７において、排他制御管理手段５３は、検索結果にユーザＩＤ、アプリケーションＩＤが同じであり、かつロックモードが占有であるものが含まれているか否かを判別する。
【０１２２】
そして、上述のようなものが含まれていると判断した場合には、ステップＳ１４０８に移行し、検索したリソースＩＤは、すでに占有ロックの要求元自身が占有ロック済みであるとしてその旨を通知し、処理を終了する。一方、上述のようなものが含まれていないと判断した場合には、ステップＳ１４０９に移行し、すでに共有ロック済みであるか、またはすでに他のユーザが占有ロック済みであるとしてその旨を通知し、処理を終了する。
【０１２３】
図１５は、本発明の実施の形態５の排他制御手段における共有ロック動作に関するフローチャートである。排他制御手段利用側７０は、リソースＩＤ、ユーザＩＤ、アプリケーションＩＤをパラメータにして、排他制御手段５０に共有ロックの要求を送る。
【０１２４】
ステップＳ１５０１において、要求を受けつけた排他制御手段５０内の排他制御管理手段５３は、リソースＩＤ５５ａをキーとして排他制御テーブル５５を行ロックするとともに検索する。さらに、ステップＳ１５０２において、排他制御管理手段５３は、検索結果を判別する。そして、該当するリソースＩＤ５５ａが見つからずに検索結果が０件である場合には、ステップＳ１５０３に移行し、該当するリソースＩＤ５５ａが見つかった場合（すなわち、検索結果が０件でない場合）には、ステップＳ１５０７に移行する。
【０１２５】
該当するリソースＩＤ５５ａが見つからずに検索結果が０件である場合には、ステップＳ１５０３において、リソースロック手段５１内の共有ロック手段５１ａは、共有ロックの要求のあったリソースＩＤ、ユーザＩＤ、アプリケーションＩＤを新たに登録し、そのリソースＩＤ５５ａに対応するロックモード５５ｄを「共有」状態にロックする。
【０１２６】
さらに、ステップＳ１５０４において、排他制御管理手段５３は、新たなリソースＩＤの登録が正しく行われたか否かを判断する。すなわち、先のステップＳ１４０３で登録を行うよりも早く他の業務ユーザによる登録がなされた場合には、ロックモードの挿入エラーが発生することとなり、排他制御管理手段５３は、この挿入エラーの発生の有無を判断する。挿入エラーが発生していないと判断した場合には、ステップＳ１５０５に移行し、新たなリソースＩＤを共有ロックの状態に設定することに成功したとしてその旨を通知し、処理を終了する。
【０１２７】
一方、挿入エラーが発生したと判断した場合には、排他制御管理手段５３は、リソースＩＤ５５ａをキーとして排他制御テーブル５５を再度検索し、その後、ステップＳ１５０７に移行する。
【０１２８】
先のステップＳ１５０２で該当するリソースＩＤ５５ａが見つかった場合（すなわち、検索結果が０件でない場合）、または先のステップＳ１５０６で再検索を行った場合には、ステップＳ１５０７において、排他制御管理手段５３は、検索されたものの中にロックモード５５ｄが「占有」であるものが含まれているか否かを判断する。
【０１２９】
そして、ロックモード５５ｄが「占有」であるものが含まれている場合には、ステップＳ１５１０に移行し、検索したリソースＩＤは、すでに共有ロックの要求元自身または他の業務ユーザが占有ロック済みであるとしてその旨を通知し、処理を終了する。一方、ロックモード５５ｄが「占有」であるものが含まれていない場合には、ステップＳ１５０８に移行し、排他制御管理手段５３は、検索結果にユーザＩＤ、アプリケーションＩＤが同じものが含まれているか否かを判別する。
【０１３０】
そして、上述のようなものが含まれていると判断した場合には、ステップＳ１５０９に移行し、検索したリソースＩＤは、すでに共有ロックの要求元自身が共有ロック済みであるとしてその旨を通知し、処理を終了する。一方、上述のようなものが含まれていないと判断した場合には、ステップＳ１５０３に戻り、ステップＳ１５０３移行の共有ロック処理を再度実施することとなる。
【０１３１】
図１６は、本発明の実施の形態５の排他制御手段におけるアンロック動作に関するフローチャートである。排他制御手段利用側７０は、リソースＩＤ、ユーザＩＤ、アプリケーションＩＤをパラメータにして、排他制御手段５０にアンロックの要求を送る。
【０１３２】
ステップＳ１６０１において、要求を受けつけた排他制御手段５０内の排他制御管理手段５３は、リソースＩＤ５５ａをキーとして排他制御テーブル５５を行ロックとともに検索する。さらに、ステップＳ１６０２において、排他制御管理手段５３は、検索結果を判別する。そして、該当するリソースＩＤ５５ａが見つからずに検索結果が０件である場合には、ステップＳ１６０５に移行し、該当するリソースＩＤ５５ａが見つかった場合（すなわち、検索結果が０件でない場合）には、ステップＳ１６０３に移行する。
【０１３３】
該当するリソースＩＤ５５ａが見つからずに検索結果が０件である場合には、ステップＳ１６０５において、リソースロック手段５１内のリソースアンロック手段５２は、アンロック対象がないと判断してその旨を通知し、処理を終了する。
【０１３４】
一方、該当するリソースＩＤ５５ａが見つかった場合（すなわち、検索結果が０件でない場合）には、ステップＳ１６０３において、リソースアンロック手段５２は、該当するリソースＩＤを含むデータを削除することにより、指定されたリソースＩＤをアンロック状態とする。そして、ステップＳ１６０４において、アンロック処理に成功したとしてその旨を通知し、一連の処理を終了する。
【０１３５】
なお、排他制御手段利用側７０は、リソースＩＤ、ユーザＩＤ、アプリケーションＩＤ全てをパラメータで指定しなくても、その条件に合致するリソースがアンロックされる。例えば、ユーザＩＤのみ指定すれば、そのユーザＩＤでロックされている全てのリソースがアンロックされる。
【０１３６】
図１７は、本発明の実施の形態５の排他制御手段におけるリソースロック状態確認手段の動作に関するフローチャートである。排他制御手段利用側７０は、リソースＩＤ、ユーザＩＤ、アプリケーションＩＤをパラメータにして、排他制御手段５０にリソースロック状態確認の要求を送る。
【０１３７】
ステップＳ１７０１において、要求を受けつけた排他制御手段５０内の排他制御管理手段５３は、与えられたパラメータをキーとし、排他制御テーブル５５を検索し、その結果を通知後、一連の処理を終了する。
【０１３８】
なお、排他制御手段利用側７０は、リソースＩＤ、ユーザＩＤ、アプリケーションＩＤ全てをパラメータで指定しなくても、その条件に合致するリソースのロック状態が通知される。例えば、ユーザＩＤのみ指定すれば、そのユーザＩＤでロックされている全てのリソースのロック状態が通知される。
【０１３９】
実施の形態５によれば、アプリケーション開発者は、フレームワーク化され、かつ共有ロックと占有ロックを含む排他制御利用方式の制御構造をもったソフトウェアを利用することで、複数の業務ユーザによる伝票業務で頻出する伝票データの排他制御を確実に実施するアプリケーションを容易に実現することが可能となる。
【０１４０】
さらに、排他制御にこのような共有ロックと占有ロックを設けることで、業務要件に適した排他制御が可能となる。さらに、データベース製品が提供しているロック機能のように、リソースのロック中はデータベースへのコネクションを保持しておく必要がないので、排他制御を行う装置（サーバ等）のメモリ消費が少なく、長時間のロックが可能となる。
【０１４１】
さらに、排他制御管理手段がリソースロック、アンロックを行う際に、まず始めに行ロックを行うことで以降の処理が直列化され、複数の排他制御手段利用側からの要求を正しく処理できる。
【０１４２】
実施の形態６．
本実施の形態６では、管理用ダミーデータを有する排他制御テーブルを用いた排他制御手段について説明する。図１８は、本発明の実施の形態６における排他制御テーブル５５のデータ構造を示す図である。構成要素は、実施の形態５における図１３に示された排他制御テーブル５５と同様であるが、ロック管理用ダミーデータが常に登録されている点が異なっている。データ値は、固定であれば形式は問わない。例えば、リソースＩＤ、ユーザＩＤ、アプリケーションＩＤ共に「／／ＳＹＳ／／」で、ロックモードが「０」とした場合が、図１８に示されている。
【０１４３】
図１９は、本発明の実施の形態６の排他制御手段における占有ロック動作に関するフローチャートである。排他制御手段利用側７０は、リソースＩＤ、ユーザＩＤ、アプリケーションＩＤをパラメータにして、排他制御手段５０に占有ロックの要求を送る。
【０１４４】
ステップＳ１９０１において、要求を受けつけた排他制御手段５０内の排他制御管理手段５３は、排他制御テーブル５５のロック管理用ダミーデータを行ロックとともに検索する。次に、ステップＳ１９０２において、排他制御管理手段５３は、リソースＩＤ５５ａをキーとして排他制御テーブル５５を検索する。
【０１４５】
さらに、ステップＳ１９０３において、排他制御管理手段５３は、検索結果を判別する。そして、該当するリソースＩＤ５５ａが見つからずに検索結果が０件である場合には、ステップＳ１９０４に移行し、該当するリソースＩＤ５５ａが見つかった場合（すなわち、検索結果が０件でない場合）には、ステップＳ１９０６に移行する。
【０１４６】
該当するリソースＩＤ５５ａが見つからずに検索結果が０件である場合には、ステップＳ１９０４において、リソースロック手段５１内の占有ロック手段５１ｂは、占有ロックの要求のあったリソースＩＤ、ユーザＩＤ、アプリケーションＩＤを新たに登録し、そのリソースＩＤ５５ａに対応するロックモード５５ｄを「占有」状態にロックする。さらに、ステップＳ１９０５において、新たなリソースＩＤを占有ロックの状態に設定することに成功したとしてその旨を通知し、処理を終了する。
【０１４７】
一方、該当するリソースＩＤ５５ａが見つかった場合（すなわち、検索結果が０件でない場合）には、ステップＳ１９０６において、排他制御管理手段５３は、検索結果にユーザＩＤ、アプリケーションＩＤが同じであり、かつロックモードが占有であるものが含まれているか否かを判別する。
【０１４８】
そして、上述のようなものが含まれていると判断した場合には、ステップＳ１９０７に移行し、検索したリソースＩＤは、すでに占有ロックの要求元自身が占有ロック済みであるとしてその旨を通知し、処理を終了する。一方、上述のようなものが含まれていないと判断した場合には、ステップＳ１９０８に移行し、すでに共有ロック済みであるか、またはすでに他のユーザが占有ロック済みであるとしてその旨を通知し、処理を終了する。
【０１４９】
図２０は、本発明の実施の形態６の排他制御手段における共有ロック動作に関するフローチャートである。排他制御手段利用側７０は、リソースＩＤ、ユーザＩＤ、アプリケーションＩＤをパラメータにして、排他制御手段５０に共有ロックの要求を送る。
【０１５０】
ステップＳ２００１において、要求を受けつけた排他制御手段５０内の排他制御管理手段５３は、排他制御テーブル５５のロック管理用ダミーデータを行ロックとともに検索する。次に、ステップＳ２００２において、排他制御管理手段５３は、リソースＩＤ５５ａをキーとして排他制御テーブル５５を検索する。
【０１５１】
さらに、ステップＳ２００３において、排他制御管理手段５３は、検索結果を判別する。そして、該当するリソースＩＤ５５ａが見つからずに検索結果が０件である場合には、ステップＳ２００４に移行し、該当するリソースＩＤ５５ａが見つかった場合（すなわち、検索結果が０件でない場合）には、ステップＳ２００６に移行する。
【０１５２】
該当するリソースＩＤ５５ａが見つからずに検索結果が０件である場合には、ステップＳ２００４において、リソースロック手段５１内の共有ロック手段５１ａは、共有ロックの要求のあったリソースＩＤ、ユーザＩＤ、アプリケーションＩＤを新たに登録し、そのリソースＩＤ５５ａに対応するロックモード５５ｄを「共有」状態にロックする。さらに、ステップＳ２００５において、新たなリソースＩＤを共有ロックの状態に設定することに成功したとしてその旨を通知し、処理を終了する。
【０１５３】
一方、該当するリソースＩＤ５５ａが見つかった場合（すなわち、検索結果が０件でない場合）には、ステップＳ２００６において、排他制御管理手段５３は、検索されたものの中にロックモード５５ｄが「占有」であるものが含まれているか否かを判断する。
【０１５４】
そして、ロックモード５５ｄが「占有」であるものが含まれている場合には、ステップＳ２００７に移行し、検索したリソースＩＤは、すでに要求元自身または他人が占有ロック済みであるとしてその旨を通知し、処理を終了する。一方、ロックモード５５ｄが「占有」であるものが含まれていない場合には、ステップＳ２００８に移行し、排他制御管理手段５３は、検索結果にユーザＩＤ、アプリケーションＩＤが同じものが含まれているか否かを判別する。
【０１５５】
そして、上述のようなものが含まれていると判断した場合には、ステップＳ２００９に移行し、検索したリソースＩＤは、すでに共有ロックの要求元自身が共有ロック済みであるとしてその旨を通知し、処理を終了する。一方、上述のようなものが含まれていないと判断した場合には、ステップＳ２０１０に移行する。
【０１５６】
そして、ステップＳ２０１０において、リソースロック手段５１内の共有ロック手段５１ａは、共有ロックの要求のあったリソースＩＤ、ユーザＩＤ、アプリケーションＩＤを新たに登録し、そのリソースＩＤ５５ａに対応するロックモード５５ｄを「共有」状態にロックする。さらに、ステップＳ２０１１において、新たなリソースＩＤを共有ロックの状態に設定することに成功したとしてその旨を通知し、処理を終了する。
【０１５７】
図２１は、本発明の実施の形態６の排他制御手段におけるアンロック動作に関するフローチャートである。排他制御手段利用側７０は、リソースＩＤ、ユーザＩＤ、アプリケーションＩＤをパラメータにして、排他制御手段５０にアンロックの要求を送る。
【０１５８】
ステップＳ２１０１において、要求を受けつけた排他制御手段５０内の排他制御管理手段５３は、排他制御テーブル５５のロック管理用ダミーデータを行ロックとともに検索する。次に、ステップＳ２１０２において、リソースアンロック手段５２は、該当するリソースＩＤを含むデータを削除することにより、指定されたリソースＩＤをアンロック状態とする。
【０１５９】
さらに、ステップＳ２１０３において、排他制御管理手段５３は、検索結果を判別する。そして、該当するリソースＩＤ５５ａが見つからずに検索結果が０件である場合には、ステップＳ２１０５に移行し、該当するリソースＩＤ５５ａが見つかった場合（すなわち、検索結果が０件でない場合）には、ステップＳ２１０４に移行する。
【０１６０】
該当するリソースＩＤ５５ａが見つからずに検索結果が０件である場合には、ステップＳ２１０５において、リソースロック手段５１内のリソースアンロック手段５２は、アンロック対象がないと判断してその旨を通知し、処理を終了する。一方、該当するリソースＩＤ５５ａが見つかった場合（すなわち、検索結果が０件でない場合）には、ステップＳ２１０４において、アンロック処理に成功したとしてその旨を通知し、一連の処理を終了する。
【０１６１】
なお、排他制御手段利用側７０は、リソースＩＤ、ユーザＩＤ、アプリケーションＩＤ全てをパラメータで指定しなくても、その条件に合致するリソースがアンロックされる。例えば、ユーザＩＤのみ指定すれば、そのユーザＩＤでロックされている全てのリソースがアンロックされる。
【０１６２】
実施の形態６によれば、排他制御管理手段がリソースロック、アンロックを行う際に、まず始めに行ロックを行うことで、以降の処理が直列化され、複数の排他制御手段利用側からの要求を正しく処理できる。
【図面の簡単な説明】
【０１６３】
【図１】本発明の実施の形態１におけるアプリケーション開発支援装置の構成図である。
【図２】本発明の実施の形態１における逐次処理方式による業務処理を行うアプリケーション開発支援装置の構成図である。
【図３】本発明の実施の形態１における逐次処理方式による業務処理のフローチャートである。
【図４】本発明の実施の形態２における繰返し処理方式による業務処理を行うアプリケーション開発支援装置の構成図である。
【図５】本発明の実施の形態２における繰返し処理方式による業務処理のフローチャートである。
【図６】本発明の実施の形態３における一括処理方式による業務処理を行うアプリケーション開発支援装置の構成図である。
【図７】本発明の実施の形態３における一括処理方式による業務処理のフローチャートである。
【図８】本発明の実施の形態４における逐次処理方式、繰返し処理方式、一括処理方式を兼ね備えた業務処理を行うための伝票処理手段および排他制御手段の構成図である。
【図９】本発明の実施の形態４における逐次処理方式に排他制御を行った場合の業務処理のフローチャートである。
【図１０】本発明の実施の形態４における繰返し処理方式に排他制御を行った場合の業務処理のフローチャートである。
【図１１】本発明の実施の形態４における一括処理方式に排他制御を行った場合の業務処理のフローチャートである。
【図１２】本発明の実施の形態５における排他制御手段の構成図である。
【図１３】本発明の実施の形態５における排他制御テーブル５５のデータ構造を示す図である。
【図１４】本発明の実施の形態５の排他制御手段における占有ロック動作に関するフローチャートである。
【図１５】本発明の実施の形態５の排他制御手段における共有ロック動作に関するフローチャートである。
【図１６】本発明の実施の形態５の排他制御手段におけるアンロック動作に関するフローチャートである。
【図１７】本発明の実施の形態５の排他制御手段におけるリソースロック状態確認手段の動作に関するフローチャートである。
【図１８】、本発明の実施の形態６における排他制御テーブル５５のデータ構造を示す図である。
【図１９】本発明の実施の形態６の排他制御手段における占有ロック動作に関するフローチャートである。
【図２０】本発明の実施の形態６の排他制御手段における共有ロック動作に関するフローチャートである。
【図２１】本発明の実施の形態６の排他制御手段におけるアンロック動作に関するフローチャートである。
【符号の説明】
【０１６４】
１０  業務パターン制御手段、２０  業務パターン定義ファイル、２０ａ  逐次処理方式定義ファイル、２０ｂ  繰返し処理方式定義ファイル、２０ｃ  一括処理方式定義ファイル、３０  伝票処理手段、３１  伝票選択処理手段、３２  伝票逐次処理手段、３３  伝票繰返し処理手段、３４  伝票一括処理手段、４０  画面表示手段、５０  排他制御手段、５１  リソースロック手段、５１ａ  共有ロック手段、５１ｂ  占有ロック手段、５２  リソースアンロック手段、５３  排他制御管理手段、５４  リソースロック状態確認手段、５５  排他制御テーブル、６０  記憶部、７０  排他制御手段利用側。
【図１】
2006163776.tif 000003
【図２】
2006163776.tif 000004
【図３】
2006163776.tif 000005
【図４】
2006163776.tif 000006
【図５】
2006163776.tif 000007
【図６】
2006163776.tif 000008
【図７】
2006163776.tif 000009
【図８】
2006163776.tif 000010
【図９】
2006163776.tif 000011
【図１０】
2006163776.tif 000012
【図１１】
2006163776.tif 000013
【図１２】
2006163776.tif 000014
【図１３】
2006163776.tif 000015
【図１４】
2006163776.tif 000016
【図１５】
2006163776.tif 000017
【図１６】
2006163776.tif 000018
【図１７】
2006163776.tif 000019
【図１８】
2006163776.tif 000020
【図１９】
2006163776.tif 000021
【図２０】
2006163776.tif 000022
【図２１】
2006163776.tif 000023