XMLベースのSOAPプロトコル

3259 ワード

ONC RPCにはどのような問題がありますか?
ONC RPCは、クライアントが送信するパラメータと、サーバーから送信する返信をバイナリストリングに圧縮します.これにより、双方の合意の問題を解決することができますが、一定の不便があります.まず、双方の圧縮フォーマットが完全に一致していなければなりません.少しのミスがあったら、一桁以上、一桁未満、あるいは一桁間違えても、解凍できないかもしれません.もちろん、転送層の信頼性と検査値を入れるなどの方法で、伝達過程のミスを減らすことができます.第二に、プロトコルの変更は柔軟ではなく、転送中に生じたエラーではなく、クライアントが業務ロジックの変更のため、フィールドを追加または削除しました.双方は即時に通知していませんでした.または、オンラインシステムが適時にアップグレードされていないと、解凍が成功しませんでした.したがって、業務が変更された場合、パラメータを多く転送したり、パラメータを少なめに転送したりする必要がある場合は、直ちに相手に通知し、約束されたプロトコルファイルに基づいて両方のStubプログラムを再生成する必要があります.このように柔軟性が悪いということは、コミュニケーションの問題以外にもバージョンの問題があり、バージョンによって必要なパラメータが異なります.ONC PRCのデザインは明らかにオブジェクト指向ではなく関数向けです.現在は対象に向けた業務論理設計と実現方式が主流となっている.
XMLとSOAP
XMLはテキストタイプの伝送方式です.フォーマットは完全に同じである必要はありません.
転送プロトコルの問題
XMLに基づく最も有名なプロトコルはSOAPです.フルネームの簡単なオブジェクトアクセスプロトコルです.XMLを使って簡単な要求と返信メッセージを作成し、HTTPプロトコルで転送します.SOAPは要求と返信を封筒に入れて、メールを送るようにします.封筒の中の手紙は頭と本文に分かれています.
POST /purchaseOrder HTTP/1.1
Host: www.geektime.com
Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn

 
1234
2018-07-01 68
HTTPプロトコルは私達が学んだことがあります.この要求はPOST方法を使って、appication/sop+xmlのXML本文を送ります.www.geektime.com.これによって次の注文書はSOAP封筒に封入されます.そして、これは取引であることを示しています.そして、注文の詳細はすでに書いてあります.
協議の約束
WSDLは、Webサービス記述言語であり、XMLである.オーダータイプ

 
    


一つずつメッセージを作る仕組み

 
次に、ポートを露出すべきです.
 
  

次に、私たちは、SOAP要求のbodyに、上記で定義された情報を結びつけるbindingを作成する.
 


 

   
最後に、私達はserviceを編纂したいです. WSDLはまだ複雑ですが、ツールがあれば生成できます.あるサービスについては、見知らぬ人でも、サービスアドレスの後に追加することができますか?wsdlはこのファイルを取得します.
サービス発見問題
ここにUDDIがあります.つまり統一的に説明します.発見と集積プロトコルです.実は登録センターです.サービス提供者は上記のWSDL記述ファイルをこの登録センターに公開して、登録が完了したら、サービス利用者はサービスの説明を探して、ローカルのクライアントに入れて呼び出します.
リボン:
  • 元のバイナリRPCには多くの欠点があり、フォーマットが厳格であり、修正が複雑すぎて対象に向かないため、テキストベースの呼び出し方式であるXMLベースのSOAPが生成される.
  • SOAPには、WSDL、転送プロトコル用HTTP、サービス発見用UDDLの3つの要素がある.