2008年7月15日火曜日

現実的なSOA? II 1 of 2

じゃあ現実的なSOAって何よ?という話。

SOAが手法や方法論であるとするならば、現実的なSOAとはエンタープライズ・アプリケーションにおける現実的な手法や方法論ということになる。

ここで問題は、じゃあエンタープライズ・アプリケーションの現実解ってなんなのさ?という方向にすべっていくわけだ。

Tobeなところから考えてみる。システムに対する視点はいくつか考えられるので一言では言えないが、やっぱりメンテナンス性が高いだのロジック(ひいては業務プロセス)の組み替えが楽だのミッションクリティカルだのプラットフォーム依存しないだのという、どっかで聞いたような耳タコな表現になっちゃうんだと思う。

Asisなところでは...スパゲッティー的に絡んで状態が依存しあっている、ぐちゃぐちゃなシステムを思い浮かべてみよう。その中でFTPでチェックサムもつけずにファイル連携していたり、レガシーすぎて後継者が居なくなることが目に見えているシステムだったり、特定の人に依存しすぎていて目も当てられない状態だったりするんだろうな、という現場は何度か見て来たからなんとなく解る。

そんな中で現実解ってなんだろう?Asisなシステムに満足がいっているのであればそれが現実解なんじゃなかろうか?満足していないから、将来を見据えてTobeに近づけようとしてSOAの導入を検討している?そんな馬鹿な。だって、今のあなたのシステムはそんなに止まってないでしょう??だとすると今の時点でのシステムもある意味、現実解としてのエンタープライズ・アプリケーションですよね?Tobeに近づけるために沢山人を雇ってなんとかしているし、それでもいいんじゃないかと。

つまり、○○が××だったらいいのに!という叫び声が聞こえてこない限り、私には満足がいっているようにしか見えないんだな。〜だったらいいのに!は道具の発展における原点みたいなものだし、ここにこそエンタープライズ・アプリケーションの解が隠されていると思うわけ。

ただ、それを一気に片付けるような、ガンダルフの魔法の杖は存在しないのも明らかで、そこにこそ皆がIT業界の流行を追いかける理由になっている気がする。いつか自分たちの手元に素敵な魔法の杖が手に入る日がやってくるのだ、と。

(つづく)

2008年7月14日月曜日

現実的なSOA?

現実的なSOAというものを考えてみる。

SOAとはシステム、特に企業で構築・利用されるエンタープライズなシステムに対する手法や方法論であって、システムの実装そのものを指すわけではない。だがベンダーはSOA製品を売り出し、市場に展開している。これは各社が各社なりのSOAを検討した結果、実装として存在するものである。つまり「うちが考えているSOAはこういうものですよ」という意味でのSOA実装なわけである。

だからそれを利用する側に回ってみると、ベンダーの考えたSOAの方式にある程度は従って考え方をまとめていくしか無いわけである。これをSOAではない、と叫ぶ輩もあるだろう。しかし現実として、複雑に絡み合ったシステムをうまく取り回すため、SOA製品ベンダーの提供するSOAスイート製品の機能を利用するのが手っ取り早い方法であることに異論は無いと思う。

不幸なのは、既に「利用する側としてのSOA」が形作られていて、それがベンダーのSOA製品との間に大きなギャップを生み出している場合だ。SOAとは方法であるとするのであれば、その方向性から既に異なっているとなると、ベクトルがねじれの位置にあると言わざるを得ない。この問題が生じていることが解った時点で、「じゃあSOAってなんなのさ」が振り出しに戻るわけである。考えるだけで気が遠くなる。頓挫コールが聞こえてくる。

私もSOA製品ベンダーにつとめている以上は、この問題に対して真剣に取り組む必要があるだろう。正しい回答は...まぁ無いと思うので、私なりに検討した結果をこの場に書き連ねていければと思う。