シンプルですが基本情報の勉強をしていて思ったことがあるのでメモ。
例えば「SOA(サービス指向アーキテクチャ)」を理解しようとする時、
まず、SOA(サービス指向アーキテクチャ)とは...
ビジネスプロセスを効率化するためのアプローチの一つで、ソフトウェアの構造を独立したサービスの集合として設計することを指します。このアーキテクチャスタイルでは、各サービスは特定のビジネス機能を提供し、他のサービスとの間で疎結合を保ちながら相互に通信できます。
とのこと。はぁ!? ビジネスプロセス?サービスの集合?アーキテクチャスタイル?意味わからん。。。
ってなる時は大体、対象の事柄(今回ならSOA)を理解する上での前提知識が足りていないことがほとんどです。
そのため、その物事を理解するためには、「必要な前提知識は何か」をまず把握し、それを理解し、その後に対象の物事を理解するようにすればOKです。時間がかかるように見えますが知識の定着という意味では近道でしょう。
さて、SOAを例にとった場合、必要な前提知識は下記です。
※何を事前知識として知るべきかはAIに聞けばOKです。
ソフトウェアアーキテクチャの基本
ソフトウェアアーキテクチャは、ソフトウェアシステムの設計計画です。これには、システムを構成する要素、それらの要素の配置、要素間の関係が含まれます。SOAもこれに該当するアーキテクチャの一種です。
モジュール性
ソフトウェアを小さく独立したモジュール(部品)に分割する考え方です。各モジュールは特定の機能を持ち、独立して他と組み合わせることが可能です。SOAでは、これらのモジュールを「サービス」と呼びます。
インターフェースとAPI(Application Programming Interface)
インターフェースは、ソフトウェアモジュールが外部と通信するための「入り口」です。APIは、他のプログラムがその機能を使うための方法を定義します。SOAにおいて、サービスはAPIを通じて互いに通信します。
ネットワークとプロトコル
SOAではサービスがネットワークを介して互いに通信します。ここでの「プロトコル」とは、通信のルールや形式を指します。例えば、HTTP(Webで使われる通信規約)やSOAP(Webサービスで用いられるプロトコル)、REST(よりシンプルなWebサービスの設計スタイル)があります。
データの交換形式
サービス間でデータをやり取りする際の形式も重要です。一般的な形式にはXML(拡張可能マークアップ言語)やJSON(JavaScript Object Notation)があります。
これを理解した後にSOAについて学び直せば理解はスムーズです!!では!!!