InfoQ

News

マイクロソフト社はSOA4思想を捨てる?

作者 Arnon Rotem-Gal-Oz, 翻訳者 編集部 投稿日 2007年8月29日 午前1時24分

コミュニティ
.NET,
SOA
トピック
設計,
Webサービス
タグ
Microsoft,
批判
マイクロソフト社のHaryy Pierson(a.k.a.DevHawk)はマイクロソフト社製のSOAに関する4つの思想を捨て去るべきだということを述べている。というのもHarry氏の意見としてそれにはもう実用性がないということだ-少なくとも今はもう役に立たないのだ。
私は思想の行うべき目的は完了したのでそれらを捨て去るべきであると思う。一度サービス指向のパラダイムを受け入れてしまったらその思想はそれ以上どんなガイダンスをもたらしてくれるのだろうか。あったとしてもそれほどのものはないだろう。
SOA思想はもともと2004年にMSDN誌上でDon Box氏による"A Guide to developing and Running Connected Systems with Indigo"という記事が出版されたときに始まったものである。(Indigoは現在ではWindows Communication Foundation略してWCTとして知られている。)そこでDon Box氏はWCTはSOA規則に基づいていて、他のアプローチと異なり、とりわけオブジェクト指向とは違いSOAが異なる仮説を必要とするものだと述べている。
Indigoではサービスはメッセージ交換によって影響し合う簡潔なプログラムなのだ。 デプロイされたサービスの集合体がシステムなのである。個別のサービスは永遠に存続し -与えられたサービスの有効性と安定性は非常に危険なのである。サービスの集合システムは変化を許容する- というのはそのシステムは元来のサービスとクライアントがデプロイされた後しばらくして現れる新たなサービスに適応させる必要がありまたこれが機能を壊すことがあってはならないのだ。
Don氏は下記の4つの思想を定義し、また説明している。
  • 境界が明白である。
  • サービスが自律的なものである。
  • サービスはスキーマ、クラスではなくコントラクトを共有している。
  • サービスの互換性はポリシーに基づいて決定されている。
さっきも言ったように、Harry氏はこの思想があまり役に立つものだと考えていない。またHarry氏は、SOA思想がソリューションスペースを制限しないことに関して著したJohn Heintz氏とのディスカッションに基づいてこの結論を出したのだ。
思想1:境界が明白である。(もちろん、しかし全てそうなのだろうか?SQLベースのインテグレーションストラテジーはこのカテゴリーに収まらない。とな るとどのように良質の境界を作ればいいのだろうか?何がもっと適応するだろうか?マッシュアップと統合に対してバリアが低いのはなんだろうか?)

思想2:サービスが自律的なものである。(そうだ。これはゴールであるがそれを達成するガイダンスと境界は含んでいない。)

思想3:サービスはスキーマ、クラスではなくコントラクトを共有している。(私のインターフェースとクラスを伴うオブジェクト指向プログラムもそうだ。SOAをそれとは異なるものにするオブジェクト指向デザインとは何が違うだろう。)

思想4:サービスの互換性はポリシーに基づいて決定されている。(これは良いスタートだ。:ポリシーのタイプとスコープはアーキテクチャを形作ることがで きる。そしてポリシーはシステムの中に制限されている。確固たる定義はされていないがそこにあるべきというステートメントはある。)
Hartmut Wilms氏はこれらの主張にあまり同意しておらず完璧なSOAの世界ではそれが本当かもしれないが現実世界にはあり得ないと述べている。
あなた達は本当に全ての開発者達がメッセージ指向のパラディムに適応していて”サービス指向が主流である”と思っているのですか?私はそうは思いませんね。 ベンダーによってCLRやJVM等の初めのアプローチが宣言されて大衆がそれを聞いてそれに続く限り、4つの思想はまだまだ存続しつづけるのです!!
一番初めの記事を書いたDon Box氏はそれに関してコメントしておりその思想はもともとWCFが作られた規則を説明するために発行されたものであると述べている。
抽象レベルで”私たちはこれを使ってこうして欲しいです。”ということ以上にガイダンスを提供するのが目的ではなかったのです。
元来の目的とは関係なしにこの4つの思想は過去4年間、マイクロソフト社のSOAメッセージによって独占されていた。この思想に何かまだメリットがあるのだろうか? それともHarry氏が正しくそれを捨て去るべきなのか? 最後に、どちらにしてもMicrosoftの開発業界以外でそれに関して興味がある人がいるのだろうか?
ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

ジャンル別一覧

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。

消費者主導契約を使ったサービス指向開発

この論文では、組織のサービス開発能力改善を目指した実用的な提案をします。

スケーラビリティの構築とパフォーマンスの達成:バーチャルパネル

InfoQ.com向けのこのバーチャルパネルでは、大企業やプロジェクトからスケーラビリティやパフォーマンスの著名人を招待し、みんなが夢に描いているような結果を達成するための秘密を明かしてもらいました。

アジリティのためにコンポーネントチームより機能チームを選ぶ

Craig Larman氏とBas Vodde氏は、どのように、そして、なぜ機能チームがうまくいくのかを説明し、この主要な組織の変化が価値あるものであることを主張します。

仮想化とセキュリティ

仮想化にはたくさんの利点がありますが、かと言って、その上に実装するアプリケーションのセキュリティをないがしろにしてはいけないのです。

Rubyのオープンクラス:猿のようにパッチを当てない方法

最近リリースされたRuby 1.8.7のプレビューリリースをウオッチしていたRails開発者はすぐに1.8.7プレビュー1に関してあることに気がつきました。それは、1.8.7プレビュー1がRailsを破壊してしまうということです。