SimpleObjectAccessProtocolとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > SimpleObjectAccessProtocolの意味・解説 

ソープ【SOAP】

読み方:そーぷ

《simple object access protocol》遠隔地コンピューターデータウェブサービス呼び出して利用するための、XML基づいた通信プロトコル一つ


SOAP

フルスペル:Simple Object Access Protocol, Service Oriented Architecture Protocol

SOAPとは、遠隔地にあるコンピュータープログラムデータアクセスするためのプロトコルのことである。インターネット上公開され認証機能課金機能といった個々機能呼び出すために用いられる

SOAPはXMLHTTPなどをベースとしている。XML記述したエンベロープ封筒)と呼ばれる付帯情報付いたSOAPメッセージが、HTTPSMTPなどのトランスポート層属すプロトコル交換されるサービス利用するクライアントと、サービス提供するサーバー双方が、SOAPの生成解釈を行うエンジンを持つことで、異な環境間でも機能呼び出せるようになっているちなみに、SOAPメッセージ生成エンジンは「SOAPプロキシ」、解釈エンジンは「SOAPリスナー」と呼ばれることもある。

SOAP 1.0では実際にデータの送受信用いることのできる下位プロトコルHTTPのみとなる。バージョン1.1では、HTTPSMTPFTPなどの、すでに広く普及しているプロトコルから選択できるようになっており、企業間で利用する場合でもファイヤーウォールなどを安全に通過させることができる。

SOAPによって外部からの利用可能な部品化されWebベースアプリケーションソフトが、Webサービス呼ばれる。特に、インターネット上で各社提供しているWebサービス収集し誰でも検索照会できるようにするWebサービスは、UDDI呼ばれる

SOAPは、MicrosoftUserLand Software、Developmentorの各社中心として開発されW3C提出されている。IBMLotusなど、大手ソフトウェアメーカーも自社製品での対応を表明している。

なお、「SOAP」の名称は元々「Simple Object Access Protocol」の頭文字とされ、後に「Service Oriented Architecture Protocol」の頭文字であるという解釈提示されたが、現在では「SOAP」は何かの略称ではなく単に「SOAP」である、という見解至っている。

プログラミングのほかの用語一覧
XML:  OAI-PMH  Open XML  S2ML  SOAP  SVG  TravelXML  TTML

SOAP (プロトコル)

(SimpleObjectAccessProtocol から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/01/02 09:37 UTC 版)

SOAP(ソープ)は、コンピュータネットワーク内のWebサービスの実装において、構造化された情報を交換するための通信プロトコルの仕様である。拡張性中立性、独立性を導入することを目的とする。XML-RPCから発展した、XML Webサービスのための、XMLベースのRPCプロトコルである。

メッセージ形式としてXMLインフォメーションセットを使用する。また、メッセージのネゴシエーションおよび伝送はアプリケーション層のプロトコル(多くの場合HTTPまたはSMTP)に依存する。

SOAPにより、全く異なるオペレーティングシステム(例えばWindowsLinux)上で走っているプロセス間でもXMLを使って意思疎通が可能になる。HTTPのようなWebプロトコルは全てのオペレーティングシステムにインストールされて走っているので、SOAPの仕組みを使えば、クライアントはその言語やプラットフォームが何であれ、ウェブサービスを起動してレスポンスを受け取ることが出来る。

元はSimple Object Access Protocolの頭字語とされていたが、現在は「何かの頭字語ではない」とされている[1]

概要

拡張可能で分散的なフレームワークであり、HTTP以外にも様々なコンピュータネットワーク通信プロトコルで利用することができると主張され、SMTPへのバインディングも示されているが、実際上TCP/IP上のHTTP(S)以外の使用は現実的ではない。主要な実装としてApache Axisがある。多くの実装の間で相互運用性に問題があるとしてWS-Iというコンソーシアムが作られたが、現在はOASISの一部となっている。

いくつかのSOAPメッセージを相互作用させることによってリモートプロシージャコールが実現できる、Webサービスに有効な手段の一つである、などと主張されている。

メッセージの表現にXMLを使用する。メッセージはヘッダとボディから成る。ヘッダはオプショナルであり、ルーティングセキュリティ、そして トランザクションなどのための情報といったメタ情報を格納する。ボディは、主要な情報すなわちペイロードである。

相互運用性のためにはXML Schemaなどで、なんらかのスキーマを定義することが望ましいであろう。また、WSDLという記述言語がある。

「WS-*」と総称される関連プロトコルが多量にある。

特徴

SOAP はウェブサービスのための「Web services protocol stack」における「Messaging Protocol」層を提供する。SOAPはXMLを基盤とするプロトコルで、三つの部分で構成される:

  • 「envelope」(小包)。これはメッセージ構造を定義する[2]。また、どのようにこれを処理すべきかを定義する:
  • アプリケーションで定義されるデータ型のインスタンスを表現するためのエンコーディング規則
  • プロシージャ呼出しとレスポンスを表すための約束事

SOAPには三つの大きな特徴がある:

  1. 拡張性 (セキュリティやWS-Addressingなどは開発中の拡張機能である)
  2. 中立性 (SOAPはHTTP, SMTP, TCP, UDP英語版, JMSなどのいかなるプロトコル上でも運用できる)
  3. 独立性 (SOAPはいかなるプログラミングモデルでも使える)

SOAPで出来ることの一例を挙げると、たとえば或るアプリケーションが、ウェブサービス(例えば不動産価格データベース)を利用可能なサーバに、検索条件パラメータを入れたSOAPリクエストを送ったとする。すると、そのサーバーはSOAPレスポンス(価格、場所、特徴などの検索結果データを書き込んだXML形式文書)を返してくる。返ってきたデータは標準化された機械処理可能な書式で来るので、それを受け取ったアプリケーションはそのデータを直接処理できる。

