Webサーバーと アプリケーション・サーバー

menu icon

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外部へのリンク)は、リバース・プロキシー、ロード・バランシング、メール・プロキシー、HTTPキャッシュの機能を備えた、オープンソースのWebサーバーです。 サポート付きの商用バージョンのNginxも、Nginx, Inc. (IBM外部へのリンク)から提供されています。インターネット調査とサイバー犯罪防止を手掛ける企業であるNetcraft(IBM外部へのリンク)によれば、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外部へのリンク)は、Java Servletを実行し、JavaServer Pagesのコードを含むWebページをレンダリングして配信し、Java Enterprise Edition(Java EE)アプリケーションを提供する、オープンソースのアプリケーション・サーバーです。 1998年にリリースされたTomcatは、最も広く使用されているオープンソースのJavaアプリケーション・サーバーです。

Glassfish

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

Webサーバー、アプリケーション・サーバー、IBM Cloud®

より優れた顧客体験とより多くのアプリケーションに対する需要が事業とIT運用に影響をもたらす中で、Webサーバーとアプリケーション・サーバーは、アプリケーションのモダナイゼーションの一端を担い続けるでしょう。 そのような需要に応じるには、さらなる自動化を進めることが役立ちます。 まずは測定可能な成功をもたらす小規模なプロジェクトから開始して、その後、他のプロセスや組織の他の部分へと展開し、最適化することが理想的です。

IBMと連携することで、構築済みのワークフローを含む、AIを活用した自動化機能をご利用いただけます。これにより、すべてのプロセスをよりインテリジェントにして、イノベーションを加速させることができます。

以下の情報もご確認ください。

IBM Cloudアカウントを今すぐ始めましょう。