(57)【要約】      （修正有）【課題】システム更新前後における例外処理に関連した仕様差異を、プログラム改修を伴わずに吸収する。【解決手段】更新後のシステムにおける例外処理の発生に際し、新仕様の例外処理オブジェクトを例外情報テーブル１７に照合して、対応する旧仕様の例外処理オブジェクトに格納し、旧仕様の第２モジュール１２に送信し、受信した例外処理オブジェクトが旧仕様の第２モジュール１２から受信したものであった場合、旧仕様の例外処理オブジェクトを例外情報テーブル１７に照合して、対応する新仕様の例外処理オブジェクトに格納し、新仕様の例外処理オブジェクトを新仕様の第３モジュール１４に送信し、受信した例外処理オブジェクトが新仕様の第３モジュール１４から受信したものであった場合、新仕様の例外処理オブジェクトが格納している旧仕様の例外処理オブジェクトを抽出し、旧仕様の例外処理オブジェクトを旧仕様の第２モジュール１２に送信する。【選択図】図１
2014006660.tif 000002
【特許請求の範囲】
【請求項１】
システムで発生する例外処理に関連したオブジェクトについて、システム更新前後における新旧各仕様のオブジェクト間の対応関係と、該当例外処理の情報とを対応付けた例外情報テーブルを格納した記憶部と、
更新後のシステムにおける例外処理の発生に際し、当該例外処理が発生した新仕様の第１モジュールから、当該新仕様の第１モジュールにて生成された新仕様の例外処理オブジェクトを受信し、当該新仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する旧仕様の例外処理オブジェクトに格納し、当該旧仕様の例外処理オブジェクトを旧仕様の第２モジュールに送信する処理と、
いずれかのモジュールから例外処理オブジェクトを受信した際、受信した例外処理オブジェクトがいずれのモジュールから受信したものか判定する処理と、
前記判定の結果、前記受信した例外処理オブジェクトが、前記旧仕様の第２モジュールから受信したものであった場合、該当旧仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する新仕様の例外処理オブジェクトに格納し、当該新仕様の例外処理オブジェクトを新仕様の第３モジュールに送信する処理と、
前記判定の結果、前記受信した例外処理オブジェクトが、新仕様の第３モジュールから受信したものであった場合、該当新仕様の例外処理オブジェクトが格納している旧仕様の例外処理オブジェクトを抽出し、当該旧仕様の例外処理オブジェクトを前記旧仕様の第２モジュールに送信する処理とを実行する演算部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記演算部は、
更新後のシステムにおける例外処理の発生に際し、例外処理毎の回復可能性に関して定めた情報に基づいて、該当例外処理の回復可否を判定し、該当例外処理が発生した前記新仕様の第１モジュールにおいて、前記新仕様の例外処理オブジェクトに該当例外処理の回復可否の情報を設定させる処理と、
例外処理オブジェクトがいずれのモジュールから受信したものかの前記判定の結果、前記受信した例外処理オブジェクトが、前記旧仕様の第２モジュールから受信したものであった場合、該当旧仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する新仕様の例外処理オブジェクトに格納し、当該新仕様の例外処理オブジェクトに、前記受信した例外処理オブジェクトに設定されていたものと同じ回復可否の情報を設定し、当該回復可否の情報を設定した新仕様の例外処理オブジェクトを新仕様の第３モジュールに送信する処理と、
前記新仕様の第３モジュールにおいて受信した例外処理オブジェクトの回復可否の情報を抽出し、該当例外処理オブジェクトは回復可能と設定されている場合、該当例外処理オブジェクトが格納している旧仕様の例外処理オブジェクトを抽出し、当該旧仕様の例外処理オブジェクトを前記旧仕様の第２モジュールに送信し、該当例外処理オブジェクトは回復不可と設定されている場合、該当例外処理オブジェクトを、オブジェクトに関する情報の出力処理を行う所定モジュールに送信する処理とを更に実行するものである、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記演算部は、
前記旧仕様の第２モジュールにおいて、前記旧仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、該当例外処理オブジェクトに対応する例外処理を実行させる処理を実行するものであることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
システムで発生する例外処理に関連したオブジェクトについて、システム更新前後における新旧各仕様のオブジェクト間の対応関係と、該当例外処理の情報とを対応付けた例外情報テーブルを格納した記憶部を備える情報処理装置が、
更新後のシステムにおける例外処理の発生に際し、当該例外処理が発生した新仕様の第１モジュールから、当該新仕様の第１モジュールにて生成された新仕様の例外処理オブジェクトを受信し、当該新仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する旧仕様の例外処理オブジェクトに格納し、当該旧仕様の例外処理オブジェクトを旧仕様の第２モジュールに送信する処理と、
いずれかのモジュールから例外処理オブジェクトを受信した際、受信した例外処理オブジェクトがいずれのモジュールから受信したものか判定する処理と、
前記判定の結果、前記受信した例外処理オブジェクトが、前記旧仕様の第２モジュールから受信したものであった場合、該当旧仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する新仕様の例外処理オブジェクトに格納し、当該新仕様の例外処理オブジェクトを新仕様の第３モジュールに送信する処理と、
前記判定の結果、前記受信した例外処理オブジェクトが、新仕様の第３モジュールから受信したものであった場合、該当新仕様の例外処理オブジェクトが格納している旧仕様の例外処理オブジェクトを抽出し、当該旧仕様の例外処理オブジェクトを前記旧仕様の第２モジュールに送信する処理と、
を実行することを特徴とする情報処理方法。
【請求項５】
システムで発生する例外処理に関連したオブジェクトについて、システム更新前後における新旧各仕様のオブジェクト間の対応関係と、該当例外処理の情報とを対応付けた例外情報テーブルを格納した記憶部を備える情報処理装置に、
更新後のシステムにおける例外処理の発生に際し、当該例外処理が発生した新仕様の第１モジュールから、当該新仕様の第１モジュールにて生成された新仕様の例外処理オブジェクトを受信し、当該新仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する旧仕様の例外処理オブジェクトに格納し、当該旧仕様の例外処理オブジェクトを旧仕様の第２モジュールに送信する処理と、
いずれかのモジュールから例外処理オブジェクトを受信した際、受信した例外処理オブジェクトがいずれのモジュールから受信したものか判定する処理と、
前記判定の結果、前記受信した例外処理オブジェクトが、前記旧仕様の第２モジュールから受信したものであった場合、該当旧仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する新仕様の例外処理オブジェクトに格納し、当該新仕様の例外処理オブジェクトを新仕様の第３モジュールに送信する処理と、
前記判定の結果、前記受信した例外処理オブジェクトが、新仕様の第３モジュールから受信したものであった場合、該当新仕様の例外処理オブジェクトが格納している旧仕様の例外処理オブジェクトを抽出し、当該旧仕様の例外処理オブジェクトを前記旧仕様の第２モジュールに送信する処理と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、およびプログラムに関するものであり、具体的には、システム更新前後における例外処理に関連した仕様差異を、プログラム改修を伴わずに吸収可能とする技術に関する。
【背景技術】
【０００２】
企業におけるコンプライアンスの強化や法改正に即した業務プロセスの変更、或いは新しい技術トレンドの登場等に応じて、関連する業務処理を実行しているシステムについての更新ニーズが生じる。例えば、基盤のオペレーティングシステムのバージョンを更新する場合や、旧来のメインフレーム環境からオープン系環境へ基盤を変更する場合などがそれに該当するが、いずれにしても、既存資産（プログラムやそれに付随する各種関数、データ類等）を再利用したいというユーザのニーズが伴う。
【０００３】
こうしたシステム更新に伴う既存資産の再利用に関する技術としては、例えば、第２コード・セット内に補完要素を有していない第１コード・セット内の最上位要素ごとに、一のマッピング要素をインスタンス化するステップと、前記マッピング要素内にマージ命令が提供されていない最上位要素ごとに、マージ命令を要求し且つ受け取るステップと、マージ命令が提供されている最上位要素ごとに、当該マージ命令がカスタマイズを前記第２コード・セットにマージすることを必要とするかを決定するステップと、カスタマイズをマージすることを必要とする各最上位要素用の前記マージ命令が有効であるかを決定するステップと、最上位要素ごとに受け取られた前記マージ命令を前記マッピング要素内に格納するステップを含む方法（特許文献１参照）などが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−０７９９０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところが、従来のシステム更新に際しては以下のような問題点がある。すなわち、ソフトウェアのバージョンアップ等によりソフトウェアの仕様が変更される場合、ソフトウェア上で動作するプログラムは、バージョンアップ前後の仕様差の為に必ず改修が必要になってしまう点である。特に、障害発生時に実施する例外処理に関して、バージョンアップの前後においてその実現機能に差異があった場合、システム障害発生時の挙動に差異が生じるため、バージョンアップ前後で例外処理の実現機能に差異が無いように改修する必要がある。こうしたプログラム改修には、再設計、コーディング、テスト実施と、多大なコストや手間、作業時間がかかるのが一般的であり、システム更新の際のネックとなっている。
【０００６】
そこで本発明の目的は、システム更新前後における例外処理に関連した仕様差異を、プログラム改修を伴わずに吸収可能とする技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決する本発明の情報処理装置は、システムで発生する例外処理に関連したオブジェクトについて、システム更新前後における新旧各仕様のオブジェクト間の対応関係と、該当例外処理の情報とを対応付けた例外情報テーブルを格納した記憶部と、更新後のシステムにおける例外処理の発生に際し、当該例外処理が発生した新仕様の第１モジュールから、当該新仕様の第１モジュールにて生成された新仕様の例外処理オブジェクトを受信し、当該新仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する旧仕様の例外処理オブジェクトに格納し、当該旧仕様の例外処理オブジェクトを旧仕様の第２モジュールに送信する処理と、いずれかのモジュールから例外処理オブジェクトを受信した際、受信した例外処理オブジェクトがいずれのモジュールから受信したものか判定する処理と、前記判定の結果、前記受信した例外処理オブジェクトが、前記旧仕様の第２モジュールから受信したものであった場合、該当旧仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する新仕様の例外処理オブジェクトに格納し、当該新仕様の例外処理オブジェクトを新仕様の第３モジュールに送信する処理と、前記判定の結果、前記受信した例外処理オブジェクトが、新仕様の第３モジュールから受信したものであった場合、該当新仕様の例外処理オブジェクトが格納している旧仕様の例外処理オブジェクトを抽出し、当該旧仕様の例外処理オブジェクトを前記旧仕様の第２モジュールに送信する処理とを実行する演算部と、を備えることを特徴とする。
【０００８】
また、本発明の情報処理方法は、システムで発生する例外処理に関連したオブジェクトについて、システム更新前後における新旧各仕様のオブジェクト間の対応関係と、該当例外処理の情報とを対応付けた例外情報テーブルを格納した記憶部を備える情報処理装置が、更新後のシステムにおける例外処理の発生に際し、当該例外処理が発生した新仕様の第１モジュールから、当該新仕様の第１モジュールにて生成された新仕様の例外処理オブジェクトを受信し、当該新仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する旧仕様の例外処理オブジェクトに格納し、当該旧仕様の例外処理オブジェクトを旧仕様の第２モジュールに送信する処理と、いずれかのモジュールから例外処理オブジェクトを受信した際、受信した例外処理オブジェクトがいずれのモジュールから受信したものか判定する処理と、前記判定の結果、前記受信した例外処理オブジェクトが、前記旧仕様の第２モジュールから受信したものであった場合、該当旧仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する新仕様の例外処理オブジェクトに格納し、当該新仕様の例外処理オブジェクトを新仕様の第３モジュールに送信する処理と、前記判定の結果、前記受信した例外処理オブジェクトが、新仕様の第３モジュールから受信したものであった場合、該当新仕様の例外処理オブジェクトが格納している旧仕様の例外処理オブジェクトを抽出し、当該旧仕様の例外処理オブジェクトを前記旧仕様の第２モジュールに送信する処理と、を実行することを特徴とする。
【０００９】
また、本発明のプログラムは、システムで発生する例外処理に関連したオブジェクトについて、システム更新前後における新旧各仕様のオブジェクト間の対応関係と、該当例外処理の情報とを対応付けた例外情報テーブルを格納した記憶部を備える情報処理装置に、更新後のシステムにおける例外処理の発生に際し、当該例外処理が発生した新仕様の第１モジュールから、当該新仕様の第１モジュールにて生成された新仕様の例外処理オブジェクトを受信し、当該新仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する旧仕様の例外処理オブジェクトに格納し、当該旧仕様の例外処理オブジェクトを旧仕様の第２モジュールに送信する処理と、いずれかのモジュールから例外処理オブジェクトを受信した際、受信した例外処理オブジェクトがいずれのモジュールから受信したものか判定する処理と、前記判定の結果、前記受信した例外処理オブジェクトが、前記旧仕様の第２モジュールから受信したものであった場合、該当旧仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する新仕様の例外処理オブジェクトに格納し、当該新仕様の例外処理オブジェクトを新仕様の第３モジュールに送信する処理と、前記判定の結果、前記受信した例外処理オブジェクトが、新仕様の第３モジュールから受信したものであった場合、該当新仕様の例外処理オブジェクトが格納している旧仕様の例外処理オブジェクトを抽出し、当該旧仕様の例外処理オブジェクトを前記旧仕様の第２モジュールに送信する処理と、を実行させることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、システム更新前後における例外処理に関連した仕様差異を、プログラム改修を伴わずに吸収可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態における情報処理装置の構成例を示す図である。
【図２】本実施形態における例外情報テーブルのデータ構造例を示す図である。
【図３】本実施形態における情報処理方法の処理手順１を示すフロー図である。
【図４】本実施形態における情報処理方法の処理手順２を示すフロー図である。
【図５】本実施形態における情報処理方法の処理手順３を示すフロー図である。
【図６】本実施形態における情報処理方法の処理手順４を示すフロー図である。
【図７】本実施形態における情報処理方法の処理手順５を示すフロー図である。
【図８】本実施形態における情報処理方法の処理手順６を示すフロー図である。
【図９】本実施形態における情報処理方法の処理手順７を示すフロー図である。
【図１０】本実施形態における新仕様の例外処理オブジェクトの内部構造例を示す図である。
【図１１】本実施形態における旧仕様の例外処理オブジェクトの内部構造例を示す図である。
【発明を実施するための形態】
【００１２】
−−−システム構成−−−
以下に本発明の実施形態について図面を用いて詳細に説明する。図１は、本実施形態の情報処理装置たるサーバ１の構成図であり、具体的には、サーバ１のハードウェア構成およびモジュール構成を示すブロック図となっている。サーバ１は、システム更新前後における例外処理に関連した仕様差異を、プログラム改修を伴わずに吸収可能とするコンピュータシステムである。
【００１３】
本実施形態で示すサーバ１は、機能モジュールとして、ライブラリモジュール１０（新仕様の第１モジュール）、ラッパーモジュール１１、業務処理モジュール１２（旧仕様の第２モジュール）、アダプタモジュール１３、共通処理モジュール１４（新仕様の第３モジュール）、Ｗｅｂアダプタモジュール１５、およびＷｅｂ業務処理モジュール１６（オブジェクトに関する情報の出力処理を行う所定モジュール）を有している。これらのモジュールのうち、ライブラリモジュール１０は、業務処理用のアプリケーションが呼び出して使用する関数群やデータ類からなるモジュールであり、実際の業務処理の実行に際し、エラー等の例外処理が生じた際にこれを検知する機能を備えている。また、業務処理モジュール１６は、サーバ１を運用している企業が行う業務処理を実行するモジュールであり、ライブラリモジュール１０から関数等を呼び出して実行する機能を備えている。また、共通処理モジュール１４は、サーバ１におけるモジュール間での処理を制御するモジュールとなる。また、Ｗｅｂ業務処理モジュール１６は、Ｗｅｂアダプタモジュール１５を介して共通処理モジュール１４から受信したオブジェクトに基づいて、サーバ１にアクセスしてきたクライアントのＷｅｂブラウザ等を介して情報の入出力処理を実行するモジュールとなる。
【００１４】
それぞれのモジュールは、プログラムにより実装される機能ブロックとも言える。また、ラッパーモジュール１１、アダプタモジュール１３、およびＷｅｂアダプタモジュール１５は、新旧の各仕様のモジュール間で例外処理オブジェクトを仲介する、オブジェクトラッピング処理を実行するモジュールとなる。なお、本実施形態の例では、ライブラリモジュール１０、および共通処理モジュール１４が新仕様のモジュールとなり、一方、業務処理モジュール１２、およびＷｅｂ業務処理モジュール１６が旧仕様のモジュールとなる。
【００１５】
図１に例示したサーバ１は、Ｗｅｂ業務処理モジュール１６を備えることからもわかるように、Ｗｅｂベースでの業務処理を実行するためのサーバ装置であり、例えば、ミッションクリティカルな業務を行う金融機関等で運用されるものとなる。ミッションクリティカルな業務を行う企業では、業務システムにおけるＯＳなど各種ソフトウェアのバージョンアップや機能追加、変更等の更新作業を行う場合、従来であれば、この更新作業に伴うソフトウェアの仕様変更が発生して、大規模なプログラム改修が必要となる。そこで、本実施形態のサーバ１を導入することで、プログラム改修に際しての再設計、コーディング、およびテスト実施等に要する多大なコストや手間、作業時間を不要とし、ひいては、障害発生時に実施する例外処理に関して、バージョンアップ前後において挙動に差異が生じないという効果も奏する。
【００１６】
サーバ１のより具体的な実例としては、既存の実行基盤となるメインフレーム技術を維持しつつ、そのフレームワークを前提とした開発基盤（開発支援ツールおよび開発標準）によりオープン技術に対応して、最新技術を機能として取り込むサーバ製品を想定できる。上述のフレームワークは、例えば、トランザクション制御や業務処理の呼出し制御を行う処理形態毎（Ｗｅｂオンライン、システム間連携、オンラインバッチ、オフラインバッチ）のフレームワーク機能と、システム内で共通的に使用する部品群を提供し、一方、開発基盤は、設計情報の登録や、ソースコード、定義ファイルの自動生成、テストの自動化などを行う開発支援ツールと、開発の手順を標準化したガイドラインや各種規準などを集約したドキュメント（開発標準）を提供するものとなる。
【００１７】
また、本実施形態のサーバ１のハードウェア構成は以下の如くとなる。サーバ１は、ハードディスクドライブなど適宜な不揮発性記憶装置で構成される記憶部１０１、ＲＡＭなど揮発性記憶装置で構成されるメモリ１０３、記憶部１０１に保持されるプログラム１０２をメモリ１０３に読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なうＣＰＵなどの演算部１０４、ネットワーク１２０と接続し他装置との通信処理を担う通信部１０５、を備える。これら各部はＢＵＳにより接続されている。なお、記憶部１０１内には、本実施形態の情報処理装置として必要な機能すなわちモジュール１０〜１６を実装する為のプログラム１０２が格納されているが、他に、例外情報テーブル１７が記憶されているとしてもよい。
【００１８】
この例外情報テーブル１７は、記憶部１０１に格納されている例の他、ネットワーク１２０を介してサーバ１が利用可能に接続されているとしてもよい。例外情報テーブル１７の詳細については後述する。
【００１９】
続いて、本実施形態のサーバ１が備える機能について説明する。上述したように、以下に説明する機能は、サーバ１が備えるプログラム１０２を実行することで実装される、各モジュールの備える機能と言える。
【００２０】
本実施形態のサーバ１におけるラッパーモジュール１１は、更新後のシステムたるサーバ１における例外処理の発生に際し、当該例外処理が発生したライブラリモジュール１０（新仕様の第１モジュール）から、当該ライブラリモジュール１０にて生成された新仕様の例外処理オブジェクトを受信し、当該新仕様の例外処理オブジェクトを例外情報テーブル１７に照合して、対応する旧仕様の例外処理オブジェクトに格納し、当該旧仕様の例外処理オブジェクトを業務処理モジュール１２（旧仕様の第２モジュール）に送信する機能を備えている。
【００２１】
また、本実施形態のサーバ１におけるアダプタモジュール１３は、いずれかのモジュールから例外処理オブジェクトを受信した際、受信した例外処理オブジェクトがいずれのモジュールから受信したものか判定し、この判定の結果、受信した例外処理オブジェクトが、業務処理モジュール１２から受信したものであった場合、該当旧仕様の例外処理オブジェクトを例外情報テーブル１７に照合して、対応する新仕様の例外処理オブジェクトに格納し、当該新仕様の例外処理オブジェクトを共通処理モジュール１４（新仕様の第３モジュール）に送信する機能を備えている。
【００２２】
またこの場合、上述のアダプタモジュール１３は、上述の判定の結果、受信した例外処理オブジェクトが、共通処理モジュール１４から受信したものであった場合、該当新仕様の例外処理オブジェクトが格納している旧仕様の例外処理オブジェクトを抽出し、当該旧仕様の例外処理オブジェクトを業務処理モジュール１２に送信する機能を備えている。
【００２３】
なお、本実施形態のサーバ１におけるライブラリモジュール１０は、更新後のサーバ１における例外処理の発生に際し、例外処理毎の回復可能性に関して定めた情報に基づいて、該当例外処理の回復可否を判定し、当該ライブラリモジュール１０にて生成した新仕様の例外処理オブジェクトに該当例外処理の回復可否の情報を設定する機能を備えているとすれば好適である。
【００２４】
上述の例外処理毎の回復可能性に関して定めた情報は、例えば、例外情報テーブル１７において、当該例外情報テーブル１７にて記述されている各例外処理に関して対応付けされている態様が想定できる。ここでいう「回復可能性」は、エラー対応等の例外処理に関して、再実行すれば正常フローに復帰出来る、すなわち回復可能な否かを示すものとなる。
【００２５】
また、本実施形態のサーバ１におけるアダプタモジュール１３は、例外処理オブジェクトがいずれのモジュールから受信したものかの上述の判定の結果、受信した例外処理オブジェクトが、業務処理モジュール１２から受信したものであった場合、該当旧仕様の例外処理オブジェクトを例外情報テーブル１７に照合して、対応する新仕様の例外処理オブジェクトに格納し、当該新仕様の例外処理オブジェクトに、前記受信した例外処理オブジェクトに設定されていたものと同じ回復可否の情報を設定し、当該回復可否の情報を設定した新仕様の例外処理オブジェクトを共通処理モジュール１４に送信する機能を備えているとすれば好適である。
【００２６】
また、本実施形態のサーバ１における共通処理モジュール１４は、アダプタモジュール１３から受信した例外処理オブジェクトの回復可否の情報を抽出し、該当例外処理オブジェクトは回復可能と設定されている場合、該当例外処理オブジェクトが格納している旧仕様の例外処理オブジェクトを抽出し、当該旧仕様の例外処理オブジェクトを業務処理モジュール１２に送信する機能を備えているとすれば好適である。
【００２７】
他方、共通処理モジュール１４は、アダプタモジュール１３から受信した例外処理オブジェクトにおいて、該当例外処理オブジェクトは回復不可と設定されている場合、該当例外処理オブジェクトを、Ｗｅｂアダプタモジュール１５を介して、Ｗｅｂ業務処理モジュール１６（オブジェクトに関する情報の出力処理を行う所定モジュール）に送信する機能を備えているとすれば好適である。Ｗｅｂアダプタモジュール１５は、共通処理モジュール１４から新仕様の例外処理オブジェクトを受信し、当該新仕様の例外処理オブジェクトを例外情報テーブル１７に照合して、対応する旧仕様の例外処理オブジェクトに格納し、当該旧仕様の例外処理オブジェクトをＷｅｂ業務処理モジュール１６に送信するものとなる。
【００２８】
なお、本実施形態のサーバ１における業務処理モジュール１２は、アダプタモジュール１３経由で共通処理モジュール１４から受信した、旧仕様の例外処理オブジェクトを、例外情報テーブル１７に照合して、該当例外処理オブジェクトに対応する例外処理を実行する機能を備えている。
【００２９】
上述した各モジュール１０〜１６のうち、ラッパーモジュール１１およびアダプタモジュール１３を本実施形態の情報処理装置における最小機能構成と出来るが、その他のモジュールを含めて本実施形態の情報処理装置としてもよい。
【００３０】
−−−データ構造例−−−
次に、本実施形態のサーバ１が用いる例外情報テーブル１７におけるデータ構造例について説明する。図２は、本実施形態の例外情報テーブル１７のデータ構造例を示す図である。上述したように、この例外情報テーブル１７は、サーバ１の記憶部１０１に格納されている場合と、サーバ１がネットワーク１２０を介して必要な際にアクセスして利用する場合の両方の態様が想定される。
【００３１】
こうした、本実施形態の例外情報テーブル１７は、サーバ１で発生する例外処理に関連したオブジェクトについて、システム更新前後における新旧各仕様のオブジェクト間の対応関係と、該当例外処理の情報とを対応付けたテーブルであり、具体的には、旧仕様の例外クラス名と新仕様の例外クラス名のマッピング、及び旧仕様の例外クラスと新仕様の例外クラスに対応する例外処理を特定するテーブルとなる。図２に示す例外情報テーブル１７では、「ロールバック処理」、「取り消し処理」、「ログ出力処理」といった例外処理についての例外処理オブジェクトの新旧のクラス名が対応付けされた構成となっている。
【００３２】
この例外情報テーブル１７における旧仕様例外クラス名２５０は、バージョンアップ前など更新前のソフトウェア（ＯＳ等）で使用するオブジェクトのクラス（より具体的には、該当オブジェクトを記述する所定言語のプログラム上におけるクラス）の名称を表し、同様に、新仕様例外クラス名２５１は、バージョンアップ後など更新後のソフトウェア（ＯＳ等）で使用するオブジェクトのクラス（より具体的には、該当オブジェクトを記述する所定言語のプログラム上におけるクラス）の名称を示す。また、例外処理名２５２は、ライブラリモジュール１０が、プログラム処理中に発生した例外に対応して、例外処理として実施する旧仕様の例外クラス名、または新仕様の例外クラス名に対応した例外処理の識別名を表す。
【００３３】
−−−処理手順例１−−−
以下、本実施形態における情報処理方法の実際手順について図に基づき説明する。以下で説明する情報処理方法に対応する各種動作は、サーバ１がメモリ１０３等に読み出して実行するプログラム１０２によって実現される。そして、このプログラム１０２は、以下に説明される各種の動作を行うためのコードから構成されている。
【００３４】
図３は、本実施形態における情報処理方法の処理手順例１を示すフロー図である。ここではまず、ライブラリモジュール１０の起動から終了までの動作を説明する。なお、以下で説明するサーバ１はＯＳ等の更新がなされた後の状態であることを前提とする。また、ここで言う更新には、プログラムの全面的な更新の他、一部機能の追加や削除、変更なども概念に含まれているものとする。
【００３５】
ここで、本実施形態のサーバ１におけるライブラリモジュール１０は、業務処理モジュール１２の制御の下、通常の機能を実行中に所定の例外処理が発生した場合、これをトリガーとして、新仕様の例外処理オブジェクト、すなわち、新仕様例外クラスのオブジェクトを作成する（ステップ２０１）。このオブジェクトの作成手法としては、例えば、サーバ１の記憶部１０１において、例外処理種毎にオブジェクトのフォーマットが予め格納されており、サーバ１は、発生した例外処理の種別に応じたフォーマットを記憶部１０１から読み出し、これに該当例外処理の具体値（例：識別情報や発生時刻、例外処理の内容を示すエラー種別やその規模の値など）を設定することでオブジェクト生成を行うといったものが想定できる。
【００３６】
続いてライブラリモジュール１０は、例外処理毎の回復可能性に関して定めた情報に基づいて、該当例外処理の回復可否を判定し、上述のステップ２０１で作成した新仕様例外クラスのオブジェクト８００の例外属性フラグ領域８０２に属性（回復可能、回復不能）を設定する（ステップ２０２）。上述の属性すなわち回復可否の情報を設定した新仕様例外クラスのオブジェクト８００の例を図１０に示す。この場合のオブジェクト８００は、ライブラリモジュール１０で生じた例外処理に関する情報を格納する例外情報格納領域８０１と、例外属性フラグ領域８０２を有している。
【００３７】
なお、上述の例外処理毎の回復可能性に関して定めた情報は、例えば、例外情報テーブル１７において、当該例外情報テーブル１７にて記述されている各例外処理に関して対応付けされている態様が想定できる。ここでいう「回復可能性」は、エラー対応等の例外処理に関して、再実行すれば正常フローに復帰出来る、すなわち回復可能な否かを示すものとなる。
【００３８】
新仕様例外クラスのオブジェクト８００を作成し、これに上述の属性を設定したライブラリモジュール１０は、該当オブジェクトをラッパーモジュール１１に送信し（ステップ２０３）、ラッパーモジュール１１を呼び出して処理を終了する（ステップ２０４）。
【００３９】
−−−処理手順例２−−−
次に、ラッパーモジュール１１での処理について図に基づき説明する。図４は、本実施形態における情報処理方法の処理手順例２を示すフロー図である。ここでは、ラッパーモジュール１１の起動から終了までの動作を説明する。この場合、本実施形態のサーバ１におけるラッパーモジュール１１は、ライブラリモジュール１０から新仕様例外クラスのオブジェクト８００を受信する（ステップ３０１）。
【００４０】
また、ラッパーモジュール１１は、上述のステップ３０１で受信した新仕様例外クラスのオブジェクト８００を、例外情報テーブル１７に照合し、オブジェクト８００が示す識別情報すなわち新仕様例外クラス名に対応した旧仕様例外クラス名２５０を特定し、ここで特定した旧仕様例外クラス名に対応する例外クラスのオブジェクトを作成する（ステップ３０２）。オブジェクトの作成手法については、上述の処理手順例１に例示したとおりである（以下同様）。
【００４１】
続いてラッパーモジュール１１は、ライブラリモジュール１０から受信した新仕様例外クラスのオブジェクト８００に設定されている、例外属性フラグ領域８０２から、該当オブジェクトが持つメソッドを用いて例外属性フラグ（回復可否の情報）を取得し、ここで取得した例外属性フラグを、上述のステップ３０２で作成してある旧仕様例外クラスのオブジェクトに、該当オブジェクトが持つメソッドを用いて設定する（ステップ３０３）。
【００４２】
次にラッパーモジュール１１は、上述のステップ３０３で例外属性フラグを設定した旧仕様例外クラスのオブジェクトにおける例外情報格納領域に対し、上述のステップ３０１でライブラリモジュール１０から受信してある新仕様例外クラスのオブジェクト８００を、旧仕様例外クラスのオブジェクトが持つメソッドを使用して格納する（ステップ３０４）。こうして属性すなわち回復可否の情報を設定し、ライブラリモジュール１０から受信した新仕様例外クラスのオブジェクト８００を格納した旧仕様例外クラスのオブジェクト９００の例を、図１１に示す。この場合のオブジェクト９００は、ライブラリモジュール１０で生じた例外処理に関する情報すなわち新仕様例外クラスのオブジェクト８００の情報を格納する例外情報格納領域９０１と、同様に新仕様例外クラスのオブジェクト８００に設定されていた例外属性フラグを設定する例外属性フラグ領域９０２を有している。
【００４３】
また、ラッパーモジュール１１は、上述のステップ３０４までで生成した旧仕様例外クラスのオブジェクト９００を、業務処理モジュール１２に送信し（ステップ３０５）、業務処理モジュール１２を呼び出して処理を終了する（ステップ３０６）。
【００４４】
このようなラッパーモジュール１１により、ライブラリモジュール１０から受信した新仕様例外クラスのオブジェクト８００を、業務処理モジュール１２が処理可能な旧仕様例外クラスのオブジェクト９００に格納してから送信することが可能となり、つまり、旧仕様のままの業務処理モジュール１２を改修せずに、必要な業務処理を継続することが可能となる。
【００４５】
−−−処理手順例３−−−
次に、業務処理モジュール１２での処理について図に基づき説明する。図５は、本実施形態における情報処理方法の処理手順例３を示すフロー図である。ここでは、業務処理モジュール１２の起動から終了までの動作を説明する。この場合、本実施形態のサーバ１における業務処理モジュール１２は、ラッパーモジュール１１またはアダプタモジュール１３のいずれかから旧仕様例外クラスのオブジェクトを受信する（ステップ４００）。
【００４６】
業務処理モジュール１２は、上述のステップ４００で受信した旧仕様例外クラスのオブジェクトが、ラッパーモジュール１２から送信されたものであった場合（ステップ４０１：ラッパーモジュール）、受信した旧仕様例外クラスのオブジェクトをアダプタモジュール１３へ送信し（ステップ４０２）、アダプタモジュール１３を呼び出して（ステップ４０３）処理を終了する。
【００４７】
一方、上述のステップ４００で受信した旧仕様例外クラスのオブジェクトがアダプタモジュール１３から送信されたものであった場合（ステップ４０１：アダプタモジュール）、受信したオブジェクトが示す旧仕様例外クラス名をキーに、例外情報テーブル１７にて検索を実行し、該当旧仕様例外クラス名に対応する例外処理名２５２を取得し（ステップ４０４）、取得した例外処理名２５２に対応した例外処理を実行し処理を終了する（ステップ４０５）。当然ながら、業務処理モジュール１２は、例外処理名２５２に対応した例外処理のプログラムを予め備えているものとする。
【００４８】
−−−処理手順例４−−−
次に、アダプタモジュール１３での処理について図に基づき説明する。図６は、本実施形態における情報処理方法の処理手順例４を示すフロー図である。ここでは、アダプタモジュール１３の起動から停止までの動作を説明する。
【００４９】
この場合、本実施形態のサーバ１におけるアダプタモジュール１３は、業務処理モジュール１２または共通処理モジュール１４のいずれかから、例外クラスのオブジェクトを受信する（ステップ５００）。アダプタモジュール１３は、受信したオブジェクトがいずれのモジュールから受信したものか判定し（ステップ４０１）、この判定の結果、受信したオブジェクトが業務処理モジュール１２から受信したものであった場合（ステップ５０１：業務処理モジュール）、アダプタモジュール１３は、受信したモジュールが示す旧仕様例外クラス名をキーに例外情報テーブル１７での検索を実行して、前記旧仕様例外クラス名に対応する新仕様例外クラス名を取得し、取得した新仕様例外クラスに対応したオブジェクトを作成する（ステップ５０２）。
【００５０】
続いてアダプタモジュール１３は、上述のステップ５００で受信した旧仕様例外クラスのオブジェクトにおける例外属性フラグ領域から、該当オブジェクトのメソッドを用いて例外属性フラグを取得し、上述のステップ５０２で作成した新仕様例外クラスのオブジェクトの例外属性フラグ領域に対し、前記取得した例外属性フラグを、前記新仕様例外クラスのオブジェクトのメソッドを用いて設定する（ステップ５０３）。
【００５１】
また、アダプタモジュール１３は、上述のステップ５０３で例外属性フラグ領域に例外属性フラグを設定した新仕様例外クラスのオブジェクトにおける、例外情報格納領域に対し、該当オブジェクトのメソッドを用いて、上述のステップ５００で受信した旧仕様例外クラスのオブジェクトを格納する（ステップ５０４）。旧仕様例外クラスのオブジェクトを格納した新仕様例外クラスのオブジェクトの構成は、図１０に例示した通りである。
【００５２】
続いてアダプタモジュール１３は、上述のステップ５０４で旧仕様例外クラスのオブジェクトを格納した新仕様例外クラスのオブジェクトを、共通処理モジュール１４へ送信し（ステップ５０５）、共通処理モジュール１４を呼び出して処理を終了する（ステップ５０６）。
【００５３】
他方、上述のステップ５０１の判定において、上述のステップ５００で受信したオブジェクトが共通処理モジュール１４から送信されたものであった場合（ステップ５０１：共通処理モジュール）、アダプタモジュール１３は、共通処理モジュール１４から受信した新仕様例外クラスのオブジェクトにおける例外情報格納領域から、該当オブジェクトのメソッドを用いて、旧仕様例外クラスのオブジェクトを取得する（ステップ５０７）。
【００５４】
またアダプタモジュール１３は、上述のステップ５０７で取得した旧仕様例外クラスのオブジェクトを業務処理モジュール１２に送信し（ステップ５０８）、業務処理モジュール１２を呼び出して処理を終了する。
【００５５】
このようなアダプタモジュール１３により、業務処理モジュール１２から受信した旧仕様例外クラスのオブジェクトを、共通処理モジュール１４が処理可能な新仕様例外クラスのオブジェクトに格納してから送信することが可能となり、つまり、旧仕様のままの業務処理モジュール１２を改修せずに、必要な業務処理を継続することが可能となる。
【００５６】
−−−処理手順例５−−−
次に、共通処理モジュール１４での処理について図に基づき説明する。図７は、本実施形態における情報処理方法の処理手順例５を示すフロー図である。ここでは、共通処理モジュール１４の起動から終了までの動作を説明する。
【００５７】
この場合、共通処理モジュール１４は、アダプタモジュール１３から、新仕様例外クラスのオブジェクトを受信する（ステップ６０１）。また共通処理モジュール１４は、ここで受信した新仕様例外クラスのオブジェクトにおける例外属性フラグ領域から、該当オブジェクトのメソッドを用いて例外属性フラグを取得する（ステップ６０２）。
【００５８】
続いて共通処理モジュール１４は、上述のステップ６０２で取得した例外属性フラグが「回復可能」を示すものであった場合（ステップ６０３：回復可能）、上述のステップ６０１で受信した新仕様例外クラスのオブジェクトをアダプタモジュール１３へ送信し（ステップ６０４）、アダプタモジュール１３を呼び出して処理を終了する（ステップ６０５）。  一方、上述のステップ６０２で取得した例外属性フラグが「回復不能」を示すものであった場合（ステップ６０３：回復不能）、共通処理モジュール１４は、上述のステップ６０１で受信した新仕様例外クラスのオブジェクトを、Ｗｅｂアダプタモジュール１５へ送信し（ステップ６０６）、Ｗｅｂアダプタモジュール１５を呼び出して処理を終了する（ステップ６０７）。
【００５９】
−−−処理手順例６−−−
次に、Ｗｅｂアダプタモジュール１５での処理について図に基づき説明する。図８は、本実施形態における情報処理方法の処理手順例６を示すフロー図である。ここでは、Ｗｅｂアダプタモジュール１５の起動から終了までの動作を説明する。
【００６０】
この場合、Ｗｅｂアダプタモジュール１５は、共通処理モジュール１４から新仕様例外クラスのオブジェクトを受信し（ステップ７０１）、受信した新仕様例外クラスのオブジェクトの例外情報格納領域から、該当オブジェクトのメソッドを用いて、旧仕様例外クラスのオブジェクトを取得する（ステップ７０２）。
【００６１】
また、Ｗｅｂアダプタモジュール１５は、上述のステップ７０２で取得した旧仕様例外クラスのオブジェクトを、Ｗｅｂ業務処理モジュール１６に送信し（ステップ７０３）、Ｗｅｂ業務処理モジュールを呼び出して処理を終了する（ステップ７０４）。
【００６２】
このようなＷｅｂアダプタモジュール１５により、共通処理モジュール１４から受信した新仕様例外クラスのオブジェクトを、Ｗｅｂ業務処理モジュール１６が処理可能な旧仕様例外クラスのオブジェクトに格納してから送信することが可能となり、つまり、旧仕様のままの業務処理モジュール１２を改修せずに、必要な業務処理を継続することが可能となる。
【００６３】
−−−処理手順例７−−−
次に、Ｗｅｂ業務処理モジュール１６での処理について図に基づき説明する。図９は、本実施形態における情報処理方法の処理手順例７を示すフロー図である。ここでは、Ｗｅｂ業務処理モジュー１６の起動から終了までの動作を説明する。
【００６４】
この場合、Ｗｅｂ業務処理モジュール１６は、旧仕様例外クラスのオブジェクトをＷｅｂアダプタモジュール１５から受信し（ステップ８０１）、ここで受信した旧仕様例外クラスのオブジェクトが示す旧仕様例外クラス名をキーに、例外情報テーブル１７での検索を実行し、前記旧仕様例外クラス名に対応する例外処理２５２を取得する（ステップ８０２）。
【００６５】
また、Ｗｅｂ業務処理モジュール１６は、前記ステップ８０２で取得した例外処理名２５２に対応した例外処理を実行し処理を終了する（ステップ８０３）。当然ながら、Ｗｅｂ業務処理モジュール１６は、例外処理名２５２に対応した例外処理のプログラムを予め備えているものとする。
【００６６】
ここでＷｅｂ業務処理モジュール１６が実行する例外処理としては、サーバ１にアクセスしてきたクライアントのＷｅｂブラウザ等を介して情報の入出力を行う処理が該当し、例えば、ライブラリモジュール１０にて発生した例外処理の種別や、該当例外処理の具体値（例：識別情報や発生時刻、例外処理の内容を示すエラー種別やその規模の値など）を表示する処理や、そうした例外処理に対してユーザが対応すべき指針を表示する処理や、例外処理への以後の対応に関するユーザからの指示を受け付ける処理、などがあげられる。勿論、Ｗｅｂ業務処理モジュール１６（を備えるサーバ１）は、こうした処理を実行するためのプログラムとデータを予め保持しているものとする。
【００６７】
以上、本発明を実施するための最良の形態などについて具体的に説明したが、本発明はこれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【００６８】
したがって本実施形態によれば、システム更新前後における例外処理に関連した仕様差異を、プログラム改修を伴わずに吸収可能となる。
【００６９】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施形態の情報処理装置において、前記演算部は、更新後のシステムにおける例外処理の発生に際し、例外処理毎の回復可能性に関して定めた情報に基づいて、該当例外処理の回復可否を判定し、該当例外処理が発生した前記新仕様の第１モジュールにおいて、前記新仕様の例外処理オブジェクトに該当例外処理の回復可否の情報を設定させる処理と、例外処理オブジェクトがいずれのモジュールから受信したものかの前記判定の結果、前記受信した例外処理オブジェクトが、前記旧仕様の第２モジュールから受信したものであった場合、該当旧仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、対応する新仕様の例外処理オブジェクトに格納し、当該新仕様の例外処理オブジェクトに、前記受信した例外処理オブジェクトに設定されていたものと同じ回復可否の情報を設定し、当該回復可否の情報を設定した新仕様の例外処理オブジェクトを新仕様の第３モジュールに送信する処理と、前記新仕様の第３モジュールにおいて受信した例外処理オブジェクトの回復可否の情報を抽出し、該当例外処理オブジェクトは回復可能と設定されている場合、該当例外処理オブジェクトが格納している旧仕様の例外処理オブジェクトを抽出し、当該旧仕様の例外処理オブジェクトを前記旧仕様の第２モジュールに送信し、該当例外処理オブジェクトは回復不可と設定されている場合、該当例外処理オブジェクトを、オブジェクトに関する情報の出力処理を行う所定モジュールに送信する処理とを更に実行するものである、としてもよい。
【００７０】
これによれば、エラー対応等の例外処理に関して、再実行すれば正常フローに復帰出来る、すなわち回復可能なものか否かを判定し、当該判定結果に応じて、例外処理オブジェクトの処理を的確に制御し、全体として業務フローの処理効率を向上させることが可能となる。
【００７１】
また、本実施形態の情報処理装置において、前記演算部は、前記旧仕様の第２モジュールにおいて、前記旧仕様の例外処理オブジェクトを前記例外情報テーブルに照合して、該当例外処理オブジェクトに対応する例外処理を実行させる処理を実行するものであるとしてもよい。
【００７２】
これによれば、例外処理オブジェクトに関して、新旧の各仕様のモジュール間でのやりとりを行った結果、システム更新後における業務処理モジュール（旧仕様のもの）にて旧仕様の例外処理オブジェクトを実際に実行させることが出来る。
【符号の説明】
【００７３】
１  サーバ（情報処理装置）
１０  ライブラリモジュール（新仕様の第１モジュール）
１１  ラッパーモジュール
１２  業務処理モジュール（旧仕様の第２モジュール）
１３  アダプタモジュール
１４  共通処理モジュール（新仕様の第３モジュール）
１５  Ｗｅｂアダプタモジュール
１６  Ｗｅｂ業務処理モジュール（オブジェクトに関する情報の出力処理を行う所定モジュール）
１７  例外情報テーブル
１０１  記憶部
１０２  プログラム
１０３  メモリ
１０４  演算部
１０５  通信部
１２０  ネットワーク
【図１】
2014006660.tif 000003
【図２】
2014006660.tif 000004
【図３】
2014006660.tif 000005
【図４】
2014006660.tif 000006
【図５】
2014006660.tif 000007
【図６】
2014006660.tif 000008
【図７】
2014006660.tif 000009
【図８】
2014006660.tif 000010
【図９】
2014006660.tif 000011
【図１０】
2014006660.tif 000012
【図１１】
2014006660.tif 000013