SOAPアーキテクチャには、次の幾つかレイヤーのための仕様がある:

  • メッセージ形式
  • メッセージ交換パターン(Message Exchange Pattern : MEP)
  • 下層のトランスポートプロトコルとの結合
  • メッセージ処理モデル
  • プロトコル拡張性

仕様

SOAPはW3Cにより標準化されている。以下は具体的な仕様である。

SOAP processing model

SOAP processing model はSOAPが採用する分散型メッセージ処理モデルである。

分散コンピューティングを指向するSOAPでは「ネットワーク上に存在するノードがメッセージを送り合いながら処理をおこない最終結果を得る」という処理モデルを取っている[3]。これが SOAP processing model である。

SOAP message

SOAP structure

SOAP message はノード間の情報伝達における基本単位である[4]。SOAP message はドキュメント直下に<Envelope>要素を持ち[5]、その下に<Header>要素と<Body>要素が配置される(図参照)[6]

<Header>要素は0個以上の header block からなる[7]。各header blockは名前付き要素であり、属性をもつ。仕様では encodingStyle / role / mustUnderstand / relay の4属性が定義されている[8]。block の role属性はノードの role と結びついており、その header block がノードをターゲットとすると呼ばれる。

<Body>要素のコンテンツは要素ツリーであり、その具体的中身(利用可能な要素、木構造)は各サービスで定義される。

SOAP Node

SOAP Node はメッセージ処理を担うノードである。

processing model における出発ノードを initial SOAP sender、中間ノードを SOAP intermediary、終着ノードを ultimate SOAP receiver という[9]。各ノードが担う役割を SOAP roles という。仕様では next / none / ultimateReceiver の3つの role name を定める。終着ノードはメッセージのbodyを処理する責務を負う[10]。中間ノードはそのroleに基づき header block の処理を担う。

その他

  • SOAP extensibility model :SOAP機能とSOAPモジュールの概念を定義する
  • SOAP underlying protocol binding :SOAPノード間でSOAPメッセージを交換するために用いる下層プロトコルへの結合を定義するための規約を示したフレームワーク。

SOAPメッセージの例

一例として、あるクライアントが、ショッピングサイト(例示のための架空のものである)のサービスに商品IDを提示して商品の詳細を求めるリクエストメッセージはおおよそ以下のようになる。

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
     <getProductDetails xmlns="http://warehouse.example.com/ws">
       <productId>827635</productId>
     </getProductDetails>
   </SOAP-ENV:Body>
 </SOAP-ENV:Envelope>

これに対し、ショッピングサイトのサービス側の、要求に基づく商品データを含むレスポンスメッセージはおおよそ以下のようになる。

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
     <getProductDetailsResponse xmlns="http://warehouse.example.com/ws">
       <getProductDetailsResult>
         <productName>Toptimate 3-Piece Set</productName>
         <productId>827635</productId>
         <description>3-Piece luggage set.  Black Polyester.</description>
         <price>100.50</price>
         <inStock>true</inStock>
       </getProductDetailsResult>
     </getProductDetailsResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

関連項目

外部リンク

脚注

  1. ^ 「In previous versions of this specification the SOAP name was an acronym. This is no longer the case.」(SOAP Version 1.2 Part 1 : Messaging Framework (Second Edition)より引用)。
  2. ^ Hirsch, Frederick; Kemp, John; Ilkka, Jani (2007-01-11). Mobile Web Services: Architecture and Implementation. John Wiley & Sons (2007発行). p. 27. ISBN 9780470032596. https://books.google.com/books?id=v5f0ORBgd5IC 2014年9月15日閲覧. "Simple Object Access Protocol (SOAP) はメッセージの小包の構造を定義している。小包は、アプリケーション用の荷物(メッセージ・ボディ)と、管理情報(メッセージ・ヘッダ)の二つの部分で構成される。" 
  3. ^ "SOAP provides a distributed processing model that assumes a SOAP message originates at an initial SOAP sender and is sent to an ultimate SOAP receiver via zero or more SOAP intermediaries. ... A SOAP node receiving a SOAP message MUST perform processing according to the SOAP processing model" W3C. SOAP 1.2 specification.
  4. ^ "SOAP message The basic unit of communication between SOAP nodes." W3C. SOAP 1.2 specification.
  5. ^ "A SOAP message Infoset consists of a document information item with exactly one member in its [children] property, which MUST be the SOAP Envelope element information item" W3C. SOAP 1.2 specification.
  6. ^ "One or two element information items in its [children] property in order as follows: 1. An optional Header element ... 2. A mandatory Body element" W3C. SOAP 1.2 specification.
  7. ^ "SOAP header A collection of zero or more SOAP header blocks" W3C. SOAP 1.2 specification.
  8. ^ "MAY have zero or more attribute information items in its [attributes] property ... which have special significance for SOAP processing: encodingStyle ... role ... mustUnderstand ... relay" W3C. SOAP 1.2 specification.
  9. ^ "A SOAP node can be the initial SOAP sender, an ultimate SOAP receiver, or a SOAP intermediary." W3C. SOAP 1.2 specification.
  10. ^ "An ultimate SOAP receiver MUST correctly process the immediate children of the SOAP body" W3C. SOAP 1.2 specification.

「Simple Object Access Protocol」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

SimpleObjectAccessProtocolのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SimpleObjectAccessProtocolのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
PHPプロ!PHPプロ!
©COPYRIGHT ASIAL CORPORATION ALL RIGHTS RESERVED.
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【SOAP】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのSOAP (プロトコル) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2025 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2025 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2025 GRAS Group, Inc.RSS