A-Kojiライフノート

SIerからプログラマ、社内SEとなった人のブログ。プライベートか仕事のことまで色々と備忘録的に書いてます

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

Webアプリの勉強しいるとちょいちょい聞く「Webサーバ」と「アプリケーションサーバ」は何が違うか整理

 

■自分なりの理解

 ①Webブラウザ → ②Webサーバ (HTMなどの静的なもの)

                                → ②Webアプリケーションサーバ →③JavaとかのAP

 

◆Webサーバ

WebサイトはユーザーがGoogle ChromeInternet ExplorerFirefoxといったWebブラウザからリクエストを行います。例えば、「企業情報を閲覧したい」というリクエスト、アパレル系ECサイトなら「ブランド名やサイズを絞った商品一覧を閲覧したい」といったリクエストです。
Webサーバはリクエストを受け付けると、その結果をWebブラウザへ返します。会社概要ページなどテキスト情報だけの静的なページであれば、そのままHTML、CSS、画像などのデータを送ります。
一方、受け付けた内容がブランド名やサイズを絞るといった動的な処理の場合、WebサーバはWebアプリケーションサーバへ処理のリクエストを依頼し、返ってきた処理をデータとして同じくWebブラウザへ送ります。

よく利用されるWebサーバとしては、オープンソースの「Apache HTTP Server」や「nginx」、Microsoftが提供する「Microsoft Internet Information Services (IIS)」などが有名です。

 

●Webアプリケーションサーバ

Webアプリケーションサーバでは、Webサーバから受け付けたリクエストをJavaPHPRubyなどのプログラミング言語を実行して処理します。そして、実行した結果をWebサーバへと返します。
Javaアプリケーションサーバでは、オープンソースの「Apache Tomcat」が有名です。「Apache Tomcat」はJava Servletを動かすサーブレットコンテナの一つですが、簡単なWebサーバとしての機能も有するため、広く活用されています。

 

引用元:http://hnavi.co.jp/knowledge/blog/web-application-server/

これから学びたいこと一覧

記事投稿の順番が前後してしまったけど、このブログでは技術者として学んでいきたいこと、学ぶ必要があることをまとめてスキルアップしたいと考えている。

そこで、とりあえず思い浮かぶ必要そうなこと・やってみたいことを書いておこー。

 

応用情報技術者※それ以上も可
Java書き方、作りこみの仕方
PL/SQLでのコーディングが可能
Javascriptスキルアップ
Oracle DBA合格
Oracleの知識
Linuxコマンドの習得(一覧作成)
インシデント調査する問題解決力
問合せに正確に対応する理解力
見やすさ・伝わりやすい資料作成スキル
作業依頼完了までの整理力
要件定義・基本設計書作成スキル
HTML/CSS
ACCESSの使い方
VBAの使い方
Ruby on Railで構築できる
Phython
Androidアプリ開発

TOMCATってなに?

Javaのお仕事しているとちょいちょい聞くTomcat

何かわからないままではまずいと思い

調べてまとめてふとした時に見返せるようにししとこ。

 

◾️TOMCAT   <引用元:http://wa3.i-3-i.info/word12843.html>

Javaを生み出した人は、このプログラミング言語を使って、いろいろなプログラムを作れるようにしました。

その中の1つに、ホームページのファイルを置くサーバ(Webサーバ)で動くJavaプログラムがあります。

この「Webサーバ上で動くJavaプログラム」を「Java ServletサーブレットServlet)」と言います。

さて、Java Servletさんですが、実は単独ではお仕事ができません。

とあるソフトのお世話になって、はじめてお仕事ができます。

その「とあるソフト」を「サーブレットコンテナ」と言います。

 

サーブレットコンテナさんが、Java Servletさんを、ちまちま動かしてくれるのです。

サーブレットコンテナと呼ばれるソフトは、いろいろあります。

その「いろいろあるサーブレットコンテナのひとつ」が「Apache Tomcat(アパッチ・トムキャット)」です。

一般的には「Apache」を付けずに、単に「Tomcat」と表現されることが多いはずです。

※本ページでも、以降は「Tomcat」と表記します。

大前提として、TomcatJava Servletを動かすときに必要なソフトです。

本職はサーブレットコンテナです。

ただし、作ったJava Servletの動作確認ができるように(簡易的な)Webサーバとしての機能も持っています。

そのため、Apache(全世界的に普及しているWebサーバのソフト)との違いで悩む人もいるようです。

確かに、Tomcatだけ(Apache無し)でも動くといえば動きますからね。

これはApacheさんとTomcatさんの本来のお仕事を考えれば区別できます。

Tomcatさんは、あくまでサーブレットコンテナとしてのスペシャリストです。

Webサーバとしては「まぁ、やれないことはないよ」レベルです。

それに対してApacheさんは「Webサーバとしては俺の右に出るものはねーぞ!」なスペシャリストです。

それぞれの本来のお仕事は

Tomcatサーブレットコンテナ

Apache:Webサーバ