📑

典型的なWebアプリケーションの実行方式を5つ紹介

に公開

プロになるためのWeb技術入門を読んでWebアプリケーションの実行方式にいくつかのパターンがあることを知りました。
ということで、今回はそのパターンをご紹介したいと思います。
典型的なパターンとして以下の5つがあるそうです。

  • プロセス起動方式
  • モジュール方式
  • 分離型独立プロセス方式
  • 一体型独立プロセス方式
  • アプリケーションサーバー方式

プロセス起動方式


WebサーバーがHTTPリクエストを処理させるたびに、アプリケーションをその度に実行する方式で、この方式は簡単なためかなり昔から存在したみたいです。
Webサーバーからアプリケーションへ情報を受け渡しする方法としてCGI(Common Gateway Interface)という仕様が用いられています。
ただ、現在では古典的な手法のようです。

モジュール方式


Webサーバの中にプログラミング言語の実行用モジュールを組み込んで実行する方式です。
プロセス起動方式ではHTTPリクエストを受け付けるたびにプロセスが起動されるため、大量のアクセスがあった際などにパフォーマンスの問題がありました。
しかし、このモジュール方式ではアプリケーションを都度起動しなくて良いので、プロセス起動方式よりも高速に動作します。

分離型独立プロセス方式


アプリケーションが独立プロセスとして常に実行されていて、Webサーバからの要求を受け付ける方式です。
WebサーバがHTTPリクエストを受け付けると、アプリケーションによる処理が必要かどうかを判断しリクエストを送ります。
ほとんどの場合は、Webサーバが静的コンテンツの提供、webアプリケーションが動的コンテンツの提供といった役割分担がされています。

一体型独立プロセス方式


Webアプリケーションが静的コンテンツの提供も担う方式です。
こちらの方式は小規模であったり、高いパフォーマンスを求められないシステムに適しています。
JavaScriptの実行環境であるNode.jsやJavaのSpringBootがこの方式を採用しているみたいです。

アプリケーションサーバ方式


大規模なシステムで使われ、Javaなどで導入されているアプリケーションサーバーというソフトウェアの中で複数のwebアプリケーションを稼働・管理する方式です。
大規模なシステムでは機能が膨大になるため複数のWebアプリケーションに分割して開発する必要があります。
しかし、この方式はクラウドサービスの普及により減少傾向にあリます
これは、クラウドサービスの普及によって、仮想的なコンピュータを数多く利用することが一般化したためです。
一体型独立プロセス方式のWebアプリケーションを多数実行させる方が様々な面でメリットがあるようです。

まとめ

私自信アプリケーションの実行方式など意識したことがなかったので勉強になりました。
プロになるためのWeb技術入門では他にもWebに関する知識を学べるためおすすめです!
ぜひ手に取って読んでみてください。
最後までご覧いただきありがとうございました。

Discussion