Recent Posts

RSS Feeds

SOAって何? Part2 ー 積み木作りといっしょ!!


エンジニア以外の人にも「分かりやすく、かんたんに」を実現
しようとしているのがSOA


ガートナーのロイ・シェルテが1996年に名付けたSOAが
こうなのかはわかりませんが、私の中では(Sunではなく)
このように考えるととてもすっきりしています。


今までの歴史は、開発者にとって「分かりやすく、かんたんに」を
目指してきました。



アセンブラから始まり、手続き型、モジュール化、オブジェクト指向へと
進化してきたのですが、言語の進化、開発ツールの進化の過程により開発者に
とっての「分かりやすく、かんたんに」は随分進化しわかりやすくなってきました。

一方でITエンジニア以外がシステムを理解するためにはどうでしょう?

たとえば、会社の社長が社内のシステムの全体像を理解して
有効活用させたいと考えます。

その場合、恐らく既存のシステムを理解する所からつまずくでしょう。
なぜなら、今あるシステムのドキュメントは開発者には
分かりやすいものですが、詳細すぎて社長をはじめ、ITに精通していない人には
全体像を理解するには難しすぎるからです。

開発者が作成したUML図を開発者以外が見てもよくわからないからでしょう。
ですので、開発者以外の人がシステム全体を理解しやすいように、
ITシステム基盤を構築するアーキテクチャをSOAと読んでいます。


ポイント:

詳細な設計資料から全体像を把握するのは困難


これを積み木に例えて、積み木で家を作る時を考えましょう。
最もかんたんな家は下記の絵のように、四角の木が2本と三角の木が
1本あれば家をつくる事ができます。



この時、家の全体像を把握したい人(社長)は四角の木が2本と三角の木が1本あれば
できることを理解すればよいのです。
木の材質(どの言語でつくられているか)や木がどのように作られたか
(内部的にどのように実装されているか)は(社長は)知らなくてもよいのです。

これをサービスに置き換えて考えると、それぞれの木をサービスとして
おきかえてみてください。

Javaで実装されたサービス:

● サービスA(四角の木)
● サービスB(四角の木)

.Netで実装されたサービス:

● サービスC(三角の木)

どの言語か、どのような実装かは理解しなくても、単にサービスA、サービスB、
サービスCという抽象度の高いコンポーネントからシステムが作られていることが
理解できれば、今までよりも明らかに分かりやすくなります。

ここではサービスとしてJavaや、.Netを例にあげていますが
言語はなんでもよくまた、サービスの連携もプログラム言語だけでなく、
汎用機や、DB、ERPなどのデー連携などでもよいです。

ポイント:

SOAが目指す「分かりやすく、かんたんに」は開発者、システムエンジニア向けではなく、
エンジニア以外の人が見てもITシステムの全体像を分かりやすくすることです。

次回は、SOAで「柔軟さ」が必要なわけを説明します。

Permalink     2 Comments
Track Back :




Comments:

DB、ERPなどのデー連携
=> DB、ERPなどのデータ連携
ですねー :)

Posted by kimimasa on 8月 19, 2008 at 06:53 午前 JST #

きみちゃん、御指摘ありがとうございます。

Posted by よっしー on 8月 19, 2008 at 11:52 午前 JST #

Post a Comment:
Comments are closed for this entry.