Oracle® Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの紹介 12c リリース1 (12.1.1) B65941-02 |
|
前 |
次 |
この章では、WebLogic Webサービスの概要について説明します。
この章の内容は以下のとおりです。
Webサービスとは、ネットワーク上の他のシステムからも利用できる1つのアプリケーションとしてパッケージ化された一連の関数です。ネットワークは企業イントラネットの場合もあれば、インターネットの場合もあります。Webサービスはほとんどのシステムに備わっている基本的な標準技術に基づいているため、分散システムを統合するきわめて優れた手段であるといえます。Webサービスは、Webベースの分散アプリケーション間で共有でき、Webベースの分散アプリケーションのコンポーネントとして使用することも可能です。カスタマ・リレーションシップ・マネージメント・システム、注文処理システム、その他の既存のバックエンド・アプリケーションなど、他のシステムはWebサービス関数を呼び出してデータをリクエストしたり、処理を実行することができます。
従来、ソフトウェア・アプリケーション・アーキテクチャは、メインフレームなどで動作するモノリシック・システムまたはデスクトップ上で動作するクライアント/サーバー・アプリケーションの2つのカテゴリに分けられていました。これらのアーキテクチャはそのアプリケーションの目的においては効率よく機能しますが、閉鎖的であり、その機能を新しいアプリケーションに簡単に組み込むことができませんでした。
そのため、ソフトウェア業界は、Web上で動的に対話する疎結合のサービス指向アプリケーションを発展させました。このアプリケーションは、大規模なソフトウェア・システムを小規模なモジュラ・コンポーネントまたは共有サービスに分解するものです。これらのサービスは別々のコンピュータ上に常駐することができ、多様な技術を使用して実装することができますが、XMLやHTTPなどの標準のWebプロトコルを使用してパッケージ化し、アクセス可能にすることができます。そのため、Web上のすべてのユーザーが簡単にアクセスできるようになります。
サービスの概念は新しいものではありません。RMI、COM、およびCORBAは、すべてサービス指向技術です。ただし、これらの技術に基づいたアプリケーションは、特定のベンダーの特定の技術を使用していることが要求されます。このような要件は一般に、アプリケーションの機能をネットワーク上の他のサービスに広く統合することを妨げるものとなります。この問題を解決するために、Webサービスは、異種環境から簡単にアクセスできるようにするための次のプロパティを共有するように定義されています。
Webサービスは、幅広くサポートされているHTTPなどのWebプロトコルを介してアクセスされます。
Webサービスは、XMLベースの記述言語を使って表現された、当該Webサービス自体についての情報を示します。
Webサービスは、ほとんどのプログラミング環境や場合によっては人が生成または解析できる、単純なXMLメッセージを介してクライアント(エンドユーザー・アプリケーションまたはWebサービス)と通信します。
Webサービスの主な利点は、次のとおりです。
多様なハードウェアおよびソフトウェア・プラットフォームにわたる分散型アプリケーション間の相互運用性
Webプロトコルを使用したファイアウォールによる、アプリケーションへの容易で幅広いアクセス
異機種分散型アプリケーションの開発を容易にするクロス・プラットフォーム、クロス言語データ・モデル(XML)
Webサービスは、XMLやHTTPなどの標準のWebプロトコルを使用してアクセスされるので、Web上の多様な異種アプリケーション(一般的にXMLおよびHTTPを理解する)は自動的にWebサービスにアクセスでき、相互の通信が可能になります。
これらの異なるシステムにはMicrosoft SOAP ToolKitクライアント、Java Platform, Enterprise Edition (Java EE)バージョン5アプリケーション、レガシー・アプリケーションなどがあります。アプリケーション作成に使用されているプログラミング言語は、Java、C++、Perlなどです。アプリケーションの相互運用性がWebサービスの目標であり、それは、公開されている業界標準をサービス・プロバイダがどれだけ忠実に遵守しているかによって左右されます。
このリリースのWebLogic Serverは次のWebサービス・タイプをサポートしています。
Java API for XML-Based Web services (JAX-WS) 2.2 Webサービス。詳細は、http://jcp.org/aboutJava/communityprocess/mrel/jsr224/index2.html
を参照してください。Oracle WebLogic ServerのJAX-WS実装は、Glassfishコミュニティが開発したJAX-WS Reference Implementation (RI)を拡張したものです(https://jax-ws.dev.java.net/
を参照してください)。
Java API for RESTful Web Services (JAX-RS) 1.1 Webサービス。WebLogic Serverは、Jersey 1.9 JAX-RSリファレンス実装(RI)をサポートします。これは、http://jcp.org/en/jsr/summary?id=311
で定義されるJSR-311 JAX-RS 1.1仕様の製品レベルの品質の実装です。
Java API for XML-Based RPC 1.1 (JAX-RPC) Webサービス。詳細は、https://jax-rpc.dev.java.net/
を参照してください。JAX-RPCは、レガシーな仕様と位置づけられ、これ以上の拡張は予定されていません。JAX-RPCは、APIおよびJavaプラットフォームでXML Webサービスをサポートするための規約を定義し、WS-I Basic Profileをサポートすることで、JAX-RPC実装間の相互運用性を高めています。
JAX-WSおよびJAX-RSは、優先Webサービス・タイプです。開発する種類の判断に関する詳細は、JAX-WSまたはJAX-RSのいずれかを選択する際の判断基準に関する項を参照してください。
次の表は、JAX-WSとJAX-RSのいずれかを選択する際の検討事項に関するガイドラインを記載しています。JAX-WSおよびJAX-RSにサポートされる標準の比較については、第4章「WebLogic Webサービスでサポートされる機能および標準」も参照してください。
表1-1 JAX-WSおよびJAX-RPCのいずれかを選択する際の判断基準
使用する実行可能ファイル | 次のシナリオを検討します。 |
---|---|
JAX-WS |
次のようなエンタープライズ・アプリケーション統合シナリオでは、JAX-WSを使用します。
JAX-WSが、Oracleまたは他のSOAP Webサービス・ベンダーから他の基準ベースのSOAP Webサービスと相互運用します。 JAX-WSが安全性、信頼性などの基準を提供するWS-*プロトコルの完全セットをサポートし、WS-*プロトコルに準拠する他のクライアントやサーバーとの相互運用がより適切です。 |
JAX-RS |
RESTfulスタイルの制約が望ましい場合には、Webによりサービスを統合するためにJAX-RSを使用します。これには、個別のクライアント/サーバー・アーキテクチャ、共通インタフェースなどがあります。RESTアーキテクチャのスタイルに関する制約の詳細なリストは、『RESTful Webサービスの開発』のRESTアーキテクチャ・スタイルの紹介に関する項を参照してください。 |
次の表に、WebLogic Webサービスを作成、デプロイ、および呼び出すための一般的なタスクのロードマップを示します。
注意: Oracle WebLogic ServerのJAX-WS実装は、Glassfishコミュニティが開発したJAX-WS Reference Implementation (RI)を拡張したものです( また、JAX-WS RIにはGlassfishコントリビュータによって提供された様々な拡張があります。特に記載しないかぎり、JAX-WS RI拡張はOracle WebLogic Serverでの使用についてはサポートされません。 |
表1-2 WebLogic Webサービスを実装するためのロードマップ
タスク | 詳細情報 |
---|---|
サポートされる標準を確認する |
第4章「WebLogic Webサービスでサポートされる機能および基準」 |
サンプルを実行する |
|
JAX-WSを使用してWebサービスを開発および管理する |
|
JAX-RSを使用してRESTful Webサービスを開発および管理する |
RESTful Webサービスの開発 |
JAX-RPCを使用してWebサービスを開発および管理する |
|
Webサービスを保護する |
|
アップグレード |
『Oracle WebLogic Serverアップグレード・ガイド』のWebLogic Webサービスのアップグレードに関する項 |
このリリースで導入されたWebLogic Server Webサービスの新機能の一覧については、『Oracle WebLogic Serverの新機能』の「Webサービス」を参照してください。