Microsoft Architect Forum 2007 レポート

昨日(4/25)、Microsoft Architect Forum 2007に参加してきました。半日のイベントでありながらMicrosoft米国本社から来たアーキテクトの方々の講演3本と対談2本と盛りだくさんな内容で、かつMicrosoft技術のプロモーションも少なく(笑)一般的に役立つ話が多かったので非常に良いイベントだったと思います。(しかも無償だったし!!)

私的に1番面白かったセッションは Ron Jacobs の「Patterns for Service Oriented Architecture」でした。ハンズアウトはありませんでしたが英語のスライドは下記URLのブログから辿るとダウンロードできます。(内容はほぼ同じでした)


Ron Jacobs - Patterns and Anti-Patterns for Service Oriented Architectures
http://blogs.msdn.com/nilsv/archive/2006/09/04/739330.aspx


SOAで実装する際のサービスインターフェイスアンチパターンの話が面白かったです。
下記のようなサービスインターフェイスアンチパターンとして挙げていました、具体的なコードのイメージは上記のスライドを参照してください。

CRUDベースのインターフェイス
・ステートを持ってしまうようなサービスのインターフェイス
・複数のメッセージを受け渡さないとプロセスが完了しないインターフェイス
・XmlDocumentを引数や戻り値としてもつインターフェイス


このあたりは激しく同意です。
じゃあどうやってサービスのインターフェイスを定義すればいいかという話に当然なります。
ここは私の考えですが、まずはアプリケーション内部で使用するサービスと外部アプリケーション用に公開するサービスを分ける点がポイントになると思います。例えばスマートクライアントとWebサービスで通信しようとするとCRUDベースのインターフェイスになりやすいですが、それをそのまま外部アプリケーションから呼ぶのではなく外部用のサービスはメッセージベースの粒度の大きなサービスインターフェイスで別途定義する形です。
SOAの設計で悩まれている方は是非上記スライドをご一読ください。


それと最後の対談が面白かったのでそこでの話題のポイントをまとめておきます。たしかモデレータの質問はこんな感じでした。

Q. アーキテクトにとって必要な資質や大切なことはどんなものでしょう?
(MS 松村氏). チーム内のメンバの力を引き出しそれらを上手に組み合わせて自分の考えを実現すること
IBM 榊原氏). 色々な技術を試してみてそのエッセンスを取り込むこと
(MS Michael Platt氏). 色々なことに興味を持つこと、それらのバランスをとること


対談で話された3人の方のタイプや立場がそれぞれ違ったので、視点の違いがよく表れていると思います。
どれが正解という話でなくどれも大切な考え方だと思います。アーキテクトになりたいとか関係なく技術者としてどれも大切なことだと思いますし。

他にもいろいろ面白い話が聴けましたが紙面の都合(?)でこの辺りで。