NRIネットコム Blog

NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

【超入門】Webアプリケーションの基礎

本記事は  WebアプリWeek   3日目の記事です。
🎣  2日目  ▶▶ 本記事 ▶▶  4日目  🏄

はじめに

はじめまして、NTシステム事業部の澤井です!
今回初めてネットコムブログの執筆をさせていただくこととなりました。

Webアプリのチームに入り3年ちょっとが過ぎ、改めて基本的な部分について復習もかねてまとめてみようと思います。

Webアプリケーションとは

Webアプリケーションとは、Webの仕組みを利用したアプリケーションのことを言います。
Webを介して人が利用するサービスを提供します。

Webアプリケーションの構造

MVCモデル

Webアプリケーションの構造の考え方に、「Model」、「View」、「Controller」の3つの部分に分けてアプリケーションを設計する「MVCモデル」があります。
MVCモデルの利点としては、各要素が分離されているため、仕様変更で他の要素に影響を及ぼさないことが挙げられます。影響がないため、要素ごとの改修・仕様変更を行うことが可能です。

Model

アプリケーションの扱うデータと業務処理を行う

View

結果をユーザーに出力(表示)する

Controller

ユーザーの命令を受けて、ModelとViewに指示を出す

3層アーキテクチャ(3層構造)

Webアプリケーションは、基本的に3層アーキテクチャ(3層構造)と呼ばれる階層構造となっています。

プレゼンテーション層

プレゼンテーション層では、ユーザーのWEBブラウザ上に画面を表示させたり、画面の動きなどを表現したりします。また、WEBサーバーが「ユーザへの表示や操作・表示の受け付け」の役割をしており、ユーザーからの画面表示などの要望を返します。

アプリケーション層

アプリケーション層は、APサーバーで「ユーザからの命令実行、表示画面の作成」を担っています。

データ層

データ層は、アプリケーション層の処理内容に応じて、DBサーバーで「データの抽出・更新・保管」の役割を担います。
DBサーバーで抽出・更新されたデータは、アプリケーション層に連携され画面生成などに利用されます。

各システムの役割

Webアプリケーションは、「Webサーバー」、「APサーバー」、「DBサーバー」が主に稼働することで動作しています。
下記に、各システムの役割についてまとめました。

Webサーバー

ユーザーに対する窓口の役割を果たすプログラム。
ユーザーからのリクエストを受け、静的ページを返したり、APサーバーに動的処理を依頼したりします。

APサーバー

Webアプリケーションの中核となる業務処理を行うプログラム。
Webサーバーから転送されたユーザーからのデータの加工や、データベースのデータを検索・加工した後に、Webサーバーに応答を返します。

DBサーバー

データベースを管理している「データベース管理システム(DBMS)」が搭載されたサーバー。
主に、APサーバーからのデータの検索・更新の命令に従いデータの管理を行っています。

Webサービスの利用は他にも

Webアプリケーションで提供するWebサービスは、Webブラウザなどからユーザーによって利用されていますが、Webサービスはプログラムからも利用されています。
プログラムから直接サービスを利用する窓口のことをAPIと言います。

APIとは

あるプログラムで利用できる機能を他のプログラムに利用してもらうために提供している仕組みのことをAPIと言います。APIを通じて利用したい機能についてのリクエストを送ることで、他のプログラムから直接対象の機能を利用することが可能です。このやり取りをHTTP/HTTPSベースで行うものがWebAPIです。
WebAPIでは、アプリケーションからWebを経由してWebAPIを利用することによって直接Webサービスを利用することができるため、最近では多くのアプリケーションの中で導入されています。

おわりに

ここまでWebアプリケーションについて、基本的な仕組みや用語についてまとめました。
まだまだ深い内容はたくさんあるので、日々知識を積み重ねていけたらなと思います。

参考

執筆者:澤井千春
Webアプリケーションエンジニア