フリーランスエンジニアの雄貴です!
前回、ホームページがブラウザに表示される仕組みについてお話ししました。

「URLでサーバーにアクセスし、HTMLファイルを取得してブラウザに表示する」という仕組みでしたね。
しかし実際のwebサービスでは、会員登録や商品の注文など、HTMLファイルを取得して表示する以外の機能も実施しています。
今回は、この仕組みについてお話しいたします!
WEBサービスの仕組み
webサービスでよくある「会員登録」の機能を元にお話しいたします。

会員登録では、ブラウザの入力欄に「メールアドレス」や「パスワード」を記入して送信ボタンを押します。
この時に、入力したデータをサーバーへ送っています。
これらの情報はサービス内で使用する情報ですので、どこかに保存しておきたいですよね?
そこで必要になるのがデータベース(DB)です。
データベース

データベースはサーバー内にあり、サービス内の全データを保存しているものです。
金庫や貯蔵庫のようなものですね。
データの登録や必要なデータを取得したり、データを変更・削除したりできます。
これによって、例えばショッピングサイトであれば、商品の検索ができたり、商品を登録、商品情報の編集などを行うことができます。
会員登録の場合は、入力された個人情報を登録することができますね。
しかし、データベースは送られてきたデータが正しいものなのか?(会員登録の場合、既に登録している情報ではないか?など)判断ができません。
そもそも、ブラウザからの要求は会員情報を登録することなのか?これも判断できません。
データベースは誰かから命令を与えないと何も機能することができないものなのです。
ではどうするか?
そこで登場するのが
プログラムです。
プログラム

プログラムもデータベースと同様にサーバー内に設置され、ブラウザから与えられたデータやデータベースのデータを元に、データの加工や処理命令を判断・実行したりします。
会員登録を例に流れを見ていきましょう。
実はプログラムには、ブラウザから渡ってきたURLごとにどの処理を実施するか?を予め記述しています。(厳密に言うと異なりますが、イメージを掴むためにザックリの理解で大丈夫です。)
よって画面側で送信ボタンが押された際に、プログラムではURLを元に「会員登録を実施する処理」であると判断し、その処理を実施してくれます。
次に渡ってきたデータの整合性を確認するために、入力したメールアドレスがデータベースに存在しないか?を確認します。(同じメールアドレスが存在すれば、既に登録した会員情報と言うことになりますね。)
つまりデータベースに該当のメールアドレスで検索をかける命令をプログラムが実施します。
プログラムはデータベースへの命令も実施することができます。
そしてデータの整合性が取れた場合に、入力した会員情報をデータベースへ登録する命令を実施します。
これで会員登録の処理は完了です。
このように、プログラムはデータによって様々な処理の判断や命令を実施する役割を持っています。

まとめ
WEBサービスの機能はデータベースとプログラムによって構成されており、その役割は以下のようになります。
データベース
- WEBサービスで利用するデータを保存する役割
- データの登録・編集・検索・削除ができる
プログラム
- データの加工や処理命令を判断・実行する役割
- DBへ処理命令を実施したり、URLを元に処理を呼び出したりできる。
プログラミングを学びはじめの方にとって、WEBサービスの仕組みの理解は難しいものではないか?と思い記事にしました。
(私自身、最初の頃は理解するのにとても苦しみましたw)
少しでも皆様の学習の手助けになれたら嬉しいです!
コメント