機能単位=サービスの連携
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/18 12:09 UTC 版)
「ウェブアプリケーション」の記事における「機能単位=サービスの連携」の解説
複雑性に対処する方法論として「独立・自立した機能 = サービス」を連携させて大きなアプリケーションをつくる方法がある。 これに着目したアーキテクチャとしては以下が挙げられる。 サービス指向アーキテクチャ マッシュアップ マイクロサービス(microservice): 単一のバックエンド機能をサービスとして切り出して独立させる マイクロフロントエンド(Micro frontends): 単一のフロントエンド機能をコンポーネントとして切り出して独立させる Self-contained System (SCS): マイクロサービスとマイクロフロントエンドを含めて単一の独立機能単位(システム)として提供する 通底する思想はどれも同様で、ある1つの機能をサービス(独立機能単位)として扱い、それらの間の連携によって大きな機能を達成するという思想である(c.f. 関心の分離、分割統治、KISSの原則)。サービス同士が分離することで単一責任の原則が成立し機能の変更が1つの小さなサービスに閉じ複雑性が低減する。また組み合わせるサービスの種類によって多様なアプリケーションが構成できる。一方でサービスの連携をいかに行うかが重要になる(容易に複雑性が発生する)。機能分割が意識されないアプリケーションはモノリシックと呼ばれる。 連携にWebを用いるという構想から始まり、厳密な連携プロトコルかRESTのような柔軟なプロトコルか、開発工程・デプロイメント・チームビルディングまでを含んだ方法論か、クラウドコンピューティングサービスを前提にするかなど、範囲と標語/キャッチフレーズを変えながら、Webアプリケーションが登場した当初からアーキテクチャの提唱が続いている。プログラムの分割界面という側面では「サービスに着目」という点でドメイン駆動設計に近い思想を持っている。
※この「機能単位=サービスの連携」の解説は、「ウェブアプリケーション」の解説の一部です。
「機能単位=サービスの連携」を含む「ウェブアプリケーション」の記事については、「ウェブアプリケーション」の概要を参照ください。
- 機能単位=サービスの連携のページへのリンク