Web サービスの園芸用品オンライン・ショップ・シナリオ: サプライヤーに対する動的照会
ここでは、オンライン園芸用品小売業者が Web サービスを使用して、 いくつかの卸売り業者の在庫状況を検索するシナリオについて説明します。
Plants by WebSphere® Web サービスのサプライヤーに関する静的照会のシナリオでは、Plants by WebSphere IT スタッフが各サプライヤーとの接続を個別に確立し、サプライヤーがサイトを出入りすると、変更を行います。照会する特定のサプライヤーのリストを提供せずに、複数のサプライヤーを同時に照会できると便利です。 さらに、Plants by WebSphere のマネージャーは、最低卸売り価格や最短納期などの基準に従って、商品を素早く見比べられるようにしたいと考えています。
このシナリオでは、いくつかの植物および園芸用品サプライヤーが Universal Description, Discovery, and Integration へ Web サービスを公開しました。 (UDDI) レジストリーに Web サービスをパブリッシュします。サプライヤーは、標準インターフェースを使用する在庫 Web サービスを作成します。 さらに、その Web サービスを中央レジストリーに公開します。 たいていの場合、レジストリーは Plant Wholesalers Association によって確立されています。 あるいは、各サプライヤーおよび小売業者は有用なサービスに対しては ある程度の月額料金を支払うということが明らかになってからは、 小規模なインターネット会社によって、買い手と売り手のサイトが確立されています。

Plants by WebSphere も、Java™ API for XML Web Services (JAX-WS) プログラミング・モデルのサポートを利用することにより、Web コンテナーおよびエンタープライズ Bean エンドポイント内の JavaBeans エンドポイントをサポートします。 JAX-WS プログラミング・モデルを使用すると、構成作業および構成内容の再利用が容易になるため、新しい Web サービス・プロファイルをシームレスに取り込めます。 JAX-WS 標準は相互運用が可能で信頼性の高い Web サービス・アプリケーションをサポートしています。オンライン店は非同期にメッセージを送信できます。つまり、そのメッセージは通話者の一方が一時的にオフラインであったり、ビジーであったり、または使用不可であっても確実に通信できるということです。 これらの新しいテクノロジーを使用することにより、オンライン店は他のベンダーと相互運用している間にも通信が確実に行われ、宛先に届くと確信できます。
在庫切れ品目の取り扱い方法
- そのような場合に備えて、サプライヤーはあらかじめその Web サービスを UDDI レジストリーに公開します。
このようにしてサプライヤーは、照会を行なっている小売業者 (Plants by WebSphere など) に対して、在庫のチェックが使用可能であることを通知します。
- Plants by WebSphere は、自社保有の在庫をチェックします。
Web サイトで稼働するアプリケーションは、Plants by WebSphere の在庫データベースをチェックします。このアプリケーションにより、その品目が在庫にないことが分かります。
- Plants by WebSphere は、UDDI4J クライアントを使用して、
UDDI レジストリーに対して、チェック可能な在庫を持つサプライヤーを問い合わせます。
Plants by WebSphere は、UDDI レジストリーにサプライヤーを照会する Web サービスを呼び出し、各サプライヤーのサイトでその Web サービスが呼び出されます。管理者には、要求した品目を提供できるサプライヤーのリストが提示されます。 このリスト内には品目の価格と入手可能性のデータが含まれます。
- Plants by WebSphere は Web サービスを使用してサプライヤーの在庫をチェックします。
アプリケーションは、サプライヤーのサイトで SOAP サーバーと通信する Web Services for Java Platform, Enterprise Edition (Java EE) クライアントまたは JAX-RPC クライアント向けの Web サービスを呼び出し、そのサプライヤーがその品目の在庫を保持しているかどうかを確認します。 サプライヤーのデータが Plants by WebSphere に送信されます。
アプリケーションは、JAX-RPC クライアントを呼び出すか、または JAX-WS アプリケーション・クライアントを呼び出すことができます。 これらのクライアントは、サプライヤー・サイトにある SOAP サーバーと通信して、サプライヤーがその品目の在庫を保持しているかどうかを確認します。 サプライヤーのデータが Plants by WebSphere に送信されます。
- Plants by WebSphere は、在庫切れの品目を入手することもあれば、入手しないこともあります。
サプライヤーが、その品目が在庫にあることを示した場合、 Plants by WebSphere を動かしているアプリケーションは、顧客のためにその品目を注文するかどうかを判別します。データの交換では、上限価格しきい値のチェックも行われます。このしきい値を超える卸売り品を Plants by WebSphere が注文することはありません。また、サプライヤーが品目の配送に要する期間や、 製造メーカーが品目の製造を中止する予定の日付などの意思決定情報が含まれる場合もあります。
- Plants by WebSphere は、顧客にできるだけ早く結果を通知します。
サプライヤーと迅速に連絡を取ることができれば、 Plants by WebSphere は入手可能性について顧客を煩わせなくても済みます。その品目が Plants by WebSphere の在庫にあるかのように、入手可能であるかを確認します。 その品目が一時的にサプライヤーの在庫にない場合や、 Plants by WebSphere がそのサプライヤーからその品目を注文しないことを選択した場合、 Plants by WebSphere はその顧客に適した応答を出します。
このシナリオで使用される Web サービス・テクノロジー
このシナリオでは、以下の Web サービス・テクノロジーを使用します。- XML (Extensible Markup Language)
- XML は、Plants by WebSphere とそのサプライヤーの間のデータ交換を標準化するために使用されます。
- Web Services for Java Platform, Enterprise Edition (Java EE)
- Web Services for Java Platform, Enterprise Edition (Java EE) (JSR-109 とも呼ばれます) は、 Java EE アプリケーションが Web サービスを作成し、それにアクセスする方法を定義します。
- Java API for XML-based remote procedure call (JAX-RPC)
- JAX-RPC (JSR-101 とも呼ばれる) は、 Java アプリケーションが Web サービスにアクセスする方法を定義します。
- JAX-WS
- JAX-WS プログラミング・モデルは、Web サービス・アプリケーションおよびクライアントを開発するための標準的なアノテーション・ベースのモデルをサポートすることにより、アプリケーションの開発を簡素化します。 JAX-WS プログラミング・モデルは、JAX-RPC 1.1 プログラミング・モデルの後継モデルです。アプリケーション・サーバーは、JAX-WS と JAX-RPC の両方のプログラミング・モデルをサポートします。
- WSDL (Web サービス記述言語)
- WSDL は、基礎となるアプリケーションとその他の Web 対応アプリケーションとの間のインターフェースとして機能することにより、 既存のアプリケーションを Web サービスに変えるために使用します。
- SOAP
- SOAP は、Web サービスがインターネットを介してサプライヤーと通信するために使用されるプロトコルです。
- UDDI レジストリー
サプライヤーは、Web サービスを UDDI に公開することにより、 Plants by WebSphere とその他の小売業者がそのサービスをディスカバーし、再利用できるようにします。これにより、サプライヤーに在庫データを問い合わせる必要がある Plants by WebSphere および その他の各種小売業者は、開発時間、および労力とコストを節減し、 同じアプリケーションの異なる複数の実装を保守する手間を最小限に抑えることができます。
WebSphere Application Server の特定のエディションでは、 イントラネット環境で使用できるプライベート UDDI レジストリーが用意されています。