TOP
>
書籍連動
> イントロダクション
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でコード化されています。
図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プログラマーズマガジンは、PDF形式で読者の方にお届けするPHP言語(PHP: Hypertext Processor)専門誌です。 カナダMTA出版のphp|architect誌を日本語に翻訳し、独自の記事を加えて月刊でお届けしています。
発行:アシアル株式会社 価格:1,029円
ご購入はこちら
http://www.asial.co.jp/magazine/
著者プロフィール
Alessandro Sfondrini
イタリアのコモ出身の若いプログラマであり、PHPとC言語に関連したWebサービスに興味をもっています。また、近日出版される『php|a Nanobook"Practical Web Services"』の著者です。
INDEX
第1回:SOAPの概要
イントロダクション
SOAPの概要