ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

アプリケーションプログラミングインタフェースとソフトウェアコンポーネント

ショートカット: 違い類似点ジャカード類似性係数参考文献

アプリケーションプログラミングインタフェースとソフトウェアコンポーネントの違い

アプリケーションプログラミングインタフェース vs. ソフトウェアコンポーネント

アプリケーションプログラミングインタフェース(、)とは、広義の意味ではソフトウェアコンポーネントが互いにやりとりするのに使用するインタフェースの仕様である。 APIには、サブルーチン、データ構造、オブジェクトクラス、変数などの仕様が含まれる。APIには様々な形態があり、POSIXのような国際規格、マイクロソフトのWindows APIのようなベンダーによる文書、プログラミング言語のライブラリ(例えば、C++のStandard Template Libraryやなど)がある。 商業的に使われる狭義の意味ではOSやミドルウェアやWebサービス等サービスを利用するアプリケーション(Application)を作成する(Programming)ためのインターフェース(Interface)である。こちらの意味ではサービスから提供されないStandard Template Libraryなど言語の標準ライブラリーは含まない。 APIはApplication Binary Interface (ABI) とは異なる。APIはソースコードベースだが、ABIはバイナリインタフェースである。例えば、POSIXはAPIだが、Linux Standard Base (LSB) はABIである(LSBはいろいろな規定の集合なので、正確には「LSBには、ABIにまで踏み込んでいる部分もある」)。. UML 2.0 のコンポーネント図で、2つのコンポーネントを表現した例。CheckoutコンポーネントはCardProcessingコンポーネントを使用している。 ソフトウェアコンポーネント(Software Componentry)は、ソフトウェアシステムの様々な機能を関心の分離によって分割したものである。システムを独立した結合の弱い再利用可能なコンポーネント群で構成する設計技法は Component-based software engineering (CBSE) と呼ばれ、ソフトウェア工学の一分野となっている。 コンポーネントの考え方は、サービス指向の起点となっている。例えば、Webサービスやサービス指向アーキテクチャ (SOA) ではソフトウェアコンポーネントの考え方を発展させサービスをコンポーネント化するという考え方をする。.

アプリケーションプログラミングインタフェースとソフトウェアコンポーネント間の類似点

アプリケーションプログラミングインタフェースとソフトウェアコンポーネントは(ユニオンペディアに)共通で11ものを持っています: マイクロソフト制御の反転カプセル化クラス (コンピュータ)ソフトウェアフレームワークサブルーチンCommon Object Request Broker ArchitectureRepresentational State TransferSOAP (プロトコル)WebサービスXPCOM

マイクロソフト

マイクロソフト()は、アメリカ合衆国ワシントン州に本社を置く、ソフトウェアを開発・販売する会社である。1975年4月4日にビル・ゲイツとポール・アレンらによって設立された。.

アプリケーションプログラミングインタフェースとマイクロソフト · ソフトウェアコンポーネントとマイクロソフト · 続きを見る »

制御の反転

フトウェア工学において、制御の反転(Inversion of Control、IoC)とは、コンピュータ・プログラムの中で、個別の目的のために書かれたコード部分が、一般的で再利用可能なライブラリによるフロー制御を受ける形の設計を指す。この設計を採用した ソフトウェアアーキテクチャは、伝統的な手続き型プログラミングと比べると制御の方向が反転している。すなわち、従来の手続き型プログラミングでは、個別に開発するコードが、そのプログラムの目的を表現しており、汎用的なタスクを行う場合に再利用可能なライブラリを呼び出す形で作られる。一方、制御を反転させたプログラミングでは、再利用可能なコードの側が、個別目的に特化したコードを制御する。 制御の反転は、プログラムのモジュール化を促進して、その拡張性を高めるために用いられ 、オブジェクト指向プログラミングやその他のプログラミングパラダイムにおいて応用されている。「制御の反転」という用語は ロバート・マーティンとマーティン・ファウラーによって広められた。この用語は依存性反転原則とは関係しているが異なるものである。依存性反転原則は、共有された抽象化を通じて、高次と低次の抽象化レイヤー間の結合度を下げることを示している。 従来からのプログラミングでは、フローはコードの中核部分で制御されている。IoCを使うと、これが全く変わってくる。呼び出し側は応答を得るが、いつどのようにして応答を得るかは呼び出し側が制御できない。逆に呼び出された側がいつどのようにして応えるかを決定する。.

