- ベストアンサー
ミドルウェア?ドライバ?SDK?…各々の関係性は?
お世話になります。 恥ずかしながら、PCへインストール・設定をするソフト(?)の カテゴリ分類がよく解りません。 具体的には、ミドルウェア、ドライバ、JAVA等のSDKと呼ばれる もの、ファームウェア、API、これら5つの関係性が理解できていません。 個々の用語は、Wikiなどで容易に調べることができますが、 それぞれが、どのような立ち位置にあるかとなると、今年度 入社した新人のメンバーへ教えることができません。 集合論で使われる「ベン図」や「論理記号」で、これらの関係を 表すと、どのようになるかをご教示願えませんでしょうか。 稚拙な質問で、お恥ずかしいですが、お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
●firmware 堅い(firm)という語源のとおり,電子機器(hardware)側のROMやLSIに組み込まれたソフトウェア。 ●device driver PCから電子機器(device)を操作するために,PC側にインストールされるソフトウェア。 アプリケーションプログラムがハードウェアを扱う際は,OSとデバイスドライバが絡んでこんな感じ。ハードウェア側にファームウェアが存在するか否かはモノによって異なる。 Application ~~~~~~~~ Operating System ~~~~~~~~ Device Driver ―――――――― (Firmware) Hardware ●middleware OSが提供する基本機能以上の,より高機能を各アプリケーションに提供するソフトウェア。例として,データベース管理システム(DBMS)やトランザクションモニタなど。 アプリケーションプログラムがミドルウェアを利用する場合はこんな感じ。 Application |Middleware ~~~~~~|~~~~~ Operating System ●API (Application Programming Interface) ソフトウェアの機能を呼び出すための仕様。 http://okwave.jp/qa/q7443196.html の私の回答ANo.4 これまで登場した「~~~~~」の箇所はすべてAPI。アプリ~OS間,OS~ドライバ間,OS~ミドルウェア間,いずれにおいても「ソフトウェアが有する機能を分かりやすい形でプログラムから呼び出したい」というニーズがあるので,すべてAPIになっている。 ●SDK (Software Development Kit) 文字どおり,ソフトウェア開発のための道具一式。 よくある形式としては,ライブラリソフトが提供され,ライブラリ内の機能の呼び出し方(APIの使い方)が分かるようなリファレンスマニュアルやサンプルコードが同梱されている。
その他の回答 (1)
- jjon-com
- ベストアンサー率61% (1599/2592)
> ミドルウェアはソフトウェアの一種なのでしょうか? はい,ソフトウェアです。 http://ja.wikipedia.org/wiki/%E3%83%9F%E3%83%89%E3%83%AB%E3%82%A6%E3%82%A7%E3%82%A2 > SDKは、ミドルウェアに含まれるのでしょうか? 一概には言えないと思います。 開発時だけで使われる便利な道具一式,であるならミドルウェアとは呼ばないでしょう。 Java SDKに同梱されているJava仮想マシン(Java VM)のように,それが土台(platform)として稼動していることがアプリケーションプログラム実行の前提になっているようですと,ミドルウェアに該当するでしょう。
お礼
お忙しいところ、再度ご回答ありがとうございます。 先のお答えと共に、よく解りました。 重ねて御礼いたします。m(._.)m
お礼
お礼が遅れまして大変失礼いたしました。 かなり解りやすくご説明いただきありがとうございます。 APIというモノは、色々な箇所で登場してくるのですね。 恥のかき捨てで恐縮ですが、 SDKは、ミドルウェアに含まれるのでしょうか? また、ミドルウェアはソフトウェアの一種なのでしょうか? お恥ずかしい限りですが、再度ご教示いただけると幸いです。 何卒、宜しくお願いします。