BT

本当に、サービス記述は、必要か?

| 作者: Boris Lublinsky フォローする 1 人のフォロワー , 翻訳者 編集部N フォローする 0 人のフォロワー 投稿日 2010年10月26日. 推定読書時間: 3 分 |

原文(投稿日:2010/10/20)へのリンク

SOAPベースのwebサービスを複雑にしている主要な原因の1つが、サービス インターフェースを記述するのに使う Web Services Description Language (WSDL) の使い方にある。William Vambenepe 氏によると、WSDLに関するもう1つの問題は、WSDLとそれを使ったスタブ生成ツールが余りに互いに強く結合した、分散アプリケーションを生成することである。人々がこれらの問題を認識し始めると、サービス定義を改善するのではなく、

... 人々は、サービス記述の全ての考えを投げ捨てた。そして、今は、APIの時代で、アプリケーションのコントラクトの点で、現在は、15年前から進んでいない。これは、悲劇である。

投稿の中で、氏は、そのような決定を正当化するのに一般に使われる、2つの重要な間違った考えについて論じている。

  • ある1つのサービスに適した真の記述は、1つだけではない。 氏が言うには、
    自動的なシンタックス検証に焦点を当てるよりも、特別なニーズに合うように最適化されたサービス記述にする方が、絶対にいいのである。サービス契約のすべての利用者が同じ記述を使う必要があるわけでは、無い。違ったユーザと/あるいは目的にあった、違ったサービス記述にすることは、問題ない。

    氏は、投稿で主に、あるサービスに対する異なったフォーマットについて述べているが、彼の言っていることは、ずっと広い範囲に当てはまる。技術者として、長い間、我々は、開発者(APIの定義)向けのサービス記述ばかりに注目していて、ビジネス アナリストのニーズを無視してきた。彼らは、特定のエンタープライズの問題にサービスを適用できるかどうかについて、決定を下さなければならない人たちである。一般的に、彼らは、「従来の」API定義(サービス記述)をずっと超えたサービスについての情報を必要としている。例えば、

    • そのサービスは、どのようなビジネス上の機能を提供するのか?
    • サービスの限界は、何か?
    • サービスは、どのSLAをサポートするのか?
    • サービスをうまく起動ために、サービス リクエスタが満足しなければならない要求は、何か?
    • どのような条件の下であれば、特定のサービス実行によって結果が生まれるのか?
  • サービス記述は、メッセージの検証をしなければならない、という意味ではない。 氏が強調するのは、
    サービス記述が役立つ方法は、他にもたくさんあったが、シンタックス検証とスタブ生成に注目したために、そのようなことは、殆ど無視されてきた。

    サービス記述のいくつかのユースケースとして、投稿にあったのは、

    • ポリシーやSLAを付ける。氏が説明するのは、
      WSDLがしばしば使われる用途の1つが、ポリシーやSLAを付けることである。この目的には、XSDメッセージ定義は、全く不要である。必要なのは、ポリシーやSLAを付ける作業を特定する方法だけである。このためには、WSDLよりずっと単純な言語が使えるだろう。しかしもしあなたが、記述言語のまさにそのような概念を投げ捨ててしまったら、風呂水(シンタックス検証のメカニズム)と一緒に、大事な赤ん坊(サービスによって処理されるリクエストの分類)まで捨ててしまうことになる。
    • 統制/バージョン管理 サービス定義が変わったときに、発見する能力
      サービス記述文書を持つ事による恩恵の一つは、それが変わったときにわかることである。例えこれを単純な2値に縮めてしまう(私が前回チェックした時から変わっているか、yかn)場合でも、価値はある。もし、変更によって影響を受けるリクエストがどれかを見るために、その記述文書を調べられるなら、更によいことである。そして、その変更が後方互換かどうかわかれば。

公式のサービス記述は、確かに重要である。WSDLの欠点が、その完全な破棄の根拠であるべきではない。もしサービス記述の次のバージョンが今日のWSDLあるいは Web Application Description Language (WADL) 、すなわち「マシンが読める」サービス記述を超える事が出来れば、それは素晴らしい。結果的に、サービス記述は、API定義以上のものであるべきであるが、サービスのライフサイクルに参加しているすべてのステークホルダーを満足させられるものであるべきである。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT