(57)【要約】【課題】フレームワーク型プラットフォームのフレームワーク変更へのプラットフォーム互換機構の対応が容易であり、開発・保守工数を削減できる情報処理装置、画像形成装置及びプラットフォーム互換方法を提供することを目的とする。【解決手段】情報処理装置であって、第１インターフェースに対応する処理を、フレームワークに基づいて実行するフレームワーク型プラットフォーム２０と、非フレームワーク型プラットフォーム機能の第２インターフェースを提供し、非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォーム２０に実行させるプラットフォーム互換機構３０とを有し、プラットフォーム互換機構３０は、非フレームワーク型プラットフォーム機能部８１Ｘと、共通インターフェース定義部８２と、共通処理部８３とを有することにより上記課題を解決する。【選択図】  図８
2010181977.tif 000002
【特許請求の範囲】
【請求項１】
フレームワーク型プラットフォーム上で動作するフレームワーク型プラットフォーム用プログラムと、非フレームワーク型プラットフォーム上で動作する非フレームワーク型プラットフォーム用プログラムとを実行可能な情報処理装置であって、
フレームワーク型プラットフォーム機能の第１インターフェースを提供し、呼び出された第１インターフェースに対応する処理をフレームワークに基づいて実行するフレームワーク型プラットフォームと、
非フレームワーク型プラットフォーム機能の第２インターフェースを提供し、呼び出された第２インターフェースに対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換し、フレームワーク型プラットフォームの第１インターフェースを呼び出して、第１インターフェースに対応する処理を実行させるプラットフォーム互換機構と
を有し、
前記プラットフォーム互換機構は、
非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受け、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示する非フレームワーク型プラットフォーム機能部と、
第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認すると共に、１つ以上の前記非フレームワーク型プラットフォーム機能部から指示された処理に対応するフレームワークの具象情報を構築する共通インターフェース定義部と、
前記共通インターフェース定義部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換し、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行する共通処理部と
を有する情報処理装置。
【請求項２】
前記プラットフォーム互換機構は、更に、
サービス定義部と具象定義部とを有し、
前記非フレームワーク型プラットフォーム機能部は、非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受け、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示し、
前記サービス定義部は、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認し、
前記共通インターフェース定義部は、１つ以上の前記非フレームワーク型プラットフォーム用機能部から指示された処理に対応するフレームワークの具象情報を前記具象定義部から取得して構築し、
前記共通処理部は、前記共通インターフェース定義部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換し、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行する
請求項１記載の情報処理装置。
【請求項３】
前記プラットフォーム互換機構は、更に、
基本サービス部を有し、
前記非フレームワーク型プラットフォーム機能部は、非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受け、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示し、
前記サービス定義部は、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認し、
前記共通インターフェース定義部は、前記基本サービス部を作成し、
前記基本サービス部は、１つ以上の前記非フレームワーク型プラットフォーム用機能部から指示された処理に対応するフレームワークの具象情報を前記具象定義部から取得して構築し、
前記共通処理部は、前記基本サービス部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換し、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行する
請求項２記載の情報処理装置。
【請求項４】
前記プラットフォーム互換機構は、第２インターフェースに対応する同一の非フレームワーク型プラットフォームの処理を続けて行う場合、
前記非フレームワーク型プラットフォーム機能部は、前記共通インターフェース定義部に第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認させることなく、第２インターフェースに対応する非フレームワーク型プラットフォームの処理の実行を指示することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記プラットフォーム互換機構は、第２インターフェースに対応する同一の非フレームワーク型プラットフォームの処理を続けて行う場合、
前記非フレームワーク型プラットフォーム機能部は、前記サービス定義部に、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認させることなく、前記共通インターフェース定義部に、第２インターフェースに対応する非フレームワーク型プラットフォームの処理の実行を指示することを特徴とする請求項２又は３記載の情報処理装置。
【請求項６】
プロッタ，スキャナの少なくとも一方を有し、フレームワーク型プラットフォーム上で動作するフレームワーク型プラットフォーム用プログラムと、非フレームワーク型プラットフォーム上で動作する非フレームワーク型プラットフォーム用プログラムとを実行可能な画像形成装置であって、
フレームワーク型プラットフォーム機能の第１インターフェースを提供し、呼び出された第１インターフェースに対応する処理をフレームワークに基づいて実行するフレームワーク型プラットフォームと、
非フレームワーク型プラットフォーム機能の第２インターフェースを提供し、呼び出された第２インターフェースに対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換し、フレームワーク型プラットフォームの第１インターフェースを呼び出して、第１インターフェースに対応する処理を実行させるプラットフォーム互換機構と
を有し、
前記プラットフォーム互換機構は、
非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受け、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示する非フレームワーク型プラットフォーム機能部と、
第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認すると共に、１つ以上の前記非フレームワーク型プラットフォーム機能部から指示された処理に対応するフレームワークの具象情報を構築する共通インターフェース定義部と、
前記共通インターフェース定義部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換し、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行する共通処理部と
を有する画像形成装置。
【請求項７】
前記プラットフォーム互換機構は、更に、
サービス定義部と具象定義部とを有し、
前記非フレームワーク型プラットフォーム機能部は、非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受け、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示し、
前記サービス定義部は、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認し、
前記共通インターフェース定義部は、１つ以上の前記非フレームワーク型プラットフォーム用機能部から指示された処理に対応するフレームワークの具象情報を前記具象定義部から取得して構築し、
前記共通処理部は、前記共通インターフェース定義部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換し、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行する
請求項６記載の画像形成装置。
【請求項８】
前記プラットフォーム互換機構は、更に、
基本サービス部を有し、
前記非フレームワーク型プラットフォーム機能部は、非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受け、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示し、
前記サービス定義部は、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認し、
前記共通インターフェース定義部は、前記基本サービス部を作成し、
前記基本サービス部は、１つ以上の前記非フレームワーク型プラットフォーム用機能部から指示された処理に対応するフレームワークの具象情報を前記具象定義部から取得して構築し、
前記共通処理部は、前記基本サービス部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換し、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行する
請求項７記載の画像形成装置。
【請求項９】
前記プラットフォーム互換機構は、第２インターフェースに対応する同一の非フレームワーク型プラットフォームの処理を続けて行う場合、
前記非フレームワーク型プラットフォーム機能部は、前記共通インターフェース定義部に第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認させることなく、第２インターフェースに対応する非フレームワーク型プラットフォームの処理の実行を指示することを特徴とする請求項６記載の画像形成装置。
【請求項１０】
前記プラットフォーム互換機構は、第２インターフェースに対応する同一の非フレームワーク型プラットフォームの処理を続けて行う場合、
前記非フレームワーク型プラットフォーム機能部は、前記サービス定義部に、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認させることなく、前記共通インターフェース定義部に、第２インターフェースに対応する非フレームワーク型プラットフォームの処理の実行を指示することを特徴とする請求項７又は８記載の画像形成装置。
【請求項１１】
フレームワーク型プラットフォーム上で動作するフレームワーク型プラットフォーム用プログラムと、非フレームワーク型プラットフォーム上で動作する非フレームワーク型プラットフォーム用プログラムとを実行可能な情報処理装置のプラットフォーム互換方法であって、
前記情報処理装置は、
フレームワーク型プラットフォーム機能の第１インターフェースを提供し、呼び出された第１インターフェースに対応する処理をフレームワークに基づいて実行するフレームワーク型プラットフォームと、
非フレームワーク型プラットフォーム機能の第２インターフェースを提供し、呼び出された第２インターフェースに対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換し、フレームワーク型プラットフォームの第１インターフェースを呼び出して、第１インターフェースに対応する処理を実行させるプラットフォーム互換機構と
を有し、
前記プラットフォーム互換機構は、非フレームワーク型プラットフォーム機能部と、共通インターフェース定義部と、共通処理部とを有し、
前記非フレームワーク型プラットフォーム機能部が、非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受けるステップと、
前記共通インターフェース定義部が、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認するステップと、
前記非フレームワーク型プラットフォーム機能部が、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示するステップと、
前記共通インターフェース定義部が、１つ以上の前記非フレームワーク型プラットフォーム機能部から指示された処理に対応するフレームワークの具象情報を構築するステップと、
前記共通処理部が、前記共通インターフェース定義部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換するステップと、
前記共通処理部が、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行するステップと
を有するプラットフォーム互換方法。
【請求項１２】
前記プラットフォーム互換機構は、更に、
サービス定義部と具象定義部とを有し、
前記非フレームワーク型プラットフォーム機能部が、非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受けるステップと、
前記サービス定義部が、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認するステップと、
前記非フレームワーク型プラットフォーム機能部が、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示するステップと、
前記共通インターフェース定義部が、１つ以上の前記非フレームワーク型プラットフォーム用機能部から指示された処理に対応するフレームワークの具象情報を前記具象定義部から取得して構築するステップと、
前記共通処理部が、前記共通インターフェース定義部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換するステップと、
前記共通処理部が、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行するステップと
を有する請求項１１記載のプラットフォーム互換方法。
【請求項１３】
前記プラットフォーム互換機構は、更に、
基本サービス部を有し、
前記非フレームワーク型プラットフォーム機能部が、非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受けるステップと、
前記サービス定義部が、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認するステップと、
前記非フレームワーク型プラットフォーム機能部が、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示するステップと、
前記共通インターフェース定義部が、前記基本サービス部を作成するステップと、
前記基本サービス部が、１つ以上の前記非フレームワーク型プラットフォーム用機能部から指示された処理に対応するフレームワークの具象情報を前記具象定義部から取得して構築するステップと、
前記共通処理部が、前記基本サービス部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換するステップと、
前記共通処理部が、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行するステップと
を有する請求項１２記載のプラットフォーム互換方法。
【請求項１４】
プロッタ，スキャナの少なくとも一方を有し、フレームワーク型プラットフォーム上で動作するフレームワーク型プラットフォーム用プログラムと、非フレームワーク型プラットフォーム上で動作する非フレームワーク型プラットフォーム用プログラムとを実行可能な画像形成装置のプラットフォーム互換方法であって、
前記画像形成装置は、
フレームワーク型プラットフォーム機能の第１インターフェースを提供し、呼び出された第１インターフェースに対応する処理をフレームワークに基づいて実行するフレームワーク型プラットフォームと、
非フレームワーク型プラットフォーム機能の第２インターフェースを提供し、呼び出された第２インターフェースに対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換し、フレームワーク型プラットフォームの第１インターフェースを呼び出して、第１インターフェースに対応する処理を実行させるプラットフォーム互換機構と
を有し、
前記プラットフォーム互換機構は、非フレームワーク型プラットフォーム機能部と、共通インターフェース定義部と、共通処理部とを有し、
前記非フレームワーク型プラットフォーム機能部が、非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受けるステップと、
前記共通インターフェース定義部が、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認するステップと、
前記非フレームワーク型プラットフォーム機能部が、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示するステップと、
前記共通インターフェース定義部が、１つ以上の前記非フレームワーク型プラットフォーム機能部から指示された処理に対応するフレームワークの具象情報を構築するステップと、
前記共通処理部が、前記共通インターフェース定義部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換するステップと、
前記共通処理部が、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行するステップと
を有するプラットフォーム互換方法。
【請求項１５】
前記プラットフォーム互換機構は、更に、
サービス定義部と具象定義部とを有し、
前記非フレームワーク型プラットフォーム機能部が、非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受けるステップと、
前記サービス定義部が、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認するステップと、
前記非フレームワーク型プラットフォーム機能部が、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示するステップと、
前記共通インターフェース定義部が、１つ以上の前記非フレームワーク型プラットフォーム用機能部から指示された処理に対応するフレームワークの具象情報を前記具象定義部から取得して構築するステップと、
前記共通処理部が、前記共通インターフェース定義部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換するステップと、
前記共通処理部が、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行するステップと
を有する請求項１４記載のプラットフォーム互換方法。
【請求項１６】
前記プラットフォーム互換機構は、更に、
基本サービス部を有し、
前記非フレームワーク型プラットフォーム機能部が、非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受けるステップと、
前記サービス定義部が、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認するステップと、
前記非フレームワーク型プラットフォーム機能部が、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示するステップと、
前記共通インターフェース定義部が、前記基本サービス部を作成するステップと、
前記基本サービス部が、１つ以上の前記非フレームワーク型プラットフォーム用機能部から指示された処理に対応するフレームワークの具象情報を前記具象定義部から取得して構築するステップと、
前記共通処理部が、前記基本サービス部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換するステップと、
前記共通処理部が、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行するステップと
を有する請求項１５記載のプラットフォーム互換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、画像形成装置及びプラットフォーム互換方法に係り、特に異なるプラットフォーム用プログラムを実行する情報処理装置、画像形成装置及びプラットフォーム互換方法に関する。
【背景技術】
【０００２】
現在のソフトウェアはプラットフォームと呼ばれる土台部分と、その土台部分で動作するアプリケーションから構成されることが非常に多い。この理由は、プラットフォームの備える共通利用可能なインターフェース（Ｉ／Ｆ）を、個々のアプリケーションに自由に利用させることで、アプリケーション開発者の開発範囲を小さくし、開発効率を飛躍的に向上するメリットがある為である（特許文献１及び２参照）。
【０００３】
また、さまざまなＩＴ技術の進化にともない、プラットフォームにも世代交代が発生することが起こりえる。プラットフォームの世代交代において、新規プラットフォーム上でも旧プラットフォーム上で動作していたアプリケーションを動作させて欲しいという要望は非常に大きい。
【０００４】
この理由は、アプリケーション開発者にとって新規プラットフォームに対応するための開発工数を削減できるし、製品の購入者にとっても旧プラットフォームが備えていた様々なアプリケーション資産を、新しいプラットフォーム上でそのまま利用することができるためである。
【０００５】
これらの要望（アプリケーションの上位互換）に応えることは、製造者にとっても大きな使命である。図１はアプリケーション開発者が開発するアプリケーションと動作可能範囲を示す模式図である。
【０００６】
アプリケーションを開発する開発者（アプリケーション開発者）１は、古いプラットフォーム（旧プラットフォーム）４と、新しいプラットフォーム（新プラットフォーム）５とがあった場合、それぞれの旧プラットフォーム４及び新プラットフォーム５用にアプリケーションを開発する。
【０００７】
本来、旧プラットフォーム４用に開発したアプリケーション（旧プラットフォーム用アプリケーション）２は、旧プラットフォーム４上での動作が想定されており、新プラットフォーム５上での動作は出来ない。
【０００８】
しかし、旧プラットフォーム用アプリケーション２が、そのまま新プラットフォーム５上でも動作可能になれば、アプリケーション開発者１は新プラットフォーム５に対応させるための工数がかからない。新プラットフォーム５は、新プラットフォーム用アプリケーション３だけでなく、旧プラットフォーム用アプリケーション２も資産とすることが出来る。
【０００９】
また、近年では、ソフトウェアの開発方法として、フレームワークと呼ばれる雛形を元に、具象と呼ばれる個々の具体的な処理を記載し、ソフトウェアの開発効率を向上させる作り方を備えた方法が、一般的となってきた。
【００１０】
図２はフレームワークを用いたソフトウェア開発の構成図である。フレームワーク１１では、具体的な機能のいくつかに共通する処理を共通部として定義する。アプリケーションはフレームワーク１１が用意するＩ／Ｆを利用する。共通部として定義された以外の具体的な処理は、それぞれの具象１２Ａ〜１２Ｃと呼ばれる部分が担当する。
【００１１】
例えば、内部に搭載されている機器情報を扱う機能と、蓄積されている文書情報を扱う機能とがあったとする。それらの機能に対して、情報の追加や削除、更新といった処理が行われるときは、一般的な情報を追加、削除、更新するといった処理をフレームワーク１１で定義しておき、実際に扱う情報の詳細（機器情報、文書情報）を具象１２Ａ〜１２Ｃ側で定義しておくといったような分け方をする。
【００１２】
つまり、図２の構成図では、機器情報を扱う場合も、文書情報を扱う場合も、同様のフレームワーク１１を用いることでソフトウェアの開発が出来る。これにより、フレームワーク１１を用いたソフトウェア開発はアプリケーション作成の工数削減を図り、また、共通部が一箇所に集約することで、保守工数の削減というメリットがある。
【００１３】
さらに、近年では、フレームワークを用いたソフトウェア開発の考え方をプラットフォーム開発に適用し、プラットフォーム自体をフレームワークと具象ソフトウェア（以下、単に具象と呼ぶ）とで構成したものも出現し始めている。
【００１４】
図３はフレームワーク型プラットフォームと、フレームワーク型プラットフォーム上で動作するアプリケーションとの関係を示した構成図である。フレームワーク型プラットフォーム２０には、複数のフレームワーク２２Ａ，２２Ｂが用意され、それぞれのフレームワーク２２Ａ，２２Ｂを拡張した具象２３Ａ〜２３Ｆが存在する。
【００１５】
アプリケーション（以下、単にアプリと呼ぶ）２１Ａ〜２１Ｄは、それぞれのフレームワーク２２Ａ，２２Ｂを利用して開発され、実際に各具象２３Ａ〜２３Ｆが提供する様々な処理（機能）を実現できる。フレームワーク２２Ａ，２２Ｂを利用して開発するということは、言い換えるとフレームワーク２２Ａ，２２Ｂの提供するＩ／Ｆを利用する、という意味である。また、フレームワーク２２Ａ，２２Ｂを利用して開発するということは、フレームワーク型プラットフォーム２０のＩ／Ｆを利用するのと同意である。これは、フレームワーク型プラットフォーム２０は複数のフレームワーク２２Ａ，２２Ｂで構成されるためである。
【００１６】
このフレームワーク２２Ａ，２２Ｂを用いたフレームワーク型プラットフォーム２０では、アプリ開発用に以下のようなＩ／Ｆが用意される。アプリ２１Ａ〜２１Ｄが呼び出すＩ／Ｆは、フレームワーク２２Ａ，２２Ｂが定義する共通Ｉ／Ｆである。また、アプリ２１Ａ〜２１Ｄは、Ｉ／Ｆに付随するパラメータとして具象２３Ａ〜２３Ｆを特定する情報を指定する。
【００１７】
フレームワーク型プラットフォーム２０の利点としては、アプリ２１Ａ〜２１Ｄが利用するＩ／Ｆを共通Ｉ／Ｆに統一できるので、様々なバリエーションを持ったアプリを作りやすい（アプリ２１Ａ〜２１Ｄの作り方が固定されているので知識習得に時間が掛からず開発が容易）ということと、共通部をフレームワーク化することで機能拡張する際の開発・保守工数を削減できるということとがある。
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかし、開発中のフレームワーク型プラットフォーム２０のフレームワーク２２Ａ，２２Ｂにおいては、アプリ２１Ａ〜２１Ｄを作りやすいという利点と、共通部をフレームワーク化することで機能拡張する際の開発・保守工数を削減できるという利点とが当てはまらない。
【００１９】
開発中のフレームワーク型プラットフォーム２０のフレームワーク２２Ａ，２２Ｂにおいては、機能追加に伴い、フレームワーク２２Ａ，２２Ｂの定義に抜けが見つかると、フレームワーク２２Ａ，２２ＢのＩ／Ｆ変更が発生することが多く、そのＩ／Ｆ変更の影響をアプリ２１Ａ〜２１Ｄが受けてしまうという課題があるからである。
【００２０】
図４はフレームワーク型プラットフォーム開発におけるデメリットを説明するための一例の構成図である。最初は図３と同様に、フレームワーク２２Ａに対して具象２３Ａ〜２３Ｃが提供されていたとする。ここでは、フレームワーク型プラットフォーム２０の開発中に、フレームワーク型プラットフォーム２０は具象２３Ｇ，２３Ｈを追加することになり、フレームワーク２２Ａの定義に不足があることが判明したケースを説明する。
【００２１】
このようなケースでは、フレームワーク２２ＡのＩ／Ｆに変更が入り、フレームワーク２２Ａ＋が再定義される。フレームワーク２２Ａ＋が再定義された影響は、フレームワーク２２Ａを利用していたアプリ２１Ａ〜２１Ｃの全てに及んでしまう。したがって、アプリ２１Ａ〜２１Ｃは新規で追加された具象２３Ｇ，２３Ｈの機能を利用する利用しないに関わらず、フレームワーク２２Ａ＋のＩ／Ｆ変更に対応する必要があり、開発工数に大きな影響を与えるという問題があった。
【００２２】
製造者はフレームワーク型プラットフォーム２０の上位互換を実現するために、下位プラットフォームとして非フレームワーク型プラットフォームを採用している場合、非フレームワーク型プラットフォーム上で動作するアプリケーションをフレームワーク型プラットフォーム上で動作させる為のプラットフォーム互換機構においても、フレームワーク２２Ａ＋のＩ／Ｆ変更への対応工数増加という問題が発生するため、開発効率が大きく低下してしまうという問題があった。
【００２３】
図５はフレームワーク型プラットフォーム開発におけるデメリットを説明するための他の例の構成図である。ここでは、開発中のフレームワーク型プラットフォーム２０上で、非フレームワーク型プラットフォームとのプラットフォーム互換機構３０を開発しているものとする。
【００２４】
プラットフォーム互換機構３０は、昔の非フレームワーク型プラットフォームで提供していた非フレームワーク型プラットフォーム機能３２Ｘ、３２Ｙを提供するように構成されている。なお、非フレームワーク型プラットフォームは機能ごとにＡＰＩ（Application Program Interface）を提供していたものとする。
【００２５】
図４と同様、非フレームワーク型プラットフォーム機能３２Ｘと非フレームワーク型プラットフォーム機能３２Ｙとは、フレームワーク２２ＡのＩ／Ｆに変更が入った場合、フレームワーク２２ＡのＩ／Ｆ変更への対応をする必要が発生してしまう。フレームワーク型プラットフォーム２０が開発中である場合は、フレームワーク２２Ａを変更する可能性が高く、プラットフォーム互換機構３０を同時に開発していると、プラットフォーム互換機構３０においても対応工数が大きくなってしまうという問題があった。
【００２６】
なお、特許文献１及び２はアプリケーションの変化にプラットフォームが適切に対応できる仕組みを備える画像形成装置について記載されたものであるが、プラットフォーム互換機構について考慮されていない。
【００２７】
本発明は、上記の点に鑑みなされたもので、フレームワーク型プラットフォームのフレームワーク変更へのプラットフォーム互換機構の対応が容易であり、開発・保守工数を削減できる情報処理装置、画像形成装置及びプラットフォーム互換方法を提供することを目的とする。
【課題を解決するための手段】
【００２８】
上記課題を解決するため、本発明は、フレームワーク型プラットフォーム上で動作するフレームワーク型プラットフォーム用プログラムと、非フレームワーク型プラットフォーム上で動作する非フレームワーク型プラットフォーム用プログラムとを実行可能な情報処理装置であって、フレームワーク型プラットフォーム機能の第１インターフェースを提供し、呼び出された第１インターフェースに対応する処理をフレームワークに基づいて実行するフレームワーク型プラットフォームと、非フレームワーク型プラットフォーム機能の第２インターフェースを提供し、呼び出された第２インターフェースに対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換し、フレームワーク型プラットフォームの第１インターフェースを呼び出して、第１インターフェースに対応する処理を実行させるプラットフォーム互換機構とを有し、前記プラットフォーム互換機構は、非フレームワーク型プラットフォーム用プログラムから第２インターフェースの呼び出しを受け、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるときに処理を指示する非フレームワーク型プラットフォーム機能部と、第２インターフェースに対応する非フレームワーク型プラットフォームの処理がフレームワーク型プラットフォームの提供するフレームワークを利用して実行できるかを確認すると共に、１つ以上の前記非フレームワーク型プラットフォーム機能部から指示された処理に対応するフレームワークの具象情報を構築する共通インターフェース定義部と、前記共通インターフェース定義部から指示された処理に対応する非フレームワーク型プラットフォームの処理をフレームワーク型プラットフォームの処理に変換し、変換したフレームワーク型プラットフォームの処理を、構築した具象情報に基づき、フレームワーク型プラットフォームの提供するフレームワークを利用して実行する共通処理部とを有する。
【００２９】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００３０】
本発明によれば、フレームワーク型プラットフォームのフレームワーク変更へのプラットフォーム互換機構の対応が容易であり、開発・保守工数を削減できる情報処理装置、画像形成装置及びプラットフォーム互換方法を提供可能である。
【図面の簡単な説明】
【００３１】
【図１】アプリケーション開発者が開発するアプリケーションと動作可能範囲を示す模式図である。
【図２】フレームワークを用いたソフトウェア開発の構成図である。
【図３】フレームワーク型プラットフォームと、フレームワーク型プラットフォーム上で動作するアプリケーションとの関係を示した構成図である。
【図４】フレームワーク型プラットフォーム開発におけるデメリットを説明するための一例の構成図である。
【図５】フレームワーク型プラットフォーム開発におけるデメリットを説明するための他の例の構成図である。
【図６】コンピュータシステムの一例のハードウェア構成図である。
【図７】複合機の一例のハードウェア構成図である。
【図８】本発明によるプラットフォーム互換方法を実現する第１実施例の処理ブロック図である。
【図９】本発明によるプラットフォーム互換方法を実現する第１実施例のシーケンス図である。
【図１０】本発明によるプラットフォーム互換方法を実現する第２実施例の処理ブロック図である。
【図１１】本発明によるプラットフォーム互換方法を実現する第２実施例のシーケンス図である。
【図１２】本発明によるプラットフォーム互換方法を実現する第３実施例の処理ブロック図である。
【図１３】本発明によるプラットフォーム互換方法を実現する第３実施例のシーケンス図である。
【発明を実施するための形態】
【００３２】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では情報処理装置の一例としてサーバ装置やパーソナルコンピュータなどのコンピュータシステム、画像形成装置の一例として複合機（ＭＦＰ）を例に説明するが、サーバ装置やパーソナルコンピュータなどのコンピュータシステム又は複合機に限定するものではない。
【００３３】
図６は、コンピュータシステムの一例のハードウェア構成図である。コンピュータシステム４０は、それぞれバスＢで相互に接続されている入力装置４１，出力装置４２，ドライブ装置４３，補助記憶装置４４，主記憶装置４５，演算処理装置４６およびインターフェース装置４７を含む。
【００３４】
キーボードやマウスなどの入力装置４１は各種信号を入力するために用いられる。出力装置４２はディスプレイ装置などであり、各種ウインドウやデータ等を表示するために用いられる。モデム，ＬＡＮカードなどのインターフェース装置４７は、ネットワークに接続する為に用いられる。
【００３５】
本実施例のプラットフォーム互換機構を実現するプラットフォーム互換機構プログラムはコンピュータシステム４０を制御する各種プログラムの少なくとも一部である。プラットフォーム互換機構プログラムは例えば記録媒体４８の配布やネットワークからのダウンロードなどによって提供される。プラットフォーム互換機構プログラムを記録した記録媒体４８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００３６】
また、プラットフォーム互換機構プログラムを記録した記録媒体４８がドライブ装置４３にセットされると、プラットフォーム互換機構プログラムは記録媒体４８からドライブ装置４３を介して補助記憶装置４４にインストールされる。ネットワークからダウンロードされたプラットフォーム互換機構プログラムは、インターフェース装置４７を介して補助記憶装置４４にインストールされる。
【００３７】
補助記憶装置４４はインストールされたプラットフォーム互換機構プログラムを格納すると共に、必要なファイル，データ等を格納する。主記憶装置４５は、プラットフォーム互換機構プログラムの起動時に補助記憶装置４４からプラットフォーム互換機構プログラムを読み出して格納する。そして、演算処理装置４６は主記憶装置４５に格納されたプラットフォーム互換機構プログラムに従って、後述するような各種処理を実現している。なお、後述の処理ブロックは図６のコンピュータシステム４０の場合、演算処理装置４６がプラットフォーム互換機構プログラム等を実行することにより実現されるものである。
【００３８】
図７は、複合機の一例のハードウェア構成図である。複合機５０は、大きく分けて、コントローラ５１と、操作部５２と、ＦＡＸ制御ユニット５３と、プロッタ５４と、スキャナ５５と、その他ハードウェアリソース５６とを有し、画像データの入出力機能を複合して有する画像形成装置である。
【００３９】
コントローラ５１は、制御装置であるＣＰＵ６１と、プロセッサ用の作業メモリとして機能するＲＡＭ６２と、後述する各種ローカルインターフェースとがＮＢ（North Bridge）６３を介して接続されている。また、ＮＢ６３は、特定用途向け制御回路として機能するＡＳＩＣ６４とも接続されており、ＣＰＵ６１の制御をＡＳＩＣ６４に伝える。ＡＳＩＣ６４は、プロッタ５４等の各種ハードウェアと接続される他、複合機５０の不揮発性の記憶手段として機能するＨＤＤ６５と接続される。なお、ＡＳＩＣ６４は、回路用の作業メモリとして機能するＲＡＭ６６との接続を有している。
【００４０】
コントローラ５１は、各種ローカルインターフェースを備え、接続される各種機器又はネットワークと通信を行う。ローカルインターフェースとしては、シリアルバス６７，ＮＩＣ（Network Interface Card）６８，ＵＳＢ（Universal Serial Bus）  Ｉ／Ｆ６９，ダイレクト印刷で使用するＵＳＢホスト７０、メモリカードＩ／Ｆ７１等であり、ＰＣＩ−ＢＵＳ７２を介して接続されている。なお、ローカルインターフェースは、上記の例に限定されることはなく多様なインターフェースでも対応可能である。また、接続の態様はＰＣＩ−ＢＵＳ７２に限定されず、ＰＣＩ−Ｅｘｐｒｅｓｓ等でもよい。
【００４１】
ＨＤＤ６５には、複合機５０を制御するプログラムやアプリケーション等のソフトウェアが格納されている。ＨＤＤ６５に格納されているソフトウェアは、ＣＰＵ６１により読み出され、ＲＡＭ６２上に展開される。ＣＰＵ６１はＲＡＭ６２上に展開されたソフトウェアに従って、後述するような各種処理を実現している。なお、後述の処理ブロックは図７の複合機５０の場合、ＣＰＵ６１がプラットフォーム互換機構プログラム等を実行することにより実現されるものである。
【実施例１】
【００４２】
図８は本発明によるプラットフォーム互換方法を実現する第１実施例の処理ブロック図である。図８の処理ブロック図はフレームワーク型プラットフォーム２０のフレームワーク２２ＡのＩ／Ｆ変更の影響にプラットフォーム互換機構３０が対応する。プラットフォーム互換機構３０はフレームワーク型プラットフォーム２０が提供するアプリケーション開発用インターフェースの上位互換を実現する。
【００４３】
プラットフォーム互換機構３０の内部に存在する、非フレームワーク型プラットフォーム機能８１Ｘと、非フレームワーク型プラットフォーム機能８１Ｙとは、プラットフォーム互換機構３０の内部に存在する共通インターフェース定義部８２を利用して開発する。共通インターフェース定義部８２は、サービス定義（具象を特定する名称）と、プラットフォーム互換機構３０で必要なＩ／Ｆとを定義しており、フレームワーク型プラットフォーム２０のフレームワーク２２Ａへの実際の処理は行わない。具象はフレームワーク２２Ａのパラメータである。
【００４４】
非フレームワーク型プラットフォーム機能８１Ｘ，８１Ｙは、共通インターフェース定義部８２にサービス定義（具象を特定する名称）が存在するかを確認し、サービス定義があれば、実行できる環境であると判定し、サービス定義を指定して共通インターフェース定義部８２を呼び出す。
【００４５】
共通インターフェース定義部８２は、指定されたサービス定義（具象を特定する名称）から具象情報（位置情報）を取得し、具象情報を指定して共通処理部８３の処理を呼び出す。共通処理部８３は、非フレームワーク型プラットフォームに対応した処理をフレームワーク型プラットフォーム２０に対応した処理に変換し、具象情報（位置情報）を指定してフレームワーク型プラットフォーム２０のフレームワーク２２Ａを呼び出し、フレームワーク型プラットフォーム２０に処理を実行させる。
【００４６】
上記構成にすることで、フレームワーク２２Ａを用いる処理は共通処理部８３が担当するようになる。フレームワーク型プラットフォーム２０のフレームワーク２２ＡのＩ／Ｆ変更時におけるプラットフォーム互換機構３０の変更箇所は、共通インターフェース定義部８２及び共通処理部８３となる。
【００４７】
このため、図８の処理ブロック図はフレームワーク型プラットフォーム２０のフレームワーク２２ＡのＩ／Ｆに変更が入ったとしても、プラットフォーム互換機構３０の非フレームワーク型プラットフォーム機能８１Ｘ，８１Ｙの開発への影響が無くなり、開発効率が向上する。
【００４８】
図９は本発明によるプラットフォーム互換方法を実現する第１実施例のシーケンス図である。ステップＳ１に進み、非フレームワーク型プラットフォーム用アプリ３１Ｘは、非フレームワーク型プラットフォーム機能８１Ｘを呼び出す。ステップＳ２に進み、非フレームワーク型プラットフォーム機能８１Ｘは、共通インターフェース定義部８２に対して、サービス定義（具象を特定する名称）の確認を行う。
【００４９】
ステップＳ３に進み、共通インターフェース定義部８２は、サービス定義（具象を特定する名称）が存在するかをチェックする。サービス定義が存在する場合、共通インターフェース定義部８２はステップＳ４に進み、サービス定義有りを通知するため、サービス定義（具象を特定する名称）としてサービス名を非フレームワーク型プラットフォーム機能８１Ｘに返す。
【００５０】
ステップＳ５に進み、非フレームワーク型プラットフォーム機能８１Ｘは、サービス名を指定して共通インターフェース定義部８２を呼び出す。ステップＳ６に進み、共通インターフェース定義部８２は指定されたサービス名を利用し、具象情報（位置情報）を構築する。ステップＳ７に進み、共通インターフェース定義部８２は具象情報を指定して共通処理部８３のＩ／Ｆを呼び出す。
【００５１】
ステップＳ８に進み、共通処理部８３は指定された具象情報に基づき、非フレームワーク型プラットフォームに対応した処理をフレームワーク型プラットフォーム２０に対応した処理に変換する。ステップＳ９に進み、共通処理部８３は具象情報を指定してフレームワーク型プラットフォーム２０のフレームワーク２２ＡのＩ／Ｆを呼び出す。
【００５２】
ステップＳ１０に進み、フレームワーク２２Ａは共通に定義された処理を実現する。ステップＳ１１に進み、フレームワーク２２Ａは具象情報により指定された具象２３Ａに対して機能実行指示を行う。ステップＳ１２に進み、具象２３Ａは具体的処理を実現したあと処理を終了する。
【００５３】
非フレームワーク型プラットフォーム機能８１Ｘは、同様のサービス内容の処理を行う場合、一度サービスのチェックを行っていれば、ステップＳ１３に進み、続けて共通インターフェース定義部８２を呼び出す事が出来る。ステップＳ１３〜Ｓ２０の処理は前述のステップＳ５〜Ｓ１２の処理と同様であるため、説明を省略する。
【００５４】
第一実施例のプラットフォーム互換方法は、フレームワーク型プラットフォーム２０のフレームワーク２２ＡのＩ／Ｆに変更が入った場合、共通インターフェース定義部８０及び共通処理部８３が変更に対応する。これにより、第一実施例のプラットフォーム互換方法は、フレームワーク型プラットフォーム２０のフレームワーク２２ＡのＩ／Ｆの変更の影響を一箇所に集約し、かつ、共通インターフェース定義部８２を利用する非フレームワーク型プラットフォーム機能８１Ｘ等の各機能開発への影響が発生しなくなるため、開発効率が向上する。
【実施例２】
【００５５】
図１０は本発明によるプラットフォーム互換方法を実現する第２実施例の処理ブロック図である。図１０の処理ブロックは、図８の処理ブロックの構成に、サービス定義部８４と具象Ａ定義部８５Ａと具象Ｂ定義部８５Ｂとを追加して設けている。なお、図１０の処理ブロックはアプリ２１Ａ，２１Ｂと非フレームワーク型プラットフォーム用アプリ３１Ｘ，３１Ｙと非フレームワーク型プラットフォーム機能８１Ｙとを省略している。
【００５６】
また、図１０の処理ブロックはフレームワーク型プラットフォーム２０にフレームワーク２２Ａが用意され、フレームワーク２２Ａを拡張した具象２３Ａ，２３Ｂが存在する例を表している。
【００５７】
プラットフォーム互換機構３０内部に存在する、非フレームワーク型プラットフォーム機能８１Ｘは、プラットフォーム互換機構３０の内部で定義する共通インターフェース定義部８２と、サービス定義部８４とを利用して開発する。
【００５８】
非フレームワーク型プラットフォーム機能８１Ｘは、サービス定義部８４にサービス定義（具象を特定する名称）が存在するかを確認し、サービス定義があれば、実行できる環境であると判定し、サービス定義を指定して共通インターフェース定義部８２を呼び出す。
【００５９】
共通インターフェース定義部８２は、指定されたサービス定義（具象を特定する名称）から具象情報（位置情報）を取得・構築し、具象情報を指定して共通処理部８３の処理を呼び出す。共通処理部８３は、非フレームワーク型プラットフォームに対応した処理をフレームワーク型プラットフォーム２０に対応した処理に変換し、具象情報（位置情報）を指定してフレームワーク型プラットフォーム２０のフレームワーク２２Ａを呼び出し、フレームワーク型プラットフォーム２０に処理を実行させる。
【００６０】
上記構成にすることで、プラットフォーム互換機構３０は具象２３Ａ等が増減した場合の定義変更を共通インターフェース定義部８２から切り離し、共通インターフェース定義部８２の保守性が向上する。
【００６１】
図１１は本発明によるプラットフォーム互換方法を実現する第２実施例のシーケンス図である。ステップＳ３１に進み、非フレームワーク型プラットフォーム機能８１Ｘはサービス定義部８４に対して、サービス定義（具象を特定する名称）の確認を行う。
【００６２】
ステップＳ３２に進み、サービス定義部８４はサービス定義（具象を特定する名称）が存在するかをチェックする。ここでは、具象Ａ定義部８５Ａが存在するため、サービス定義が存在すると判断したものとする。サービス定義が存在するため、サービス定義部８４はステップＳ３３に進み、サービス定義有りを通知するため、サービス定義（具象を特定する名称）としてサービス名を非フレームワーク型プラットフォーム機能８１Ｘに返す。
【００６３】
ステップＳ３４に進み、非フレームワーク型プラットフォーム機能８１Ｘは、サービス名を指定して共通インターフェース定義部８２を呼び出す。ステップＳ３５に進み、共通インターフェース定義部８２は指定されたサービス名を利用し、具象Ａ定義部８５Ａに具象情報（位置情報）の取得を要求する。ステップＳ３６に進み、共通インターフェース定義部８２は具象Ａ定義部８５Ａから具象情報（位置情報）を取得する。ステップＳ３７に進み、共通インターフェース定義部８２は取得した具象情報（位置情報）を構築する。
【００６４】
ステップＳ３８に進み、共通インターフェース定義部８２は具象情報を指定して共通処理部８３のＩ／Ｆを呼び出す。ステップＳ３９に進み、共通処理部８３は指定された具象情報に基づき、非フレームワーク型プラットフォームに対応した処理をフレームワーク型プラットフォーム２０に対応した処理に変換する。ステップＳ４０に進み、共通処理部８３は具象情報を指定してフレームワーク型プラットフォーム２０のフレームワーク２２ＡのＩ／Ｆを呼び出す。
【００６５】
ステップＳ４１に進み、フレームワーク２２Ａは共通に定義された処理を実現する。ステップＳ４２に進み、フレームワーク２２Ａは具象情報により指定された具象２３Ａに対して機能実行指示を行う。ステップＳ４３に進み、具象２３Ａは具体的処理を実現したあと処理を終了する。
【００６６】
非フレームワーク型プラットフォーム機能８１Ｘは、同様のサービス内容の処理を行う場合、一度サービスのチェックを行っていれば、ステップＳ３４に戻り、続けて共通インターフェース定義部８２を呼び出すことが出来る。
【００６７】
第二実施例のプラットフォーム互換方法は、サービス定義をサービス定義部８４として共通インターフェース定義部８２から分離することで、非フレームワーク型プラットフォーム機能８１Ｘ等の各機能が利用する共通インターフェース定義部８２を具象２３Ａ等の増減から切り離す事が出来る。これにより、第二実施例のプラットフォーム互換方法は、共通インターフェース定義部８２の変更の可能性が軽減し、保守性が向上する。
【００６８】
また、第二実施例のプラットフォーム互換方法は、フレームワーク型プラットフォーム２０のフレームワーク２２Ａの具象２３Ａ等が追加・削除された場合は、具象定義部８５Ａ等を追加・削除し、サービス定義部８４の定義数を変更するだけで対応が可能となるため、開発効率が向上する。
【実施例３】
【００６９】
図１２は本発明によるプラットフォーム互換方法を実現する第３実施例の処理ブロック図である。図１２の処理ブロックは、図１０の処理ブロックの構成に、基本サービス部８６を追加して設けている。プラットフォーム互換機構３０内部に存在する、非フレームワーク型プラットフォーム機能８１Ｘは、プラットフォーム互換機構３０の内部で定義する共通インターフェース定義部８２と、サービス定義部８４とを利用して開発する。
【００７０】
非フレームワーク型プラットフォーム機能８１Ｘは、サービス定義部８４にサービス定義（具象を特定する名称）が存在するかを確認し、サービス定義があれば、実行できる環境であると判定し、サービス定義を指定して共通インターフェース定義部８２を呼び出す。
【００７１】
共通インターフェース定義部８２は、指定されたサービス定義（具象を特定する名称）を元に基本サービス部８６を作成する。基本サービス部８６は、非フレームワーク型プラットフォーム機能８１Ｘから共通インターフェース定義部８２へのＩ／Ｆの呼び出しを受け、具象情報（位置情報）を指定して共通処理部８３の処理を呼び出す。
【００７２】
共通処理部８３は、非フレームワーク型プラットフォームに対応した処理をフレームワーク型プラットフォームに対応した処理に変換し、具象情報（位置情報）を指定してフレームワーク型プラットフォーム２０のフレームワーク２２Ａを呼び出し、フレームワーク型プラットフォーム２０に処理を実行させる。
【００７３】
上記構成にすることで、プラットフォーム互換機構３０はプラットフォーム互換機構３０内部のＩ／Ｆとフレームワーク型プラットフォーム２０のフレームワーク２２Ａへの処理とが、共に具象２３Ａ，２３Ｂの増減の影響を完全に受けなくなり、フレームワーク型プラットフォーム２０変更時の保守面・開発工数面での効率が向上する。
【００７４】
図１３は本発明によるプラットフォーム互換方法を実現する第３実施例のシーケンス図である。ステップＳ５１に進み、非フレームワーク型プラットフォーム機能８１Ｘはサービス定義部８４に対して、サービス定義（具象を特定する名称）の確認を行う。
【００７５】
ステップＳ５２に進み、サービス定義部８４はサービス定義（具象を特定する名称）が存在するかをチェックする。ここでは、具象Ａ定義部８５Ａが存在するため、サービス定義が存在すると判断したものとする。サービス定義が存在するため、サービス定義部８４はステップＳ５３に進み、サービス定義有りを通知するため、サービス定義（具象を特定する名称）としてサービス名を非フレームワーク型プラットフォーム機能８１Ｘに返す。
【００７６】
ステップＳ５４に進み、非フレームワーク型プラットフォーム機能８１Ｘは、サービス名を指定して共通インターフェース定義部８２を呼び出す。ステップＳ５５に進み、共通インターフェース定義部８２はサービス名を元に基本サービス部８６を作成する。
【００７７】
ステップＳ５６に進み、基本サービス部８６は指定されたサービス名を利用し、具象Ａ定義部８５Ａに具象情報（位置情報）の取得を要求する。ステップＳ５７に進み、基本サービス部８６は具象Ａ定義部８５Ａから具象情報（位置情報）を取得する。ステップＳ５８に進み、基本サービス部８６は取得した具象情報（位置情報）を構築する。
【００７８】
ステップＳ５９に進み、非フレームワーク型プラットフォーム機能８１Ｘはサービス名を指定して共通インターフェース定義部８２を呼び出す。ステップＳ６０に進み、共通インターフェース定義部８２は基本サービス部８６を呼び出す。基本サービス部８６は非フレームワーク型プラットフォーム機能８１Ｘから共通インターフェース定義部８２への呼び出しを受け、ステップＳ６１に進み、具象情報を指定して共通処理部８３のＩ／Ｆを呼び出す。
【００７９】
ステップＳ６２に進み、共通処理部８３は指定された具象情報に基づき、非フレームワーク型プラットフォームに対応した処理をフレームワーク型プラットフォーム２０に対応した処理に変換する。ステップＳ６３に進み、共通処理部８３は具象情報を指定してフレームワーク型プラットフォーム２０のフレームワーク２２ＡのＩ／Ｆを呼び出す。
【００８０】
ステップＳ６４に進み、フレームワーク２２Ａは共通に定義された処理を実現する。ステップＳ６５に進み、フレームワーク２２Ａは具象情報により指定された具象２３Ａに対して機能実行指示を行う。ステップＳ６６に進み、具象２３Ａは具体的処理を実現したあと処理を終了する。
【００８１】
非フレームワーク型プラットフォーム機能８１Ｘは、同様のサービス内容の処理を行う場合、一度サービスのチェックを行っていれば、ステップＳ６７に進み、続けて共通インターフェース定義部８２を呼び出す事が出来る。また、一度作成された基本サービス部８６は、共通インターフェース定義部８２から続けて利用される。ステップＳ６７〜Ｓ７４の処理は前述のステップＳ５９〜Ｓ６６の処理と同様であるため、説明を省略する。
【００８２】
第三実施例のプラットフォーム互換方法は、プラットフォーム互換機構３０が基本サービス部８６の持つ具象情報（位置情報）によって振る舞いを変えるため、共通インターフェース定義部８２が完全に具象２３Ａ等の追加・削除の影響を受けなくなる。これにより、第三実施例のプラットフォーム互換方法は、プラットフォーム互換機構３０内部のＩ／Ｆと、フレームワーク２２Ａへの処理が固定化され、保守面・開発工数面での効率が向上する。
【００８３】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【００８４】
１    アプリケーション開発者
２    旧プラットフォーム用アプリケーション
３    新プラットフォーム用アプリケーション
４    旧プラットフォーム
５    新プラットフォーム
１１，２２Ａ，２２Ａ＋，２２Ｂ    フレームワーク
１２Ａ〜１２Ｃ，２３Ａ〜２３Ｈ    具象
２０    フレームワーク型プラットフォーム
２１Ａ〜２１Ｄ    アプリケーション
３０    プラットフォーム互換機構
３１Ｘ，３１Ｙ    非フレームワーク型プラットフォーム用アプリ
３２Ｘ，３２Ｙ    非フレームワーク型プラットフォーム機能
４０    コンピュータシステム
４１    入力装置
４２    出力装置
４３    ドライブ装置
４４    補助記憶装置
４５    主記憶装置
４６    演算処理装置
４７    インターフェース装置
４８    記録媒体
５０    複合機
５１    コントローラ
５２    操作部
５３    ＦＡＸ制御ユニット
５４    プロッタ
５５    スキャナ
５６    その他ハードウェアリソース
６１    ＣＰＵ
６２，６６    ＲＡＭ
６３    ＮＢ（North Bridge）
６４    ＡＳＩＣ
６５    ＨＤＤ
６７    シリアルバス
６８    ＮＩＣ（Network Interface Card）
６９    ＵＳＢ（Universal Serial Bus）  Ｉ／Ｆ
７０    ＵＳＢホスト
７１    メモリカードＩ／Ｆ
７２    ＰＣＩ−ＢＵＳ
８１Ｘ，８１Ｙ    非フレームワーク型プラットフォーム機能
８２    共通インターフェース定義部
８３    共通処理部
８４    サービス定義部
８５Ａ    具象Ａ定義部
８５Ｂ    具象Ｂ定義部
８６    基本サービス部
【先行技術文献】
【特許文献】
【００８５】
【特許文献１】特開２００７−１１０６８９号公報
【特許文献２】特開２００７−１０９２１９号公報
【図１】
2010181977.tif 000003
【図２】
2010181977.tif 000004
【図３】
2010181977.tif 000005
【図４】
2010181977.tif 000006
【図５】
2010181977.tif 000007
【図６】
2010181977.tif 000008
【図７】
2010181977.tif 000009
【図８】
2010181977.tif 000010
【図９】
2010181977.tif 000011
【図１０】
2010181977.tif 000012
【図１１】
2010181977.tif 000013
【図１２】
2010181977.tif 000014
【図１３】
2010181977.tif 000015