ホーム

Topics

Web Server Application Server

Webサーバーとアプリケーション・サーバー
Webサーバーとアプリケーション・サーバーの相違点と類似点、さらに、両者の組み合わせによって今日使用されているアプリケーションの多くがどのように実現されているかをご説明します。
黒と青の背景画像
Webサーバーとアプリケーション・サーバー:相違点

厳密には、Webサーバーはアプリケーション・サーバーの共通機能のサブセットにあたります。

Webサーバーは、主にWebブラウザーからのハイパーテキスト転送プロトコル(HTTP)要求に応答して、静的なWebコンテンツ(HTMLページ、ファイル、画像、動画など)を配信します。

通常、アプリケーション・サーバーもWebコンテンツを配信できますが、その主な役割は、エンド・ユーザー・クライアントとサーバー側のアプリケーション・コード (しばしば、ビジネス・ロジックと呼ばれるコード)との間の対話を可能にして、トランザクション結果、意思決定サポート、リアルタイム分析などの動的コンテンツを生成して配信することです。 アプリケーション・サーバーのクライアントには、アプリケーション自体のエンド・ユーザーのUI、Webブラウザー、モバイル・アプリを使用することができます。クライアントとサーバーの対話は、さまざまな通信プロトコルを介して実現されます。

ただし、実際には、Webサーバーとアプリケーション・サーバーの間の境界線はあいまいになっています。特に、Webブラウザーがアプリケーション・クライアントとして浸透し、Webアプリケーションとそのパフォーマンスに対するユーザーの期待が高まるにつれて、この傾向は顕著となっています。

大部分のWebサーバーは、スクリプト言語(ASP、JSP、PHP、Perlなど)用のプラグインをサポートしています。これにより、Webサーバーでサーバー・サイド・ロジックに基づいた動的コンテンツの生成が可能となっています。 一方、ますます多くのアプリケーション・サーバーが、Webサーバー機能を組み込むだけでなく、HTTPを主要プロトコルとして使用し、Webサーバーとのインターフェース用にその他のプロトコル(CGIやCGI系統のプロトコルなど)をサポートするようになっています。 これに加えて、アプリケーション・サーバーでは、リバース・プロキシー、クラスタリング、冗長構成、 ロード・バランシングなどのサービスをWebアプリケーションが活用できます。これらのサービスにより、パフォーマンスと信頼性が向上し、開発者はインフラストラクチャーよりもコーディングに集中することが可能となります。

多くのWebサーバーと一部のアプリケーション・サーバーが、 Webアプリケーション・サーバーと呼ばれている、あるいは銘打っていることも、さらにややこしくなっている一因です。

つまり、今日最も広く使用されているWebサーバーとアプリケーション・サーバーは、両者のハイブリッドであるということです。 機能のますます充実した今日のアプリケーションのほとんどは、静的Webコンテンツと動的アプリケーション・コンテンツの組み合わせを特徴としており、Webサーバーとアプリケーション・サーバーのテクノロジーの組み合わせによって実現されています。

オープンソースのWebサーバーとアプリケーション・サーバー

市場はWebサーバーとアプリケーション・サーバーで溢れており、ここですべてを挙げることはできません。 ここでは、現在利用可能な中で最も人気のある無料のオープンソースの製品をご紹介します。

Nginx
 

Nginx (英語)(ibm.com外部へのリンク) は、リバース・プロキシー、ロード・バランシング、メール・プロキシー、HTTPキャッシュの機能を備えた、オープンソースのWebサーバーです。 サポート付きの商用バージョンのNginxも、 Nginx社から提供されています (ibm.com外部へのリンク)。 インターネット調査とサイバー犯罪防止を手掛ける企業である Netcraft社(英語)(ibm.com外部へのリンク)によれば、Nginxは、2019年12月の時点で、世界中のすべてのWebサイトの38%近く、そして最もビジーなサイト上位100万の25%超に、サービスを提供またはプロキシーしています。 Dropbox社、Netflix社、Zynga社などの世界的に有名な企業が、Nginxを使用しています。

Apache HTTP Server
 

1995年に初めてリリースされたApache HTTP Server(別名「Apache」)もまた、非常に人気のある無料のオープンソースのWebサーバーです。ごく最近、2019年4月にNginxに追い抜かれるまでは、他のどのWebサーバーよりも(ピーク時には71%に達する)多くのWebサイトで使用されていました。 2019年12月の時点で、Apacheは世界中のすべてのサイトの24%超、そして最もビジーなサイト上位100万の31%に、サービスを提供しています。

Apache Tomcat
 

Apache Tomcat(英語)(ibm.com外部へのリンク) は、Java Servletを実行し、JavaServer Pagesのコードを含むWebページをレンダリングして配信し、Java Enterprise Edition(Java EE)アプリケーションを提供する、オープンソースのアプリケーション・サーバーです。 1998年にリリースされたTomcatは、最も広く使用されているオープンソースの Java アプリケーション・サーバーです。

Glassfish
 

Glassfish(英語)(ibm.com外部へのリンク) は、2006年にSun Microsystems社によって立ち上げられたオープンソースのJava EEアプリケーション・サーバーであり、今日、 Eclipse Foundation(英語)(ibm.com外部へのリンク)によってホストされています。 Glassfishは、ほとんどのJavaアプリケーション・サーバーと同様、Java Servlet、Enterprise JavaBeans(EJB)などをサポートしますが、HTTP要求に応答してWebコンテンツを提供するWebサーバーとしても機能します。

関連ソリューション
IBM® WebSphere® Application Server

IBM® WebSphere® Application Serverは、Javaアプリケーションおよびエンタープライズ・アプリケーションの構築と実行のための最も進化したアプリケーション・サーバーです。

IBM® WebSphere® Serverの詳細はこちら
IBM® WebSphere® Liberty

次世代のアプリケーションとクラウド・サービスのための包括的で柔軟なJava EEおよびMicroProfileアプリケーション・サーバーです。

IBM® WebSphere® Libertyの詳細はこちら
IBM® WebSphere® Hybrid Edition

WebSphere® Hybrid Editionを活用して、クラウドネイティブな開発、アプリケーションのモダナイゼーション、既存アプリケーションのサポートを推進する方法をご覧ください。

IBM® WebSphere® Hybrid Editionの詳細はこちら
参考情報 IBM Applicationモダナイゼーション・フィールド・ガイド

このガイドでは、アプリケーションのモダナイゼーションを加速し、開発者の生産性を上げて、運用上の効率性と標準化を向上させる方法が概説されています。

ロード・バランシングとは

ロード・バランシングによってWebサイトとアプリケーションのパフォーマンスを最適化する方法をご説明します。

Javaとは

Javaが開発プラットフォームとして人気を維持している理由と、Javaがどのようにプロジェクトを加速し、幅広い新しいテクノロジーに対応しているのかについてご説明します。

詳細情報はこちら

IBMでは、HTTP Serverをご提供しています。これは、IBM® WebSphere® Application Serverなどの他の製品に同梱されるWebサーバーです。 IBM HTTP ServerはApache HTTP Serverをベースとしており、Apacheのすべての機能に加えてIBMの機能拡張を提供します。

IBM® WebSphere® Application Serverについての詳細はこちら