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

2008年8月18日 at 6:00 AM 2件のコメント



エンジニア以外の人にも「分かりやすく、かんたんに」を実現

しようとしているのが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で「柔軟さ」が必要なわけを説明します。


広告

Entry filed under: Application Server/GlassFish.

SOAって何? GlassFishが大変なことになっています!!

2件のコメント

  • 1. kimimasa  |  2008年8月18日 2:53 PM

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

  • 2. よっしー  |  2008年8月18日 7:52 PM

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


Java Champion & Evangelist

ご注意

このエントリは個人の見解であり、所属する会社の公式見解ではありません

カレンダー

2008年8月
« 7月   9月 »
 123
45678910
11121314151617
18192021222324
25262728293031

カテゴリー

Twitter

clustermap

ブログ統計情報

  • 943,766 hits

Feeds


%d人のブロガーが「いいね」をつけました。