アプリケーションプログラミングインタフェースと制御の反転 · ソフトウェアコンポーネントと制御の反転 · 続きを見る »

カプセル化

プセル化(カプセルか、)とは、オブジェクト指向を構成する概念の一つ。オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、オブジェクトの実際の型を隠蔽したりすることをいう。データ隠蔽と勘違いされやすいが、データ隠蔽はカプセル化の具体例の1つにすぎず、同一のものではない。.

アプリケーションプログラミングインタフェースとカプセル化 · カプセル化とソフトウェアコンポーネント · 続きを見る »

クラス (コンピュータ)

ラス()は、クラスベースのオブジェクト指向においてオブジェクトの設計図にあたるもの。抽象データ型の一つ。クラスから生成したオブジェクトのことをインスタンスという。 クラスには、インスタンスの保持するデータ(メンバ変数、フィールド(UMLでは「属性」ともいう))と操作(メソッド、メンバ関数)が記述される。 クラスは、継承・ポリモーフィズム・カプセル化などの、オブジェクト指向プログラミングにおける重要な概念を実現する強力な手段である。.

アプリケーションプログラミングインタフェースとクラス (コンピュータ) · クラス (コンピュータ)とソフトウェアコンポーネント · 続きを見る »

ソフトウェアフレームワーク

フトウェアフレームワーク(英: software framework)とは、プログラミングにおいて、一般的な機能をもつ共通コードをユーザーが選択的に上書きしたり特化させたりすることで、ある特定の機能をもたせようとする抽象概念のことである。単にフレームワークとも呼ばれる。 ソフトウェアフレームワークは、はっきり定義されたAPIを持ち、具体的な実装を再利用可能な形で隠蔽しているという点でライブラリとよく似ている。しかし、ライブラリでは呼び出し側がプログラム全体の制御構造を指定できないが、フレームワークでは可能である。この制御の反転がソフトウェアフレームワークの特徴である。.

アプリケーションプログラミングインタフェースとソフトウェアフレームワーク · ソフトウェアコンポーネントとソフトウェアフレームワーク · 続きを見る »

サブルーチン

ブルーチン(subroutine)は、コンピュータプログラミングにおいて、プログラム中で意味や内容がまとまっている作業をひとつの手続きとしたものである。繰り返し利用されるルーチン作業をモジュールとしてまとめたもので、呼び出す側の「主」となるもの(メインルーチン)と対比して「サブルーチン」と呼ばれる。サブプログラム (subprogram) と呼ばれることもある。また、「サブ」をつけずに「ルーチン」と呼ぶこともある。 プログラムのソース中で、繰り返し現れる作業をサブルーチン化することで、可読性や保守性を高く保つことができる。繰り返し現れる作業でなくても、意味的なまとまりを示すためにサブルーチン化することもある。また、キャッシュのような階層的メモリの設計を持つコンピュータ(現在のパソコンやワークステーションなどほぼすべて)では、よく使われるサブルーチンがキャッシュに格納されることで高速な動作を期待できる。.

アプリケーションプログラミングインタフェースとサブルーチン · サブルーチンとソフトウェアコンポーネント · 続きを見る »

Common Object Request Broker Architecture

Common Object Request Broker Architecture(コモン オブジェクト リクエスト ブローカー アーキテクチャー、略称CORBA)とは、Object Management Group(OMG)が定義した標準規格であり、様々なコンピュータ上で様々なプログラミング言語で書かれたソフトウェアコンポーネントの相互利用を可能にする(分散オブジェクト技術)ものである。.

Common Object Request Broker Architectureとアプリケーションプログラミングインタフェース · Common Object Request Broker Architectureとソフトウェアコンポーネント · 続きを見る »

Representational State Transfer

