Web サービスは、ネットワークを介して記述、公開、検索、および呼び出しができる 内蔵タイプのモジュラー・アプリケーションです。
アプリケーション・サーバーは、Web Services for Java 2 Platform, Enterprise Edition (J2EE) 仕様に基づいて開発および実装された Web サービスをサポートします。
通常の Web サービス・シナリオは、他の既存のアプリケーションから のサービスを要求するビジネス・アプリケーションです。 要求は、HTTP を介した SOAP メッセージ、 Java Message Service (JMS) トランスポートを使用して、所定の Web アドレスで処理されるか、 あるいは Enterprise JavaBeans (EJB) として直接呼び出されます。 このサービスは要求を受信して処理し、応答を戻します。 単純な Web サービスの例には、天気予報や株価情報の取得があります。 メソッド呼び出しは同期的です。つまり、結果が使用可能になるまで、メソッドは待機します。 株価、企業間 (B2B)、または企業・顧客間 (B2C) のオペレーションをサポートするトランザクション Web サービスには、 航空券予約や購入注文が含まれます。
Web サービスには、実際のサービスまたは サービスにアクセスするクライアントが含まれます。
Web サービスは、他の方法では通信できないアプリケーションと統合することにより、ビジネス・プロセスの柔軟性を高めることができる Web アプリケーションです。 地元図書館での館内貸し出しプログラムが、Web サービスの概念とその発展形の良い例です。 Web サービスの概念は、その用語より前にも存在していました。 この概念はインターネットの創始とともに広く受け入れられるようになりました。 インターネットが創始される前は、 図書館に行き、蔵書を検索して本を借り出していました。 必要な本が見つからなかった場合は、司書がコンピューターや電話を使用して利用者の代わりに検索を行い、近くの図書館でその本を見つけてくれました。司書がその本を注文し、地元図書館にそれが送られてきた後で、利用者がそれを受け取っていました。 Web サービス・アプリケーションを取り入れることにより、利用者は来館する手間を省くことができます。
今では、利用者が地元図書館の蔵書の検索とその他の地域図書館の検索を一度にできるようになりました。 利用する図書館に、他の図書館の蔵書を検索するための Web サービスが提供されれば (このサービスは Universal Description Discovery and Integration (UDDI) を介して提供されている可能性があります)、検索した結果が他の図書館の蔵書という場合もあります。 別の Web サービス・アプリケーションを使用して、本を借り、その本を家に送ることもできます。 Web サービス・アプリケーションを使用することにより、 利用者の時間が節約され、便利になるとともに、 司書の手も空いて他の業務を行えるようになります。
Web サービスは、 サービス指向アーキテクチャー (SOA) アプローチをプログラミングに反映します。 このアプローチは、ネットワーク対応サービスを発見してインプリメントしたり、 タスクの完了に使用可能なアプリケーションを起動したりすることによってアプリケーションを作成するというアイデアに基づいています。 Web サービスはインターオペラビリティーを提供します。 これは例えば、Web サービス・アプリケーションが、 別々のプログラム言語で作成されたコンポーネントを あたかも同一言語を使用して作成されているかのように連携できるということです。 Web サービスは、インプリメンテーションを呼び出 す際に、HTTP などの既存のトランスポート・テクノロジーや、標準のデータ・エンコード手法 (XML など) を使用します。
WSDL は、Web サービスを記述する XML ベースのファイルです。 Web サービス要求は、このファイルを使用してサービスにバインドします。
SOAP は、Web サービス要求がサービスを呼び出すために使用する XML ベースのプロトコルです。
UDDI はサービス・ブローカーをホストするレジストリーです。 UDDI は電話帳の「イエロー・ページ」に似ています。
シナリオの詳細については、Web サービス・シナリオ: 概説を参照してください。ここでは、Plants by WebSphere という名前の架空の園芸用品オンライン・ショップを紹介し、 この店における Web サービスの概念の導入方法について説明しています。