【メモ】 「バックエンド」はどこからどこまで「バックエンド」なの?

Webサービスにてユーザーがアクセスする部分と管理者だけがアクセスする部分(管理ツールなど)とがあって、
個人的には前者を「フロントエンド」後者を「バックエンド」と呼称したいのだけど、
それで違和感がないか自信が持てなかったので少し調べてみた。


検索で一番最初に出てくるのはJavaベースの開発。
アプリケーションの構造によってかなり違いはあるけれども、ざっくり言えば、
  • フロントエンド … HTTP処理を行う部分(Webサーバ/アプリケーションサーバ)
  • バックエンド … データベースサーバ
というのが普通っぽいようだ。
業務用途としての裏表ではなくて、アーキテクチャ的に見てどうかというような。
HTTP処理すればそこはアプリケーション的にはフロントエンドであり、
それを介して更新されるデータ部分がバックエンドだよねと言う。

まぁそりゃそうか。それはそれで筋が通ってる。



ただその後の様々な文章を読んでいくと解釈は結構適当なようで、
ざっくりと「後ろにあるもの」的な用法をしているところもちらほら。

並べてみるとこんな感じ。

Webサービス

  • フロントエンド … Webサービスそのもの、ユーザーのPCやブラウザ
  • バックエンド … APIや会員情報を管理する部分(「バックエンドシステム」と呼称)
バックエンドにインフラやサーバ等ハードウェアを含める場合もあり。

ブログサービスなど

  • フロントエンド … CMSが出力するHTMLファイル
  • バックエンド … CMSソフトウェアおよびデータベース

広告配信サービス

  • フロントエンド … 広告を表示させる部分
  • バックエンド … どの広告を表示させるか決める部分

一般的なビジネス

  • バックエンド … 「POSシステム」「需要予測システム」「会計システム」など。イントラネット内の内部向けサイトも

まぁ確かにこれはこれで「裏側」ですね。間違ってはない。


んー厳密じゃないのか?



結論的なもの:

ニュアンスで良いんじゃないかな。うん。
別にアーキテクチャの概念を反映した設計を書くわけではなく、
単純に呼称をどうするかという話だし。

あんまり気にしないことにします。