ASP.NETを使って作成したXML Webサービスの設計マニュアル

2108 ワード

Webサービスは、インターネットを介してプログラムされたアクセスが可能な強力な技術である.下記の提案はあなたのWebサービスの作成に精通するように助けることができます.
  • Webサービスは、クライアントとウェブサービスをホストするサーバとの同期と非同期の通信を同時にサポートする.同期通信の下で、クライアントは、サービス要求をホストサービスのサーバに送信し、応答を待つ.これは、他の操作を完了したクライアントからの結果の待ち時間を防止する.いずれにしても、非同期通信は、クライアントが応答待ちと同じように他のタスクを処理し続けることをもたらす.クライアントが利用可能になると、サービス要求の結果に応答する.ウェブServices Description Languageツール(Wsdl.exe)を使用してあなたのエージェントクラスを作成すると、このクラスの中の方法のために標準的な同期バージョンと非同期バージョンが生成されます.非同期バージョンはBeginとEndと呼ばれる2つの方法から構成される.Begin方法はWebサービスを初期化するためのものであり、End方法は結果を得るためのものである.非同期通信を使用してシステム用途を改善し、Webサービスの結果を待つクライアントの遅延を回避した.コードの例については、「実践:Webサービスクライアントから非同期呼び出しが発生する」を参照してください.非同期通信の追加情報については、[非同期XML Webサービスで通信]を参照してください.
  • は、インターネットを介して多くのサービス要求を生成し、クライアントアプリケーションの性能に影響を与えることができる.あなたのWebサービスを設計する際には、相互に関連する情報を組み合わせた方法でサービス要求を効率的に利用する.例えば、書籍情報を取得するWebサービスがあるとする.本のタイトルを別の方法で取得する代わりに、著者と出版社は、サービス要求の中でこれらのすべての情報を返す方法を作成します.しかし、同じ時間に大量の情報を送信するのは、複数のより小さい情報よりも効率的である.
  • コードの例については、「実践:関連情報を個別のWebサービス方法にグループ化する」を参照してください.あなたのWebサービスを設計する場合、標準的なオブジェクト向けプログラミング習慣を使用していることを確認します.実装の詳細を隠すためにパッケージを使用した.より複雑なWebサービスについては、コードを継承し、マルチモードで再利用し、デザインを簡素化することができます.
  • コードの例については、「実践:Webサービスでの継承」を参照してください.出力キャッシュを使用して、あなたのWebサービスの性能を向上させます.出力キャッシュがオープンされると、サービス要求の結果は、特定の継続時間のために出力バッファに記憶される.類似のWebサービスが生成されると、結果はキャッシュから獲得され、その再計算に勝る.このようにWebサービスサーバに必要な処理を低減することにより、Webサーバの反応時間を改善する.キャッシュは、クライアントとサーバの両方で同時に実行されてもよい.Duration属性は、時間を指定してWebサービスの出力をキャッシュすることができます.クライアントイネーブル出力キャッシュの指示は、
    <%@ OutputCache Duration="60" %>
    コードの例について、[実践:Webサービスクライアントにおける出力キャッシュの有効化]を参照することである.WebMethod特性クラスのCacheDuration属性を使用して、サーバー内のキャッシュを有効にすることもできます.コードの例については、[実践:Webサーバのためのサーバ端出力キャッシュ]を参照してください.
  • あなたのWebサービスを設計する時、下の構造についてどのようにフォーマットされているかを試してみます.
  • Webサービスは、SOAPを主要な転送プロトコルとしてプログレッシブプロトコルとする.1つのSOAPメッセージは、任意のヘッダセットとメッセージ体から構成される.ヘッダ・セグメントは、Webサーバにおけるアーキテクチャによって処理できる情報から構成される.SOAPは、任意のヘッダを定義していません.バルクセグメントは、Webサービスのパラメータや戻り値など、アプリケーションによって処理される情報を含んでいる.SOAPヘッダを使用する追加情報については、[SOAPヘッダを使用]を参照してください.
  • あなたのWebサービスのためのドキュメントを提供します.例えば、静的なHTMLファイルで、あなたのサービスの操作とデータ構造を説明します.同様に、Webサービスの使い方の例も含まれている.サービスヘルプページのサービス記述を唯一の文書として扱わないでください.