2006年08月03日

ITアーキテクトサミットに行ってきました。


SOA(サービス指向アーキテクチャ)っていうのは、
メッセージ交換によるソリューションです。

全てのデータが一極集中するようなシステムでは、
例えば、テーブルのカラムが変更になったら大騒ぎ。
(普段その変化に強いようなデータモデルやアーキテクチャを考えてるわけだけど)

でも、SOAでは、サービスをまたがってしまえば、
同じメッセージを返してさえくれれば、問題ない。
まぁ、疎結合なアーキテクチャだってことです。

マイクロソフトの成本正史氏は、上記のようなことを
DOAと比べて、SOAは、”ごまかしがきく”という表現をしていた。
バスを使って、XMLがどうだ、っていうのは、SOAの主題ではないと。
(デモンストレーションでVISTAを使ってたけど、すげぇな、アレ)

で、お決まりの。
プロセス間にまたいだ重複するようなところはサービスでくくって再利用的な話。
(前から言ってるんだけど、再利用とコスト削減は違うと思うんですよ。
シンプルで且つ汎用性があっていい感じに作るってことは
最強に難しいんだってなかなかみんな分かってくれません。
今度、どっかでまとめたいなぁと思います。)

損保ジャパンの服部浩憲氏は、
ビジネスプロセスの中での重複の模索なんて20年前からやってるよ、と。
しかも、400のメインフレーム系のシステムと、200のサーバー系のシステムが
それぞれ、標準(Standard)と原理原則(Principle)にこだわってやってきたから、
どの単位でSOA的なサービス化をすればいいのかなんて分かってるぜ、と。
(20年以上前に当時安田だった損保ジャパンはマッキンゼーが入って、なんて話しも。)

そりゃそうだよなって思った。
日本企業って絶対バカじゃないと思うんですよ。
技術は技術屋がやればいいけど、ビジネスプロセスの見直しにSIerが入るって
それなんかおかしくないか?なんて思うわけです。

BPMNってフローチャートみたいなもんで、
お客さんと話すネタに使えるなんてのもあったけど。
でも、それってずっと前から誰かがやってたんじゃ?なんて思うわけです。
逆にそんなこともしてないようなお客さんだったら、
会社のシステム全体をSOAで、なんてプロジェクトで一緒に仕事したくないです。

で、SOAの弱点の話。
サービスまたいだトランザクションってどうすんの?って話。
損保ジャパンでは、業務が複雑で、後からトランザクションの結果を
補正するような形では救えないケースがあるそうだ。
成立したはずなのに?的な状態が発生する可能性があり、
その場合、始末書が発生する、と。

上記のようなACIDが必須という背景で、いわゆるSOAの導入には至っていない。

一般的にSOAのプロジェクトでは、サービス間をまたくトランザクションは
Long Termトランザクションといって、
一旦トランザクション自体は終わらせて、
つじつまがあわないような事態になった場合に、
後から”取消”みたいな形にするらしい。

ただし、設計として、ACIDを複数サービス間で、っていうのはいかがなものか、と。
そうです。サービスの粒度ってどうしたらいいのよ?っていう話です。

業務的にみたくくりっていう視点と、
IT的にみたくくりっていう視点があって。
その中でACIDとか重複とかサービス間の連携頻度とか。

もちろんそれだけじゃなくて、
To-Beの形にもっていこうとするトップダウン的にっていう場合と、
As-Isの形でサービス化していこうとするボトムアップ的と。

1日SOAの話を聞いて思ったのが、”まだ確立されてないな”ってこと。

実際にSOAを導入しているところは、どうやってるかっていうと、
まず小さいところから、SOA的なインフラ上にモノ作ってみて、
それでいけそうだったら、だんだん大きくしていこうっていう形。

にしても、実際に自分がやってるシステムでも、
“ここはDBにコネクション張るんじゃなくて、疎な感じにしないと!”
なんて思うところはあるわけであって、無視できるものではないわけで。

まぁ、技術的には、XMLをTCP/IP上でソケット通信するんだってのが
わかってれば、いつでも対応できんのかなと思っています。
細かいところは、いろんなベンダーが出してる、いろんなツールが
なんでもやってくれるみたいなので。

そうそう、北海道の自治会のSOA基盤を構築っていう講演で、
サービス間のインタフェースをシミュレートするモノを作って
っていうのが、必須だろうなぁと思いました。
モックを使ってテストできないと、後からガッチャンコしたとき
ひどいことになりそうだし。。


最近、ソースコードってわかりやすいなぁって思います。
今日の講演も思ったけど、実際のソースコードとか、XMLとか見せてもらえると、
もっとスーって頭に入ってくるのになぁって。
そういった意味で、ひがやすを氏の講演とかは毎回すごく明快。

っていうか、今はやっぱり、変化に強いアプリケーション構築技術の方が
興味があります。

DBのカラムが変わっても、プログラムをサーバーにコミットした瞬間、
勝手に自動テストが流れ始めて、
短時間で全てのプログラムに対する影響の確認と、
回帰テストを実施してくれて、そのまんま自動的にビルドして
デプロイまでしてくれるような仕掛けがあれば。

特に今やってるプロジェクトは、
しょうもないことに何千万使えば気が済むんだろうって思うし。
SOAだの言う前にやるべきことは山ほどある。

でも、今のお客さんが、会社全体として、どこがサイロ状態なのか、とか。
そういうことすら全然わからなくて。
(というか、お客さんの社員自体もよくわかってないっぽい)
いつまでも、そんなポジションでちっぽけなことやってくってのもなぁと。

そんなこんなで中小企業のシステムとか興味あったりします。
うちの水道屋/電気屋とか完全にアナログな感じで仕事してるけど、
いろいろシステム化したら、どうなるんだろう、とか。


友達の結婚式の2次会。
フツウに披露宴終わった後に飲み会やるだけだって言ってて。
せっかくだから、ちゃんとしたのやればいいのにって。

とりあえず今日、銀座のこじゃれたダーツバーのワンフロアを借りた。

30人の予約ででっかいケーキも含めて16万円。結構安いのね。
モニターとかもあるから、チョロっと映像作って、
音楽とかもちゃんと考えようかなぁと。

しかし、こういう時に、技術とかそういうのじゃなくて、
いかに1つのイベントをスムーズに準備から当日終わるまで進められるか
ってので、ビジネスマンとしての器量が知れるような気がします。

学生時代からでかいイベントを企画したりするヤツが
俺の周りにもいたけど、そういうバイタリティってのは
やっぱりすごいなぁなんて改めて思います。

逆に言うと、いつでも、技術っていう拠り所のある技術屋って職業は
いろいろしんどいけれども、ある意味で楽なのかなぁと思います。


夜中に新宿の駅から帰るときに、
こないだ一緒に船で釣りにいった近所の人に遭遇した。

もっと新宿が友達だらけになったら楽しいのになぁ
なんて思いました。

コメント

タイトルとURLをコピーしました