基本情報技術者 学習ページ|科目A・ソフトウェア

ミドルウェアと共通機能

アプリケーションは、OSだけでなく、ミドルウェア、API、ライブラリ、コンポーネント、フレームワークなどの共通機能を利用して作られます。それぞれが何を提供し、どこで役割が違うかを整理します。

ミドルウェアの役割

ミドルウェアは、OSとアプリケーションの間に位置し、複数のアプリケーションから共通に利用される機能を提供するソフトウェアです。例として、DBMS、通信管理システム、アプリケーション間連携ソフトウェア、運用管理ツール、ソフトウェア開発支援ツール、TPモニターなどがあります。個別業務の処理そのものではなく、共通的な基盤機能を提供する点を押さえます。

ミドルウェアはアプリに共通の基盤機能を提供する。

シェルの役割

シェルは、利用者から入力されたコマンドを解釈し、OSの機能を呼び出して処理を実行させる役割を持ちます。このためコマンドインタプリタとも呼ばれます。コマンドの実行、入出力の切替え、複数コマンドの組合せなどを通じて、利用者とOSの間を仲介します。アプリケーション向けのAPIや、再利用するプログラム部品であるライブラリとは役割が異なります。

シェルはコマンドを解釈してOSへ処理を依頼する。

APIで機能を呼ぶ

APIは、あるソフトウェアが提供する機能を、別のソフトウェアから利用するためのインタフェースです。呼び出せる処理、渡す引数、受け取る結果などの取り決めを定めることで、利用側は内部実装の詳細を知らなくても機能を利用できます。APIは機能を利用するための接点や約束であり、機能を実装したプログラム部品そのものとは区別して考えます。

APIはソフトウェア機能を利用するための接点。

ライブラリを再利用

ライブラリは、よく使う処理を再利用できる形でまとめたプログラム部品です。ソースコードの形でまとめたソースライブラリ、翻訳済みの目的プログラムをまとめたオブジェクトライブラリ、実行時に利用できる形のロードライブラリなどがあります。DLLは動的にリンクして利用するライブラリで、クラスを再利用しやすくまとめたクラスライブラリもあります。

ライブラリは再利用するプログラム部品の集まり。

コンポーネント化

コンポーネントウェアは、明確なインタフェースを持つソフトウェア部品を組み合わせてシステムを構築する考え方や基盤です。部品であるコンポーネントを交換、追加、再利用しやすくすることで、開発や保守を支援します。代表例としてJavaBeans、CORBA、OSGiがあります。単なる関数の集まりより、独立性の高い部品として扱う点に着目します。

コンポーネントは明確な接点を持つ再利用可能な部品。

フレームワーク

開発フレームワークは、特定の種類のアプリケーションを作るために、基本構造や共通処理、拡張のための仕組みをまとめて提供するものです。開発者は、その枠組みに沿って必要な処理を追加することで、毎回すべてを一から作る作業を減らせます。ライブラリが必要な機能を部品として呼び出すのに対し、フレームワークはアプリケーション全体の構成や処理の流れにも関わります。

フレームワークは開発の基本構造と共通処理を提供する。

本番の形で解いてみる

科目Aの形: 四肢択一(このページのために作った問題)

OSとアプリケーションの間で、データベース管理や通信管理など、複数のアプリケーションから共通に利用される機能を提供するソフトウェアとして、最も適切なものはどれか。

  1. ソースライブラリ
  2. API
  3. シェル
  4. ミドルウェア
答えと解説を見る

正解: ミドルウェア

ミドルウェアはOSとアプリケーションの間で、DBMSや通信管理などの共通基盤機能を提供します。シェルはコマンドの解釈、APIは機能利用の接点、ソースライブラリは再利用するソースコードの集まりです。

まちがえやすい点: 共通機能を提供するソフトウェアと、その機能を呼び出す接点を区別する。

科目Aの形: 四肢択一(このページのために作った問題)

APIとライブラリの関係を説明したものとして、最も適切なものはどれか。

  1. APIは利用者のコマンドを解釈する仕組みで、ライブラリは複数アプリケーションに共通の基盤機能を提供するソフトウェアである。
  2. APIはアプリケーションの基本構造を提供する枠組みで、ライブラリは独立したコンポーネントを組み合わせる基盤である。
  3. APIは再利用できるプログラム部品の集まりで、ライブラリは機能を呼び出すための接点や取り決めである。
  4. APIは機能を利用するための接点や取り決めで、ライブラリは再利用できるプログラム部品の集まりである。
答えと解説を見る

正解: APIは機能を利用するための接点や取り決めで、ライブラリは再利用できるプログラム部品の集まりである。

APIは、別のソフトウェアが機能を利用するための接点や取り決めです。ライブラリは、再利用可能な処理をまとめたプログラム部品の集まりです。

まちがえやすい点: APIとライブラリは密接に使われるが、接点と実装部品という役割が異なる。

科目Aの形: 四肢択一(このページのために作った問題)

ライブラリと開発フレームワークの違いを説明したものとして、最も適切なものはどれか。

  1. ライブラリはアプリケーションの基本構造や処理の流れを提供し、開発フレームワークは呼び出して使う処理部品をまとめる。
  2. ライブラリは明確なインタフェースを持つ独立部品を組み合わせる基盤で、開発フレームワークは機能呼出しの接点だけを定める。
  3. ライブラリはコマンドを解釈してOSへ渡す仕組みで、開発フレームワークはDBMSなどの共通基盤機能を提供する。
  4. ライブラリは必要な処理を部品として利用し、開発フレームワークはアプリケーションの基本構造や共通処理も提供する。
答えと解説を見る

正解: ライブラリは必要な処理を部品として利用し、開発フレームワークはアプリケーションの基本構造や共通処理も提供する。

ライブラリは必要な機能を再利用するための部品群です。開発フレームワークは、共通機能に加えてアプリケーション全体の基本構造や拡張の仕組みを提供します。

まちがえやすい点: どちらも再利用を助けるが、フレームワークはアプリケーションの枠組みにまで関わる。

基本情報の学習ページ

ほかの学習ページの一覧と、2択の用語カード(750語)は、基本情報技術者のページにあります。

基本情報技術者のページへ →

このページの内容は、IPA「基本情報技術者試験 シラバス Ver.9.2」(2026年1月公表)と試験要綱Ver.5.6の範囲にもとづきます(2026年10月確認)。IPAは2027年度春ごろから新しい試験制度に移る予定です。