コンピューターの論理的構造・論理的構成
IBMや富士通などの目インフレームなどの設計思想や設計方法を説明する際にしようされた起源
こういった構成でやっていますは、こういったアーキテクチャでやっています、となる。
基板などのハードウェアのイメージが昔は強かった
例・パソコンのアーキテクチャは等
ソフトウェアアーキテクチャ、システムアーキテクチャ
・ソフトウェアの構成・システムの構成
・OS・アプリ・ミドルウェア
→推奨環境・最低保障環境
環境が変わったときのことを考えておく
運用保守を組み込む
ハードウェアの構成も考える(ハードにもアーキテクチャもある)
ーCPUの性能・容量の割り当て・メモリの性能・通信性能
セキュリティの構成も考える
設計書で形が整理される
イベント駆動型アーキテクチャ
Actionや状態変化が発生すること
外的要因のイベント・ユーザーの操作・ネットワーク通信
規模によってはイベントが同時に発生する
・LINEのメッセージは順次処理を行っているが
・優先度が高い者には割り込み処理を行う
待機してイベントの発生を待つスタイル
・イベントの発生によって、イベントが受け付けられない、処理ができないなどがおこらないように設計をする
分散型で対応する
・Excelが共有で使えるみたいないなもの♪
・倉庫での商品管理システムを考える
・イベントの公開・取得・処理・保存・(持続)を中心に構築された統合モデル
アーキテクチャはベースモデルとなるものが多くある
イベント駆動型アーキテクチャ・MVCモデル

例)請求書アイコンからAPIサーバーへアップロード。
APIサーバーが**S3(PDFの保存先)**にデータをアップロード。
APIサーバーがメッセージを**SQS(Simple Queue Service)**に送信。
ジョブワーカーがSQSからメッセージをポーリングし、メッセージがあればタスクを実行。
必要に応じてS3からファイルを取得。
読み取ったデータや中間ファイルを別の**S3(JSONファイルの保存先)**に保存。
最終的なデータをRDS(データベース)に保存。
M:Model
・システム・ソフトウェアの機能部分
・エータベースへの接続などのコーディングをする部分
・データ部分
V:View
・ユーザーインターフェース
・表示されている部分
・Outputの処理部分
C:Controller
保守や生産性を高める
MVCをベースにしたフレームワークが多くある
変化
コーディングベースでシステム、ソフトウェアが開発されていた
規模が大きくなったのでオブジェクト指向で開発され
・コーディングベースではあるので、アルゴリズムとデザインパターンで考えられた
・開発コストなどを感がえる必要があるため「開発モデル・アーキテクチャ」が重要になっている
フレームワークやAPIなどの活用が重要になってきている
コーディングよりもサービスの提供速度
開発手法もウォーターフォールからアジャイルに変化をしてきている