「言っていることが概略すぎてわからないので。君が提案しようとしているシステムの概要図を書いてくれ。」
大手通信会社の部長からそう言われて、死ぬ程悔しかったので初めてアーキテクチャについて勉強しようと思いました。
その学習録として記事を書いていきます。
概要
アプリケーション開発のアーキテクチャについて基礎的な知識をトピック毎に学べるように解説していきます。
これから新規にエンジニアリングの業界に入る人、またはエンジニアリングの基礎を復習したい人向けに有益な内容になっています。
学習対象者は以下の方になります。
・エンジニア2~5年目
・未経験者(ログイン機能レベルの実装は可能)
ソフトウェア開発に携わる人の最低限の常識
-
WEBアプリケーションにおけるセッション管理
-
システム間の呼び出し
-
データベースの排他制御
上記の三つについて分かりやすく、誰でも理解ができるように解説をして行きます。
1. WEBアプリケーションにおけるセッション管理
学習ゴール:
・セッションの仕組みを理解。
・セキュリティインシデントを考慮したシステムの提案。
このコンテンツではクライアントからのセッション管理についての質問に対して、有効な手段を分かりやすく伝えられるようになる為の内容です。
セッション管理に対する理解が曖昧なままだと、期待した性能が得られなかったり、セキュリティインシデントによりステークホルダーからの信頼を失う可能性もあります。
セッションの管理を理解した上で的確な内容を提供出来るように学んで行きましょう。
読破時間の目安:60分
学習をスタート→WEBアプリケーションにおけるセッション管理(1)
2. システム間の呼び出し
学習ゴール:
・新規提案時に実現案の提示。
・運用保守時に既存システムの構造の理解。
大きなアプリケーションでは、あるシステムが単独で動いている訳ではなく、他のシステムと連動して動いていることがよくあります。
強固なシステムの開発には、それらが互いに関係し合いながら、且つデータの生合成を保ちながら稼働させなくてはいけません。
クライアントに適切なアーキテクトを選択提示出来る様、最低限必要な知識をこのコンテンツで学んで行きます。
読破時間の目安:60分
3. データベースの排他制御
学習ゴール:
・トランザクションの効率改善。
・正しい処理の流れの記載。
ただプログラミングが出来ると言う状況から仕事に使えるコードを書く為のコンテンツです。
エンタープライズアプリケーションは多くのアクセスが見込まれるので、各トランザクション毎にデータの整合性を取る必要が出てきます。
ケーススタディを見ながら、どう言ったコードの構築が必要なのかを考えながら学習を進めて行きます。
読破時間の目安:60分