• 締切済み

Webサーバとアプリサーバの違い

Webシステム(サーバ-クライアントモデルではないほう)の 三階層モデルについて教えてください。 このモデルではWebサーバ、アプリサーバ、DBサーバの三階層構成をとられていますが PHP、perlといった動的言語の処理はWebサーバ、アプリサーバどちらで 行われるのでしょうか? はじめ、私はアプリサーバ側かと思っていたのですが、こっちは「Javaプラットフォームを 動かすためのサーバ」と書かれているソースが多く、PHP、Perlについては Webサーバ側と書かれてたりアプリサーバ側と書かれてたりしていて判断に悩んでいます。 単純に「動的な処理を行う」という基準で考えればPHP、Perlの処理はアプリサーバ側だと 思うのですが、いかがでしょうか ご回答よろしくお願いします。

みんなの回答

回答No.3

> PHP、perlといった動的言語の処理はWebサーバ、アプリサーバどちらで行われるのでしょうか? Webシステムの処理にPHPやPerlを使う場合、 一般的にはWebサーバーの中でPHPやPerlを動作させます。 Webサーバーの中に動的な処理を行うアプリ機能を持たせており、 アプリサーバーは別に存在しません。つまりこれは二階層システムです。 三階層というのは、アプリサーバーをWebサーバと別に配置して 分離するシステムを言います。 Javaはそれを分離させるための仕組みがしっかりしているので 三階層システムによく用いられます。 頑張ってWebサーバーとアプリサーバーを別々に用意し、 クライアントからのリクエストをWebサーバーから アプリサーバーに中継し、それをアプリサーバー上のPHPやPerlで 実行するようなシステムを全部自前で作れば、PHPやPerlを アプリケーションサーバーで実行する三階層システムも実現可能ですが あまりそういうことをする人はいません。 PHPやPerlは二階層(またはDBなしの一階層)で手軽にWebアプリを 作れるというのがメリットですから。そんな面倒なことをするなら そういう仕組みがしっかりしているJavaを使った方がよいということです。 信頼性や運用性を求められるエンタープライズ用途でないと 三階層なんてオーバースペックだと思います。

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.2

PHP,Perlはwebサーバの一部でしょう。どう考えても。 アプリが動いているからアプリサーバと言うのは短略的です。 サーバという言葉の意味を考えれば自明です。 Javaの場合、クライアント単独で動作する場合は別ですが、 サーバとのやりとりを必要とする場合に、このサーバを アプリサーバと言えるでしょう。 DBサーバは1つの独立したサーバで、webサーバからも アプリサーバからも利用される事があるでしょう。

  • qadragon
  • ベストアンサー率10% (5/48)
回答No.1

WEBサーバ・APサーバと分ける場合は、言語で区分されてるっていうより、 表示に関するプログラムがおいてあるほうがWEBサーバで、 DBサーバに直結して、ビジネスロジックの演算にかんするプログラムがおいてあるほうがAPサーバと読んでたような気がします。 私もきっちり理解していないですが、ごめんなさい。

関連するQ&A