以下、実施の形態について図1〜図15を参照して説明する。なお、この実施の形態は、最も好ましい一形態を示すものであり、特にこの形態に限定するものではない。
先ず、情報処理装置1の構成について図1を参照して説明する。図1は、情報処理装置1の機能的構成を模式的に示すブロック図である。
図1に示すように、情報処理装置1は、制御装置11、記憶装置12、表示装置13、入力装置14、通信装置15及び印刷装置16を備え、各部はバス17により互いに電気的に接続されている。情報処理装置1は具体的には上記構成を含むPC(Personal Computer)やWS(Work Station)などの情報機器である。
制御装置11は、特に図示しないCPU(Central Processing Unit)やRAM(Random Access Memory)、ROM(Read Only Memory)などを備え、CPUにおいてRAMの所定領域を作業領域とし、ROMや記憶装置12に格納されたプログラムや各種データを読み込んで順次実行することで、情報処理装置1の動作を統括制御する。
記憶装置12は、HDD(Hard Disk Drive)や不揮発性メモリ又は光学/磁気的な記憶媒体とそれに対して読み書き可能な装置であり、制御装置11からの指示によりデータの格納や読み出したデータの制御装置11への出力を行う。具体的には、記憶装置12は、業務プログラムファイル121、業務スケルトンテンプレート122、プログラム部品領域120、設定ファイル127、各種参照ファイル128、実行定義生成プログラム129及び業務アプリケーションプログラム参照領域130を格納する。
業務プログラムファイル121は、制御装置11で実行することで、実行定義生成プログラム129により作成された実行定義を実行するインタプリタ等である実行エンジン111としての機能を提供し、業務処理を行うアプリケーションプログラムである。なお、業務プログラムファイル121は、実行定義生成プログラム129によりオブジェクトファイルとして作成された実行定義を実行するアプリケーションプログラムであってもよい。
業務スケルトンテンプレート122は、売上伝票入力処理、請求書処理、顧客情報管理処理などの事務処理業務における処理の雛形を実行エンジン111で実行可能な文法で定義して記載したファイルである。実行定義を作成する際には、この業務スケルトンテンプレート122に後述する部品データを挿入して作成する。つまり、この業務スケルトンテンプレート122と後述する部品データとを組み合わせたデータを実行エンジン111で順次実行することで、情報処理装置1における業務処理を実現する。
プログラム部品領域120は、項目テンプレート123、印刷部品124、DB処理部品125、業務処理部品126を格納する記憶領域である。
項目テンプレート123は、業務スケルトンテンプレート122における各処理の雛形において、各項目における入力や表示を行うための制御や処理に関する部分の定義情報を記載したデータファイルである。ここにおける項目とは、例えば販売管理に関する業務上の売上伝票や受注伝票をユニークに扱う伝票番号、取引先や得意先を示す得意先コード、商品を示す商品コード、当該商品コードに対応する商品名・単価などである。
印刷部品124は、業務スケルトンテンプレート122における各処理の雛形において、業務処理における伝票や帳票などの印刷を行うためのページレイアウト等の基本的な印刷制御機能を含め、当該印刷ページにおける項目毎の書式情報や印字制御に関する情報を定義したデータファイルである。
DB処理部品125は、業務処理における顧客情報、商品情報、売買記録などの業務情報を格納するデータベースDBに対してデータの更新、登録又は抽出など、例えばSQL(Structured Query Language)などを用いて、当該データベースDBへの整合性の取れたデータアクセスを行う処理を定義したデータファイルである。
業務処理部品126は、入力可能な項目をリスト表示し、選択することでデータ入力の補助を行う処理、伝票入力などのトランザクション処理の途中で新たにデータベースに対してレコードを追加する処理、各部品で共通な処理又は問い合わせ・確認のダイアログを表示する処理など、上述した部品で呼び出されて使用するサブルーチン的な処理を定義したデータファイルである。
上述した項目テンプレート123、印刷部品124、DB処理部品125、業務処理部品126における各プログラム部品は、一つのプログラム部品単体で機能するものもあるが、他のプログラム部品の機能を呼び出して機能するもの、つまり、他のプログラム部品と関連しているものもある。例えば、単に入力されたデータを項目表示する場合には、一つの項目テンプレート123で実現できる。しかし、データベースDBから抽出したデータを項目表示する際には、項目テンプレート123の他に関連するDB処理部品125が必要となる場合がある。
ここで、図2を参照してプログラム部品領域120に格納されるプログラム部品を具体的に説明する。図2(a)は、プログラム部品領域120におけるプログラム部品の構成を具体的に例示する概念図であり、図2(b)は、得意先入力一覧制御部品1261の内容を具体的に例示する概念図であり、図2(c)は、得意先コード選択部品1262の内容を具体的に例示する概念図である。
図2(a)に示すように、例えば、プログラム部品領域120には、業務処理部品126の得意先入力一覧制御部品1261、得意先コード選択部品1262及び得意先選択区分部品1263と、DB処理部品125の得意先コード選択検索部品1251などが格納されている。得意先入力一覧制御部品1261は、得意先の項目に関して一覧入力を行うプログラム部品であり、得意先のコード選択に関するプログラム部品である得意先コード選択部品1262、及び、得意先の選択区分に関するプログラム部品である得意先選択区分部品1263が関連している。また、得意先コード選択部品1262は、データベースDBを検索して得意先のコード選択を行う得意先コード選択検索部品1251が関連している。
得意先入力一覧制御部品1261は、図2(b)に示すようなプログラム言語であり、他のプログラム部品を呼び出し可能な構成である。具体的には、呼び出し関数(プログラム部品名,…)などの関数で利用するプログラム部品を呼び出しており、「@CALLSUBINP(得意先選択区分,…)」で得意先選択区分部品1263の呼び出しを行い、「@CALLSUBINP(得意先コード選択,…)」で得意先コード選択部品1262の呼び出しを行っている。
図2(c)に示すように、得意先コード選択部品1262も得意先入力一覧制御部品1261と同様に関数で利用するプログラム部品を呼び出す構成であり、「@CALLPROC(得意先コード選択検索,…)」で得意先コード選択検索部品1251の呼び出しを行っている。
つまり、図2(a)に示す得意先入力一覧制御部品1261は、得意先コードの選択については得意先コード選択部品1262を呼び出し、得意先の選択区分については得意先選択区分部品1263を呼び出して処理を行う。また、得意先入力一覧制御部品1261で選択する得意先コードは、得意先コード選択検索部品1251を呼び出してデータベースDBから取得されたデータに基づくものである。よって、得意先入力一覧制御部品1261を業務スケルトンテンプレート122に組み合わせて実行エンジン111で処理を行う際には、当該得意先入力一覧制御部品1261以外に得意先コード選択部品1262、得意先選択区分部品1263及び得意先コード選択検索部品1251も実行エンジン111から実行可能にする必要がある。
図1に戻り、情報処理装置1の構成の続きを説明する。
設定ファイル127は、アプリケーションプログラムを作成する際に必要な補助的な情報を管理するためのファイルである。具体的には、設定ファイル127には、業務アプリケーションプログラムを作成する際に、その業務アプリケーションプログラムの実行時に参照する後述の各種参照ファイル128を、その実体が格納されたフォルダから実行時に参照可能なフォルダへコピーするための情報が格納されている。
各種参照ファイル128は、上述した業務スケルトンテンプレート122や部品データで組み合わされた業務処理に於いて、画面表示や演算処理等の処理で参照されるデータファイルである。具体的には、各種参照ファイル128は、CPUが直接読み出して処理が可能なオブジェクトファイルであり、業務処理時の演算処理に関する実行モジュール、JPEG(Joint Photographic Experts Group)等の業務処理時の行事画面に関するイメージデータ、CSV(Comma Separated Values)等の業務処理時の設定に関するテキストデータやその他の設定データ等のデータファイルである。
実行定義生成プログラム129は、制御装置11で実行することで、後述する処理により、実行エンジン111が実行するソースコードやオブジェクトファイル等の(実行定義)を作成する機能を有するアプリケーションプログラムである。このアプリケーションプログラムにより作成された実行定義は、当該アプリケーションプログラムにて何度でも修正が可能である。また、アプリケーションプログラムでは、各部品間のインターフェイス情報などが不足している部分を部品内に格納されている情報を元に自動生成することができる。
業務アプリケーションプログラム参照領域130は、パス(PATH)設定などにより実行エンジン111から参照可能な記憶領域であり、実行エンジン111が実行定義やオブジェクトファイルに基づいて業務処理を行う際に必要なデータファイルを格納する記憶領域である。
表示装置13は、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)などのディスプレイであり、制御装置11から入力される画像信号に応じた画像を画面上に表示する。入力装置14は、キーボードやマウスなどであり、利用者からの操作指示を受け付けて制御装置11へ出力する。
通信装置15は、無線通信回路及びアンテナや、有線で通信を行うための通信インターフェイスを備えた回路部であり、特に図示しない無線/有線LAN(Local Area Network)、インターネットなどの通信ネットワークと接続し、当該通信ネットワークと接続する他の情報機器との間で制御装置11に指示に応じたデータ通信を行う。情報処理装置1は、この通信装置15を介したデータ通信により、他の情報機器が提供するデータベースDBへのアクセスを行う。
印刷装置16は、電子写真方式やインクジェット方式等の印字方式により、紙などの記録媒体上に制御装置11からの指示に応じた画像を形成するプリンタである。
ここで、情報処理装置1の制御装置11が業務スケルトンテンプレート122や各部品データを基に実行する業務アプリケーションの概要について図3を参照して説明する。図3は、情報処理装置1における業務アプリケーション処理の概要を示す概念図である。
図3に示すように、制御装置11は、業務処理における全体制御・画面制御・データ制御などの基本処理が定義された業務スケルトンテンプレート122に項目テンプレート123、印刷部品124、DB処理部品125及び業務処理部品126を組み合わせて前述した業務アプリケーションプログラム参照領域130に格納し、その格納したデータを実行エンジン111で実行する。
情報処理装置1は、制御装置11の実行エンジン111で実行する処理において、例えば業務スケルトンテンプレート122と組み合わせる項目テンプレート123に基づき、業務処理に関する項目の表示や入力の受け付けを表示装置13、入力装置14で行う。同様に情報処理装置1は、業務スケルトンテンプレート122と組み合わせる印刷部品124に基づき、帳票の紙への印刷を印刷装置16で行う。同様に情報処理装置1は、業務スケルトンテンプレート122と組み合わせるDB処理部品125に基づき、データベースDBに対するデータの登録や削除等の更新制御又はデータの抽出等を行う検索制御を行う。同様に情報処理装置1は、業務スケルトンテンプレート122と組み合わせる業務処理部品126に基づき、業務スケルトンテンプレート122や他の部品で共通のサブルーチン処理を行い、各種業務処理を実行する。
ここで、制御装置11が行う処理により実行される、プログラム部品領域120へのプログラム部品の登録(格納)について、図4を参照して説明する。図4(a)は、情報処理装置1においてプログラム部品領域120へプログラム部品を登録する処理を例示するフローチャートであり、図4(b)は、プログラム部品領域120に格納されたプログラム部品とその関連情報を例示する概念図である。
図4(a)に示すように、情報処理装置1では、入力装置14などの操作指示に基づいて、プログラム部品領域120へ格納するプログラム部品の設定が行われ(ステップS11)、その設定されたプログラム部品の中で前述した呼び出し関数で呼び出されるプログラム部品の抽出などの文法チェックが行われる(ステップS12)。
ついで、ステップS12における文法チェックに基づいて、使用するプログラム部品の名称や格納場所などの情報が抜き出され、関連プログラム部品情報D1として制御装置11のRAM等に設定され(ステップS13)、その関連プログラム部品情報D1に基づいて、プログラム部品領域120へ格納するプログラム部品で呼び出されて使用されるプログラム部品に関する情報(名称、格納場所等)が関連部品情報ファイルFとしてプログラム部品領域120に格納される(ステップS14)。
上述したプログラム部品領域120へプログラム部品を登録する処理を行うことで、図2(b)に示すように、プログラム部品領域120内には、プログラム部品P1、P2、P3、P4…毎に、そのプログラム部品内で使用する他のプログラム部品に関する情報である関連部品情報ファイルF1、F2、F3、F4…が格納される。
次に、制御装置11が実行定義生成プログラム129を実行して行う処理であり、プログラム部品領域120に格納されたプログラム部品の業務アプリケーションプログラム参照領域130への格納(実行定義生成処理)について、図5〜図8を参照して説明する。
図5は、情報処理装置1において業務アプリケーションプログラム参照領域130にプログラム部品を格納する実行定義生成処理を例示するフローチャートである。図6は、選択画面G1を例示する概念図である。図7は、情報処理装置1における使用プログラム部品コピー処理を示すフローチャートである。図8は、プログラム部品領域120に格納されているプログラム部品の業務アプリケーションプログラム参照領域130への格納を例示する概念図である。
図5に示すように、情報処理装置1では、プログラム部品領域120に格納されているプログラム部品の中で、業務アプリケーションプログラム参照領域130に格納して実行エンジン111で実行して使用するプログラム部品を選択するための選択画面が表示装置13に表示されて、入力装置14から選択指示が受け付けられる(ステップS21)。
具体的には、図6に示すように、表示装置13における選択画面G1にはプログラム部品領域120に格納されているプログラム部品が一覧表示され、入力装置14の指示による反転表示などで所望のプログラム部品の選択が行われる。図6に示す例では、部品名が「WZU商品一覧制御」であるプログラム部品が業務アプリケーションプログラム参照領域130に格納するプログラム部品として選択されている。
次いで、ステップS21でプログラム部品が選択されたか否かが判定され(ステップS22)、選択されていない場合(NO)はそのまま終了する。
プログラム部品が選択された場合(ステップS22:YES)は、選択されたプログラム部品及びその選択されたプログラム部品が使用するプログラム部品に関する情報の一覧を格納するため制御装置11のRAMに設定される使用プログラム部品リストD2が、選択されたプログラム部品のみを含む状態で初期化される(ステップS23)。つまり、ステップS23では、選択されたプログラム部品のみを使用するプログラム部品とする使用プログラム部品リストD2がRAMに設定される。
次いで、選択されたプログラム部品とそのプログラム部品が使用する他のプログラム部品、つまり、業務アプリケーションプログラムと組み合わせて使用する使用プログラム部品について、実行エンジン111で実行可能にするためにプログラム部品領域120から業務アプリケーションプログラム参照領域130へコピー(又は移動)する使用プログラム部品コピー処理が行われる(ステップS24)。
この使用プログラム部品コピー処理は、選択されたプログラム部品名を引数として渡すことで、使用プログラム部品の業務アプリケーションプログラム参照領域130へのコピーと使用プログラム部品リストD2の出力を行う関数化された処理である。
ここで、使用プログラム部品コピー処理についての詳細を説明する。図7に示すように、情報処理装置1では、使用プログラム部品コピー処理が開始されると、引数で指定されたプログラム部品、つまり、選択されたプログラム部品を元に、そのプログラム部品の関連部品情報ファイルFが参照され、その関連部品情報ファイルFに基づいて業務アプリケーションプログラム参照領域130へコピーする使用プログラム部品が決定される(ステップS241)。
次いで、ステップS241で決定された使用プログラム部品の部品名が使用プログラム部品リストD2に追加設定され(ステップS242)、引数で設定された使用するプログラム部品の実体がプログラム部品領域120から業務アプリケーションプログラム参照領域130へコピーされる(ステップS243)。
次いで、カウント数が設定され(ステップS244)、ステップS242で使用プログラム部品リストD2に追加設定された使用プログラム部品において、カウント数番目の使用プログラム部品の有無が判定され(ステップS245)、プログラム部品がない場合(NO)、つまり、使用プログラム部品リストD2に追加設定された使用プログラム部品に対する処理が終了した場合はそのまま終了する。
ステップS245においてプログラム部品がある場合(YES)は、使用プログラム部品リストD2に追加設定された使用プログラム部品であって、カウント数番目の使用プログラム部品に関するコピー処理、つまり、そのカウント数番目の使用プログラム部品を引数とする使用プログラム部品コピー処理が行われて(ステップS246)、カウント数がインクリメントされ(ステップS247)、ステップS245へ戻る。
上述したように、使用プログラム部品コピー処理では、引数として設定されたプログラム部品の実体をプログラム部品領域120から業務アプリケーションプログラム参照領域130へコピーするとともに、当該プログラム部品で使用するプログラム部品を使用プログラム部品リストD2に設定し、その設定されたプログラム部品の各々を引数として再帰呼び出しすることで、引数として設定されたプログラム部品、そのプログラム部品が使用するプログラム部品及びその使用するプログラム部品が更に使用するプログラム部品等を順次プログラム部品領域120から130へコピーすることができる。
図5に戻り、ステップS24以降の処理について説明する。ステップS24に次いで、使用プログラム部品リストD2から同一名称のプログラム部品名、つまり、重複部分が消去され(ステップS25)、その消去後の使用プログラム部品リストD2に設定され、業務アプリケーションプログラム参照領域130に格納されたプログラム部品の一括コンパイルが行われ(ステップS26)、終了する。
情報処理装置1では、上述した実行定義生成処理を実行することにより、図8に示すように、プログラム部品領域120に格納されたプログラム部品P1の実行定義生成(使用登録)が選択された場合、そのプログラム部品P1をコピーしてコンパイルしたプログラム部品P11を業務アプリケーションプログラム参照領域130に格納するとともに、そのプログラム部品P1が呼び出して使用するプログラム部品P2、プログラム部品P3をコピーしてコンパイルしたプログラム部品P12、プログラム部品P13を業務アプリケーションプログラム参照領域130に格納することができる。
また、情報処理装置1では、使用プログラム部品コピー処理を再帰呼び出しし、使用するプログラム部品の判別を再帰的に行うため、選択されたプログラム部品P1が使用するプログラム部品P3が更に呼び出して使用するプログラム部品P4をコピーしてコンパイルしたプログラム部品P14を業務アプリケーションプログラム参照領域130に格納することができる。
[名称を変更して業務アプリケーションプログラム参照領域130に格納する場合]
次に、実行定義生成処理の変形例であり、名称を変更して業務アプリケーションプログラム参照領域130にプログラム部品を格納する処理について図9〜図13を参照して説明する。
図9は、情報処理装置1において名称を変更して業務アプリケーションプログラム参照領域130にプログラム部品を格納する実行定義生成処理を例示するフローチャートである。図10(a)は、情報処理装置1における一覧生成処理を例示するフローチャートであり、図10(b)は、情報処理装置1における使用プログラム部品名一覧作成処理を例示するフローチャートである。図11は、名称変更画面G2を例示する概念図である。図12は、情報処理装置1における使用プログラム部品修正処理を例示するフローチャートである。図13(a)は、得意先入力一覧制御部品1261の内容を例示する概念図であり、図13(b)は、プログラム部品領域120に格納されているプログラム部品の業務アプリケーションプログラム参照領域130への名称を変更した仕様登録を例示する概念図である。
図9に示すように、情報処理装置1では、プログラム部品領域120に格納されているプログラム部品の中で、業務アプリケーションプログラム参照領域130に格納して実行エンジン111で実行して使用するプログラム部品を選択するための選択画面が表示装置13に表示されて、入力装置14から選択指示が受け付けられる(ステップS31)。このステップS31の選択指示については、前述した図6と同様であるため説明を省略する。
次いで、ステップS31でプログラム部品が選択されたか否かが判定され(ステップS32)、選択されていない場合(NO)はそのまま終了する。
プログラム部品が選択された場合(ステップS32:YES)は、選択されたプログラム部品とそのプログラム部品が使用する他のプログラム部品、つまり、業務アプリケーションプログラムと組み合わせて使用する使用プログラム部品の一覧を作成する一覧作成処理が行われて、その結果が使用プログラム部品リストD2として格納される(ステップS33)。
この使用プログラムの一覧作成処理は、選択されたプログラム部品を引数として渡すことで、使用プログラム部品の一覧を使用プログラム部品リストD2として出力する関数化された処理である。
ここで、一覧作成処理についての詳細を説明する。図10(a)に示すように、情報処理装置1では、一覧作成処理が開始されると、RAMに設定される使用プログラム部品リストD2が選択されたプログラム部品に関する情報のみを含む状態で初期化され(ステップS331)、その選択されたプログラム部品が使用する他のプログラム部品名の一覧を使用プログラム部品リストD2に追加する使用プログラム部品名一覧作成処理が行われ(ステップS332)、使用プログラム部品リストD2から同一名称のプログラム部品名、つまり、重複部分が消去されて(ステップS333)終了する。
ステップS332における使用プログラム部品名一覧作成処理は、選択されたプログラム部品を引数として渡すことで、プログラム部品の名称等の一覧を使用プログラム部品リストD2に追加する部品名一覧作成関数として機能する。
ここで、使用プログラム部品名一覧作成処理についての詳細を説明する。図10(b)に示すように、情報処理装置1では、使用プログラム部品名一覧作成処理が開始されると、引数で指定されたプログラム部品、つまり、選択されたプログラム部品を元に、そのプログラム部品の関連部品情報ファイルFが参照され、その関連部品情報ファイルFに基づいて当該選択されたプログラム部品が使用するプログラム部品が決定され(ステップS3321)、その決定された使用プログラム部品の部品名が使用プログラム部品リストD2に追加設定される(ステップS3322)。
次いで、カウント数が設定され(ステップS3323)、ステップS3322で使用プログラム部品リストD2に追加設定された使用プログラム部品において、カウント数番目の使用プログラム部品の有無が判定され(ステップS3324)、プログラム部品がない場合(NO)、つまり、使用プログラム部品リストD2に追加設定された使用プログラム部品に対する処理が終了した場合はそのまま終了する。
ステップS3324においてプログラム部品がある場合(YES)は、使用プログラム部品リストD2に追加設定された使用プログラム部品であって、カウント数番目の使用プログラム部品に関する一覧作成処理、つまり、そのカウント数番目の使用プログラム部品を引数とする使用プログラム部品名称一覧作成処理が行われて(ステップS3325)、カウント数がインクリメントされ(ステップS3326)、ステップS3324へ戻る。
上述したように、使用プログラム部品名称一覧作成処理では、引数として設定されたプログラム部品が使用するプログラム部品の一覧が使用プログラム部品リストD2に追加設定され、その設定されたプログラム部品の各々を引数として再帰呼び出しすることで、引数として設定されたプログラム部品が使用するプログラム部品及びその使用するプログラム部品が更に使用するプログラム部品等が順次使用プログラム部品リストD2に追加設定される。
図9に戻り、ステップS33以降の処理について説明する。ステップS33に次いで、使用プログラム部品リストD2の設定データを元に使用プログラム部品(その使用プログラム部品が使用する他のプログラム部品を含む)を表示装置13に一覧表示して入力装置14から選択指示を受け付け、その選択されたプログラム部品の名称を設定する選択画面表示が行われる(ステップS34)。
このステップS34では、具体的には図11に示すように、複写元名(プログラム部品領域120でのプログラム部品名)と複写先名(業務アプリケーションプログラム参照領域130に格納する際のプログラム部品名)とが一覧表示される名称変更画面G2が表示装置13に表示される。この名称変更画面G2においては、入力装置14からの入力指示に基づき、反転表示で所望のプログラム部品の選択が行われるとともに、入力ボックスなどから変更後の部品名が入力されて、プログラム部品名称の変更指示が受け付けられる。
次いで、入力装置14からの名称変更の確定指示等の入力指示に基づいて、プログラム部品名称変更の実行の有無が判定され(ステップS35)、名称変更を行わない場合(NO)はそのまま終了する。
プログラム名称を変更する場合(ステップS35:YES)は、ステップS34で指示されたプログラム部品名に変更するように、変更前(例えば「プログラム部品X」等)と変更後(例えば「プログラム部品XX」)の名称が関連付けられて使用プログラム部品リストD2に設定され(ステップS36)、その設定後の使用プログラム部品リストD2に基づいた使用プログラム部品修正処理が行われる(ステップS37)。
ここで、使用プログラム部品修正処理についての詳細を説明する。図12に示すように、情報処理装置1では、使用プログラム部品修正処理が開始されると、使用プログラム部品リストD2に設定されている項目があるか否か、つまり、設定されているプログラム部品があるか否かが判定され(ステップS3701)、ない場合(NO)はプログラム部品スペック名の変更等の処理(ステップS3713)のみ行われて終了する。
使用プログラム部品リストD2に設定されているプログラム部品がある場合(ステップS3701:YES)は、第1のカウント数(i)が設定され(ステップS3702)、使用プログラム部品リストD2において第1のカウント数番目のプログラム部品がないと判定される(ステップS3703:NO)まで、第1のカウント数をインクリメント(ステップS3712)し、ステップS3704〜S3711までの処理をループして行う(第1のループ)。
この第1のループ処理では、使用プログラム部品リストD2において第1のカウント数番目に設定されているプログラム部品の情報が取得され(ステップS3704)、第2のカウント数(m)が設定され(ステップS3705)、使用プログラム部品リストD2において第2のカウント数番目のプログラム部品がないと判定される(ステップS3706:NO)まで、第2のカウント数をインクリメント(ステップS3711)し、ステップS3707〜S3710までの処理をループして行う(第2のループ)。
この第2のループ処理では、使用プログラム部品リストD2において第2のカウント数番目のプログラム部品に関して複写元名と複写先名の設定が異なるか否か(「複写元名≠複写先名」であるか否か)、つまり、プログラム部品の名称変更が設定されているか否かが判定され(ステップS3707)、名称変更がない場合(ステップS3707)は第2のカウント数をインクリメント(ステップS3711)して次の処理に移る。
なお、ステップS3707において、プログラム部品の名称変更が設定されている場合(YES)は、ステップS3704で取得された第1のカウント数番目のプログラム部品の情報及び使用プログラム部品リストD2において第2のカウント数番目のプログラム部品に関する変更前の名称(複写元名)に基づいて、使用プログラム部品リストD2において第1のカウント数番目のプログラム部品が第2のカウント数番目のプログラム部品を使用されているか否かがチェックされる(ステップS3708)。
ステップS3708のチェックに基づいて、使用プログラム部品リストD2において第1のカウント数番目のプログラム部品が第2のカウント数番目のプログラム部品を使用されているか否かが判定され(ステップS3709)、使用している場合は、その第1のカウント数番目のプログラム部品に記載されて使用される第2のカウント数番目のプログラム部品に関する名称が、使用プログラム部品リストD2において第2のカウント数番目のプログラム部品に関する変更後の名称(複写先名)に基づいて変更され(ステップS3710)、第2のカウント数をインクリメント(ステップS3711)して次の処理に移る。
このステップS3710では、具体的には、第1のカウント数番目のプログラム部品において、当該プログラム部品が使用する第2のカウント数番目のプログラム部品の変更前の名称が「プログラム部品X」であった場合に、変更後の名称「プログラム部品XX」に書き換えられる。
上述したように、使用プログラム部品修正処理では、使用プログラム部品リストD2に設定されている全プログラム部品に対し、各プログラム部品の名称が変更されているか否かを判定し、変更がある場合は、名称の変更に係るプログラム部品の使用をチェックして、名称の変更に基づいたプログラム部品の修正を行う処理構成である。
具体的には、図13(a)に示すように、使用プログラム部品修正処理後の得意先入力一覧制御部品1261は、処理前のそれに対して(図2(b)を参照)、ステップS34における名称変更に応じて内部のプログラム部品の名称が変更される(例えば、「得意先選択区分コピー1」等)。
図9に戻り、ステップS37以降の処理について説明する。ステップS37に次いで、使用プログラム部品リストD2に設定された内容、つまり、ステップS34で設定された名称変更を含む内容で、プログラム部品領域120に格納されている使用プログラム部品が業務アプリケーションプログラム参照領域130にコピーされ(ステップS38)、その業務アプリケーションプログラム参照領域130にコピーされたプログラム部品の一括コンパイルが行われて(ステップS39)終了する。
情報処理装置1では、上述した名称を変更して業務アプリケーションプログラム参照領域130に格納する実行定義生成処理を行うことで、図13(b)に示すように、プログラム部品領域120に格納されたプログラム部品P1の実行定義作成(使用登録)が選択され、プログラム部品P1とそれが呼び出して使用するプログラム部品P2、P3、P4を業務アプリケーションプログラム参照領域130にコピーして実行定義を作成する際に、例えば同じ名称のプログラム部品(プログラム部品P11、P12、P13)が既に業務アプリケーションプログラム参照領域130に格納されている場合であっても、名称を変更したプログラム部品(プログラム部品P11a、P12a、P13a)を業務アプリケーションプログラム参照領域130に格納することができるとともに、制御装置11で実行する場合でもその名称変更に対応したプログラム部品に修正することができる。
[実行エンジン111が名称変更に対応している場合]
次に、情報処理装置1において、実行エンジン111を実行する際にプログラム部品変換リストD3を参照することで、当該実行エンジン111がプログラム部品の名称変更に対応している場合について図14を参照して詳細に説明する。
図14(a)は、実行エンジン111におけるプログラム部品変換リストD3を参照したアプリケーションプログラムの実行を例示する概念図であり、図14(b)は、情報処理装置1において実行エンジン111がプログラム部品変換リストD3を参照する場合の処理を例示するフローチャートである。
情報処理装置1の実行エンジン111は、図14(a)に示すように、業務アプリケーションプログラム参照領域130に格納されたプログラム部品やアプリケーションオブジェクトを実行する際に、プログラム部品領域120に格納されている際の名称(変更前の名称)と業務アプリケーションプログラム参照領域130に格納されている際の名称(変更後の名称)の変換に関する情報であって、同様に業務アプリケーションプログラム参照領域130に格納されているプログラム部品変換リストD3を参照する。
この情報処理装置1において制御装置11が行う処理は、図14(b)に示すように、ステップS41、S42の実行定義処理と、ステップS43の実行エンジン111が行う処理と、からなる。
実行定義処理では、プログラム部品領域120に格納されている既存のプログラム部品のコピーを名前を変えて業務アプリケーションプログラム参照領域130に保存(コンパイルも行う)し(ステップS41)、プログラム部品変換リストD3に変更したプログラム部品の名称を登録する(ステップS42)。
例えば、この実行定義処理では、前述した名称を変更して業務アプリケーションプログラム参照領域130に格納する実行定義生成処理(図9参照)の中でステップS37以外の処理、つまり、名称の変更に応じたプログラム部品の修正処理以外の処理を行い、名称を変更したプログラム部品を業務アプリケーションプログラム参照領域130に格納するとともに、その実行定義生成処理でRAMに設定されたプログラム部品名変換リストを実行エンジン111から参照可能な業務アプリケーションプログラム参照領域130にプログラム部品変換リストD3として格納する。
実行エンジン111では、アプリケーションを実行する際に、プログラム部品変換リストD3を参照し、当該プログラム部品変換リストD3の設定に基づいて名称変更に応じたプログラム部品の呼び出しを行う(ステップS43)。
このため、情報処理装置1では、図14(a)に示すように、名称を変更したプログラム部品がプログラム部品領域120から業務アプリケーションプログラム参照領域130へ格納された場合でも、その変更に応じてプログラム部品を呼び出して使用することができる。
[実行エンジン111が格納場所の変更に対応している場合]
次に、情報処理装置1において、実行エンジン111を実行する際にプログラム部品フォルダ登録リストD4を参照することで、当該実行エンジン111がプログラム部品の格納場所の変更に対応している場合について図15を参照して詳細に説明する。
図15(a)は、実行エンジン111におけるプログラム部品フォルダ登録リストD4を参照したアプリケーションプログラムの実行を例示する概念図であり、図15(b)は、情報処理装置1において実行エンジン111がプログラム部品フォルダ登録リストD4を参照する場合の処理を例示するフローチャートである。
情報処理装置1の実行エンジン111は、図15(a)に示すように、業務アプリケーションプログラム参照領域130に格納されたプログラム部品やアプリケーションオブジェクトを実行する際に、プログラム部品領域120に格納されている際の格納場所(例えば階層位置等)と業務アプリケーションプログラム参照領域130に格納されている際の格納場所の変換に関する情報であって、同様に業務アプリケーションプログラム参照領域130に格納されているプログラム部品フォルダ登録リストD4を参照する。
この情報処理装置1において制御装置11が行う処理は、図15(b)に示すように、ステップS51、S52の実行定義処理と、ステップS53の実行エンジン111が行う処理と、からなる。
実行定義処理では、プログラム部品領域120に格納されている既存のプログラム部品を業務アプリケーションプログラム参照領域130の変更した格納場所である別フォルダ下にコピー(コンパイルも行う)し(ステップS51)、プログラム部品フォルダ登録リストD4にその変更した格納場所(フォルダ名)を登録する(ステップS52)。
実行エンジン111では、アプリケーションを実行する際に、プログラム部品フォルダ登録リストD4を参照し、当該プログラム部品フォルダ登録リストD4の設定に基づいて格納場所の変更に応じたプログラム部品の呼び出しを行う(ステップS53)。
このため、情報処理装置1では、図15(a)に示すように、プログラム部品領域120から業務アプリケーションプログラム参照領域130へ格納場所を変更してプログラム部品を格納する場合でも、その変更に応じてプログラム部品を呼び出して使用することができる。
以上のように、情報処理装置1は、業務アプリケーションプログラム参照領域130に格納されたプログラム部品や業務スケルトンテンプレート等を参照してアプリケーションプログラムを実行する実行エンジン111を有し、制御装置11は、プログラム部品領域120に格納されたプログラム部品と関連するプログラム部品を判別し、プログラム部品領域120から業務アプリケーションプログラム参照領域130へプログラム部品を格納して実行エンジン111から実行可能に登録する際に、前記判別結果に基づいて、前記登録するプログラム部品に関連するプログラム部品も登録する構成である。
このため、情報処理装置1は、プログラム部品領域120から業務アプリケーションプログラム参照領域130へプログラム部品を格納して実行エンジン111から実行可能に登録する際に、所望のプログラム部品のみを選択するだけでよく、そのプログラム部品に関連する(使用する)他のプログラム部品を選択する手間を省くことができるため、プログラム部品の選択を容易に行うことができる。
また、情報処理装置1は、プログラム部品領域120に格納されたプログラム部品と関連するプログラム部品を判別する際に、その判別を再帰的に行うことで、プログラム部品領域120から業務アプリケーションプログラム参照領域130へ格納するプログラム部品に関連するプログラム部品が更に他のプログラム部品と関連する場合であっても、そのプログラム部品も業務アプリケーションプログラム参照領域130へ格納して実行エンジン111から実行可能に登録することができ、選択の手間を省くことができる。
また、情報処理装置1は、プログラム部品領域120に格納されたプログラム部品の各々と他のプログラム部品との関連を示す関連部品情報ファイルFを当該プログラム部品領域120に格納し、プログラム部品領域120に格納されたプログラム部品と関連するプログラム部品の判別をその関連部品情報ファイルFに基づいて行う構成である。このため、情報処理装置1は、プログラム部品領域120に格納されたプログラム部品と関連するプログラム部品の判別の際に全てのプログラム部品の内容をチェックする必要がない。
また、情報処理装置1は、入力装置14の入力指示に基づいて、業務アプリケーションプログラム参照領域130へ格納するプログラム部品の名称を変更し、制御装置11は、その名称変更に基づいて、業務アプリケーションプログラム参照領域130に格納するプログラム部品の修正を行う構成である。
また、情報処理装置1は、入力装置14の入力指示に基づいて、業務アプリケーションプログラム参照領域130へ格納するプログラム部品の名称を変更するとともに、その変更前と変更後の名称の変換に関する情報をプログラム部品変換リストD3として業務アプリケーションプログラム参照領域130へ格納し、実行エンジン111は、プログラム部品変換リストD3に基づいてプログラム部品の読み出しを行う構成である。
このため、情報処理装置1は、業務アプリケーションプログラム参照領域130にプログラム部品を格納する際に名称が重複する虞がある場合でも、名称を変更して対応することができる。また、業務アプリケーションプログラム参照領域130に格納したプログラム部品を実行エンジン111で実行する場合に、名称変更後のプログラム部品を正しく呼び出すことができ、処理に影響を与えることがない。
また、情報処理装置1は、プログラム部品領域120から業務アプリケーションプログラム参照領域130へプログラム部品を格納する際のプログラム部品と関連するプログラム部品の判別結果の一覧を表示装置13に表示し、その表示装置13に表示されたプログラム部品の一覧からプログラム部品の選択と変更後の名称を入力装置14から受け付ける構成である。
このため、情報処理装置1は、実際に業務アプリケーションプログラム参照領域130へ格納するプログラム部品の中からユーザが所望するプログラム部品を選択し、名称を変更することができる。
また、情報処理装置1は、入力装置14の入力指示に基づいて、業務アプリケーションプログラム参照領域130へ格納するプログラム部品の格納場所(フォルダ等)を変更するとともに、その変更前と変更後の格納場所の変換に関する情報をプログラム部品フォルダ登録リストD4として業務アプリケーションプログラム参照領域130へ格納し、実行エンジン111は、プログラム部品フォルダ登録リストD4に基づいてプログラム部品の読み出しを行う構成である。
このため、情報処理装置1は、業務アプリケーションプログラム参照領域130においてプログラム部品の格納場所を変更することができる。また、業務アプリケーションプログラム参照領域130に格納したプログラム部品を実行エンジン111で実行する場合に、格納場所変更後のプログラム部品を正しく呼び出すことができ、処理に影響を与えることがない。
なお、本実施の形態おける記述は、情報処理装置1の一例を示すものであり、これに限定するものではない。本実施の形態における構成及び動作に関しては、適宜変更が可能なものである。