TOP書籍連動> イントロダクション
SOAPの紹介
SOAPの紹介

第1回:SOAPの概要

著者:Alessandro Sfondrini   2006/3/1
1   2  次のページ
イントロダクション

   ローカルのみでオペレーションを実行できない場合、または実行したくない場合にリモートプログラムを作成します。著者たちは、通常、PHPアプリケーションでこれを構築しています。

   例えば、最新のロサンゼルスの天候を知りたいとします。このためには、ロサンゼルスの地方測候所のWebサイトに接続して、ローカルデータベースから、この情報を検索する必要があります。

   Webアプリケーションでは、ユーザを見ているサイトから動かさずに、他のサイトのローカルデータベース情報を検索させる必要がある場合もあります。例えば、著者たちのPHPアプリケーションでは、Google APIにクエリを送信し、レスポンスを取得します。

   例えば、オンラインショッピングサイトで商品を販売する際、決済方法として、オンライン決済サービスの1つであるPayPalを利用したいと考えたとしましょう。そのためには、あなたのショッピングサイトとPayPalサーバ間で、安全な通信経路を設定する必要があります。

   他にも、データベースに保存された、ユーザ名、メールアドレス、電話番号などの登録情報を、特定の管理者が自由に2次利用できるようにしたいと思うかもしれません。

   Webサービスとは、ネットワーク上で、マシンとマシンをつなぐソフトウェアシステムのことです。この場合の「サービス」とは、プログラム処理のことをあらわします。

   Webサービスを提供するためには、リモートアプリケーションと何らかの通信を行うことが必要となります。

  • クライアントアプリケーション:様々な言語(例えば、C/Java/Python、そしてもちろんPHP)によって構築され、様々なOS上で動作します。
  • リモートアプリケーション:著者たちが通信したい対象です。
  • リモートインターフェース:しばしばWSDL(Web Service Description Language)によって記述されます。
  • プロトコル:通常はTCP/IP。HTTPとHTTPSで使われています。
  • 送信または受信するドキュメント:一般的にSOAP(Simple Object Access Protocol)やXML-RPC(XML Remote Procedure Call)のようなXMLのサブセットでコード化されたものが使われます。

表1:補足


DBからデータ取得するアプリケーション例

   図1は、リモートAPIに接続し、データベースからデータを取得するアプリケーションの例です。プログラムとユーザ(少なくともWebブラウザ)間の通信は、HTMLでコード化されています。

DBからデータ取得するアプリケーション例
図1:DBからデータ取得するアプリケーション例
(画像をクリックすると別ウィンドウに拡大図を表示します)

   2台のマシン間の通信はSOAPによって行われます。この記事では、最初にWebサービスについて簡単に紹介します。今回の記事の目的は、Webサービスの仕組みを理解し、Webサービスで何を実現することができるのか検討することです。HTTPを利用したSOAPベースのWebサービスは最も一般的で、簡単に使用することができますので、これについて特に詳しく紹介します。

   次に、クライアントサーバシステムから構成され、単純なオペレーション(今回の場合、リモートのMySQLデータベースからデータを検索します)を行なうサンプルアプリケーションを見ていきます。このサンプルでは、NuSOAP(あらかじめ定められたPHPライブラリ)を利用しRPCを行ないます。

   実際にサンプルを見ていく前に、最初にSOAPとWSDLの基本を簡単に説明します。この記事は、Web サービスの導入記事と考えてください。実際のWebサービスは、もっと複雑で豊富な機能を揃えています。もっと詳しく内容を知りたい場合は、本文中でも数回引用している、近日出版される『php|architecherNanobook"Practical Web Services”』を参照してください。

1   2  次のページ

PHPプログラマーズマガジン 書籍紹介
PHPプログラマーズマガジン

PHPプログラマーズマガジンは、PDF形式で読者の方にお届けするPHP言語(PHP: Hypertext Processor)専門誌です。 カナダMTA出版のphp|architect誌を日本語に翻訳し、独自の記事を加えて月刊でお届けしています。

発行:アシアル株式会社  価格:1,029円

 ご購入はこちら
http://www.asial.co.jp/magazine/
Alessandro Sfondrini
著者プロフィール
Alessandro Sfondrini
イタリアのコモ出身の若いプログラマであり、PHPとC言語に関連したWebサービスに興味をもっています。また、近日出版される『php|a Nanobook"Practical Web Services"』の著者です。


INDEX
第1回:SOAPの概要
  イントロダクション
  SOAPの概要