(57)【特許請求の範囲】
【請求項１】
アプリケーションのメニュー項目に対応する機能を構成する複数の小機能それぞれを実現するプラグインであって、前記プラグインを処理する実行条件及び実行順序を定義した定義データを生成する定義データ生成手段と、
前記定義データ生成手段により生成された前記定義データのうち、ユーザからの動作指示に応じて特定された定義データを基に、前記プラグインを実行する情報処理実行手段とを有する情報処理装置であって、
前記定義データに関する情報と、実行すべく選択されたメニュー項目に対応する機能を構成する複数の小機能を特定するための情報と、該小機能毎に実行されたことを示す情報と、前記情報処理実行手段の途中の処理結果である中間データとから成るエラーログ解析情報を記憶装置に出力するエラーログ情報出力手段と、
前記エラーログ解析情報を一時的に記憶する一時的記憶手段と、を有し、
前記エラーログ出力情報手段は、前記情報処理実行手段による処理が完了しなかった場合に、前記一時的記憶手段で保持している完了しなかった前記情報処理実行手段に係る前記エラーログ解析情報を、前記情報処理実行手段に係る前記定義データ毎に対応付けて前記記憶装置に出力することを特徴とする情報処理装置。
【請求項２】
前記エラーログ情報出力手段は、前記一時的記憶手段に記憶された前記エラーログ解析情報を前記記憶装置に出力することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶装置又は前記一時的記憶手段で保持している前記エラーログ解析情報を破棄する手段を有することを特徴とする請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記エラーログ情報出力手段は、前記情報処理実行手段による処理が完了しなかった場合に、前記一時的記憶手段で保持している完了しなかった前記情報処理実行手段に係る前記エラーログ解析情報を、前記情報処理実行手段に係る前記定義データに定義された前記小機能毎に対応付けて前記記憶装置に出力することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記エラーログ情報出力手段は、前記一時的記憶手段で保持している前記エラーログ解析情報をアーカイブデータにまとめ前記記憶装置に出力することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記エラーログ情報出力手段は、前記一時的記憶手段で保持している前記情報処理実行手段に係る前記定義データに関する情報及び前記情報処理実行手段のメニュー項目に対応する機能の処理が完了したとの情報を前記記憶装置に出力することを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記エラーログ情報出力手段は、前記情報処理実行手段の処理が完了しなかった場合に、
完了しなかった前記情報処理実行手段に係る前記エラーログ解析情報を抽出する手段を有し、
前記抽出する手段によって抽出されたデータを前記記憶装置へ出力することを特徴とする請求項３に記載の情報処理装置。
【請求項８】
前記エラーログ情報出力手段は、前記一時的記憶手段で保持している、前記定義データに関する情報と、実行すべく選択されたメニュー項目に対応する機能を構成する複数の小機能を特定するための情報と、該小機能毎に実行されたことを示す情報と、前記情報処理実行手段の途中の処理結果である中間データの内から少なくとも１つの情報を選択する手段を有し、
前記選択する手段によって選択された情報を前記記憶装置へ出力することを特徴とする請求項６又は請求項７に記載の情報処理装置。
【請求項９】
コンピュータを、
アプリケーションのメニュー項目に対応する機能を構成する複数の小機能それぞれを実現するプラグインであって、前記プラグインを処理する実行条件及び実行順序を定義した定義データを生成する定義データ生成手段と、
前記定義データ生成手段により生成された前記定義データのうち、ユーザからの動作指示に応じて特定された定義データを基に、前記プラグインを実行する情報処理実行手段として機能させるための情報処理プログラムであって、
さらに、コンピュータを、
前記定義データに関する情報と、実行すべく選択されたメニュー項目に対応する機能を構成する複数の小機能を特定するための情報と、該小機能毎に実行されたことを示す情報と、前記情報処理実行手段の途中の処理結果である中間データとから成るエラーログ解析情報を記憶装置に出力するエラーログ情報出力手段と、
前記エラーログ解析情報を一時的に記憶する一時的記憶手段と、を有し、
前記エラーログ出力情報手段は、前記情報処理実行手段による処理が完了しなかった場合に、前記一時的記憶手段で保持している完了しなかった前記情報処理実行手段に係る前記エラーログ解析情報を、前記情報処理実行手段に係る前記定義データ毎に対応付けて前記記憶装置に出力する手段として機能させるための情報処理プログラム。
【請求項１０】
請求項９に記載の情報処理プログラムを記録した、コンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションを実行する情報処理装置に関するものである。
【背景技術】
【０００２】
同じアプリケーションであっても、そのアプリケーションを使用するユーザによって使用目的や用途は様々である。
【０００３】
そのため、アプリケーションを開発し、ユーザに提供する企業にとっては、提供したアプリケーションがユーザの使用目的や用途に十分に対応できているか否か、すなわち、自社のアプリケーションがユーザから高い顧客満足度を得られるか否かと言う点が、アプリケーションを販売する上で重要となる。
【０００４】
そこで、アプリケーションの多くは、ユーザサイドにおいて、必要な機能が拡張できるように、予め、全てのユーザに共通して提供する基本的な機能（以下、「基本機能」と言う）と、ユーザが必要なときに拡張可能な機能（以下、「拡張機能」と言う）とに分けて開発され、ユーザに提供されている。
【０００５】
その結果、ユーザは、必要に応じて、「基本機能」を搭載したアプリケーションが動作する情報処理装置に、アプリケーション本体のプログラムとは別の形で提供された「拡張機能」用のプログラムをインストールすることにより、使用目的や用途に応じた機能拡張を行うことができる。
【０００６】
このような、機能拡張を実現するために開発された「拡張機能」用のプログラムを、「プラグイン」と言う。
【０００７】
例えば、特許文献１には、システムが有する複数個の文書管理データベース（以下、「DB：Data Base」と言う）との間でデータ通信を行うためにDBそれぞれを接続する機能を、文書管理ソフトウェア（アプリケーション本体）のプログラムとは別のプログラム（DB接続機能プラグイン）として構成する統合文書管理システムが提案されている。
【０００８】
このように、統合文書管理システムを構成することで、ユーザが、ユーザインタフェース（以下、「UI：User Interface」と言う）を介して文書操作を行う際に、システムが有するDBの種類を意識することなく操作を行うことができる他、DB間のデータ通信に関する仕様変更やDBの設計変更、また新たなDBの追加などが発生した場合でも、開発サイドは、その変更点への対応をプラグイン単位で行えば良いため、カスタマイズが容易であるなどの効果が挙げられている。
【特許文献１】特開２００１−５１８４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、実際、ユーザがアプリケーションを使用するときは、使用目的や用途に応じて、プラグインにより提供された各機能を組み合わせて処理を行う。
【００１０】
例えば、図１に示すように、「入力された画像データを色変換して印刷する」と言う処理をユーザが行いたい場合、従来の方法では、プラグインとしてインストールされた、画像データを色変換する「色変換機能プラグインＰ１」（以下、「プラグインＰ１」と言う）と画像データを印刷する「印刷機能プラグインＰ２」（以下、「プラグインＰ２」と言う）とに、アプリケーションのUI（例えば、メニュー項目など）を介して、処理を実行するための指示（図中の（１）及び（２））をしなければならない。すなわち、従来の方法では、ユーザが行いたい処理を実現するために、ユーザ自身が、処理を行うために必要なプラグインＰ１及びＰ２それぞれに対して（プラグイン単位で）実行の指示を行う必要があるという問題点がある。
【００１１】
このように、従来の方法では、使用目的や用途に応じて、プラグインにより提供された各機能を組み合わせて処理を行うときの操作がユーザにとって煩雑なものとなり、ユーザが行いたい処理に対応した拡張性のあるアプリケーションとしては、十分でないという問題点がある。
【００１２】
また、例えば、開発サイドにおいて、ユーザが行いたい処理を１つのプラグインとして開発し、ユーザに提供すると言う対応も考えられるが、ユーザレベルに対応するプラグインの開発にかかるコストや時間などから開発サイドの負担が大きく現実的ではないという問題点がある。
【００１３】
そこで、本発明では、上記従来技術の問題点を鑑み、アプリケーションが実行する処理を使用目的や用途などに応じて容易に変更できる情報処理装置、情報処理プログラム、及び情報処理プログラムを記録する記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、アプリケーションのメニュー項目に対応する機能を構成する複数の小機能それぞれを実現する情報処理手段と、前記情報処理手段の実行条件及び実行順序を定義した定義データを生成する定義データ生成手段と、前記定義データ生成手段により生成された前記定義データを基に、前記情報処理手段を実行する情報処理実行手段とを有する情報処理装置であって、前記定義データに関する情報と、実行すべく選択されたメニュー項目に対応する機能を構成する複数の小機能を特定するための情報と、該小機能毎に実行されたことを示す情報と、前記情報処理実行手段の途中の処理結果である中間データとから成るエラーログ解析情報を記憶装置に出力するエラーログ情報出力手段を有することを特徴とする。
【００１５】
また、上記目的を達成するため、前記エラーログ解析情報を一時的に記憶する一時的記憶手段を有し、前記エラーログ情報出力手段は、該一時的記憶手段に記憶された前記エラーログ解析情報を前記記憶装置に出力することを特徴とする。
【００１６】
これによって、ユーザが適宜処理順序を定義した定義データを実行した場合でもエラー解析に必要なログ情報が出力されるため、エラー原因の解析が容易に行うことが出来るようになる。
【００１７】
また、上記目的を達成するため、前記記憶装置又は前記一時的記憶手段で保持している前記エラーログ解析情報を破棄する手段を有することを特徴とする。
【００１８】
これによって、エラーが発生しなかった場合にログ情報が出力されずに済み、ユーザの記憶領域を圧迫しない効果が得られる。
【００１９】
また、上記目的を達成するため、前記エラーログ情報出力手段は、前記情報処理実行手段による処理が完了しなかった場合に、前記一時的記憶手段で保持している完了しなかった前記情報処理実行手段に係る前記エラーログ解析情報を、前記情報処理実行手段に係る前記定義データ毎に対応付けて前記記憶装置に出力することを特徴とする。
【００２０】
また、上記目的を達成するため、前記エラーログ情報出力手段は、前記情報処理実行手段による処理が完了しなかった場合に、前記一時的記憶手段で保持している完了しなかった前記情報処理実行手段に係る前記エラーログ解析情報を、前記情報処理実行手段に係る前記定義データに定義された前記小機能毎に対応付けて前記記憶装置に出力することを特徴とする。
【００２１】
これによって、エラー処理が発生した定義データ毎にエラーログ情報を見ることが出来るため、定義データとログ情報との関係が一目で分かり、エラーログ解析が行い易くなる。
【００２２】
また、上記目的を達成するため、前記エラーログ情報出力手段は、前記一時的記憶手段で保持している前記エラーログ解析情報をアーカイブデータにまとめ前記記憶装置に出力することを特徴とする。
【００２３】
これによって、ユーザがエラー解析のためにログ情報を開発元に提出する場合に複数の場所に散らばったログ情報を収集する手間が省け、簡単に全てのログ情報の採取が行えるようになった。
【００２４】
また、上記目的を達成するため、前記エラーログ情報出力手段は、前記一時的記憶手段で保持している前記情報処理実行手段に係る前記定義データに関する情報及び前記情報処理実行手段のメニュー項目に対応する機能の処理が完了したとの情報を前記記憶装置に出力することを特徴とする。
【００２５】
これによって、本ログ情報の出力の機能がエラー解析のためだけでなく、ユーザの操作ログ出力機能としても利用することができ、ユーザが良く利用する定義データやプラグインの情報の取得が可能となる。
【００２６】
また、上記目的を達成するため、前記エラーログ情報出力手段は、前記情報処理実行手段の処理が完了しなかった場合に、完了しなかった前記情報処理実行手段に係る前記エラーログ解析情報を抽出する手段を有し、前記抽出する手段によって抽出されたデータを前記記憶装置へ出力することを特徴とする。
【００２７】
これによって、エラー時に出力されるログ情報の容量を少なくすることが出来るため、ユーザの記憶領域を圧迫しないという効果を得ることが出来る。
【００２８】
また、上記目的を達成するため、前記エラーログ情報出力手段は、前記一時的記憶手段で保持している、前記定義データに関する情報と、実行すべく選択されたメニュー項目に対応する機能を構成する複数の小機能を特定するための情報と、該小機能毎に実行されたことを示す情報と、前記情報処理実行手段の途中の処理結果である中間データの内から少なくとも1つの情報を選択する手段を有し、前記選択する手段によって選択された情報を前記記憶装置へ出力することを特徴とする。
【００２９】
これによって、ユーザの記憶装置の空き容量に応じてエラー時に出力されるログ情報の段階を選択することが出来るため、ユーザの環境に適したログ情報の出力量での運用が可能となる。
【００３０】
上記目的を達成するために、本発明の情報処理プログラムは、コンピュータを、アプリケーションのメニュー項目に対応する機能を構成する複数の小機能それぞれを実現する情報処理手段と、前記情報処理手段の実行条件及び実行順序を定義した定義データを生成する定義データ生成手段と、前記定義データ生成手段により生成された前記定義データを基に、前記情報処理手段を実行する情報処理実行手段として機能させるための情報処理プログラムであって、さらに、コンピュータを、前記定義データに関する情報と、実行すべく選択されたメニュー項目に対応する機能を構成する複数の小機能を特定するための情報と、該小機能毎に実行されたことを示す情報と、前記情報処理実行手段の途中の処理結果である中間データを前記記憶装置に出力する手段として機能させる。
【００３１】
これによって、ユーザが適宜処理順序を定義した定義データを実行した場合でもエラー解析に必要なログ情報が出力されるため、エラー原因の解析が容易に行うことが出来るようになる。
【発明の効果】
【００３２】
本発明によれば、アプリケーションが実行する処理を使用目的や用途などに応じて容易に変更できる情報処理装置、情報処理プログラム、及び情報処理プログラムを記録する記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００３３】
以下、アプリケーションが実行する処理を使用目的や用途などに応じて容易に変更できる情報処理装置、情報処理プログラム、及び情報処理プログラムを記録する記録媒体を提供することについての好適な実施の形態（以下、「実施形態」と言う）について、図面を用いて詳細に説明する。
【００３４】
＜実施形態１のハードウェア構成について＞
まず、実施形態１に係る情報処理装置１００のハードウェア構成について、図２を用いて説明する。
【００３５】
図２は、実施形態１に係る情報処理装置１００のハードウェア構成の一例を示す図である。
【００３６】
図２に示すように、実施形態１に係る情報処理装置１００は、制御部１１、主記憶部１２、補助記憶部１３、ネットワークI/F１４、外部記憶装置I/F１５、外部装置I/F１６、出力装置I/F１７、及び入力装置I/F１８とから構成されている。
【００３７】
制御部（CPU：Central Processing Unit）１１は、以下に説明する主記憶部１２、補助記憶部１３、及びネットワークI/F１４など、実施形態１に係る情報処理装置１００が有する各装置の制御を行う。また、制御部１１は、主記憶部１２や補助記憶部１３などに記憶されたプログラムを実行する装置で、入力装置や記憶装置からデータを受け取り、データを演算・加工した上で、出力装置や記憶装置に出力する（例えば、キーボードで入力した文字をディスプレイに表示するなど）。
【００３８】
主記憶部（ROM：Read Only Memory、RAM：Random Access Memory）１２は、制御部１１が実行するプログラムや関連するデータを記憶（一時的に保持する場合も含む）する装置である。ROMには、制御部１１が実行するプログラムや関連するデータが記憶されており、記憶されたプログラムや関連するデータは、制御部１１により、必要に応じてRAM上へ展開（ロード）され、展開（ロード）されたプログラムや関連するデータは、制御部１１により、演算・加工される。
【００３９】
補助記憶部（HD：Hard Disk）１３は、基本ソフトウェアであるOS（Operating System）や実施形態１に係る情報処理プログラムを含むアプリケーションプログラムや機能拡張用のプラグインなどを関連するデータとともに記憶する装置である。また、補助記憶部１３には、実施形態１に係る情報処理装置１００が管理する各種情報（例えば、プラグインの実行条件や実行順序を定義した定義情報など。）が格納され、DBやファイルシステム（FS：File System）などにより管理される。
【００４０】
ネットワークI/F１４は、有線及び／又は無線回線などのデータ伝送路により構築されたLAN（Local Area Network）、WAN（Wide Area Network）などのネットワークを介して接続された通信機能を有する周辺機器（例えば、他の情報処理装置や画像形成装置など。）と実施形態１に係る情報処理装置１００とのインタフェースである。
【００４１】
外部記憶装置I/F１５は、USB（Universal Serial Bus）などのデータ伝送路を介して接続された外部記憶装置（例えば、記憶メディアドライブなど）と実施形態１に係る情報処理装置１００とのインタフェースである。
【００４２】
外部装置I/F１６は、USBなどのデータ伝送路を介して接続された外部入力装置（例えば、外付けHDやUSBメモリなど）と実施形態１に係る情報処理装置１００とのインタフェースである。
【００４３】
実施形態１に係る情報処理装置１００は、これらのインタフェースを介して、外部と各種データのやり取り（送受信や読み込み／書き込み）を行う。
【００４４】
出力装置I/F１７は、専用ケーブルなどのデータ伝送路を介して接続された出力装置（例えば、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）など）と実施形態１に係る情報処理装置１００とのインタフェースである。
【００４５】
入力装置I/F１８は、USBなどのデータ伝送路を介して接続された入力装置（例えば、キーボードやマウスなど。）と実施形態１に係る情報処理装置１００とのインタフェースである。
【００４６】
このように、実施形態１に係る情報処理装置１００は、主記憶部１２や補助記憶部１３などの記憶装置に格納された実施形態１に係る情報処理プログラムを実行し、各装置を制御することで、以降に説明する「コンピュータで実行する処理を使用目的や用途などに応じて容易に変更可能なデスクトップアプリケーション」を実現している。
【００４７】
＜実施形態１のソフトウェア構成について＞
次に、実施形態１に係る情報処理装置１００のソフトウェア構成について、図３を用いて説明する。
【００４８】
図３は、実施形態１に係る情報処理装置１００のソフトウェア構成の一例を示す図である。
【００４９】
図３に示すように、実施形態１に係る情報処理装置１００に実装するデスクトップアプリケーション２０に関するソフトウェアは、デスクトップアプリケーション２０、機能プラグイン３０、及びコアプログラム（コアモジュール群）３１とから構成されている。
【００５０】
デスクトップアプリケーション２０は、定義データ２１、UIプラグイン（UIパーツ）２２、及びアプリケーションプロセス２３とから構成されている。
【００５１】
定義データ２１は、デスクトップアプリケーション２０によって行う処理を実現するために必要なプラグインの実行条件や実行順序などの動作に関する情報が所定の形式に従って定義されたデータであり、複数個のデータ（データ群）によって構成されている。
【００５２】
UIプラグイン（UIパーツ）２２は、デスクトップアプリケーション２０のUIを構成するプログラム（UIを構成する最小単位の機能（小機能））であり、複数個のプログラム（モジュール群）によって構成されている。
【００５３】
アプリケーションプロセス２３は、OSから主記憶部１２のRAM上に使用可能なメモリ領域の割り当てを受けて、処理を実行するプログラムである。アプリケーションプロセス２３によって実行される処理は、例えば、UIプラグイン（UIパーツ）２２を用いてCRTやLCDなどの出力装置にUIを表示するための描画処理や、表示されたUIから受け付けた動作に関する情報を基にした定義データ２１の生成処理などである。
【００５４】
次に、機能プラグイン３０は、デスクトップアプリケーション２０の機能を実現するために所定の情報処理を行うプログラムであり、複数個のプログラム（モジュール群）によって構成されている。ここで言う「所定の情報処理」とは、例えば、「ファイル選択」、「色変換」、「印刷」、「メッセージ表示」などのような、デスクトップアプリケーション２０の機能を構成する最小単位の機能（小機能）を実現する情報処理を意味する。
【００５５】
次に、コアプログラム３１は、定義データ２１に定義された動作条件や動作順序などの動作に関する情報に従って、機能プラグイン（小機能）３０を実行するプログラムや、アプリケーションプログラムとプラグインとの間のデータインタフェース（以下、「データI/F」と言う）プログラムと言った、アプリケーションプログラムとプラグインとの間で共通化されたプログラム（モジュール）であり、複数個のプログラム（モジュール群）によって構成されている。
【００５６】
上記のように構成された、実施形態１に係る情報処理装置１００に実装するデスクトップアプリケーション２０に関するソフトウェアは、以下のように動作する。以下に説明する動作は、ユーザが、「デスクトップアプリケーション２０のメニュー項目を選択した」ときの一例である。
（１） UIがユーザからの動作指示を受け取る。
（２） アプリケーションプロセス２３は、UIから受け取った動作指示を、データI/Fを介してコアプログラム３１に渡す。
（３） コアプログラム３１は、アプリケーションプロセス２３から受け取った動作指示から、指示された動作に関する情報が定義された定義データ２１を特定し（複数個ある定義データ２１の中から、UI上のメニュー項目に対応付けられた定義データ２１を特定する。）、特定した定義データ２１を基に、定義された実行条件や実行順序などの動作に関する情報に従って機能プラグイン３０を実行する。
【００５７】
このように、実施形態１に係るデスクトップアプリケーション２０に関するソフトウェアは、ユーザの起動指示に従って、OSから割り当てられた主記憶部１２のRAM上のメモリ領域に、上記に説明した各プログラムやデータを展開（ロード）し、展開（ロード）した各プログラムを制御部１１により実行することで、デスクトップアプリケーション２０においてユーザが行いたい処理を実現している。
【００５８】
つまり、実施形態１により、アプリケーションが実行する処理を使用目的や用途などに応じて容易に変更できる情報処理装置を提供するという目的を達成している。
【００５９】
一方で、実施形態１により、エラーや障害発生時のログ情報の出力に関して新たな問題が生じる。
【００６０】
ユーザの実行できる機能が予め装置側が定義した処理の実行順序に限られる情報処理装置では、ユーザの操作手順が明らかになれば、どの処理がどんな順序で行われていたかが分かるので、その他にはエラー発生時のログ情報の出力と関連するデータの採取だけでエラー原因の解析を行うことができた。
【００６１】
しかし、実施形態１の情報処理装置において、小機能を持つ個々のプラグインの処理は完全に独立しており、ユーザが幾つかのプラグインの処理を組み合わせて使用目的や用途などに応じた定義データを適宜定義することができるため、ユーザが実行できる処理の組合せパターンは膨大になる。そのため、ユーザの実行できる機能が予め装置側が定義した処理の実行順序に限られる情報処理装置のように、ユーザによる操作手順の申告と、エラーの発生時のログ情報の出力や関連するデータの採取だけでは、どの処理がどんな順序で行われていたかが分からず、エラー原因の解析が困難になるという問題が生じる。
【００６２】
＜実施形態２に係る改良発明の原理＞
図４に実施形態１の問題点を解決した改良発明の原理図を示す。以下で、図４における各手段の機能及びそれらの関係を説明する。
【００６３】
図４の情報処理装置５０は、情報処理手段５１、定義データ生成手段５２、情報処理実行手段５３、一時的記憶手段５４、破棄手段５５、エラーログ情報出力手段５６、選択手段５６１、抽出手段５６２を有する。
【００６４】
前記情報処理手段５１は、アプリケーションのメニュー項目に対応する機能を構成する複数の小機能をそれぞれ実現する機能を有する。
【００６５】
前記定義データ生成手段５２は、前記情報処理手段５０の実行条件と実行順序を定義した定義データを生成する機能を有する。
【００６６】
前記情報処理実行手段５３は、前記定義データ生成手段５２が生成した前記定義データを基に、前記情報処理手段５１を実行する機能を有する。
【００６７】
前記一時的記憶手段５４は、前記情報処理手段５１の実行によって生成される、定義データ４１１、実行すべく選択されたメニュー項目に対応する機能を構成する複数の小機能を特定するための情報４１２、小機能毎に実行されたことを示す情報４１２、及び情報処理実行手段の途中の処理結果である中間データ４１３とから成るエラーログ解析情報を一時的に記憶する機能を有する。
【００６８】
前記破棄手段５５は、記憶装置４１又は前記一時的記憶手段５４で保持している前記エラーログ解析情報を破棄する機能を有する。
【００６９】
前記エラーログ情報出力手段５６は、前記情報処理実行手段５３又は前記一時的記憶手段５４が保持している前記エラーログ解析情報を前記記憶装置４１に出力する機能を有する。また、前記エラーログ情報出力手段５６は、前記エラーログ解析情報の前記抽出手段５６１、前記エラーログ解析情報の前記選択手段５６２の実行を経てから、前記記憶装置４１に出力する機能も有する。
【００７０】
記憶装置４１は、前記エラーログ解析情報を保持する機能を有する、情報処理装置の外部装置である。
【００７１】
上記各手段から構成された図４の情報処理装置は、以下のように動作する。
（１） ユーザがアプリケーションのメニュー項目を選択した場合に、前記定義データ生成手段５２が前記情報処理手段５１の実行条件及び実行順序を定義した定義データを生成する。
（２） 前記情報処理実行手段５３が、上記定義データに基づき、前記情報処理手段５１の実行を制御する。
（３） また、情報処理実行手段５３は、前記情報処理手段５１の制御を行うと共に、前記エラーログ解析情報を前記一時的記憶手段５４に記憶させ、又は前記エラーログ情報出力手段５６を介して、前記記憶装置４１に前記エラーログ解析情報を出力するように制御する。
（４） 前記記憶装置４１に保持されているエラーログ解析情報を利用することで、エラーが発生した定義データ毎にエラーログを見ることができ、定義データとエラーログの関係が分かり易いため、エラー原因の解析が容易になる。
【００７２】
＜実施形態２＞
実施形態２のソフトウェア構成を、図３の実施形態１のソフトウェア構成に準じて示せば図５のようになる。図５では、定義ファイル実行プログラム４０がコアプログラム群３１に含まれ、定義ファイル実行プログラム４０が出力したログ情報等の情報を格納する記憶装置４１が新たに設けられている。また、同じ実施形態２を説明する図４と図５の関係は、図４は実施形態２を機能的な側面から捉え、各機能を実現する手段の関係を示す図であるのに対し、図５は実施形態２に係る情報処理装置のソフトウェア構成の一例を示す図という関係になっている。図５の定義データ実行プログラムが、コンピュータに情報処理手段５１、定義データ生成手段５２、情報処理実行手段５３、一時的記憶手段５４、破棄手段５５、エラーログ情報出力手段５６として機能するものである。こうした改良によって、エラーの解析を容易に行えるようなログ情報の出力の仕組みを提供することができる。
【００７３】
つまり、実施形態２により、ユーザが適宜処理順序を定義した定義データ２１を実行した場合でもエラー解析に必要なログ情報が出力されるため、エラー原因の解析が容易に行えるようになる。また、エラーが発生した定義データ２１毎にエラーログを見ることが出来るため、定義データ２１とログの関係が容易に分かり、エラー原因の解析が行い易くなる。
【００７４】
以下、実施形態２の好適な実施の形態について、図面を用いて詳細に説明する。ハードウェア構成については図２と同じ構成である。ソフトウェアの構成については図５に記載する通りである。
【００７５】
図６に記載のフローチャートに基づき、実施形態２ついて説明する。図６における網掛け部分が、実施形態１と実施形態２の差異部分である。
【００７６】
ステップＳ１１でユーザがデスクトップアプリケーション２０のメニューを選択すると、次にステップＳ１２で定義データ実行プログラム４０によって、該当する定義データ２１を実行する処理が開始される。定義データ実行プログラム４０は、定義データ２１を実行する処理の冒頭で、まず、実行しようとする定義データ２１の情報をログ情報として保持する。
【００７７】
ステップＳ１３、Ｓ１４でコアプログラム群３１は定義データ２１の構文を解析し、定義データ２１で定義された処理対象（機能プラグイン３０）を実行しようとするが、その直前に、ステップＳ１５で定義データ実行プログラム４０は機能プラグイン３０に渡すパラメータの情報をログ情報として保持する。その後、ステップＳ１６で実行条件、処理対象を基に定義データで定義された機能プラグイン３０が実行される。また、機能プラグイン３０の処理が完了した後にも、ステップＳ１７で機能プラグイン３０から返されたパラメータの情報をログ情報として保持する。
【００７８】
その後、ステップＳ１８で定義データ実行プログラム４０は、機能プラグイン３０の処理のステータスを確認する。所定の処理が成功していれば、ステップＳ１９で引き続き定義データ２１で定義された処理を行う。所定の処理が失敗していた場合には、ステップＳ２２で保持しているログ情報を記憶装置４１に出力する。
【００７９】
ステップＳ２１、Ｓ２２で当該保持データをアーカイブデータとして記憶装置４１に出力する機能も有する。
【００８０】
また、定義データ２１に含まれる全ての処理が正常に終了した場合には、ステップＳ２０で当該処理に関わる定義データ２１及び正常終了のステータスが記憶装置４１に出力される。
【００８１】
最後に、実行結果を表示して終了する。
【００８２】
この処理手順により、ユーザが適宜処理順序を定義した定義データ２１を実行した場合でも、エラー解析に必要なログ情報が出力されるため、エラー原因の解析が容易に行うことができるという効果を得ることができる。また、処理エラーが発生しなかった場合にログ情報の出力がされず、ユーザ側の記憶領域を圧迫しないという効果を得ることができる。
【００８３】
また、各プラグインは複数の定義データ２１から呼び出される可能性があるため、所定の処理が失敗した時のログ情報をシステム全体で１つのファイルへ出力する方法では、複数の定義データ２１から呼び出された１つのプラグインのログ情報が１つのログファイル内で混在してしまい、定義データ２１の内容とログ情報の関係が見え難くなってしまうが、実施形態２により、定義データ２１毎にログ情報を見ることができるため、定義データ２１の内容とログ情報の関係が一目で分かり、エラー解析が行い易くなるという効果を得ることができる。
【００８４】
さらに、保持データをアーカイブデータとすることで、ユーザがエラー解析のためにログ情報を開発元に提出する場合に、簡単に全てのログ情報の採取が行うことができるという利点がある。
【００８５】
＜実施形態２の変形例（その１）＞
図７に記載のフローチャートに基づき、実施形態２の変形例（その１）ついて説明する。図７における網掛け部分が、実施形態２と実施形態２の変形例（その１）の差異部分である。実施形態２における説明と重複する部分は再度の説明を省略し、異なる機能に係る部分のみを説明する。
【００８６】
定義データ２１で定義された処理の全てが完了した場合に、ステップＳ２５で定義データ実行プログラム４０に保持されている、又は記憶装置４１に記憶されているログ情報を破棄することができる。
【００８７】
この変形例により、定義データ２１で定義された処理にエラーが発生しなかった場合にログ情報が出力されず、ユーザ側の記憶領域を圧迫しないという効果を得ることができる。
【００８８】
＜実施形態２の変形例（その２）＞
図８に記載のフローチャートに基づき、実施形態２の変形例（その２）ついて説明する。図８における網掛け部分が、実施形態２と実施形態２の変形例（その２）の差異部分である。実施形態２における説明と重複する部分は再度の説明を省略し、異なる機能に係る部分のみを説明する。
【００８９】
定義データ２１で定義された所定の処理が正常に終了しなかった場合に、ステップＳ２６で発生した処理エラーに関係するパラメータ、中間データを抽出する機能を有する。次に、ステップＳ２７で定義データ及び前述の抽出した情報を記憶装置４１に出力する機能を有する。
【００９０】
この機能により、所定の処理が失敗した時に出力されるログ情報の容量を少なくすることができ、ユーザ側の記憶領域を圧迫しないという効果を得ることができる。
【００９１】
＜実施形態２の変形例（その３）＞
図９に記載のフローチャートに基づき、実施形態２の変形例（その３）ついて説明する。図９における網掛け部分が、実施形態２と実施形態２の変形例（その３）の差異部分である。実施形態２における説明と重複する部分は再度の説明を省略し、異なる機能に係る部分のみを説明する。
【００９２】
定義データ２１で定義された所定の処理が正常に終了しなかった場合に、ステップＳ２８で記憶装置４１に出力させるログ情報の項目を選択し、ステップＳ２９で当該選択した項目のみを記憶装置に出力させる機能を有する。
【００９３】
この機能により、ユーザ端末の記憶装置４１の空き容量に応じて所定の処理が失敗した時に出力されるログ情報の項目を選択することができるため、ユーザ側の環境に適したログ情報の出力量で運用ができるという効果を得ることができる。
【図面の簡単な説明】
【００９４】
【図１】従来技術における問題点を明らかにした図である。
【図２】情報処理装置のハードウェア構成の一例を示す図である。
【図３】実施形態１に係る情報処理装置のソフトウェア構成の一例を示す図である。
【図４】改良発明の原理図である。
【図５】実施形態２に係る情報処理装置のソフトウェア構成の一例を示す図である。
【図６】実施形態２に係るフローチャートである。
【図７】実施形態２の変形例（その１）に係るフローチャートである。
【図８】実施形態２の変形例（その２）に係るフローチャートである。
【図９】実施形態２の変形例（その３）に係るフローチャートである。
【符号の説明】
【００９５】
１１  制御部（CPU）
１２  主記憶部（ROM、RAM）
１３  補助記憶部（HD）
１４  ネットワークI/F
１５  外部記憶装置I/F
１６  外部装置I/F
１７  出力装置I/F
１８  入力装置I/F
２０  デスクトップアプリケーション
２１  定義データ
２２  ユーザインタフェース（ＵＩ）プラグイン
２３  アプリケーションプロセス
３０  機能プラグイン
３１  コアプログラム群
４０  定義データ実行プログラム
４１  記憶装置
５０  情報処理装置
５１  情報処理手段
５２  定義データ生成手段
５３  情報処理実行手段
５４  一時手記憶手段
５５  破棄手段
５６  エラーログ情報出力手段
４１１  定義データ
４１２  パラメータ
４１３  中間データ
４１４  エラーログ
５６１  抽出手段
５６２  選択手段
【図１】
0005078518.tif 000002
【図２】
0005078518.tif 000003
【図３】
0005078518.tif 000004
【図４】
0005078518.tif 000005
【図５】
0005078518.tif 000006
【図６】
0005078518.tif 000007
【図７】
0005078518.tif 000008
【図８】
0005078518.tif 000009
【図９】
0005078518.tif 000010