Web サービスは、XML に基づいた、自己完結型で自己記述型なモジュール形式のアプリケーションであり、Web への公開および Web からの起動が可能です。Domino Web サービスは次の W3C 標準に基づいています。
- WSDL は、文書指向または手続き指向の情報を含むメッセージを操作するエンドポイントの集合としてネットワークサービスを記述する XML 形式です。
- SOAP は、非集中、分散環境のピア間で、構造化されて型が設定された情報を交換するときに使用される XML ベースの情報を定義します。基本的に、SOAP メッセージは SOAP 送信側から SOAP 受信側への一方向伝送です。しかし、SOAP メッセージは、アプリケーションで組み合わされ、さらに複雑な相互作用パターンが実装されることがあります。
WSDL 文書は Web サービスを定義し、次の要素から構成されます。
- サービス -- Web サービス全体。WSDL 文書で、サービスはルートの <definitions> 要素で記述されます。子要素は <types>、<message>、<portType>、<binding>、<service> です。<service> 要素には、サービス名を指定する「name」属性があります。
- 型 -- サービスで使用されるデータ型。WSDL 文書で、データ型は <xsd:schema> 要素を含む <types> 要素で記述されます。データ型の詳細については、http://www.w3.org/TR/xmlschema-2 を参照してください。
- メッセージ -- サービスとの間でやり取りされるデータの抽象的定義。メッセージの数は任意です。WSDL 文書で、各メッセージは <message> 要素で記述されます。各<message> 要素には、データの名前と型を定義する 1 つ以上の <part> 要素が含まれます。
- ポートタイプ -- サービスでサポートされる操作の抽象的集合。WSDL 文書で、ポートタイプは <portType> 要素で記述されます。各 <portType> 要素には、1 つ以上の <operation> 要素が含まれます。
- 操作 -- サービスでサポートされるアクションの抽象的記述。WSDL 文書で、操作は <operation> 要素で記述されます。各 <operation> 要素には、関連するメッセージを指定する <input> および <output> 要素が含まれます。
- バインディング -- ポートタイプの具体的なプロトコルとデータ形式の指定。WSDL 文書で、バインディングは <binding> 要素で記述されます。<binding> 要素には、ポートタイプの名前を指定する「type」属性があります。SOAP エンコードの場合、<binding> 要素には、「style」(「rpc」または「document」) 属性および「transport」(「http://schemas.xmlsoap.org/soap/http」) 属性を持つ <soap:binding> 要素が含まれます。<binding> 要素には、各操作のデータ形式を記述する <operation> 要素が含まれます。
- ポート -- バインディングとネットワークアドレスの組み合わせで定義される単一のエンドポイント。WSDL 文書で、ポートは <service> 要素の下の <port> 要素で定義されます。<port> 要素には、バインディングを指定する「binding」属性、およびバインディングに関連付けるネットワークエンドポイントを指定する「address location」属性があります。