Ⅱ-3-3. OSSによるシステムアーキテクチャの実現

代表的なコンピュータシステムの例として、Webサーバ、アプリケーションサーバ、データベースサーバなどがある。これらについて、どのようなOSSを用いて構成すると効果的に実現できるかを、具体的な例を用いて示す。

【学習の要点】

* Webサーバ、アプリケーションサーバ、データベースサーバなど、コンピュータシステムを構成する主要な要素の多くはOSSを利用することができる。

* コンピュータシステムの構成要素毎に複数の実装が存在するため、実現したいシステムに応じて適した組み合わせを選択する必要がある。

図Ⅱ-3-3. システム基盤に用いられるOSS

【解説】

1) OSSによるシステムアーキテクチャの実現

Webサーバ、アプリケーションサーバ、データベースサーバなど、コンピュータシステムを構成する主要な要素の多くはOSSを利用することが可能であり、それぞれ複数の実装が存在する。

2) Webサーバ

WebサーバはクライアントからのHTTPリクエストに応じて適切なHTMLや画像データを返却する機能を持ったソフトウェア、もしくはその機能を提供するサーバコンピュータである。

* システムアーキテクチャの一部としてのWebサーバは、クライアントと直接通信を行い、リクエストの内容に応じて、アプリケーションサーバなど適したコンポーネントに処理を振り分ける役割を持つ。

* OSSのWebサーバとして広く利用されているApache HTTP Serverは、システムアーキテクチャの一部として利用される例も多く、多くのアプリケーションサーバではApache HTTP Serverと連携する手順についてのドキュメントが提供されている。

3) アプリケーションサーバ

アプリケーションサーバはビジネスロジックなどをサーバサイドで実行する環境を提供するソフトウェア、もしくはその機能を提供するサーバコンピュータである。

* 多くのアプリケーションサーバはシステムアーキテクチャの一部として利用されることを前提としており、WebインタフェースはWebサーバとの連携により提供され、データの永続化サービスはデータベースサーバとの連携により提供されることが多い。

* OSSのアプリケーションサーバの多くは、OSSのWebサーバおよびデータベースサーバとの連携手順についてのドキュメントを提供している。

* OSSのアプリケーションサーバとして広く利用されているJBossでは、Apache HTTP Server、およびMySQLと連携する場合の手順が公開されている。

4) データベースサーバ

データベースサーバはデータベースを保持し、外部のアプリケーションに対して、データの永続化サービス、および検索、抽出などのインタフェースを提供するソフトウェア、もしくはその機能を提供するサーバコンピュータである。

* システムアーキテクチャの一部としてのデータベースサーバは、アプリケーションサーバなど、データに対する加工処理を行うソフトウェアからアクセスされ、処理対象のデータの格納、および検索、抽出などのインタフェースの提供を行う。

* OSSのデータベースサーバとして広く利用されているPostgreSQL、MySQL、Firebirdなどは、システムアーキテクチャの一部として利用される例も多く、外部のソフトウェアからアクセスするためのドライバが提供されている。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。