1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ミドルウェアの概念を得るためにWeb/AP/DBサーバから考えてみた

Last updated at Posted at 2020-07-01

#はじめに
インフラまわりの知識はほぼないけど(そもそもひよっこだし)、これからアサインされる案件でインフラ寄りのこともさわることになりそうで不安。。。
ということで、ミドルウェアについて調べてみた備忘録です。
※初心者、初学者向けの内容ですのでご了承ください。

ミドルウェアとは?

ミドルウェア(英: Middleware)は、コンピュータの分野で、コンピュータの基本的な制御を行うオペレーティングシステム(OS)と、各業務処理を行うアプリケーションソフトウェアとの中間に入るソフトウェアのこと。
※wikipedia

エンジニアひよっこあるある、定義を調べても概念ばかりでイメージができない。
というわけでまずは具体的にイメージしやすいものを調べてみて理解を深めようと思います。

Web・AP・DBサーバの役割

よく聞くやつ、だけど、結局何をする役割なんだろうかと。
(最近までWEB系の案件やってたのに知りませんでした、恥ずべき行為)
なので、手始めにここから見てみようと思った次第です。

Webサーバ
・クライアントからのリクエストをもらってレスポンスを返すよ
・静的なコンテンツなら持ってるよ
・動的なコンテンツはAPサーバに任せるよ
APサーバ
・Webサーバからの依頼で動的なコンテンツをつくるよ、作ったらWebサーバに投げるよ
・DBの情報が欲しいときはDBサーバに任せるよ
・具体的な処理はJavaやPHPで書かれるよ
DBサーバ
・APサーバからの依頼でDBを操作するよ
・結果をAPサーバに投げるよ

クライアントとのやりとりはWebサーバが全部やって、
別途処理が必要な場合は他のサーバに投げるということね。なんとなく理解した。

##本題のミドルウェア
3つのサーバにおいては以下が有名どころのようです。
・Webサーバ:Apache
・APサーバ:Tomcat
・DBサーバ:MySQL、Oracle

さすがに名前は聞いたことあったよかった()
(ただ、サーブレットとかの記事見てても、なんでApacheとTomcatの2つ必要なの???って思ってたからようやく理解)

そしてミドルウェアの役割は、
・アプリケーションを使いたい人が使いやすいような機能を提供すること
・OSのやハードウェアの違いを吸収して使えるようにすること

が主なようです。
アプリケーション(やりたいこと)に共通の機能は、パッケージにしておいたほうがみんな楽だよね!という認識で落ち着きました。
なるほど、縁の下の力持ち的なポジションですね。
上記のほかにも、ジョブ運用やシステム監視などの役割をするシステム運用ミドルウェアもあるみたいです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?