Oracle® Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの理解 12c (12.1.2) E48029-02 |
|
前 |
次 |
この章では、WebLogic Webサービスの開発および管理に使用できるツールを紹介します。
この章では、以下のトピックについて説明します。
次のOracle IDEツールを使用してWebサービスを開発できます。
Oracle JDeveloper: エンド・ツー・エンドのWebサービスの開発に利用可能な、あらゆる機能を備えたOracleのJava IDEです。開発者は、JavaクラスやEJBを構築し、それらをWebサービスとして公開し、Oracle WebLogic Serverのインスタンスに自動的にデプロイし、実行中のWebサービスをすぐにテストすることができます。または、JDeveloperは、WSDL記述子からのWebサービスの作成に使用することもできます。JDeveloperはAntも認識します。このツールを使用して、クライアントのアセンブリや、サービスのアセンブリおよびデプロイ用のAntスクリプトを構築および実行することができます。詳細は、『Oracle Jdeveloperによるアプリケーションの開発』のWebサービスの開発および保護に関する項を参照してください。JDeveloperのインストールの詳細は、『Oracle Jdeveloperのインストール』を参照してください。
Oracle Enterprise Pack for Eclipse (OEPE) - WebLogic Webサービスの開発を容易にするEclipse IDEプラットフォームのプラグイン群を提供します。詳細については、Eclipse IDEプラットフォームのオンライン・ヘルプを参照してください。
jwsc
Antタスクを使用してWebLogic Webサービスをコンパイルおよびパッケージ化すると、Webサービスはエンタープライズ・アプリケーションの一部としてパッケージ化されます。デフォルトでは、Webサービス自体はエンタープライズ・アプリケーション内にWebアプリケーションWARファイルとしてパッケージ化されます。ただし、JWSファイルにセッションBeanが実装されている場合、WebサービスはEJB JARファイルとしてパッケージ化されます。
Webサービスの基本的な管理は、標準のJava Platform, Enterprise Edition (Java EE)バージョン5アプリケーションおよびモジュールの基本的な管理と非常に似ています。標準的なタスクは次のとおりです。
Webサービスが含まれるエンタープライズ・アプリケーションをデプロイします。
デプロイされたエンタープライズ・アプリケーションを起動および停止します。
エンタープライズ・アプリケーションと、実際のWebサービスを実装するアーカイブ・ファイルの構成。エンタープライズ・アプリケーションの一般的な特性(デプロイメント順など)や、モジュールに固有の特性(Webアプリケーションのセッション・タイムアウト、EJBのトランザクションの種類など)を構成できます。
エンタープライズ・アプリケーションのデプロイメント・プランを作成および更新します。
エンタープライズ・アプリケーションをモニターします。
エンタープライズ・アプリケーションをテストします。
Webサービス固有の管理タスクの例を次に示します。
Webサービス・エンドポイントまたはその操作に関連付けられたポリシー・ファイルの構成。
Webサービスに関連付けられたSOAPハンドラの表示。
WebサービスのWSDLの表示。
Webサービスのセキュリティ構成の作成。
WebLogic Serverで動作するJava EEモジュールおよびアプリケーションの管理方法には、次の各項で説明するように、Webサービスを含め様々な方法があります。
Oracle Enterprise Manager Fusion Middleware Control (Fusion Middleware Control)は、ファームの管理およびモニターに使用できるWebブラウザ形式のグラフィカル・ユーザー・インタフェースです。ファームは、管理対象コンポーネントの集合です。これは、Oracle WebLogic Serverドメイン、1つまたは複数の管理対象サーバー、およびドメインにインストール化、構成および実行できるOracle Fusion Middlewareシステムのコンポーネントが含まれています。
Fusion Middleware Controlは、様々なパフォーマンス・データおよび管理機能を個別のファームに対するWebベースのホームページ、Oracle WebLogic Serverドメイン、コンポーネントおよびアプリケーションに分割しています。Fusion Middleware Controlのホームページを使用すると、Webブラウザからの重要性の高いモニター・データと最もよく使用される管理機能のすべてを簡単に検索することができます。
Enterprise Managerを使用したWebサービスの管理、テストおよびモニターの詳細は、『Webサービスの管理』を参照してください。
Fusion Middleware Controlは、Oracle Fusion Middleware製品に含まれていますが、Oracle WebLogic Serverのスタンドアロン・バージョンを購入した場合には同梱されていません。Fusion Middleware Controlの詳細は、『Oracle Fusion Middlewareの管理』のOracle Enterprise Manager Fusion Middleware Controlの使用の開始に関する項を参照してください。
WebLogic Server管理コンソールは、サーバーやクラスタにデプロイされたWebLogic Serverドメイン、1つ以上のWebLogic Serverインスタンス、クラスタおよびアプリケーション(Webサービスを含む)の管理に使用するWebブラウザ形式のグラフィカル・ユーザー・インタフェースです。
各ドメインでは、1つのWebLogic Serverインスタンスが管理サーバーとして構成されます。管理サーバーではWebLogic Serverドメインを一元的に管理できます。ドメイン内の他のすべてのWebLogic Serverインスタンスは、管理対象サーバーと呼ばれます。1つのWebLogic Serverインスタンスしか含まれないドメインでは、そのサーバーが管理サーバーおよび管理対象サーバーとして機能します。管理コンソールは、管理サーバーによってホストされるWebアプリケーションであり、サポートされている任意のWebブラウザから、管理サーバーへのネットワーク・アクセスを使用してアクセスできます。
WebLogic管理コンソールを使用して、以下の作業を行うことができます。
エンタープライズ・アプリケーションのデプロイ
デプロイされたエンタープライズ・アプリケーションの起動と停止
エンタープライズ・アプリケーションの構成
Webアプリケーションの構成
EJBの構成
デプロイメント・プランの作成
デプロイメント・プランの更新
エンタープライズ・アプリケーションのモジュールのテスト
WS-PolicyファイルとWebサービスとの関連付け
WebサービスのSOAPメッセージ・ハンドラの表示
WebサービスのWSDLの表示
Webサービス・セキュリティ構成の作成
管理コンソールを使用したWebサービスの管理の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプを参照してください。
次のセクションでは、次のトピックの詳細について説明します。
ブラウザで管理コンソールを起動するには、次のURLを入力します。
http://host:port/console
各要素の説明は次のとおりです。
host
は、管理サーバーが動作しているコンピュータを指します。
port
は、管理サーバーが接続リクエストをリスニングしているポート番号を指します。管理サーバーのデフォルトのポート番号は7001です。
管理コンソールの右上にある「ヘルプ」ボタンをクリックすると、管理コンソールの詳しい使い方を説明するオンライン・ヘルプが表示されます。
通常、Webサービスはエンタープライズ・アプリケーションの一部としてWebLogic Serverにデプロイされます。エンタープライズ・アプリケーションは、EARとしてアーカイブするか、展開されたディレクトリの形式とすることができます。Webサービス自体はほとんどの場合、Webアプリケーションとしてパッケージ化されます。ただし、JWSファイルにセッションBeanが実装されている場合だけは、EJBとしてパッケージ化されます。Webサービスは、アーカイブ形式(Webアプリケーションの場合はWARファイル、EJBの場合はEJB JARファイル)または展開されたディレクトリ形式にできます。
Webサービスは、必ずしもエンタープライズ・アプリケーションの一部としてインストールする必要はありません。Webサービスは、WebアプリケーションまたはEJBとしてそのままインストールすることもできます。ただし、Webサービスをエンタープライズ・アプリケーションの一部としてインストールすることをお薦めします。Webサービスの作成に使用されるWebLogic Antタスク(jwsc
)は、生成されたWebサービスを常にエンタープライズ・アプリケーションにパッケージ化します。
管理コンソールを使用してWebサービスに関するWebサービス固有の構成情報を表示および更新するには、左ペインの「デプロイメント」ノードをクリックし、右ペインに表示される「デプロイメント」表でWebサービスがパッケージ化されているエンタープライズ・アプリケーションを探します。「+
」ノードをクリックしてアプリケーションを展開すると、「Webサービス」カテゴリにアプリケーション内のWebサービスのリストが表示されます。構成を表示または更新するには、そのWebサービスの名前をクリックします。
次の図では、管理コンソールの「デプロイメント」表に、helloWorldEar
エンタープライズ・アプリケーションにパッケージ化されているHelloWorldService
Webサービスが表示されています。
デプロイ済のWebLogic Webサービスがメッセージ・レベルのセキュリティ(WS-Security仕様で定義されている暗号化およびデジタル署名)を使用するように構成されている場合、Webサービス・ランタイムは、そのWebサービスにWebサービス・セキュリティ構成が関連付けられているかどうかを判断します。このセキュリティ構成では、IDの認証にX.509証明書を使用するかどうか、パスワード・ダイジェストを使用するかどうか、暗号化にキーストアを使用するかどうかなどの情報を指定します。1つのセキュリティ構成を多数のWebサービスに関連付けることができます。
Webサービスのセキュリティ構成はドメイン全体を対象とするため、管理コンソールでは「デプロイメント」タブではなく「domainName」→「Webサービス・セキュリティ」タブから作成します。次の図に、このタブの場所を示します。
WebLogic Scripting Tool (WLST)は、コマンド・ライン形式のスクリプト・インタフェースで、WebLogic Serverのドメインやインスタンスと対話して構成したり、Java EEモジュールおよびアプリケーション(Webサービスを含む)を特定のWebLogic Serverインスタンスにデプロイする目的で使用します。システム管理者およびオペレータは、WLSTを使用してWebLogic Serverの構成の変更を開始、管理および永続化できます。
WLSTの使用方法の詳細は、次を参照してください。
『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のWebサービスのカスタムWLSTコマンドに関する項
WebLogic Scripting Toolの理解
WebLogic Serverには、構成タスクや管理タスクの多くを単一のAntビルド・スクリプトに一元化するのに使用できる様々なAntタスクが用意されています。
これらのAntタスクを使用すると、以下のことが行えます。
wlserver
およびwlconfig
Antタスクを使用して、新しいWebLogic Serverドメインを作成、起動、および構成します。
wldeploy
Antタスクを使用して、新しく作成したドメインに、コンパイル済みアプリケーションをデプロイします。
Webサービスおよびクライアントを生成して、WSDLをローカル・ディレクトリにダウンロードします。
次の表では、WebサービスAntタスクを使用するための手順をまとめています。
表4-1 WebサービスAntタスクを使用するための手順
# |
手順 | 説明 |
---|---|---|
1 |
環境を設定します。 |
Windows NTでは、ドメイン・ディレクトリにある UNIXでは、ドメイン・ディレクトリにある |
2 |
WebサービスAntタスクの呼出しを含む |
以下に、 <project name="my-webservice"> <target name="clean"> <delete> <fileset dir="tmp" /> </delete> </target> </project> この |
3 |
実行するWebLogic WebサービスAntタスクごとに、 |
次の例では、
<taskdef name="jwsc"
classname="weblogic.wsee.tools.anttasks.JwscTask" />
<target name="build-service">
<jwsc attributes go here...>
...
</jwsc>
</target>
注意: それぞれのAntタスクに対する |
4 |
|
prompt> ant build-service |
5 |
Webサービスを呼び出すURLに使用するコンテキスト・パスとサービスURIを指定します。(省略可能) |
この情報は様々な方法で設定できます。詳細は、『Oracle WebLogic Server JAX-WS Webサービスの開発』のWebLogic Webサービスのコンテキスト・パスの定義に関する項を参照してください。 |
詳細については、以下を参照してください。
『Oracle WebLogic Server WebLogic Webサービス・リファレンス』のAntタスク・リファレンスに関する項
『Oracle WebLogic Serverアプリケーションの開発』の次の各項
Antタスクを使用したWebLogic Serverドメインの構成と使用に関する項
wldeploy Antタスクのリファレンスに関する項
各WebLogic Antタスクには、新しいディレクトリまたはJARファイルを現在のCLASSPATH環境変数に追加できるように、classpath
属性または要素を受け取ります。
次の例では、jwsc
Antタスクのclasspath
属性を使用して、新しいディレクトリをCLASSPATH変数に追加する方法を示します。
<jwsc srcdir="MyJWSFile.java" classpath="${java.class.path};my_fab_directory" ... </jwsc>
次の例では、<classpath>
要素を使用してCLASSPATHに追加する方法を示します。
<jwsc ...> <classpath> <pathelement path="${java.class.path}" /> <pathelement path="my_fab_directory" /> </classpath> ... </jwsc>
次の例では、WebLogic WebサービスAntタスク宣言の外でCLASSPATH変数をビルドしてから、<classpath>
要素を使用してタスク内でその変数を指定する方法を示します。
<path id="myClassID"> <pathelement path="${java.class.path}"/> <pathelement path="${additional.path1}"/> <pathelement path="${additional.path2}"/> </path> <jwsc ....> <classpath refid="myClassID" /> ... </jwsc>
注意: Weblogic ServerのJava Antユーティリティでは、 |
WebLogic WebサービスのAntタスクの多くには、WSDLまたはXMLスキーマ・ファイルなどのファイルを指定するために使用できる属性があります。
Antタスクは、それらのファイルを大文字と小文字を区別して処理します。つまり、XMLスキーマ・ファイルで名前が大文字と小文字の点でのみ異なるユーザー定義の2つの型(たとえばMyReturnType
とMYRETURNTYPE
)が指定されている場合、clientgen
Antタスクは、ユーザー定義データ型のJava表現に対応する2つの別々のJavaソース・ファイル・セット(MyReturnType.java
とMYRETURNTYPE.java
)を適切に生成します。
ただし、それらのソース・ファイルをそれぞれのクラス・ファイルにコンパイルすると、AntタスクをMicrosoft Windowsで実行する場合に問題が生じる場合があります。Windowsでは、大文字と小文字を区別しないためです。つまり、Windowsでは、ファイルMyReturnType.java
とMYRETURNTYPE.java
が同じ名前と判断されます。したがって、Windowsでファイルをコンパイルすると、2番目のクラス・ファイルが最初のクラス・ファイルを上書きしてしまい、クラス・ファイルが1つしか残りません。しかしAntタスクは2つのクラスがコンパイルされたものと認識しているので、次のようなエラーが発生することになります。
c:\src\com\bea\order\MyReturnType.java:14: class MYRETURNTYPE is public, should be declared in a file named MYRETURNTYPE.java public class MYRETURNTYPE ^
この問題を回避するには、この種の名前の競合が起こらないようにXMLスキーマを書き換えるか、あるいはそれが不可能な場合は、UNIXなどの大文字と小文字を区別するオペレーティング・システムでAntタスクを実行します。
マネージドBean (MBean)は、Java Management Extensions (JMX)インタフェースを提供するJava Beanです。JMXは、ネットワーク上のリソースをモニターおよび管理するためのJava EEソリューションです。JMXはSNMPおよび他の管理規格と同様に公開された仕様であり、一般的に用いられるモニター用製品を扱うベンダーの多くでサポートされています。
WebLogic Serverには、JMXを使用してWebLogic Serverリソースを構成、モニターおよび管理するための様々なMBeanが用意されています。WebLogic Webサービスにも、Webサービス管理タスクを実行する目的で使用する専用のMBeanが複数あります。
MBeanには2種類あります。読取り専用のモニター情報の表示に使用する実行時MBeanと、デプロイ済のWebサービスの構成に使用する構成MBeanです。
構成WebサービスMBeanは次のとおりです。
WebserviceSecurityConfigurationMBean
WebserviceCredentialProviderMBean
WebserviceSecurityMBean
WebserviceSecurityTokenMBean
WebserviceTimestampMBean
WebserviceTokenHandlerMBean
実行時WebサービスMBeanは次のとおりです。
WseeRuntimeMBean
WseeHandlerRuntimeMBean
WseePortRuntimeMBean
WseeOperationRuntimeMBean
WseePolicyRuntimeMBean
JMXの詳細は、Oracle WebLogic ServerのMBeanリファレンスおよび『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』の次の各項を参照してください。
WebLogic Server MBeanの理解
JMXを使用したWebLogic Server MBeanへのアクセス
JMXを使用したドメインの構成の管理
Java EE 5では、J2EE Application Deployment仕様(JSR-88) (http://jcp.org/en/jsr/detail?id=88
を参照)により、ターゲット・アプリケーション・サーバー環境へのデプロイメント用にアプリケーションを構成するために使用できる標準APIが定義されています。
この仕様には、Java EE Deploymentアーキテクチャが記述されています。このアーキテクチャでは、ツールやアプリケーション・プログラマがあらゆるJava EEプラットフォーム製品でアプリケーションを構成およびデプロイできるようにするための規約を定義しています。この規約では、アプリケーションのデプロイメント構成とデプロイメントについて、ツールとJava EEプラットフォーム製品の間での共通モデルが定義されています。Deploymentアーキテクチャを使用すると、アプリケーションのデプロイメントがより容易に行えます。多様なJava EEプラットフォーム製品にアプリケーションをデプロイするために、さまざまなJava EEデプロイメント・ツールのすべての機能を理解する必要はありません。
詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。
Apache Mavenは、Javaベース・プロジェクトの構築および管理を行うためのソフトウェア・ツールです。WebLogic Serverは、プラグインのプロビジョニングによってMaven用のサポートを提供します。このプラグインを使用すると、Maven環境からWebLogic Serverで各種処理を実行できます。
WebLogic Serverでは、次のWebサービスMavenゴールがサポートされています。
表4-2 WebサービスMavenゴール
Mavenゴール | 説明 |
---|---|
|
WSDLからクライアントWebサービス・アーティファクトを生成します。 |
|
アーティファクトのセットとWebサービスの部分的なJava実装をWSDLから生成します。 |
|
JAX-WS Webサービスを構築します。 |
詳細は、『Oracle WebLogic Serverアプリケーションの開発』のWebLogic Development Mavenプラグインの使用に関する項を参照してください。