(57)【要約】【課題】ソフトウェアが利用するデータのデータ項目を容易に拡張可能な情報処理装置、データ管理方法及びデータ管理プログラムを提供することを目的とする。【解決手段】ソフトウェアが利用するデータを１つ以上の格納手段に格納して管理している情報処理装置であって、ソフトウェアに追加機能を提供するための追加プログラムから追加機能を実行する為に必要なデータ項目の知識情報を受け、知識情報に基づいて格納手段に格納されているデータのデータ項目を拡張するデータ管理手段を有することにより上記課題を解決する。【選択図】図７
2008099022.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアが利用するデータを１つ以上の格納手段に格納して管理している情報処理装置であって、
前記ソフトウェアに追加機能を提供するための追加プログラムから前記追加機能を実行する為に必要なデータ項目の知識情報を受け、前記知識情報に基づいて前記格納手段に格納されているデータのデータ項目を拡張するデータ管理手段を有することを特徴とする情報処理装置。
【請求項２】
前記データ管理手段は、１つ以上の前記格納手段に格納されているデータをそれぞれ管理している１つ以上のデータセット手段と、
前記１つ以上のデータセット手段を統括して管理し、前記知識情報に基づいた前記格納手段を選択して、その格納手段を管理している前記データセット手段に、前記データ項目の拡張を行わせるデータセット管理手段と
を有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記データセット管理手段は、前記知識情報に基づいた前記格納手段を管理している前記データセット手段が無いとき、前記格納手段に格納されているデータを管理するデータセット手段を新たに作成し、新たに作成した前記データセット手段に、前記データ項目の拡張を行わせることを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記データセット手段は、前記ソフトウェアで利用可能なデータと汎用データとを相互にデータ変換する第１のデータ変換手段と、
前記格納手段に格納可能なデータと汎用データとを相互にデータ変換する第２のデータ変換手段とを有することを特徴とする請求項２記載の情報処理装置。
【請求項５】
前記データセット手段は、前記第１のデータ変換手段が前記ソフトウェアで利用可能なデータと汎用データとを相互にデータ変換する為の情報を提供する第１の情報提供手段を有することを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記データセット手段は、前記第２のデータ変換手段が前記格納手段に格納可能なデータと汎用データとを相互にデータ変換する為の情報を提供する第２の情報提供手段を有することを特徴とする請求項４記載の情報処理装置。
【請求項７】
前記汎用データはデータ項目名とデータ項目値とのセットを集めたものであることを特徴とする請求項５又は６記載の情報処理装置。
【請求項８】
前記格納手段に格納可能なデータは前記格納手段に格納されているデータ形式で表現されていることを特徴とする請求項６記載の情報処理装置。
【請求項９】
前記第２の情報提供手段は、前記格納手段に対するアクセス方法を隠蔽する為の情報を提供することを特徴とする請求項６記載の情報処理装置。
【請求項１０】
前記追加プログラムは、プラグインコンポーネントであることを特徴とする請求項１乃至９何れか一項記載の情報処理装置。
【請求項１１】
ソフトウェアが利用するデータを１つ以上の格納手段に格納して管理している情報処理装置におけるデータ管理方法であって、
前記ソフトウェアに追加機能を提供するための追加プログラムから前記追加機能を実行する為に必要なデータ項目の知識情報を受けるステップと、
前記知識情報に基づいて前記格納手段に格納されているデータのデータ項目を拡張するステップと
を有することを特徴とするデータ管理方法。
【請求項１２】
ソフトウェアが利用するデータを１つ以上の格納手段に格納して管理している、記憶装置および演算処理装置を含む情報処理装置において実行されるデータ管理プログラムであって、
前記記憶装置は、１つ以上の前記格納手段を１種類以上の記憶媒体に記憶しており、
前記演算処理装置を
前記ソフトウェアに追加機能を提供するための追加プログラムから前記追加機能を実行する為に必要なデータ項目の知識情報を受け、前記知識情報に基づいて前記格納手段に格納されているデータのデータ項目を拡張するデータ管理手段として機能させるためのデータ管理プログラム。
【請求項１３】
前記データ管理手段は、１つ以上の前記格納手段に格納されているデータをそれぞれ管理している１つ以上のデータセット手段と、
前記１つ以上のデータセット手段を統括して管理し、前記知識情報に基づいた前記格納手段を選択して、その格納手段を管理している前記データセット手段に、前記データ項目の拡張を行わせるデータセット管理手段と
を有することを特徴とする請求項１２記載のデータ管理プログラム。
【請求項１４】
前記データセット管理手段は、前記知識情報に基づいた前記格納手段を管理している前記データセット手段が無いとき、前記格納手段に格納されているデータを管理するデータセット手段を新たに作成し、新たに作成した前記データセット手段に、前記データ項目の拡張を行わせることを特徴とする請求項１３記載のデータ管理プログラム。
【請求項１５】
前記データセット手段は、前記ソフトウェアで利用可能なデータと汎用データとを相互にデータ変換する第１のデータ変換手段と、
前記格納手段に格納可能なデータと汎用データとを相互にデータ変換する第２のデータ変換手段とを有することを特徴とする請求項１３記載のデータ管理プログラム。
【請求項１６】
前記データセット手段は、前記第１のデータ変換手段が前記ソフトウェアで利用可能なデータと汎用データとを相互にデータ変換する為の情報を提供する第１の情報提供手段を有することを特徴とする請求項１５記載のデータ管理プログラム。
【請求項１７】
前記データセット手段は、前記第２のデータ変換手段が前記格納手段に格納可能なデータと汎用データとを相互にデータ変換する為の情報を提供する第２の情報提供手段を有することを特徴とする請求項１５記載のデータ管理プログラム。
【請求項１８】
前記汎用データはデータ項目名とデータ項目値とのセットを集めたものであることを特徴とする請求項１６又は１７記載のデータ管理プログラム。
【請求項１９】
前記格納手段に格納可能なデータは前記格納手段に格納されているデータ形式で表現されていることを特徴とする請求項１７記載のデータ管理プログラム。
【請求項２０】
前記第２の情報提供手段は、前記格納手段に対するアクセス方法を隠蔽する為の情報を提供することを特徴とする請求項１７記載のデータ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、データ管理方法及びデータ管理プログラムに関する。
【背景技術】
【０００２】
近年、プリンタ，コピー，ファクシミリ，スキャナ等の各装置の機能を１つの筐体内に収納した画像形成装置（以下、複合機という）が知られるようになった。複合機は情報処理装置の一例である。
【０００３】
この複合機は、１つの筐体内に表示部，印刷部，撮像部等のハードウェアを設けると共に、プリンタ，コピー，ファクシミリ，スキャナ等に対応するソフトウェアを設け、そのソフトウェアを切り替えることにより、プリンタ，コピー，ファクシミリ，スキャナ等として動作させるものである。
【０００４】
従来の複合機では、各機能に対応するプラグインコンポーネント等をインストールすることにより、各機能の追加を可能としていた（例えば、特許文献１参照）。このような各機能の追加を行う複合機では、機能が利用するデータのデータ項目を図１に示すように追加していた。なお、図１のシーケンス図は、特許文献１の図１に示された構成の複合機を例としたものである。
【０００５】
図１はＦＡＸ機能を追加するときの処理の一例を表したシーケンス図である。複合機はＦＡＸユニットが装着されると、ハードウェア的に検知する。ステップＳ１では、ＦＡＸアプリ１に、ＦＡＸユニットの装着が通知される。ＦＡＸアプリ１は、ＦＡＸユニットの装着が通知されるとステップＳ２に進み、「機能有り」を表すＦＡＸ機能情報を設定情報２に設定する。具体的に、ＦＡＸアプリ１はＦＡＸ機能が有効になったことを設定情報２に設定する。設定情報２にあるＦＡＸ機能項目は「無効」から「有効」に書き換わる。
【０００６】
その後、複合機は電源再投入時にステップＳ３に進み、ＵＣＳ３が設定情報２にＦＡＸ機能情報の取得要求を行う。ステップＳ４に進み、ＵＣＳ３は設定情報からＦＡＸ機能情報を取得する。
【０００７】
ＵＣＳ３は、取得したＦＡＸ機能情報をチェックし、ＦＡＸ機能項目が「有効」になっていたら、ステップＳ５に進む。ＵＣＳ３は、データベース（ＤＢ）４に対して、ユーザ情報テーブルにＦＡＸ機能が利用するデータ（ＦＡＸ情報）のデータ項目を追加するように指示する。ＤＢ４はユーザ情報テーブルにＦＡＸ情報のデータ項目を追加する。
【特許文献１】特開２００３−３３３２４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来の複合機では、ユーザ情報テーブルにデータ項目を追加するユーザ情報テーブルの拡張に関する機能について、以下のような問題があった。まず、ユーザ情報テーブルの拡張に関する機能は、複合機の機能が有効になった場合に、どういった拡張をしなければならないか、といった詳細な仕様も含めて全てＵＣＳ３に実装されている。従来の複合機ではユーザ情報テーブルに対して拡張したいという要求がある場合、ＵＣＳ３に手を加えなければならない。
【０００９】
したがって、情報を利用するコンポーネント（例えばＦＡＸアプリ１）の機能追加を行う際、その機能を実現する為に既存のユーザ情報テーブルに対して何らかのデータ項目を追加しなければならない場合は、機能追加を行うコンポーネントだけでなく、ＵＣＳ３の変更も必要となるという問題があった。
【００１０】
また、ＳＤＫ（ソフトウェア開発キット）を使って新たなアプリケーションソフトを作成する場合、従来の複合機では、そのアプリケーションでユーザ情報テーブルに対して新しいデータ項目が必要になったとしてもＵＣＳ３に手を加えることができないため、新しいデータ項目が追加できないという問題があった。
【００１１】
本発明は、上記の点に鑑みなされたもので、ソフトウェアが利用するデータのデータ項目を容易に拡張可能な情報処理装置、データ管理方法及びデータ管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、本発明は、ソフトウェアが利用するデータを１つ以上の格納手段に格納して管理している情報処理装置であって、前記ソフトウェアに追加機能を提供するための追加プログラムから前記追加機能を実行する為に必要なデータ項目の知識情報を受け、前記知識情報に基づいて前記格納手段に格納されているデータのデータ項目を拡張するデータ管理手段を有することを特徴とする。
【００１３】
また、本発明は、ソフトウェアが利用するデータを１つ以上の格納手段に格納して管理している情報処理装置におけるデータ管理方法であって、前記ソフトウェアに追加機能を提供するための追加プログラムから前記追加機能を実行する為に必要なデータ項目の知識情報を受けるステップと、前記知識情報に基づいて前記格納手段に格納されているデータのデータ項目を拡張するステップとを有することを特徴とする。
【００１４】
また、本発明は、ソフトウェアが利用するデータを１つ以上の格納手段に格納して管理している、記憶装置および演算処理装置を含む情報処理装置において実行されるデータ管理プログラムであって、前記記憶装置は、１つ以上の前記格納手段を１種類以上の記憶媒体に記憶しており、前記演算処理装置を前記ソフトウェアに追加機能を提供するための追加プログラムから前記追加機能を実行する為に必要なデータ項目の知識情報を受け、前記知識情報に基づいて前記格納手段に格納されているデータのデータ項目を拡張するデータ管理手段として機能させるためのデータ管理プログラムであることを特徴とする。
【００１５】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１６】
本発明によれば、ソフトウェアが利用するデータのデータ項目を容易に拡張可能な情報処理装置、データ管理方法及びデータ管理プログラムを提供可能である。
【発明を実施するための最良の形態】
【００１７】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。本発明は、例えば図２に示す構成の複合機に適用可能である。なお、本実施例では情報処理装置の一例として複合機を例に説明するが、他の機器や装置等であってもよい。
【００１８】
図２は本発明による複合機の一例の構成図である。図２に示す構成図は複合機のコントローラソフトウェアを中心としたアーキテクチャ構成及びハードウェア構成を含む要部概略構成である。以下、図２の複合機における各構成項目（コンポーネントを含む）の説明を行う。なお、コンポーネントとは、論理レベルの設計概要の括りである。
【００１９】
図２の複合機は、コントローラ１０とハードウェア２０とを有している。図２のコントローラ１０は、ユーザインターフェースコンポーネント１１，コントロールコンポーネント１２，アプリケーションロジックコンポーネント１３，デバイスサービスコンポーネント１４，アスペクトコンポーネント１５を有する。また、図２のハードウェア２０は、ネットワークデバイス２１，ハードディスクドライブ（ＨＤＤ）デバイス２２，ＦＡＸデバイス２３，エンジンデバイス２４を有する。
【００２０】
ユーザインターフェースコンポーネント（以下、ユーザインターフェースという）１１は、ユーザ又はサービス利用者（Ｗｅｂサービスなど）からの要求受付及びコントロールコンポーネント（以下、コントロールという）１２への要求実行の委譲を行う。ユーザインターフェース１１は、例えばＵＩからユーザの操作を受け付ける。
【００２１】
コントロール１２は、ユーザインターフェース１１からの要求実現のための提供機能の組み合わせを司る。コントロール１２は、例えばワークフローを司る。アプリケーションロジックコンポーネント（以下、アプリケーションロジックという）１３は、複合機が提供する機能群を司る。アプリケーションロジック１３は、ハードウェア２０を使って提供するサービスを司る。
【００２２】
また、デバイスサービスコンポーネント（以下、デバイスサービスという）１４は、アプリケーションロジック１３から共通利用されるデバイスリソースである。アスペクトコンポーネント（以下、アスペクトという）１５は各コンポーネントに対し、横断的に影響するロジック（アクセス制御、履歴、課金など）を扱う。アスペクト１５は、データ及び手続を管理する。
【００２３】
ネットワークデバイス２１はイーサネット（登録商標）やＬＡＮ等のネットワークに接続する為のインターフェースである。ＨＤＤデバイス２２は情報蓄積する為の保存媒体である。ＦＡＸデバイス２３は電話回線を使用する情報送受信機（ＦＡＸ）である。エンジンデバイス２４は、例えば情報を紙媒体（印刷媒体）に出力する形成装置（プロッタ）が含まれている。
【００２４】
ここで、本発明の理解を容易とするため、本発明の概要について説明する。図３は、本発明の概要を表すクラス図である。図３のクラス図は、本発明の最小構成単位を表現している。図３のクラス図に表した部品は、追加コンポーネントクラス３１，データセット管理クラス３２，データセットクラス３３である。
【００２５】
追加コンポーネントクラス（以下、単に追加コンポーネントという）３１は、複合機の拡張機能が実装された部品である。追加コンポーネント３１は、インストール時に必要なデータテーブル拡張の為の情報を持っている。追加コンポーネント３１は、データテーブル拡張の為の情報を基に、インストール後のコンポーネント初期化時にデータテーブルの拡張をデータセット管理クラス３２に対して要求する。
【００２６】
データセット管理クラス（以下、単にデータセット管理という）３２は、データセットクラス３３を一元管理する部品である。データセット管理３２は、機能追加時にプラグインコンポーネントなどの追加コンポーネント３１から拡張内容と共に、データセット管理の拡張要求を受けると、拡張対象となるデータセットクラス３３を検索し、検索した拡張対象となるデータセットクラス３３に対して拡張内容と共に、データセットの拡張を要求する。なお、拡張対象となるデータセットクラス３３がない場合、データセット管理３２はデータセット管理の管理対象としてデータセットクラス３３を新たに追加する。
【００２７】
データセットクラス（以下、単にデータセットという）３３は、ＤＢのテーブルやＸＭＬファイル，ＣＶＳファイルなどの物理的なデータ保存手段に対して１つずつ存在する部品である。例えばデータセット３３は後述する、ＤＢユーザ情報データセット，ＤＢ書誌情報データセット，ＣＶＳ機器情報データセットといった単位となる。
【００２８】
ＤＢユーザ情報データセットは、データベースのユーザ情報テーブルに対応する。ＤＢ書誌情報データセットは、データベースの書誌情報テーブルに対応する。ＣＶＳ機器情報データセットは、ＣＶＳの機器情報テーブルに対応する。なお、「セット」という用語は例えばＲＤＢ（リレーショナルデータベース）におけるテーブルに相当する。
【００２９】
このようなＤＢユーザ情報データセット，ＤＢ書誌情報データセット，ＣＶＳ機器情報データセットは、データセットクラス３３のインスタンスとして表現する方法と、データセットクラス３３のサブクラスとして定義する方法とが考えられる。
【００３０】
また、複合機が複数のデータ保存手段を持つ場合、クラス図は図４に示すような構成としてもよい。図４は複数のデータ保存手段を持つ場合のクラス図である。図４のクラス図に表した部品は、データセット管理３２，データセット３３，ＤＢデータセットクラス４１，ＸＭＬデータセットクラス４２，ＣＶＳデータセットクラス４３である。なお、図４のクラス図では追加コンポーネント３１を省略している。
【００３１】
ＤＢデータセットクラス（以下、単にＤＢデータセットという）４１は物理的なデータ保存手段としてのＤＢのテーブルに対して１つ存在する部品である。ＸＭＬデータセットクラス（以下、単にＸＭＬデータセットという）４２は物理的なデータ保存手段としてのＸＭＬファイルに対して１つ存在する部品である。ＣＶＳデータセットクラス（以下、単にＣＶＳデータセットという）４３は物理的なデータ保存手段としてのＣＶＳファイルに対して１つ存在する部品である。
【００３２】
図４の構成においても、ＤＢユーザ情報データセット，ＤＢ書誌情報データセット，ＣＶＳ機器情報データセットを、ＤＢデータセット４１，ＸＭＬデータセット４２，ＣＶＳデータセット４３のインスタンスとして表現する方法と、ＤＢデータセット４１，ＸＭＬデータセット４２，ＣＶＳデータセット４３のサブクラスとして定義する方法とが考えられる。
【００３３】
図３で示したクラス図は、インスタンスで表現すると図５のようになる。図５は、図３のクラス図をインスタンスで表現したインスタンス図である。図５のインスタンス図ではユーザ情報操作コンポーネント，書誌情報操作コンポーネント，機器情報操作コンポーネントを追加コンポーネント３１のインスタンス５１〜５３として表現し、ＤＢユーザ情報データセット，ＤＢ書誌情報データセット，リモートユーザ情報データセット，ＣＶＳ機器情報データセットをデータセット３３のインスタンス５４〜５７として表現している。
【００３４】
次に、本発明の概要について、ＦＡＸ機能追加，ＳｃａｎＴｏＥ−ｍａｉｌ機能追加およびドキュメントボックス機能追加を例に説明する。
【００３５】
（ＦＡＸ機能追加）
図６はＦＡＸ機能追加の場合の本発明の機能概要を表したイメージ図である。図６の上段に示したように、ＦＡＸ機能を持たない複合機（ＭＦＰ）はユーザ情報にデータ項目としてＦＡＸ番号項目を必要としない。なお、図６の上段に示したユーザ情報はｅ−ｍａｉｌ送信機能を持つ複合機の例である。図６の上段に示したユーザ情報を有する複合機にＦＡＸ機能を追加した場合、複合機はユーザ情報にデータ項目としてＦＡＸ番号項目が必要となる。
【００３６】
そこで、本発明による複合機では追加コンポーネント３１の一例としてのＦＡＸプラグインコンポーネント（以下、単にＦＡＸプラグインという）をインストールすることによりＦＡＸ機能を使用することができるようになるが、その際、ＦＡＸ機能を実現する為に必要なＦＡＸ情報項目（例えばＦＡＸ番号項目など）がユーザ情報に追加される。
【００３７】
図７はＦＡＸ機能追加時の複合機における処理を表したシーケンス図である。なお、図７中のプラグイン管理コンポーネント（以下、単にプラグイン管理という）７１は図２のコントロール１２に含まれる。ＦＡＸプラグイン７２は図２のアプリケーションロジック１３に含まれる。データ管理コンポーネント７３はデバイスサービス１４に含まれる。
【００３８】
ステップＳ１１に進み、プラグイン管理７１はＦＡＸプラグインのインストール要求を受信すると、ＦＡＸプラグイン７２を対象コンポーネントとして探し出す。そして、ステップＳ１２に進み、プラグイン管理７１は対象コンポーネントに対してコンポーネント初期化要求を行う。
【００３９】
ＦＡＸプラグイン７２はコンポーネント初期化要求を受信すると、対象コンポーネントを起動する為に必要な環境を構築する。ＦＡＸプラグイン７２は環境構築作業の１つとしてデータ管理の拡張ルールを作成する。
【００４０】
ステップＳ１３に進み、ＦＡＸプラグイン７２はデータ管理コンポーネント７３に対して利用データ項目を伝え、データ管理拡張要求を行う。なお、利用データ項目とは、プラグインコンポーネントで今後利用するデータ項目である。例えばＦＡＸプラグイン７２の場合、利用データ項目は、利用データセット「ユーザ情報」，利用データ項目名「ＦＡＸ番号，ユーザ名」である。
【００４１】
データ管理コンポーネント７３内のデータセット管理７５は、データ管理拡張要求を受信すると、対象となるテーブルを管理しているデータセット７６を探し出す。例えば図７のシーケンス図では、ＤＢユーザ情報データセットが探し出される。データセット７６が探し出されると、データセット管理７５はステップＳ１４に進み、データセット７６に追加候補データ項目を伝え、データセット拡張要求を行う。例えばＦＡＸプラグイン７２の場合、追加候補データ項目は追加候補データ項目名「ＦＡＸ番号，ユーザ名」である。
【００４２】
テータ管理コンポーネント７３内のデータセット７６は、データセット拡張要求を受信するとステップＳ１５に進み、受信した拡張ルールからデータ項目追加の為の情報を参照し、データベース管理システム（以下、ＤＢＭＳという）７４に対してデータ項目追加詳細情報を伝え、データ項目追加要求を行う。
【００４３】
例えばＦＡＸプラグイン７２の場合、データ項目追加詳細情報は追加データ項目「ＦＡＸ宛先」，データ項目型「文字列」である。なお、データセット７６はデータ項目「ユーザ名」が元々のユーザ情報のデータ項目として存在していた為、追加しないといったようなチェックも行う。
【００４４】
ＤＢＭＳ７４は、データ項目追加要求を受信すると、自身の管理するＤＢのユーザ情報に対し、データ項目追加要求により要求されたデータ項目の追加を行う。
【００４５】
さらに、図７のシーケンス図におけるデータセット管理７５の処理について図８に示すフローチャートを用いて説明する。図８はデータセット管理の処理を示すフローチャートである。
【００４６】
データ管理拡張要求を受信すると、データセット管理７５はステップＳ２１に進み、対象となるテーブルを管理しているデータセット（対象データセット）７６を探す。ステップＳ２２に進み、データセット管理７５は対象データセット７６があるかを判定する。
【００４７】
対象データセット７６があれば、データセット管理７５はステップＳ２３に進み、対象データセット７６にデータセット拡張要求を行う。一方、対象データセット７６がなければ、データセット管理７５はステップＳ２４に進み、データセットを生成する。ステップＳ２５に進み、データセット管理７５は生成したデータセットの初期化を行う為、データセット７６に初期化要求を行う。なお、初期化要求を受信したデータセット７６の処理は後述する。
【００４８】
図７のシーケンス図におけるデータセット７６の処理について、図９のフローチャートを用いて説明する。図９はデータセットの処理を示すフローチャートである。
【００４９】
データセット拡張要求を受信すると、データセット７６はステップＳ３１に進み、受信した追加候補データ項目と、ＤＢＭＳ７４の対象となるテーブル（対象テーブル）に登録されているカラムとを比較する。
【００５０】
ステップＳ３２に進み、データセット７６は追加候補データ項目と対象テーブルに登録されているカラムとが一致しているかを判定する。追加候補データ項目と対象テーブルに登録されているカラムとが一致していれば、データセット７６は対象テーブルを拡張する必要がないため、図９のフローチャートの処理を終了する。
【００５１】
一方、追加候補データ項目と対象テーブルに登録されているカラムとが一致していなければ、データセット７６はステップＳ３３に進み、対象テーブルに登録されているカラムと一致していない追加候補データ項目を抽出する。ステップＳ３４に進み、データセット７６は抽出した追加候補データ項目のカラムへの追加をＤＢＭＳ７４に依頼するため、ＤＢＭＳ７４に対してデータ項目追加要求を行う。
【００５２】
ここで、初期化要求を受信した場合のデータセット７６の処理について、図１０に示したフローチャートを用いて説明する。図１０は初期化要求を受信したデータセットの処理を示すフローチャートである。
【００５３】
初期化要求を受信すると、データセット７６はステップＳ４１に進み、ＤＢＭＳ７４にテーブルを拡張可能かどうか確認する。例えばテーブルを拡張可能かどうかの確認ではＨＤＤデバイス２２の容量等をチェックすること等が行われる。テーブルを拡張可能であれば（Ｓ４２においてＹＥＳ）、データセット７６はステップＳ４３に進み、ＤＢＭＳ７４にテーブルの作成を依頼する。
【００５４】
一方、テーブルを拡張可能でなければ（Ｓ４２においてＮＯ）、データセット７６はステップＳ４４に進み、データセット管理７５にテーブル拡張不可を通知する。ステップＳ４４に続いてステップＳ４５に進み、データセット７６はデータセット管理７５によって削除される。
【００５５】
このように、複合機はＦＡＸプラグイン７２をインストールする際、ＦＡＸ機能を実現する為に必要なＦＡＸ情報項目をユーザ情報に追加できる。
【００５６】
（ＳｃａｎＴｏＥ−ｍａｉｌ機能追加）
本発明による複合機では、追加コンポーネント３１の一例としてのＳｃａｎＴｏＥ−ｍａｉｌプラグインコンポーネント（以下、単にＳｃａｎＴｏＥ−ｍａｉｌプラグインという）をインストールすることによりＳｃａｎＴｏＥ−ｍａｉｌ機能を使用することができるようになるが、その際、ＳｃａｎＴｏＥ−ｍａｉｌ機能を実現する為に必要なＳｃａｎＴｏＥ−ｍａｉｌ情報項目（例えばＥ−ｍａｉｌアドレス項目など）がユーザ情報に追加される。
【００５７】
図１１はＳｃａｎＴｏＥ−ｍａｉｌ機能追加時の複合機における処理を表したシーケンス図である。なお、図１１中のＳｃａｎＴｏＥ−ｍａｉｌプラグイン１１１は図２のアプリケーションロジック１３に含まれる。
【００５８】
ステップＳ５１に進み、プラグイン管理７１はＳｃａｎＴｏＥ−ｍａｉｌプラグインのインストール要求を受信すると、ＳｃａｎＴｏＥ−ｍａｉｌプラグイン１１１を対象コンポーネントとして探し出す。そして、ステップＳ５２に進み、プラグイン管理７１は対象コンポーネントに対してコンポーネント初期化要求を行う。
【００５９】
ＳｃａｎＴｏＥ−ｍａｉｌプラグイン１１１は、コンポーネント初期化要求を受信すると、対象コンポーネントを起動する為に必要な環境を構築する。ＳｃａｎＴｏＥ−ｍａｉｌプラグイン１１１は環境構築作業の１つとしてデータ管理の拡張ルールを作成する。
【００６０】
ステップＳ５３に進み、ＳｃａｎＴｏＥ−ｍａｉｌプラグイン１１１はデータ管理コンポーネント７３に対して利用データ項目を伝え、データ管理拡張要求を行う。ＳｃａｎＴｏＥ−ｍａｉｌプラグイン１１１の場合、利用データ項目は、利用データセット「ユーザ情報」，利用データ項目名「ｅ−ｍａｉｌアドレス，ユーザ名」である。
【００６１】
データ管理コンポーネント７３内のデータセット管理７５は、データ管理拡張要求を受信すると、対象となるテーブルを管理しているデータセット７６を探し出す。例えば図１１のシーケンス図では、ＤＢユーザ情報データセットが探し出される。データセット７６が探し出されると、データセット管理７５はステップＳ５４に進み、データセット７６に追加候補データ項目を伝え、データセット拡張要求を行う。例えばＳｃａｎＴｏＥ−ｍａｉｌプラグイン１１１の場合、追加候補データ項目は追加候補データ項目名「ｅ−ｍａｉｌアドレス，ユーザ名」である。
【００６２】
テータ管理コンポーネント７３内のデータセット７６は、データセット拡張要求を受信するとステップＳ５５に進み、受信した拡張ルールからデータ項目追加の為の情報を参照する。データセット７６はＤＢＭＳ７４に対してデータ項目追加詳細情報を伝え、データ項目追加要求を行う。
【００６３】
例えばＳｃａｎＴｏＥ−ｍａｉｌプラグイン１１１の場合、データ項目追加詳細情報は追加データ項目「ｅ−ｍａｉｌアドレス」，データ項目型「文字列」である。なお、データセット７６はデータ項目「ユーザ名」が元々のユーザ情報のデータ項目として存在していた為、追加しないといったようなチェックも行う。
【００６４】
ＤＢＭＳ７４は、データ項目追加要求を受信すると、自身の管理するＤＢのユーザ情報に対し、データ項目追加要求により要求されたデータ項目の追加を行う。このように、複合機はＳｃａｎＴｏＥ−ｍａｉｌプラグイン１１１をインストールする際、ＳｃａｎＴｏＥ−ｍａｉｌ機能を実現する為に必要なＳｃａｎＴｏＥ−ｍａｉｌ情報項目をユーザ情報に追加できる。
【００６５】
なお、１つのプラグインコンポーネントのインストールに伴い、複数のデータセット７６に対してデータ項目の拡張を行うことも可能である。例えばＦＡＸプラグイン７２のインストールに関して、図７のシーケンス図等に簡略化のため記載していないが、実際の複合機ではＤＢユーザ情報データセット以外にもＣＶＳ機器情報データセットの拡張（ＦＡＸユニット情報項目の追加）も必要である。
【００６６】
（ドキュメントボックス機能追加）
本発明による複合機では、追加コンポーネント３１の一例としてのドキュメントボックスプラグインコンポーネント（以下、単にドキュメントボックスプラグインという）をインストールすることによりドキュメントボックス機能を使用することができるようになるが、その際、ドキュメントボックス機能を実現する為に必要な保管文書情報のテーブルがデータ管理コンポーネント７３で取り扱うテーブルとして追加される。
【００６７】
図１２はドキュメントボックス機能追加時の複合機における処理を表したシーケンス図である。なお、図１２中のドキュメントボックス（Ｄ−ＢＯＸ）プラグイン１２１は図２のアプリケーションロジック１３に含まれる。
【００６８】
ステップＳ６１に進み、プラグイン管理７１はドキュメントボックスプラグインのインストール要求を受信すると、ドキュメントボックスプラグイン１２１を対象コンポーネントとして探し出す。ステップＳ６２に進み、プラグイン管理７１は対象コンポーネントに対してコンポーネント初期化要求を行う。
【００６９】
ドキュメントボックスプラグイン１２１はコンポーネント初期化要求を受信すると、対象コンポーネントを起動する為に必要な環境を構築する。ドキュメントボックスプラグイン１２１は環境構築作業の１つとしてデータ管理コンポーネント７３に対して利用データ項目を伝え、データ管理拡張要求を行う。なお、ドキュメントボックスプラグイン１２１の場合、利用データ項目は、利用データセット「保管文書情報」，利用データ項目名「文書名，作成ユーザ名，作成日」である。
【００７０】
データ管理コンポーネント７３内のデータセット管理７５は、データ管理拡張要求を受信すると、対象となるテーブルを管理しているデータセット７６を探し出す。例えば図１２のシーケンス図では、対象となるテーブルを探し出せない。そこで、データセット管理７５はステップＳ６４に進み、保管文書情報のデータセット１２２を新たに生成（オブジェクト志向言語でいうところのインスタンスを生成）する。その際、データセット管理７５は保管文書情報のテーブル保管先としてＤＢＭＳ７４を設定する。また、ステップＳ６５に進み、データセット管理７５はデータセット１２２に初期化要求を行う。
【００７１】
テータ管理コンポーネント７３内のデータセット１２２は、初期化要求を受信するとステップＳ６６に進み、ＤＢＭＳ７４に対して、自身の管理するテーブルのデータ項目詳細情報を伝え、テーブル作成要求を行う。
【００７２】
例えばドキュメントボックスプラグイン１２１の場合、データ項目詳細情報はデータ項目「文書名，作成ユーザ名，作成日」である。ＤＢＭＳ７４は、テーブル作成要求を受信すると、自身の管理するＤＢに保管文書情報のテーブルの作成を行う。なお、ステップＳ６５の初期化処理は、オブジェクト指向言語のいわゆる「コンストラクタ」で実現することもできる。
【００７３】
複合機はドキュメントボックスプラグイン１２１をインストールする際、ドキュメントボックス機能を実現する為に必要な保管文書情報のテーブルを、データ管理コンポーネント７３で取り扱うテーブルとして追加できる。
【００７４】
（データ管理コンポーネント７３の存在意義）
データ管理コンポーネント７３はＤＢＭＳ７４と一緒にする構成も考えられるが、以下に挙げる課題が発生する。例えばデータ管理コンポーネント７３とＤＢＭＳ７４とが一緒になり、プラグインコンポーネントとＤＢＭＳ７４とが直接繋がった場合は、以下のような課題が発生する。
【００７５】
データベース部品の入れ替えなどでＤＢＭＳ７４へのアクセス方法が変わった場合、全てのプラグインコンポーネントのＤＢＭＳ７４へのアクセス部分に変更の必要が生じるという問題がある。また、新たなプラグインコンポーネントを作成し、そのプラグインコンポーネントがデータベースの拡張を必要とする場合、プラグインコンポーネントの作成者はＤＢＭＳ７４へのアクセス方法を知っていなければならない。また、作成者はプラグインコンポーネントに、ＤＢＭＳ７４へのアクセス部分を実装しなければならない。
【００７６】
さらに、データの保管場所がＤＢＭＳ７４だけでなく、例えばリモートにあるリモートデータサーバやファイル等が存在する場合、全てのプラグインコンポーネントにリモートアクセスの実装やファイルアクセスの実装を加える必要が生じる。
【００７７】
こうした課題に対して、本発明では上記のようなデータアクセスの手順をデータ管理コンポーネント７３により隠蔽することができる。
【００７８】
図１３はＦＡＸ機能追加時にリモートデータサーバのテーブルを拡張する複合機の処理を表したシーケンス図である。ステップＳ７１に進み、プラグイン管理７１はＦＡＸプラグインのインストール要求を受信すると、ＦＡＸプラグイン７２を対象コンポーネントとして探し出す。そして、ステップＳ７２に進み、プラグイン管理７１は対象コンポーネントに対してコンポーネント初期化要求を行う。
【００７９】
ＦＡＸプラグイン７２はコンポーネント初期化要求を受信すると、対象コンポーネントを起動する為に必要な環境を構築する。ＦＡＸプラグイン７２は環境構築作業の１つとしてデータ管理の拡張ルールを作成する。
【００８０】
ステップＳ７３に進み、ＦＡＸプラグイン７２はデータ管理コンポーネント７３に対して利用データ項目を伝え、データ管理拡張要求を行う。データ管理コンポーネント７３内のデータセット管理７５は、データ管理拡張要求を受信すると、対象となるテーブルを管理しているリモートユーザ情報のデータセット１３１が探し出される。データセット１３１が探し出されると、データセット管理７５はステップＳ７４に進み、データセット１３１に追加候補データ項目を伝え、データセット拡張要求を行う。
【００８１】
テータ管理コンポーネント７３内のデータセット１３１は、データセット拡張要求を受信するとステップＳ７５に進み、受信した拡張ルールからデータ項目追加の為の情報を参照し、リモートデータサーバ１３２に対してデータ項目追加詳細情報を伝え、データ項目追加要求を行う。リモートデータサーバ１３２は、データ項目追加要求を受信すると、自身の管理するＤＢのユーザ情報に対し、データ項目追加要求により要求されたデータ項目の追加を行う。
【００８２】
図１３のシーケンス図におけるステップＳ７１〜７３の処理は、図７のシーケンス図においてデータセット管理７５がデータ管理拡張要求を受信するまでのステップＳ１１〜Ｓ１３の処理と同様である。
【００８３】
したがって、データの保管場所が機器内のＤＢＭＳ７４からリモートデータサーバ１３２に替わった場合も、データセット１３１で違いを吸収する為、データ拡張の依頼元であるＦＡＸプラグイン７２は、そのデータアクセス手順の違いを意識する必要がなく、作成が容易となる。なお、図１１及び図１２のシーケンス図についても同様である。
【００８４】
本発明では、追加機能が実装されているプラグインコンポーネントに、その追加機能を実行する為に必要な情報（永続情報）の拡張の為の知識を持たせておく。また、永続情報の保管場所（ＤＢ，ファイルなど）を管理しているデータ管理コンポーネント７３にはプラグインコンポーネントからの永続情報の拡張要求を受けて、その拡張要求に基づき永続情報の拡張を実行する為の機能を実装しておく。
【００８５】
データ管理コンポーネント７３には、物理的なデータの保管場所（例えばＤＢテーブルやＸＭＬファイル，ＣＶＳファイルなど）を管理しているデータセット３３と、１つ以上存在するデータセット３３を統括するデータセット管理３２から構成される。
【００８６】
このような本発明の特徴により、追加機能が実装されているプラグインコンポーネントをインストールする際、追加機能を実現する為に必要な情報を容易に拡張できる。
【００８７】
（本発明の詳細）
図１４は、本発明の詳細を表すクラス図である。図１４のクラス図に表した部品は、アプリケーションロジック１３，データ管理Ｉ／Ｆクラス１４１，保管データファクトリクラス１４２，データセットクラス１４３，保管データ図面クラス１４４，拡張データ図面クラス１４５，汎用データクラス１４６，永続化領域クラス１４７，格納フォーマットクラス１４８，保管データクラス１４９，拡張データクラス１５０及び永続化手段１５１である。
【００８８】
なお、アプリケーションロジック１３は、前述している追加コンポーネント３１を構成する。また、データ管理Ｉ／Ｆクラス（以下、単にデータ管理Ｉ／Ｆという）１４１及び保管データファクトリクラス（以下、単に保管データファクトリという）１４２は、前述しているデータセット管理３２を構成する。
【００８９】
また、データセットクラス（以下、単にデータセットという）１４３，保管データ図面クラス（以下、単に保管データ図面という）１４４，拡張データ図面クラス（以下、単に拡張データ図面という）１４５，汎用データクラス（以下、単に汎用データという）１４６，永続化領域クラス（以下、単に永続化領域という）１４７及び格納フォーマットクラス（以下、単に格納フォーマットという）１４８は、前述しているデータセット３３を構成する。さらに、保管データ図面１４４及び拡張データ図面１４５は前述したデータ管理の拡張ルールを構成する。
【００９０】
図１４のクラス図に表した部品について、後述のシーケンス図及びフローチャートを参照しつつ、データ登録，データ検索，データ更新，データ削除，拡張データ図面追加，拡張データ図面削除，保管データ図面追加，保管データ図面削除，データセット作成およびデータセット削除，データ変換を例に説明する。
【００９１】
（データ登録）
図１５はデータ登録処理の一例を表したシーケンス図である。アプリケーションロジック１３はステップＳ８１に進み、パラメータを指定してオブジェクト生成要求を行い、保管データ１５４を生成する。ステップＳ８２に進み、アプリケーションロジック１３は保管データ１５４を取得する。ここで、保管データ１５４とはアプリケーションロジック１３が利用可能なデータである。
【００９２】
ステップＳ８３に進み、アプリケーションロジック１３はデータセット名，保管データ１５４を指定して、データ管理ＩＦ１５２にデータ登録要求を行う。データ管理ＩＦ１５２はステップＳ８４に進み、データセット名を指定して、データセット１５３にデータセット名確認要求を行う。ステップＳ８５に進み、データセット１５３はデータセット名確認要求に対する確認結果を、データ管理ＩＦ１５２に応答する。ここで、データセット１５３とはデータに対応する永続化領域１５７を記憶しており、アプリケーションロジック１３が意識するデータの単位を表現しているコンポーネントである。
【００９３】
データセット１５３のデータセット名がデータ登録要求で指定されたデータセット名であれば、データ管理ＩＦ１５２はステップＳ８６に進み、データ登録要求で指定された保管データ１５４を指定して、データセット１５３にデータ登録要求を行う。
【００９４】
ステップＳ８７に進み、データセット１５３はデータ登録要求で指定された保管データ１５４を指定して、保管データ図面１５５に変換要求を行う。ここで、保管データ図面とは保管データ１５４と汎用データ１５６との相互変換を行うコンポーネントである。ステップＳ８８に進み、保管データ図面１５５は保管データ１５４のパラメータ取得要求を行う。ステップＳ８９に進み、保管データ図面１５５は保管データ１５４のパラメータを取得する。
【００９５】
保管データ図面１５５はステップＳ９０に進み、パラメータを指定して汎用データ生成要求を行い、汎用データ１５６を生成する。ステップＳ９１に進み、保管データ図面１５５は汎用データ１５６を取得する。ここで、汎用データ１５６とはデータ項目名とデータ項目値とのセットをコレクションしたデータである。
【００９６】
ステップＳ９２に進み、データセット１５３は汎用データ１５６を取得する。ステップＳ９３に進み、データセット１５３はデータセット名，汎用データ１５６を指定して、永続化領域１５７にデータ登録要求を行う。ここで、永続化領域１５７とは、永続化手段１５１に対するアクセス方法（データアクセスの手順）を隠蔽するコンポーネントである。
【００９７】
ステップＳ９４に進み、永続化領域１５７は、データ登録要求で指定されたデータセット名，汎用データ１５６を指定して、格納フォーマット１５８に変換要求を行う。
【００９８】
ここで、格納フォーマット１５８とは、汎用データ１５６と永続データ１５９との相互変換を行うコンポーネントである。
【００９９】
ステップＳ９５に進み、格納フォーマット１５８は汎用データ１５６のパラメータ取得要求を行う。ステップＳ９６に進み、格納フォーマット１５８は汎用データ１５６のパラメータを取得する。
【０１００】
格納フォーマット１５８はステップＳ９７に進み、パラメータを指定して永続データ生成要求を行い、永続データ１５９を生成する。ステップＳ９８に進み、格納フォーマット１５８は永続データ１５９を取得する。ここで、永続データ１５９とは永続化手段１５１に格納されているデータ形式で表現されたデータである。
【０１０１】
ステップＳ９９に進み、格納フォーマット１５８は永続データ１５９を取得する。ステップＳ１００に進み、永続化領域１５７は永続データ１５９を指定して、永続化手段１５１にデータ挿入を要求する。ステップＳ１０１に進み、永続化領域１５７は挿入結果を永続化手段１５１から受信する。なお、図１５のシーケンス図では、永続化領域１５７が永続化手段１５１にデータ挿入を要求しているが、格納フォーマット１５８がデータ挿入を要求するようにしてもよい。
【０１０２】
ステップＳ１０２に進み、データセット１５３は登録結果を永続化領域１５７から受信する。ステップＳ１０３に進み、データ管理ＩＦ１５２は登録結果をデータセット１５３から受信する。そして、ステップＳ１０４に進み、アプリケーションロジック１３は登録結果を受信する。
【０１０３】
このように、複合機はアプリケーションロジック１３が機能を実現する為に必要な保管データ１５４をアプリケーションロジック１３からの要求により、永続化手段１５１に登録できる。
【０１０４】
（データ検索）
図１６はデータ検索処理の一例を表したシーケンス図である。アプリケーションロジック１３はステップＳ１１１に進み、データセット名，検索条件を指定して、データ管理ＩＦ１５２にデータ検索要求を行う。
【０１０５】
データ管理ＩＦ１５２はステップＳ１１２に進み、データセット名を指定して、データセット１５３にデータセット名確認要求を行う。ステップＳ１１３に進み、データセット１５３は確認結果を、データ管理ＩＦ１５２に送信する。
【０１０６】
データセット１５３のデータセット名がデータ検索要求で指定されたデータセット名であれば、データ管理ＩＦ１５２はステップＳ１１４に進み、データ検索要求で指定された検索条件を指定して、データセット１５３にデータ検索要求を行う。ステップＳ１１５に進み、データセット１５３はデータセット名，検索条件を指定して、永続化領域１５７にデータ検索要求を行う。
【０１０７】
ステップＳ１１６に進み、永続化領域１５７は検索条件を指定して、データ検索クエリの作成を行う。なお、検索条件とデータ検索クエリとの関係は、例えば図１７に示すようになる。図１７は検索条件とデータ検索クエリとの関係を示すクラス図である。
【０１０８】
ステップＳ１１７に進み、永続化領域１５７はデータ検索クエリを指定して、永続化手段１５１にデータ検索要求を行う。ステップＳ１１８に進み、永続化領域１５７は検索結果である永続データを永続化手段１５１から受信する。
【０１０９】
ステップＳ１１９に進み、永続化領域１５７は、データセット名，永続データ１５９を指定して、格納フォーマット１５８に変換要求を行う。ステップＳ１２０に進み、格納フォーマット１５８は永続データ１５９のパラメータ取得要求を行う。ステップＳ１２１に進み、格納フォーマット１５８は永続データ１５９のパラメータを取得する。
【０１１０】
格納フォーマット１５８はステップＳ１２２に進み、パラメータを指定して汎用データ生成要求を行い、汎用データ１５６を生成する。ステップＳ１２３に進み、格納フォーマット１５８は汎用データ１５６を取得する。
【０１１１】
ステップＳ１２４に進み、永続化領域１５７は汎用データ１５６を取得する。ステップＳ１２５に進み、データセット１５３は汎用データ１５６を取得する。ステップＳ１２６に進み、データセット１５３は汎用データ１５６を指定して、保管データ図面１５５に変換要求を行う。
【０１１２】
ステップＳ１２７に進み、保管データ図面１５５は汎用データ１５６のパラメータ取得要求を行う。ステップＳ１２８に進み、保管データ図面１５５は汎用データ１５６のパラメータを取得する。
【０１１３】
保管データ図面１５５はステップＳ１２９に進み、パラメータを指定して保管データ生成要求を行い、保管データ１５４を生成する。ステップＳ１３０に進み、保管データ図面１５５は保管データ１５４を取得する。
【０１１４】
ステップＳ１３１に進み、データセット１５３は保管データ１５４を取得する。ステップＳ１３２に進み、データ管理ＩＦ１５２は保管データ１５４をデータセット１５３から受信する。ステップＳ１３３に進み、アプリケーションロジック１３は保管データ１５４を受信する。
【０１１５】
このように、複合機は永続化手段１５１に登録されている永続データ１５９から検索条件に合致する永続データ１５９を、アプリケーションロジック１３からの要求により検索できる。
【０１１６】
（データ更新）
図１８はデータ更新処理の一例を表したシーケンス図である。まず、アプリケーションロジック１３はステップＳ１４１に進み、パラメータを指定してオブジェクト生成要求を行い、保管データ１５４を生成する。ステップＳ１４２に進み、アプリケーションロジック１３は保管データ１５４を取得する。また、ステップＳ１４３に進み、アプリケーションロジック１３はデータセット名，保管データ１５４を指定して、データ管理ＩＦ１５２にデータ更新要求を行う。
【０１１７】
データ管理ＩＦ１５２はステップＳ１４４に進み、データセット名を指定して、データセット１５３にデータセット名確認要求を行う。ステップＳ１４５に進み、データセット１５３は、データセット名確認要求に対する確認結果を、データ管理ＩＦ１５２に応答する。
【０１１８】
データセット１５３のデータセット名がデータ更新要求で指定されたデータセット名であれば、データ管理ＩＦ１５２はステップＳ１４６に進み、データ更新要求で指定された保管データ１５４を指定して、データセット１５３にデータ登録要求を行う。ステップＳ１４７に進み、データセット１５３はデータ更新要求で指定された保管データ１５４を指定して、保管データ図面１５５に変換要求を行う。
【０１１９】
ステップＳ１４８に進み、保管データ図面１５５は保管データ１５４のパラメータ取得要求を行う。ステップＳ１４９に進み、保管データ図面１５５は保管データ１５４のパラメータを取得する。
【０１２０】
保管データ図面１５５はステップＳ１５０に進み、パラメータを指定して汎用データ生成要求を行い、汎用データ１５６を生成する。ステップＳ１５１に進み、保管データ図面１５５は汎用データ１５６を取得する。ステップＳ１５２に進み、データセット１５３は汎用データ１５６を取得する。ステップＳ１５３に進み、データセット１５３はデータセット名，汎用データ１５６を指定して、永続化領域１５７にデータ更新要求を行う。
【０１２１】
ステップＳ１５４に進み、永続化領域１５７は、データ更新要求で指定されたデータセット名，汎用データ１５６を指定して、格納フォーマット１５８に変換要求を行う。ステップＳ１５５に進み、格納フォーマット１５８は、汎用データ１５６のパラメータ取得要求を行う。ステップＳ１５６に進み、格納フォーマット１５８は汎用データ１５６のパラメータを取得する。
【０１２２】
格納フォーマット１５８はステップＳ１５７に進み、パラメータを指定して永続データ生成要求を行い、永続データ１５９を生成する。ステップＳ１５８に進み、格納フォーマット１５８は永続データ１５９を取得する。
【０１２３】
ステップＳ１５９に進み、格納フォーマット１５８は永続データ１５９を取得する。ステップＳ１６０に進み、永続化領域１５７は永続データ１５９を指定して、永続化手段１５１にデータ更新を要求する。ステップＳ１６１に進み、永続化領域１５７は更新結果を永続化手段１５１から受信する。なお、図１８のシーケンス図では、永続化領域１５７が永続化手段１５１にデータ更新を要求しているが、格納フォーマット１５８がデータ更新を要求するようにしてもよい。
【０１２４】
ステップＳ１６２に進み、データセット１５３は更新結果を永続化領域１５７から受信する。ステップＳ１６３に進み、データ管理ＩＦ１５２は更新結果をデータセット１５３から受信する。そして、ステップＳ１６４に進み、アプリケーションロジック１３は更新結果を受信する。
【０１２５】
このように、複合機は永続化手段１５１に登録されている永続データ１５９を、アプリケーションロジック１３からの要求により更新できる。なお、データ更新処理は、更新するデータ項目のみを効率的に更新することもできる。
【０１２６】
図１９はデータ更新処理の他の例を表したシーケンス図である。図９のシーケンス図はステップＳ１７３，Ｓ１８３及びＳ１８４の処理を除き、図１８のシーケンス図と同様である。
【０１２７】
ステップＳ１７３では、アプリケーションロジック１３が、図１８のステップＳ１４３で指定されているデータセット名，保管データ１５４に加えて対象データ項目も指定してデータ管理ＩＦ１５２にデータ更新要求を行っている。
【０１２８】
ステップＳ１８３では、データセット１５３が、図１８のステップＳ１５３で指定されているデータセット名，汎用データ１５６に加えて対象データ項目も指定して永続化領域１５７にデータ更新要求を行っている。
【０１２９】
ステップＳ１８４では、永続化領域１５７が、図１８のステップＳ１５４で指定されているデータセット名，汎用データ１５６に加えて対象データ項目も指定して格納フォーマット１５８に変換要求を行っている。なお、永続データ生成時の汎用データ１５６から永続データ１５９への変換要求もステップＳ１８４と同じＩＦを利用する。この場合、対象データ項目を「全て」と指定する。
【０１３０】
このように、複合機は永続化手段１５１に登録されている永続データ１５９のうち、更新するデータ項目のみを、アプリケーションロジック１３からの要求により更新することもできる。
【０１３１】
（データ削除）
図２０はデータ削除処理の一例を表したシーケンス図である。アプリケーションロジック１３はステップＳ２０１に進み、データセット名，識別子を指定して、データ管理ＩＦ１５２にデータ削除要求を行う。ここで、識別子はＩＤ番号であり、データ検索で得られる保管データ１５４の中に含まれている。
【０１３２】
データ管理ＩＦ１５２はステップＳ２０２に進み、データセット名を指定して、データセット１５３にデータセット名確認要求を行う。ステップＳ２０３に進み、データセット１５３は確認結果を、データ管理ＩＦ１５２に送信する。
【０１３３】
データセット１５３のデータセット名がデータ削除要求で指定されたデータセット名であれば、データ管理ＩＦ１５２はステップＳ２０４に進み、データ削除要求で指定された識別子を指定して、データセット１５３にデータ削除要求を行う。また、ステップＳ２０５に進み、データセット１５３はデータセット名，識別子を指定して、永続化領域１５７にデータ削除要求を行う。
【０１３４】
ステップＳ２０６に進み、永続化領域１５７はデータセット名，識別子を指定して、永続化手段１５１にデータ削除要求を行う。ステップＳ２０７に進み、永続化手段１５１は識別子に応じた永続データ１５９を削除する。ステップＳ２０８に進み、永続化領域１５７は永続化手段１５１から削除結果を受信する。ステップＳ２０９に進み、データセット１５３は削除結果を永続化領域１５７から受信する。ステップＳ２１０に進み、データ管理ＩＦ１５２は削除結果をデータセット１５３から取得する。そして、ステップＳ２１１に進み、アプリケーションロジック１３は削除結果を受信する。
【０１３５】
このように、複合機は永続化手段１５１に登録されている永続データ１５９を、アプリケーションロジック１３からの要求により削除できる。
【０１３６】
（拡張データ図面追加）
図２１は拡張データ図面追加処理の一例を表したシーケンス図である。アプリケーションロジック１３はステップＳ２２１に進み、データ生成要求を行い、拡張データ図面２１２を生成する。ステップＳ２２２に進み、アプリケーションロジック１３は拡張データ図面２１２を取得する。ここで、拡張データ図面２１２とは拡張データと汎用データとの相互変換を行うコンポーネントである。また、拡張データとはアプリケーションロジック１３が利用可能なデータのうち、保管データ１５４以外のデータである。
【０１３７】
ステップＳ２２３に進み、アプリケーションロジック１３はデータ種別，拡張データ図面２１２を指定して、データ管理ＩＦ１５２に拡張データ図面追加要求を行う。データ管理ＩＦ１５２はステップＳ２２４に進み、データ種別，拡張データ図面２１２を指定して保管データファクトリ２１１に拡張データ図面追加要求を行う。
【０１３８】
ステップＳ２２５に進み、保管データファクトリ２１１はデータ種別を指定して、保管データ図面１５５にデータ種別確認要求を行う。ステップＳ２２６に進み、保管データ図面１５５はデータ種別確認要求に対する確認結果を、保管データファクトリ２１１に応答する。
【０１３９】
ステップＳ２２７に進み、保管データファクトリ２１１は拡張データ図面１５５を指定して、保管データ図面１５５に拡張データ図面追加要求を行う。保管データ図面１５５はステップＳ２２８に進み、拡張データ図面２１２を指定して、拡張データ図面追加作業を行う。
【０１４０】
ステップＳ２２８の拡張データ図面追加作業が終了すると、保管データファクトリ２１１はステップＳ２２９に進み、拡張データ図面２１２にパラメータ取得要求を行う。ステップＳ２３０に進み、保管データファクトリ２１１は拡張データ図面２１２からパラメータ一覧を受信する。
【０１４１】
ステップＳ２３１に進み、保管データファクトリ２１１はデータ種別，パラメータ一覧を指定して、永続化領域１５７にテーブル拡張要求を行う。ステップＳ２３２に進み、永続化領域１５７はデータ種別，変更操作種類「拡張」，パラメータ一覧を指定して、永続化手段１５１にテーブル変更要求を行う。
【０１４２】
このように、複合機はアプリケーションロジック１３からの要求により、拡張データ図面２１２を追加できる。
【０１４３】
（拡張データ図面削除）
図２２は拡張データ図面削除処理の一例を表したシーケンス図である。ステップＳ２４１に進み、アプリケーションロジック１３は、データ種別，拡張データ図面２１２を指定して、データ管理ＩＦ１５２に拡張データ図面削除要求を行う。データ管理ＩＦ１５２はステップＳ２４２に進み、データ種別，拡張データ図面２１２を指定して保管データファクトリ２１１に拡張データ図面削除要求を行う。
【０１４４】
ステップＳ２４３に進み、保管データファクトリ２１１はデータ種別を指定して、保管データ図面１５５にデータ種別確認要求を行う。ステップＳ２４４に進み、保管データ図面１５５はデータ種別確認要求に対する確認結果を、保管データファクトリ２１１に応答する。
【０１４５】
ステップＳ２４５に進み、保管データファクトリ２１１は拡張データ図面１５５を指定して、保管データ図面１５５に拡張データ図面削除要求を行う。保管データ図面１５５はステップＳ２４６に進み、拡張データ図面２１２を指定して、拡張データ図面削除作業を行う。
【０１４６】
ステップＳ２４６の拡張データ図面削除作業が終了すると、保管データファクトリ２１１はステップＳ２４７に進み、拡張データ図面２１２にパラメータ取得要求を行う。ステップＳ２４８に進み、保管データファクトリ２１１は拡張データ図面２１２からパラメータ一覧を受信する。
【０１４７】
ステップＳ２４９に進み、保管データファクトリ２１１はデータ種別，パラメータ一覧を指定して、永続化領域１５７にテーブル縮小要求を行う。ステップＳ２５０に進み、永続化領域１５７はデータ種別，変更操作種類「縮小」，パラメータ一覧を指定して、永続化手段１５１にテーブル変更要求を行う。
【０１４８】
このように、複合機はアプリケーションロジック１３からの要求により、拡張データ図面２１２を削除できる。
【０１４９】
（保管データ図面追加）
図２３は保管データ図面追加処理の一例を表したシーケンス図である。アプリケーションロジック１３はステップＳ２６１に進み、データ生成要求を行い、保管データ図面１５５を生成する。ステップＳ２６２に進み、アプリケーションロジック１３は保管データ図面１５５を取得する。
【０１５０】
ステップＳ２６３に進み、アプリケーションロジック１３はデータ種別，保管データ図面１５５を指定して、データ管理ＩＦ１５２に保管データ図面追加要求を行う。データ管理ＩＦ１５２はステップＳ２６４に進み、データ種別，保管データ図面１５５を指定して保管データファクトリ２１１に保管データ図面追加要求を行う。
【０１５１】
ステップＳ２６５に進み、保管データファクトリ２１１は保管データ図面１５５を指定して、保管データ図面追加作業を行う。ステップＳ２６６に進み、保管データファクトリ２１１はデータ種別を指定して、保管データ図面１５５にデータ種別確認要求を行う。ステップＳ２６７に進み、保管データ図面１５５は確認結果を、保管データファクトリ２１１に送信する。
【０１５２】
ステップＳ２６８に進み、保管データファクトリ２１１は保管データ図面１５５にパラメータ取得要求を行う。ステップＳ２６９に進み、保管データファクトリ２１１は保管データ図面１５５からパラメータ一覧を受信する。
【０１５３】
ステップＳ２７０に進み、保管データファクトリ２１１はデータ種別，パラメータ一覧を指定して、永続化領域１５７にテーブル作成要求を行う。ステップＳ２７１に進み、永続化領域１５７は、データ種別，パラメータ一覧を指定して、永続化手段１５１にテーブル作成要求を行う。
【０１５４】
このように、複合機はアプリケーションロジック１３からの要求により、保管データ図面１５５を追加できる。
【０１５５】
（保管データ図面削除）
図２４は保管データ図面削除処理の一例を表したシーケンス図である。ステップＳ２８１に進み、アプリケーションロジック１３は、データ種別，保管データ図面１５５を指定して、データ管理ＩＦ１５２に保管データ図面削除要求を行う。データ管理ＩＦ１５２はステップＳ２８２に進み、データ種別，保管データ図面１５５を指定して保管データファクトリ２１１に保管データ図面削除要求を行う。
【０１５６】
ステップＳ２８３に進み、保管データファクトリ２１１は保管データ図面１５５を指定して、保管データ図面削除作業を行う。ステップＳ２８４に進み、保管データファクトリ２１１は保管データ図面１５５にデータ種別確認要求を行う。保管データ図面１５５はステップＳ２８５に進み、データ種別確認要求に対する確認結果を、保管データファクトリ２１１に応答する。
【０１５７】
ステップＳ２８６に進み、保管データファクトリ２１１は保管データ図面１５５にパラメータ取得要求を行う。ステップＳ２８７に進み、保管データファクトリ２１１は保管データ図面１５５からパラメータ一覧を受信する。
【０１５８】
ステップＳ２８８に進み、保管データファクトリ２１１はデータ種別，パラメータ一覧を指定して、永続化領域１５７にテーブル削除要求を行う。ステップＳ２８９に進み、永続化領域１５７は、データ種別，パラメータ一覧を指定して、永続化手段１５１にテーブル削除要求を行う。
【０１５９】
このように、複合機はアプリケーションロジック１３からの要求により、保管データ図面１５５を削除できる。
【０１６０】
（データセット作成）
図２５はデータセット作成処理の一例を表したシーケンス図である。アプリケーションロジック１３はステップＳ２９１に進み、データセット名，データ種別，領域名を指定してデータ管理ＩＦ１５２にデータセット作成要求を行う。
【０１６１】
ステップＳ２９２に進み、データ管理ＩＦ１５２はデータセット名，データ種別，領域名を指定して、保管データファクトリ２１１にデータセット追加要求を行う。ステップＳ２９３に進み、保管データファクトリ２１１はデータ種別を指定して、保管データ図面１５５にデータ種別確認要求を行う。ステップＳ２９４に進み、保管データファクトリ２１１はデータ種別の確認結果を保管データ図面１５５から受信する。
【０１６２】
ステップＳ２９５に進み、保管データファクトリ２１１は領域名を指定して、永続化領域１５７に領域名確認要求を行う。ステップＳ２９６に進み、保管データファクトリ２１１は領域名の確認結果を永続化領域１５７から受信する。
【０１６３】
ステップＳ２９７に進み、保管データファクトリ２１１はデータセット名，保管データ図面１５５，永続化領域１５７を指定して、データセット１５３を生成する。ステップＳ２９８に進み、保管データファクトリ２１１はデータセット１５３を取得する。
【０１６４】
ステップＳ２９９に進み、保管データファクトリ２１１はデータセット１５３を指定して、データ管理ＩＦ１５２にデータセット登録を要求する。データ管理ＩＦ１５２はステップＳ３００に進み、データセット登録作業を行う。
【０１６５】
このように、複合機はアプリケーションロジック１３からの要求により、データセット１５３を作成できる。
【０１６６】
（データセット削除）
図２６はデータセット削除処理の一例を表したシーケンス図である。アプリケーションロジック１３はステップＳ３１１に進み、データセット名を指定してデータ管理ＩＦ１５２にデータセット削除要求を行う。
【０１６７】
ステップＳ３１２に進み、データ管理ＩＦ１５２は、データセット名を指定して、保管データファクトリ２１１にデータセット削除要求を行う。ステップＳ３１３に進み、保管データファクトリ２１１はデータセット名を指定して、データセット１５３にデータセット名確認要求を行う。
【０１６８】
ステップＳ３１４に進み、保管データファクトリ２１１はデータセット名の確認結果をデータセット１５３から受信する。ステップＳ３１５に進み、保管データファクトリ２１１はデータセット削除作業を行う。
【０１６９】
このように、複合機はアプリケーションロジック１３からの要求により、データセット１５３を削除できる。
（データ変換）
データ変換には、後述するような、汎用データから保管データへの変換，汎用データから拡張データへの変換，保管データから汎用データへの変換，拡張データから汎用データへの変換，汎用データから永続データへの変換，及び、永続データから汎用データへの変換がある。
【０１７０】
図２７は汎用データから保管データへのデータ変換処理の一例を表したフローチャートである。図２７のフローチャートに示す処理は、前述した保管データ図面１５５が行うものである。
【０１７１】
ステップＳ４００に進み、保管データ図面１５５は保管データのパラメータ名をキーに汎用データからパラメータ値を取得する。ステップＳ４０１に進み、保管データ図面１５５はパラメータ値が取得できたかを判定する。パラメータ値が取得できれば、保管データ図面１５５はステップＳ４００に戻り、保管データの次のパラメータについての処理を進める。
【０１７２】
なお、パラメータ値が取得できなければ、保管データ図面１５５はステップＳ４０２に進み、予め設定された初期値をパラメータ値としたあと、ステップＳ４００に戻り、保管データの次のパラメータについての処理を進める。ステップＳ４００〜Ｓ４０２の処理は保管データの次のパラメータが無くなるまで繰り返される。
【０１７３】
保管データの次のパラメータが無くなると、保管データ図面１５５はステップＳ４０３に進み、取得したパラメータ値を元に、保管データを生成する。保管データ図面１５５は拡張データ図面２１２があると、ステップＳ４０４に進む。
【０１７４】
ステップＳ４０４では、保管データ図面１５５が、拡張データ図面２１２に対して汎用データから拡張データへの変換を依頼する。汎用データから拡張データへのデータ変換処理は後述する。ステップＳ４０５に進み、保管データ図面１５５は拡張データ図面２１２から受け取った拡張データを保管データと関連付ける。
【０１７５】
保管データ図面１５５は拡張データ図面２１２から受け取った拡張データを保管データと関連付けたあと、ステップＳ４０６に進む。なお、拡張データ図面２１２がなければ保管データ図面１５５はステップＳ４０３からステップＳ４０６に進む。ステップＳ４０６では、保管データ図面１５５が、作成した保管データを依頼元（データセット１５３）に返す。
【０１７６】
図２７に示すフローチャートの処理により、保管データ図面１５５は汎用データから保管データへのデータ変換が可能である。
【０１７７】
図２８は汎用データから拡張データへのデータ変換処理の一例を表したフローチャートである。図２８のフローチャートに示す処理は、前述した拡張データ図面２１２が行うものである。
【０１７８】
ステップＳ４１０に進み、拡張データ図面２１２は拡張データのパラメータ名をキーに汎用データからパラメータ値を取得する。ステップＳ４１１に進み、拡張データ図面２１２はパラメータ値が取得できたかを判定する。パラメータ値が取得できれば、拡張データ図面２１２はステップＳ４１０に戻り、拡張データの次のパラメータについての処理を進める。
【０１７９】
なお、パラメータ値が取得できなければ、拡張データ図面２１２はステップＳ４１２に進み、予め設定された初期値をパラメータ値としたあと、ステップＳ４１０に戻り、拡張データの次のパラメータについての処理を進める。ステップＳ４１０〜Ｓ４１２の処理は拡張データの次のパラメータが無くなるまで繰り返される。拡張データの次のパラメータが無くなると、拡張データ図面２１２はステップＳ４１３に進み、取得したパラメータ値を元に、拡張データを生成する。
【０１８０】
図２８に示すフローチャートの処理により、拡張データ図面２１２は汎用データから拡張データへのデータ変換が可能である。
【０１８１】
図２９は保管データから汎用データへのデータ変換処理の一例を表したフローチャートである。図２９のフローチャートに示す処理は、前述した保管データ図面１５５が行うものである。
【０１８２】
ステップＳ４２０に進み、保管データ図面１５５は保管データのパラメータ値を取得する。ステップＳ４２１に進み、保管データ図面１５５はパラメータ名をキーとして、ステップＳ４２０で取得した保管データのパラメータ値を汎用データに格納する。保管データ図面１５５は格納していないパラメータが無くなるまでステップＳ４２０，Ｓ４２１の処理を繰り返す。
【０１８３】
保管データ図面１５５は拡張データがあると、ステップＳ４２２に進み、拡張データを取得する。ステップＳ４２３に進み、保管データ図面１５５は拡張データ図面２１２があるかを判定する。拡張データ図面２１２があれば、保管データ図面１５５は拡張データ及び拡張データ図面２１２の双方のパラメータ「データ種類」が等しいかを判定する。
【０１８４】
保管データ図面１５５は、双方のパラメータ「データ種類」が等しければステップＳ４２４に進み、拡張データ図面２１２に対して、拡張データから汎用データへの変換を依頼したあと、ステップＳ４２２に戻る。
【０１８５】
保管データ図面１５５は、双方のパラメータ「データ種類」が等しくなければステップＳ４２３に戻る。また、保管データ図面１５５は拡張データ図面２１２がないと（ステップＳ４２３においてＮＯ）、ステップＳ４２２に戻る。なお、保管データ図面１５５は拡張データが無くなるまでステップＳ４２２〜Ｓ４２４の処理を繰り返し行い、拡張データが無くなると、ステップＳ４２５に進む。そして、ステップＳ４２５では、保管データ図面１５５が、作成した汎用データを依頼元（データセット１５３）に返す。
【０１８６】
図２９に示すフローチャートの処理により、保管データ図面１５５は保管データから汎用データへのデータ変換が可能である。
【０１８７】
図３０は拡張データから汎用データへのデータ変換処理の一例を表したフローチャートである。図３０のフローチャートに示す処理は、前述した拡張データ図面２１２が行うものである。
【０１８８】
ステップＳ４３０に進み、拡張データ図面２１２は拡張データのパラメータ値を取得する。ステップＳ４３１に進み、拡張データ図面２１２はパラメータ名をキーとして、ステップＳ４３０で取得した拡張データのパラメータ値を，保管データ図面１５５から受け取った汎用データに格納する。拡張データ図面２１２は格納していないパラメータが無くなるまでステップＳ４３０，Ｓ４３１の処理を繰り返す。
【０１８９】
図３０に示すフローチャートの処理により、拡張データ図面２１２は拡張データから汎用データへのデータ変換が可能である。
【０１９０】
図３１は汎用データから永続データへのデータ変換処理の一例を表したフローチャートである。図３１のフローチャートに示す処理は、前述した格納フォーマット１５８が行うものである。
【０１９１】
ステップＳ４４０に進み、格納フォーマット１５８は永続データで必要とするデータ項目に対応する文字列をキーに汎用データからデータ項目値を取得する。ステップＳ４４１に進み、格納フォーマット１５８はデータ項目値が取得できたかを判定する。データ項目値が取得できれば、格納フォーマット１５８はステップＳ４４０に戻り、永続データで必要とするデータ項目の次のデータ項目についての処理を進める。
【０１９２】
なお、データ項目値が取得できなければ、格納フォーマット１５８はステップＳ４４２に進み、予め設定された初期値をデータ項目値としたあと、ステップＳ４４０に戻り、永続データで必要とするデータ項目の次のデータ項目についての処理を進める。ステップＳ４４０〜Ｓ４４２の処理は永続データで必要とするデータ項目の次のデータ項目が無くなるまで繰り返される。なお、永続データで必要とするデータ項目の次のデータ項目が無くなると、格納フォーマット１５８はステップＳ４４３に進み、取得したデータ項目値を元に、永続データを生成する。
【０１９３】
図３１に示すフローチャートの処理により、格納フォーマット１５８は汎用データから永続データへのデータ変換が可能である。
【０１９４】
図３２は永続データから汎用データへのデータ変換処理の一例を表したフローチャートである。図３２のフローチャートに示す処理は、前述した格納フォーマット１５８が行うものである。
【０１９５】
ステップＳ４５０に進み、格納フォーマット１５８は汎用データを作成する。ステップＳ４５１に進み、格納フォーマット１５８は永続データのデータ項目値を取得する。ステップＳ４５２に進み、格納フォーマット１５８はデータ項目に対応する文字列をキーとして、ステップＳ４５１で取得したデータ項目値をステップＳ４５０で作成した汎用データに格納する。そして、データ項目値を格納していないデータ項目が汎用データから無くなるまで、ステップＳ４５１〜Ｓ４５２の処理は、格納フォーマット１５８により繰り返される。
【０１９６】
図３２に示すフローチャートの処理により、格納フォーマット１５８は永続データから汎用データへのデータ変換が可能である。
【０１９７】
図３３はデータ変換の様子を表した構成図である。図３３の構成図は、保管データ図面１５５及び格納フォーマット１５８が、保管データ１５４，汎用データ１５６および永続データをデータ変換する例である。
【０１９８】
保管データ図面１５５は、保管データ１５４と汎用データ１５６とを相互にデータ変換する。なお、保管データ図面１５５は拡張データ図面２１２に依頼して、拡張データと汎用データ１５６とを相互にデータ変換する。格納フォーマット１５８は、汎用データ１５６と永続データ１５９とを相互にデータ変換する。
【０１９９】
アプリケーションロジック１３は保管データ１５４を利用可能である。また、永続化手段１５１は永続データ３３２を登録可能である。アプリケーションロジック１３は、保管データ図面一覧３３１により登録されている保管データ図面の一覧を確認できる。
【０２００】
データセット１５３はデータに対応する永続化領域１５７を記憶している。また、永続化領域１５７は永続化手段１５１に対するアクセス方法（データアクセスの手順）を記憶している。
【０２０１】
図３４は、データ変換の様子を表したイメージ図である。図３４のイメージ図はＤＢＭＳの例を表している。
【０２０２】
アプリケーションロジック１３で利用可能な保管データ１５４は、保管データ図面１５５により、データ項目名とデータ項目値とのセットである汎用データ１５６にデータ変換される。汎用データ１５６は、クラス定義を利用する保管データ図面１５５により、保管データ１５４にデータ変換される。
【０２０３】
また、永続化手段１５１に登録可能な永続データ３３２は、テーブル定義を利用する格納フォーマット１５８により、汎用データ１５６にデータ変換される。永続データ３３２は格納フォーマット１５８により、汎用データ１５６にデータ変換される。
【０２０４】
図３５は、データ変換の様子を表したオブジェクト図である。ユーザ情報オブジェクト３５１及びユーザ情報オブジェクト図面３５２は付け外し可能な単位であるバンドル単位である。ＤＢユーザ情報フォーマット３５３及びＤＢユーザ情報３５４はバンドル単位である。ＸＭＬユーザ情報フォーマット３５５及びＸＭＬユーザ情報３５６はバンドル単位である。ＬＤＡＰユーザ情報フォーマット３５７及びＬＤＡＰユーザ情報３５８はバンドル単位である。
【０２０５】
ユーザ情報オブジェクト３５１は保管データ１５４に対応する。ユーザ情報オブジェクト図面３５２は保管データ図面１５５に対応する。ＤＢユーザ情報フォーマット３５３は格納フォーマット１５８に対応する。ＤＢユーザ情報３５４は永続データ３３２に対応する。ＸＭＬユーザ情報フォーマット３５５は格納フォーマット１５８に対応する。ＸＭＬユーザ情報３５６は永続データ３３２に対応する。ＬＤＡＰユーザ情報フォーマット３５７は格納フォーマット１５８に対応する。ＬＤＡＰユーザ情報３５８は永続データ３３２に対応する。
【０２０６】
図３６は、アプリケーションロジックと保管データの種類との関係を表したオブジェクト図である。図３６のオブジェクト図はユーザ情報を例とし、複合機のオペレーションパネル上等でユーザとしてのアプリケーションロジック１３が、永続化手段１５１の違いを意識する場合を示している。例えばオペレーションパネル上には、アドレス帳選択画面３６９が表示される。
【０２０７】
ローカルユーザ情報３６１，ＳＤカードユーザ情報３６２，ＬＤＡＰサーバユーザ情報３６３，アドレス帳サーバユーザ情報３６４は、データセット１４３のインスタンスを示している。ローカルＤＢ３６５，ＳＤカード３６６，ＬＤＡＰサーバ３６７，アドレス帳サーバ３６８は、永続化領域１４７のインスタンスを示している。
【０２０８】
なお、アプリケーションロジック１３が永続化手段１５１の違いを意識しない場合のオブジェクト図は図３７のようになる。図３７は、アプリケーションロジックと保管データの種類との関係を表したオブジェクト図である。ＵＰ情報３７１はデータセットのインスタンスを示している。ローカルＤＢ３７２，ＮＶＲＡＭ３７３，スキャナ３７４，プロッタ３７５は、永続化領域１４７のインスタンスを示している。
【０２０９】
図３８はデータ登録のイメージ図である。図３８では一例としてユーザ情報のデータ登録のイメージを示している。例えばＳＤカードにはｅ−ｍａｉｌ情報を保存するデータ項目が容易されていないものとする。
【０２１０】
保管データのユーザ情報３８１，拡張データのＦＡＸ情報３８２，拡張データのｅ−ｍａｉｌ情報３８３は、汎用データ３８４にデータ変換される。汎用データ３８４から永続データのＳＤカードユーザ情報にデータ変換するとき、ＳＤカードにｅ−ｍａｉｌ情報を保存するデータ項目が用意されていないため、ＳＤカードユーザ情報３８５がｅ−ｍａｉｌ情報に属するデータ項目「ｅ−ｍａｉｌアドレス」，「署名情報」を無視している。
【０２１１】
図３９はデータ取得のイメージ図である。図３９では一例としてユーザ情報のデータ取得のイメージを示している。例えば複合機にはＦＡＸ機能が入っていないため、ＦＡＸ情報が存在しない。
【０２１２】
ＳＤカードユーザ情報３９４は、汎用データ３９３にデータ変換される。汎用データ３９３から保管データ又は拡張データにデータ変換するとき、ユーザ情報３９１に属しているデータ項目「ユーザ名」，「よみがな」は、保管データのユーザ情報にデータ変換されている。
【０２１３】
一方、汎用データ３９３から保管データ又は拡張データにデータ変換するとき、複合機にＦＡＸ機能が入っていないため、ＦＡＸ情報に属するデータ項目「ＦＡＸ番号」，「回線種別」は破棄されている。
【０２１４】
また、ＳＤカードユーザ情報３９４にｅ−ｍａｉｌ情報が無かったため、予め設定されている初期値を元に拡張データのｅ−ｍａｉｌ情報３９２を作成してアプリケーションロジック１３に取得させている。
【０２１５】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。特許請求の範囲に記載したデータ管理手段がデータ管理コンポーネント７３に対応し、データセット手段がデータセット７６に対応し、データセット管理手段がデータセット管理７５に対応する。
【図面の簡単な説明】
【０２１６】
【図１】ＦＡＸ機能を追加するときの処理の一例を表したシーケンス図である。
【図２】本発明による複合機の一例の構成図である。
【図３】本発明の概要を表すクラス図である。
【図４】複数のデータ保存手段を持つ場合のクラス図である。
【図５】図３のクラス図をインスタンスで表現したインスタンス図である。
【図６】ＦＡＸ機能追加の場合の本発明の機能概要を表したイメージ図である。
【図７】ＦＡＸ機能追加時の複合機における処理を表したシーケンス図である。
【図８】データセット管理の処理を示すフローチャートである。
【図９】データセットの処理を示すフローチャートである。
【図１０】初期化要求を受信したデータセットの処理を示すフローチャートである。
【図１１】ＳｃａｎＴｏＥ−ｍａｉｌ機能追加時の複合機における処理を表したシーケンス図である。
【図１２】ドキュメントボックス機能追加時の複合機における処理を表したシーケンス図である。
【図１３】ＦＡＸ機能追加時にリモートデータサーバのテーブルを拡張する複合機の処理を表したシーケンス図である。
【図１４】本発明の詳細を表すクラス図である。
【図１５】データ登録処理の一例を表したシーケンス図である。
【図１６】データ検索処理の一例を表したシーケンス図である。
【図１７】検索条件とデータ検索クエリとの関係を示すクラス図である。
【図１８】データ更新処理の一例を表したシーケンス図である。
【図１９】データ更新処理の他の例を表したシーケンス図である。
【図２０】データ削除処理の一例を表したシーケンス図である。
【図２１】拡張データ図面追加処理の一例を表したシーケンス図である。
【図２２】拡張データ図面削除処理の一例を表したシーケンス図である。
【図２３】保管データ図面追加処理の一例を表したシーケンス図である。
【図２４】保管データ図面削除処理の一例を表したシーケンス図である。
【図２５】データセット作成処理の一例を表したシーケンス図である。
【図２６】データセット削除処理の一例を表したシーケンス図である。
【図２７】汎用データから保管データへのデータ変換処理の一例を表したフローチャートである。
【図２８】汎用データから拡張データへのデータ変換処理の一例を表したフローチャートである。
【図２９】保管データから汎用データへのデータ変換処理の一例を表したフローチャートである。
【図３０】拡張データから汎用データへのデータ変換処理の一例を表したフローチャートである。
【図３１】汎用データから永続データへのデータ変換処理の一例を表したフローチャートである。
【図３２】永続データから汎用データへのデータ変換処理の一例を表したフローチャートである。
【図３３】データ変換の様子を表した構成図である。
【図３４】データ変換の様子を表したイメージ図である。
【図３５】データ変換の様子を表したオブジェクト図である。
【図３６】アプリケーションロジックと保管データの種類との関係を表したオブジェクト図である。
【図３７】アプリケーションロジックと保管データの種類との関係を表したオブジェクト図である。
【図３８】データ登録のイメージ図である。
【図３９】データ取得のイメージ図である。
【符号の説明】
【０２１７】
１０    コントローラ
１１    ユーザインターフェースコンポーネント
１２    コントロールコンポーネント
１３    アプリケーションロジックコンポーネント
１４    デバイスサービスコンポーネント
１５    アスペクトコンポーネント
２０    ハードウェア
２１    ネットワークデバイス
２２    ハードディスクドライブ（ＨＤＤ）デバイス
２３    ＦＡＸデバイス
２４    エンジンデバイス
３１    追加コンポーネントクラス
３２    データセット管理クラス
３３    データセットクラス
７１    プラグイン管理コンポーネント
７２    ＦＡＸプラグインコンポーネント
７３    データ管理コンポーネント
７４    データベース管理システム（ＤＢＭＳ）
７５    データセット管理
７６    データセット
【図１】
2008099022.tif 000003
【図２】
2008099022.tif 000004
【図３】
2008099022.tif 000005
【図４】
2008099022.tif 000006
【図５】
2008099022.tif 000007
【図６】
2008099022.tif 000008
【図７】
2008099022.tif 000009
【図８】
2008099022.tif 000010
【図９】
2008099022.tif 000011
【図１０】
2008099022.tif 000012
【図１１】
2008099022.tif 000013
【図１２】
2008099022.tif 000014
【図１３】
2008099022.tif 000015
【図１４】
2008099022.tif 000016
【図１５】
2008099022.tif 000017
【図１６】
2008099022.tif 000018
【図１７】
2008099022.tif 000019
【図１８】
2008099022.tif 000020
【図１９】
2008099022.tif 000021
【図２０】
2008099022.tif 000022
【図２１】
2008099022.tif 000023
【図２２】
2008099022.tif 000024
【図２３】
2008099022.tif 000025
【図２４】
2008099022.tif 000026
【図２５】
2008099022.tif 000027
【図２６】
2008099022.tif 000028
【図２７】
2008099022.tif 000029
【図２８】
2008099022.tif 000030
【図２９】
2008099022.tif 000031
【図３０】
2008099022.tif 000032
【図３１】
2008099022.tif 000033
【図３２】
2008099022.tif 000034
【図３３】
2008099022.tif 000035
【図３４】
2008099022.tif 000036
【図３５】
2008099022.tif 000037
【図３６】
2008099022.tif 000038
【図３７】
2008099022.tif 000039
【図３８】
2008099022.tif 000040
【図３９】
2008099022.tif 000041