端末に実装され、前記端末に接続されたデバイスを利用するアプリケーションソフトウェアと、前記デバイスのインターフェースとの通信を仲介するミドルウェアであって、前記アプリケーションソフトウェアと前記デバイスのインターフェースとの間で受け渡しされるデータを隠蔽することなしに転送することを特徴とするミドルウェア。前記アプリケーションソフトウェアに、前記デバイスのインターフェースからのデータを受け渡し、前記デバイスのインターフェースに、前記アプリケーションソフトウェアからのデータを受け渡すことを特徴とする請求項1に記載のミドルウェア。前記デバイスのインターフェースからのデータのデータ形式を変換して、変換されたデータを前記アプリケーションソフトウェアに受け渡し、前記アプリケーションソフトウェアからのデータのデータ形式を変換して、変換されたデータを前記デバイスのインターフェースに受け渡すことを特徴とする請求項1に記載のミドルウェア。前記ミドルウェアは、前記アプリケーションソフトウェアからのデータを前記デバイスが受信可能な形式に変換し、前記デバイスのインターフェースからのデータを前記アプリケーションソフトウェアが受信可能な形式に変換する物理的ミドルウェアと、前記物理的ミドルウェアを起動し、制御する論理的ミドルウェアと、を備えることを特徴とする請求項1から3のいずれかに記載のミドルウェア。前記端末は、スマートフォンまたは携帯電話機であることを特徴とする請求項1から4のいずれかに記載のミドルウェア。しかしながら、携帯電話機やスマートフォン等の端末の事業者等は、アプリケーションソフトウェアの一般開発者に管理者権限を与えていないため、一般開発者は、デバイスに関する新たなサービスをアプリケーションソフトウェアに追加するための機能拡張を行うことができなかった。その結果、アプリケーションソフトウェアの拡張性が失われるという問題点があった。一方、携帯電話機やスマートフォン等の端末の事業者等が、一般開発者に、デバイスに関する新たなサービスをアプリケーションソフトウェアに追加するための機能拡張を行うことができるように管理者権限を与えてしまうと、セキュリティが確保できなくなるという問題点があった。そこで、本発明は、上述の課題に鑑みてなされたものであり、一定のセキュリティを保持したまま、デバイスに関する新たなサービスをアプリケーションソフトウェアに追加するための機能拡張を、管理者権限を持たない開発者に可能とするためのミドルウェアを提供することを目的とする。本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。1本発明は、端末に実装され、前記端末に接続されたデバイスを利用するアプリケーションソフトウェアと、前記デバイスのインターフェースとの通信を仲介するミドルウェアであって、前記アプリケーションソフトウェアと前記デバイスのインターフェースとの間で受け渡しされるデータを隠蔽することなしに転送することを特徴とするミドルウェアを提案している。この発明によれば、ミドルウェアは、アプリケーションソフトウェアとデバイスのインターフェースとの間で受け渡しされるデータを隠蔽することなしに転送する。したがって、アプリケーションソフトウェアからデバイスを直接制御することができることにより、デバイスに関する新たなサービスをアプリケーションソフトウェアに追加するための機能拡張を、ミドルウェアの機能拡張の必要なく、行うことができる。また、ミドルウェアの機能拡張の必要がないため、開発者に管理者権限を与えることなく、デバイスに関する新たなサービスをアプリケーションソフトウェアに追加するための機能拡張を実現することができ、セキュリティを確保することができる。2本発明は、1のミドルウェアについて、前記アプリケーションソフトウェアに、前記デバイスのインターフェースからのデータを受け渡し、前記デバイスのインターフェースに、前記アプリケーションソフトウェアからのデータを受け渡すことを特徴とするミドルウェアを提案している。この発明によれば、ミドルウェアは、アプリケーションソフトウェアに、デバイスのインターフェースからのデータを受け渡し、デバイスのインターフェースに、アプリケーションソフトウェアからのデータを受け渡す。したがって、ミドルウェアは、アプリケーションソフトウェアにデバイスのインターフェースからのデータを、また、デバイスのインターフェースにアプリケーションソフトウェアからのデータを、加工することなしに受け渡すことができる。3本発明は、1のミドルウェアについて、前記デバイスのインターフェースからのデータのデータ形式を変換して、変換されたデータを前記アプリケーションソフトウェアに受け渡し、前記アプリケーションソフトウェアからのデータのデータ形式を変換して、変換されたデータを前記デバイスのインターフェースに受け渡すことを特徴とするミドルウェアを提案している。この発明によれば、ミドルウェアは、デバイスのインターフェースからのデータのデータ形式を変換して、変換されたデータをアプリケーションソフトウェアに受け渡し、アプリケーションソフトウェアからのデータのデータ形式を変換して、変換されたデータをデバイスのインターフェースに受け渡す。したがって、ミドルウェアは、データ形式が変換された、デバイスのインターフェースからのデータをアプリケーションソフトウェアに、データ形式が変換された、アプリケーションソフトウェアからのデータをデバイスのインターフェースに、受け渡すことができる。4本発明は、1から3のミドルウェアについて、前記ミドルウェアは、前記アプリケーションソフトウェアからのデータを前記デバイスが受信可能な形式に変換し、前記デバイスのインターフェースからのデータを前記アプリケーションソフトウェアが受信可能な形式に変換する物理的ミドルウェアと、前記物理的ミドルウェアを起動し、制御する論理的ミドルウェアと、を備えることを特徴とするミドルウェアを提案している。この発明によれば、ミドルウェアは、アプリケーションソフトウェアからのデータをデバイスが受信可能な形式に変換し、デバイスのインターフェースからのデータをアプリケーションソフトウェアが受信可能な形式に変換する物理的ミドルウェアと、物理的ミドルウェアを起動し、制御する論理的ミドルウェアと、を備える。したがって、ミドルウェア内の物理的ミドルウェアのみを変更することにより、アプリケーションソフトウェアに影響なく、異なるデバイスへの対応が可能となる。5本発明は、1から4のミドルウェアについて、前記端末は、スマートフォンまたは携帯電話機であることを特徴とするミドルウェアを提案している。この発明によれば、端末を、スマートフォンまたは携帯電話機とすることができる。本発明によれば、一定のセキュリティを保持したまま、デバイスに関する新たなサービスをアプリケーションソフトウェアに追加するための機能拡張を、管理者権限を持たない開発者に可能とするためのミドルウェアを提供することができる。<端末ハードウェア構成>図1は、本実施形態における端末1の概要構成を示す図である。なお、本実施形態においては、端末1は携帯電話機とするが、デバイスと接続できる端末であればよく、例えば、スマートフォン、PHS、PDA、PC、ゲーム機等であってもよい。なお、端末1は、接続するデバイスを内部に備えてもよいし、外部に備えてもよい。なお、本実施形態において、デバイスは端末1の外部に備えられ、端末1とデバイスとは外部接続されているものとする。図1に示すように、端末1は、CPUCentralProcessingUnit10、メモリ11、操作部12、表示部13、通信部14、赤外線通信部15、音声出力部16、マイク17、およびデバイスインターフェース以下、デバイスI/Fとする18を備えており、バス19を介して互いに接続される。CPU10は、端末1を統括的に制御したり、メモリ11に記憶された各種プログラムを適宜読み出して実行したりする。後述するアプリケーションソフトウェア110、210、およびミドルウェア120、220の処理は、このCPU10によって実行される。メモリ11は、ROMReadOnlyMemoryまたは、RAMRandomAccessMemoryであってよく、端末1で機能する各種プログラムを記憶する装置である。後述するアプリケーションソフトウェア110、210、ミドルウェア120、220は、このメモリ11に記憶されている。操作部12は、各種設定や入力操作を行う操作ボタン群、決定操作ボタン等を備えており、操作部12による入力情報はCPU10の制御下で処理される。ここで、操作部12は、ユーザからの操作入力を感知して、CPU10にバス19を介して信号を送信する。CPU10は、この信号を受信することで、操作部12への操作入力があったことを判断する。更に、操作部12は、端末1が折り畳み式携帯電話機の場合には、折り畳み状態から開く操作をユーザが行った場合に、この開く操作を検知するデバイスを含む。表示部13は、LCDLiquidCrystalDisplayや有機ELElectoroLuminescenceによって構成され、各種データを表示する。音声出力部16は、電気信号を音声に変換し、イヤホン16aまたはスピーカ16bから出力する。例えば、CPU10は、通信部14により受信した音声情報を再生し、再生した音声を音声出力部16から出力する。マイク17は、音声を電気信号に変換し、入力する。通信部14は、ネットワークを通じて他の端末等と間の情報の通信制御を行う。本実施形態において、端末1は携帯電話機であるので、通信部14は、無線通信に必要なアンテナおよびアンテナ信号処理回路等を含んで構成される。赤外線通信部15は、赤外線によりデータの送信を行う赤外線発光部図示せずと、赤外線によりデータの受信を行う赤外線受光部図示せずとからなる。赤外線発光部は、CPU10が出力したデジタル信号をレベル変換し、変換した信号を変調し、変調した電気信号を赤外線発光素子により赤外線信号に変換し、出力する。赤外線受光部は、赤外線受光素子により受信した赤外線信号を電気信号に変換し、変換した電気信号をデジタル信号に変換する。本実施形態において、赤外線通信部15を備える例を示しているが、例えば、Bluetooth登録商標、ZigBee登録商標、Z-Wave登録商標といった短距離無線通信機能を有してもよい。また、本実施形態において、赤外線通信部15は、端末1に内蔵されているとしているが、デバイスI/F18に装着されてもよい。デバイスI/F18は、端末1とデバイス2とを接続し、データの送受信や電源供給等を行う。ここで、デバイスI/F18としては、例えば、USBインターフェース、PCカードインターフェース、SDIOインターフェース等が挙げられる。デバイス2は、プリンタ、音声通信、無線インターフェース、イメージ、ビデオ、汎用メモリ等の独立した諸機能を提供するデバイスであって、例えば、SIO、SDIO、USB、HDMI、Bluetooth、Zigbee、WiFi等である。デバイス2は、端末1に、接続され、本実施形態においては外部接続され、図示しないが、端末1と同様に、デバイスI/Fを備える。<階層構造>図2は、ミドルウェアを備えた端末とデバイスとの間におけるデータ通信に関する機能の階層構造を示す説明図である。図2aには、従来のミドルウェア120を備えた端末100とデバイス2との間におけるデータ通信に関する機能の階層構造を示し、図2bには、本発明に係るミドルウェア220を備えた端末200とデバイス2との間におけるデータ通信に関する機能の階層構造を示す。図2aを用いて従来のミドルウェア120について説明する。本図において、端末100は、Xデバイス2aおよびYデバイス2bそれぞれと外部接続しているとする。端末100は、Xデバイス2aを利用し、Aサービスを提供するAサービス用アプリケーションソフトウェア以下、Aサービス用アプリとする110aと、Yデバイス2bを利用し、Bサービスを提供するBサービス用アプリケーションソフトウェア以下、Bサービス用アプリとする110bを備える。以下、Aサービス用アプリ110aおよびBサービス用アプリ110bを区別しない場合には、アプリ110とする。図2aに示すように、従来のミドルウェア120を備えた端末100では、物理層における信号転送を制御するデバイスI/F130が最下層となり、その上にミドルウェア120、アプリ110の順に配置される。従来のミドルウェア120は、サービスに依存しない共通の処理の命令を記憶している。具体的には、従来のミドルウェア120は、外部接続されたデバイス、図2aにおいてはXデバイス2aおよびYデバイス2b、の開始処理、終了処理、およびリセット処理等の共通の処理の命令を記憶している。そして、これらの命令はアプリケーションからの指示により実行される。これにより、端末100にインストールされたアプリ110が、Xデバイス2aおよびYデバイス2bのサービスを利用できるようになる。また、従来のミドルウェア120は、各サービス専用の制御を行うためのAPI、および各サービスを実行する処理の命令を記憶する各サービス専用のミドルウェアを備える。デバイス2に搭載された各サービスの制御は、サービス毎に異なるからである。本実施形態においては、図2に示すように、Aサービス専用のAPIとして、Aサービス専用APIApplicationProgramInterface121a、Aサービス専用のミドルウェアとしてAサービス専用ミドルウェア122aを備える。同様に、Bサービス専用API21b、およびBサービス専用ミドルウェア122bを備える。これらを備えることにより、従来のミドルウェア120がデバイスI/F130を隠蔽ラップし、すなわち、デバイス2に搭載された各サービスの制御の差異を吸収し、アプリ110がサービスを利用することができるようにしていた。具体的には、従来のミドルウェア120が、アプリ110とデバイスI/F130との間で受け渡しされるデータを隠蔽ラップすることにより、アプリ110からデバイスI/F130に、また、デバイスI/F130からアプリ110に、直接アクセスできないようにしていた。それによりセキュリティを確保することができていたが、アプリにデバイスに関する新たなサービスを追加するためには、アプリケーションソフトウェアの機能拡張と共に、ミドルウェアの機能拡張も必要であった。そのため、管理者権限を持たない開発者は、アプリケーションの機能拡張をおこなうことができなかった。次に、図2bを用いて本発明に係るミドルウェア220について説明する。本図において、図2aと同様に、端末200は、Xデバイス2aおよびYデバイス2bそれぞれと外部接続しているとする。図2bに示すように、図2aと同様に、本発明に係るミドルウェア220を備えた端末200では、物理層における信号転送を制御するデバイスI/F230が最下層となり、その上にミドルウェア220、アプリ210の順に配置される。本発明に係るミドルウェア220は、従来のミドルウェア120と同様に、外部接続されたデバイス、図2においてはXデバイス2aおよびYデバイス2b、の開始処理、終了処理、およびリセット処理等のデバイスに搭載された各サービスに依存しない共通の処理は、ミドルウェア220でこれらの処理の命令を用意し、記憶している。これらのミドルウェア220に記憶されている命令は、アプリ210からの指示に従って、ミドルウェア220で実施される。これらの処理は、デバイスで共通であって、デバイスの各サービスに依存しないので、本来のミドルウェア機能にて実装するのが好ましいからである。しかし、本発明に係るミドルウェア220は、従来のミドルウェア120と異なり、Aサービス専用API121aおよびBサービス専用API121bの替わりに汎用ミドルウェアAPI221を備える。また、Aサービス専用ミドルウェア122aおよびBサービス専用ミドルウェア122bの替わりに、汎用ミドルウェア222を備える。この汎用ミドルウェア222および汎用ミドルウェアAPI221は、様々なアプリに対応し、本図においては、Aサービス用アプリ210a、Bサービス用アプリ210bのいずれにも対応する。汎用ミドルウェアAPI221は、アプリ210の指示に従って起動され、汎用ミドルウェア222を制御する。また、汎用ミドルウェア222を起動し、汎用ミドルウェア222からデータを受け取り、アプリ210に受け渡す。汎用ミドルウェア222は、論理的ミドルウェア222aと物理的ミドルウェア222bから構成される。論理的ミドルウェア222aは、汎用ミドルウェアAPI221の指示によって起動され、対応する物理的ミドルウェア222bを起動し、制御する。一方、物理的ミドルウェア222bは、論理的ミドルウェア222aの指示によって起動され、対応するデバイスI/F230を起動する。また、物理的ミドルウェア222bは、汎用ミドルウェアAPI221および論理的ミドルウェア222aを介して、アプリ210から受け取ったデータをデバイスI/F230が受信可能な形式に変換する。そして、物理的ミドルウェア222bは、変換したデータをデバイスI/F230に受け渡す。さらに、物理的ミドルウェア222bは、デバイスI/F230から受け取ったデータをアプリ210が受信可能な形式に変換し、論理的ミドルウェア222aおよび汎用ミドルウェアAPI221を介して、アプリ210に受け渡す。このように、物理的ミドルウェア222bがデータの変換を行うことにより、デバイスI/F230が異なるデバイスに変更する場合は、汎用ミドルウェア222内の物理的ミドルウェア222bのみを変更することで対応することができる。その結果、汎用ミドルウェアAPI221を変更することなく、すなわち、アプリ210への影響なく、デバイスI/Fが異なるデバイスに変更することができる。本発明のミドルウェア220は、汎用ミドルウェア222および汎用ミドルウェアAPI221を備えることにより、従来のミドルウェア120と異なって、デバイスI/F230との間で受け渡しされるデータを隠蔽ラップせずに転送することができる。それにより、アプリ210からデバイスI/F230に、また、デバイスI/F230からアプリ210に、直接アクセスすることができ、デバイス2に搭載された各サービス専用の制御をアプリ210から行うことができる。なお、アプリ210とデバイスI/F230との間で受け渡しされるデータのうち、命令に関するデータは同じまま、データ形式のみを変換して、例えば、カンマで区切られたデータをスペースで区切るようにデータ形式を変換して、転送してもよいし、データ形式も変更せずに転送してもよい。本発明に係るミドルウェア220を端末200に実装する場合に、従来のミドルウェア120の機能をアプリ210に備えさせることができる。例えば、図2bに示すように、従来のミドルウェア120の機能をデバイス制御ライブラリ211a、211bとしてアプリ210に備えさせることができる。なお、デバイス制御ライブラリは、サービス毎に用意される。本発明に係るミドルウェア220を備えた端末200において、デバイスI/F230を隠蔽する場合には、例えば、上述した制御ライブラリ211を用いて、デバイスI/F230を隠蔽する。以上説明したように、本実施形態によれば、本発明に係るミドルウェア220は、アプリ210とデバイスI/F230との間で受け渡しされるデータを隠蔽ラップせずに転送するので、デバイス2に搭載された各サービス専用の制御をアプリ210から行うことができる。その結果、デバイスに関する新たなサービスをアプリ210に追加するための機能拡張を、ミドルウェア220の機能拡張の必要なく、行うことができる。また、ミドルウェア220の機能拡張の必要がないため、開発者に管理者権限を与えることなく、デバイスに関する新たなサービスをアプリ210に追加するための機能拡張を実現することができ、セキュリティを確保することができる。以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。