わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

マイクロサービスに相対するのは

 いきなりですが問題です.

「マイクロサービスアーキテクチャに相対する概念で,単一のコードベースを使用して複数の機能を実行するソフトウェア開発モデルを,【   】アーキテクチャという.」という空欄補充問題に対して,「MVC」と解答した学生がいました.この解答をどのように解釈して,どのような採点をしたらよいか,Webサービス論と関連させてまとめてみましょう.

 元ネタは,月曜日に実施した試験の1問です.用意していた正解は「モノリシック」で,第7回の授業(試験の1週間前)のスライドにこの語を掲載し,モノリシックとマイクロサービス - ソフトウェア開発アーキテクチャ間の違い - AWSのページを表示させて解説しました.
 第2文(この解答を~)の元ネタは,『小学校指導法 算数』p.96です*1.「Webサービス論」は科目名です.試験の問題用紙は,学生に持ち帰らせましたが,解答例・解説について学生向けの(Moodleでの)公開は予定していない旨を伝えています.

 「MVC (Model-View-Controller)アーキテクチャ」は,第4回にRuby on Railsの中で取り上げていました.
 答案を学生番号順に並べ替え,赤で○×△などを記入していく前に,「MVC」を正解としてよいか,検索してみました.例えば以下は,「MVCはモノリシック」を支持する情報であるように見えます.

 その一方で,MVCを,モノリシック/マイクロサービスに従属しない捉え方もいくつか見つかりました.以下では,「導入」と「アーキテクチャ全般」のあと,「マイクロサービス」「モノリス」「MVC」に分けて,Q&Aを作っています.MVCは,アーキテクチャの「一種ではあるが着目点が違う」とのことです.

 英語ページも見つけました.

 最後に"Is MVC a monolithic architecture?"という疑問文があり,右の「∧」を押すことで文章が表示されます.本文と私訳は以下の通りです.

Is MVC a monolithic architecture?
MVC (Model-View-Controller) serves as a versatile design pattern used in both monolithic and microservices architectures. In a monolithic setup, the entire application is contained within a single unit, while in a microservices approach, MVC can be applied to individual services, each handling specific functionalities. The adaptability of MVC makes it a valuable tool for organizing code in various architectural contexts, accommodating the specific needs and preferences of developers and project requirements.
MVCはモノリシックアーキテクチャか?
MVC(モデル・ビュー・コントローラー)は「モノリシック」「マイクロサービス」の両方のアーキテクチャで利用できる万能のデザインパターンである.モノリシックなセットアップでは,アプリケーション全体が1個のユニットの中に含まれるのに対し,マイクロサービスのアプローチでは,MVCは,それぞれ特定の機能を扱うような,独立したサービスへの適用が可能である.その適用性のおかげで,MVCは,さまざまなアーキテクチャのコンテキストにおいてコードを組織化するための有益なツールとなり,開発者およびプロジェクト要求の持つ特定のニーズや優先傾向への便宜を図ることができる.)

 回答の最初の文で,MVCだからモノリシックだと言うことはできないことを確認しました.
 空欄補充問題は,5問で配点が10点としていました.「MVC」の答案には赤ペンで△とし,1点をつけました.