SOAの本質

まず私の思う、システム開発の理想についてメモしてみる。

  • 一人の人間がすべての工程を一貫して担当する。が、当然それには限界がある。
  • 従って一人の人間の限界に収まるまでシステム全体を細分化する必要がある。
  • また細分化された範囲は独立していなければならない。なぜなら一人の人間がすべて把握するにはその方が都合がいいからだ。他の人に依存する部分が少なければ少ないほど、管理含めて、うまくいく。
  • その結果、一人の人間が完全に把握できたその範囲はその中では完全に整合性が保たれ、不具合のない動作が期待できる。
  • そしてその細分化された範囲は、システムの中では、サービスとして機能すべきである。なぜなら、システム全体は、そういうサービス同士が共通のプロトコルでインタフェースすることにより、一個の大きなサービスとして存在できるからだ。

自立した個人、その個人同士の共通のルールに則った緩やかな連携。社会のあり方においても理想的な気がする。そういう理想の社会のシステムにおける縮図、それが、SOAの本質ではないだろうか。