![]() 前へ |
![]() 次へ |
Webサービスは様々なクライアントからアプリケーションのデータにアクセスする方法を定義する、XMLベースのオープン・スタンダードを使用するアプリケーション・コンポーネントです。これらのクライアントは、様々なプラットフォーム上で稼働していて異なるネットワーク上にあってもかまいません。クライアント/サーバー・モデルの場合は、Webサービスはサーバー側にあり、クライアントはサーバーからWebサービスを取得する際にトランスポート・プロトコルを使用します。
Webサービス・データはSimple Object Access Protocol (SOAP)フレームワークで定義される形式のメッセージとしてパッケージされます。SOAPはネットワーク上でXMLベース・メッセージを転送するトランスポート・プロトコルです。通常、転送にはHTTPを使用します。このため、SOAPベース・メッセージを読み取って解釈できるクライアントはすべて、Webサービス内のデータにアクセスできます。
WebサービスはWeb Services Description Language(WSDL)を使用して構築されます。WSDLファイルはXMLファイルで、Webサービスを記述し、Webサービスを使用した通信方法の詳細を示します。このファイルは、トランスポート・プロトコルの詳細およびWebサービスで使用するメッセージ形式を示します。また、Webサービスの操作または機能を定義するポートの詳細をメタタグとして含みます。
Webサービスを定義するWSDLファイルの例は次のとおりです。
<definitions
name="PfWebServiceImplService"
targetNamespace="http://oracle.wh.jrt.sdk.packaging.dbWebService/"
............................
>
<types>
</types>
<message name="runInput"/>
<message name="runOutput">
<part name="return" type="xsd:int"/>
</message>
.........................
<portType name="PfWebServiceImpl">
<operation name="run">
<input message="tns:runInput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
ns1:Action=""/>
<output message="tns:runOutput" xmlns:ns1="http://www.w3.org/2006/05/addressing/wsdl"
ns1:Action=""/>
</operation>
................................
</portType>
<binding name="PfWebServiceImplSoapHttp" type="tns:PfWebServiceImpl">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="run">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal" namespace="http://oracle.wh.jrt.sdk.packaging.dbWebService/"/>
</input>
<output>
<soap:body use="literal" namespace="http://oracle.wh.jrt.sdk.packaging.dbWebService/"
parts="return"/>
</output>
</operation>
.............................
</binding>
<service name="PfWebServiceImplService">
<port name="HttpSoap11" binding="tns:PfWebServiceImplSoapHttp">
<soap:address location="REPLACE_WITH_ACTUAL_URL"/>
</port>
</service>
</definitions>
WSDLファイルは、Webサービスを公開するとWarehouse Builderによって自動的に生成されます。Webサービスの機能は、portTypeメタタグ内に定義されます。soap:address locationメタタグは、Webサービスが配布されるロケーションを定義します。