Representational State Transfer (REST) は、ウェブのような分散ハイパーメディアシステムのためのソフトウェアアーキテクチャのスタイルのひとつである。この語は2000年に、HTTPプロトコル規格の主要著者の一人である:en:Roy Fieldingが、ウェブについて書いた博士論文で初めて現れ、ネットワーキングコミュニティの中ですぐに広く使われることになった。 RESTは、初めはアーキテクチャの原則と制約の集まり(後述)を指していたが、次第に、XMLやHTTPを使った簡易なウェブベースのインタフェースのうち、WebサービスのSOAPプロトコルのようなMEP(Message Exchange Pattern; SOAPノード相互のメッセージ交換のパターンを確立するための雛型)ベースの特別な抽象化をしないもののことを、大まかに意味する用語として使われるようになった。RESTは次に述べるように2つのやや異なる意味で使われている。.

Representational State Transferとアプリケーションプログラミングインタフェース · Representational State Transferとソフトウェアコンポーネント · 続きを見る »

SOAP (プロトコル)

SOAP(ソープ)は、コンピュータネットワーク内のWebサービスの実装において、構造化された情報を交換するための通信プロトコルの仕様である。拡張性、中立性、独立性を導入することを目的とする。XML-RPCから発展した、XML Webサービスのための、XMLベースのRPCプロトコルである。 メッセージ形式としてXMLインフォメーションセットを使用する。また、メッセージのネゴシエーションおよび伝送はアプリケーション層のプロトコル(多くの場合HTTPまたはSMTP)に依存する。 SOAPにより、全く異なるオペレーティングシステム(例えばWindowsとLinux)上で走っているプロセス間でもXMLを使って意思疎通が可能になる。HTTPのようなWebプロトコルは全てのオペレーティングシステムにインストールされて走っているので、SOAPの仕組みを使えば、クライアントはその言語やプラットフォームが何であれ、ウェブサービスを起動してレスポンスを受け取ることが出来る。 元はSimple Object Access Protocolの頭字語とされていたが、現在は「何かの頭字語ではない」とされている。.

SOAP (プロトコル)とアプリケーションプログラミングインタフェース · SOAP (プロトコル)とソフトウェアコンポーネント · 続きを見る »

Webサービス

アーキテクチャ Webサービス(ウェブサービス)とは、HTTPなどのインターネット関連技術を応用して、SOAPと呼ばれるXML形式のプロトコルを用いメッセージの送受信を行う技術、またはそれを適用したサービス。W3Cにおいては、Webサービスとは、さまざまなプラットフォーム上で動作する異なるソフトウェア同士が相互運用するための標準的な手段を提供するものと説明されている。 類似の用語としてWeb API(ウェブエーピーアイ)があるが、ほぼ同義語である。.

Webサービスとアプリケーションプログラミングインタフェース · Webサービスとソフトウェアコンポーネント · 続きを見る »

XPCOM

XPCOM (Cross Platform Component Object Model) は、Mozillaプロジェクトにおいて開発されているクロスプラットフォームなコンポーネント技術である。C++で実装されており、Linux、Windows、macOSという主要なプラットフォーム上で動作する。複数の言語バインディングが提供されており、C++の他に、JavaScript、Java、Python等の実装が存在する。XPCOMのインタフェースには、XPIDLと呼ばれるインタフェース記述言語 (IDL) が用いられている。 XPCOMにはコアとなるコンポーネントとクラス群が一緒に提供されている。例えば、ファイルやメモリーの管理、文字列や配列などの基本データ構造などがこれに含まれる。しかし、ほとんどのXPCOMコンポーネントは、コア以外の部分で提供されている。たとえば、Geckoレンダリングエンジンなどがこれにあたる。.

XPCOMとアプリケーションプログラミングインタフェース · XPCOMとソフトウェアコンポーネント · 続きを見る »

上記のリストは以下の質問に答えます

アプリケーションプログラミングインタフェースとソフトウェアコンポーネントの間の比較

ソフトウェアコンポーネントが107を有しているアプリケーションプログラミングインタフェースは、108の関係を有しています。 彼らは一般的な11で持っているように、ジャカード指数は5.12%です = 11 / (108 + 107)。

参考文献

この記事では、アプリケーションプログラミングインタフェースとソフトウェアコンポーネントとの関係を示しています。情報が抽出された各記事にアクセスするには、次のURLをご覧ください:

ヘイ!私たちは今、Facebook上です! »