3 開発ツールおよび管理ツールの使用

Oracleでは、Webサービスを開発するためのOracle IDE、WebLogic Webサービスを管理、テスト、モニターするのための管理ツール、Oracle WebLogic Scripting Tool、Java Management Extensions (JMX)など、Oracle WebLogic ServerのWebLogic Webサービスの開発および管理に役立つツールを提供します。

管理ツールを使用したWebLogic Webサービスの管理、テストおよびモニター

Webサービスの基本的な管理は、標準のJava Platform, Enterprise Edition (Java EE)アプリケーションおよびモジュールの基本的な管理と非常に似ています。これらの標準タスクには、Enterpriseアプリケーションのデプロイおよびモニター、ポリシー・ファイルの構成などが含まれます。

jwsc Antタスクを使用してWebLogic Webサービスをコンパイルおよびパッケージ化すると、Webサービスはエンタープライズ・アプリケーションの一部としてパッケージ化されます。デフォルトでは、Webサービス自体はエンタープライズ・アプリケーション内にWebアプリケーションWARファイルとしてパッケージ化されます。ただし、JWSファイルにセッションBeanが実装されている場合、WebサービスはEJB JARファイルとしてパッケージ化されます。

標準的なタスクは次のとおりです。

  • Webサービスが含まれるエンタープライズ・アプリケーションをデプロイします。

  • デプロイされたエンタープライズ・アプリケーションを起動および停止します。

  • エンタープライズ・アプリケーションと、実際のWebサービスを実装するアーカイブ・ファイルの構成。エンタープライズ・アプリケーションの一般的な特性(デプロイメント順など)や、モジュールに固有の特性(Webアプリケーションのセッション・タイムアウト、EJBのトランザクションの種類など)を構成できます。

  • エンタープライズ・アプリケーションのデプロイメント・プランを作成および更新します。

  • エンタープライズ・アプリケーションをモニターします。

  • エンタープライズ・アプリケーションをテストします。

Webサービス固有の管理タスクの例を次に示します。

  • Webサービス・エンドポイントまたはその操作に関連付けられたポリシー・ファイルの構成。

  • Webサービスに関連付けられたSOAPハンドラの表示。

  • WebサービスのWSDLの表示。

  • Webサービスのセキュリティ構成の作成。

WebLogic Serverで動作するJava EEモジュールおよびアプリケーションの管理方法には、次の各項で説明するように、Webサービスを含め様々な方法があります。

Oracle WebLogic Server管理コンソールの使用

WebLogic Server管理コンソールは、サーバーやクラスタにデプロイされたWebLogic Serverドメイン、1つ以上のWebLogic Serverインスタンス、クラスタおよびアプリケーション(Webサービスを含む)の管理に使用するWebブラウザ形式のグラフィカル・ユーザー・インタフェースです。

各ドメインでは、1つのWebLogic Serverインスタンスが管理サーバーとして構成されます。管理サーバーではWebLogic Serverドメインを一元的に管理できます。ドメイン内の他のすべてのWebLogic Serverインスタンスは、管理対象サーバーと呼ばれます。1つのWebLogic Serverインスタンスしか含まれないドメインでは、そのサーバーが管理サーバーおよび管理対象サーバーとして機能します。WebLogic Server管理コンソールは、管理サーバーによってホストされるWebアプリケーションであり、サポートされている任意のWebブラウザから、管理サーバーへのネットワーク・アクセスを使用してアクセスできます。

WebLogic Server管理コンソールでは、次のことが可能です。

WebLogic Server管理コンソールを使用したWebサービスの管理の詳細は、『Oracle WebLogic Serverr Administration Consoleオンライン・ヘルプ』Web サービスに関する項を参照してください。

次のセクションでは、次のトピックの詳細について説明します。

管理コンソールの起動

ブラウザでWebLogic Server管理コンソールを起動するには、次のURLを入力します。

http://host:port/console

各要素の説明は次のとおりです。

  • hostは、管理サーバーが動作しているコンピュータを指します。

  • portは、管理サーバーが接続リクエストをリスニングしているポート番号を指します。管理サーバーのデフォルトのポート番号は7001です。

WebLogic Server管理コンソールの使用に関する詳細は、WebLogic Server管理コンソールの右上端にある「ヘルプ」ボタンをクリックし、オンライン・ヘルプを起動してください。

管理コンソールでのWebサービスの表示

通常、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サービスを常にエンタープライズ・アプリケーションにパッケージ化します。

WebLogic Server管理コンソールを使用してWebサービスに関するWebサービス固有の構成情報を表示および更新するには、左ペインの「デプロイメント」ノードをクリックし、右ペインに表示される「デプロイメント」表でWebサービスがパッケージ化されているエンタープライズ・アプリケーションを探します。「+」ノードをクリックしてアプリケーションを展開すると、「Webサービス」カテゴリにアプリケーション内のWebサービスのリストが表示されます。構成を表示または更新するには、そのWebサービスの名前をクリックします。

次の図では、WebLogic Server管理コンソールの「デプロイメント」表に、helloWorldEarエンタープライズ・アプリケーションにパッケージ化されているHelloWorldService Webサービスが表示されています。

図3-1 WebLogic Server管理コンソールのメイン・ウィンドウ

図3-1の説明が続きます
図3-1 「WebLogic Server管理コンソールのメイン・ウィンドウ」の説明

Webサービスのセキュリティ構成の作成

デプロイ済のWebLogic Webサービスがメッセージ・レベルのセキュリティ(WS-Security仕様で定義されている暗号化およびデジタル署名)を使用するように構成されている場合、Webサービス・ランタイムは、そのWebサービスにWebサービス・セキュリティ構成が関連付けられているかどうかを判断します。このセキュリティ構成では、IDの認証にX.509証明書を使用するかどうか、パスワード・ダイジェストを使用するかどうか、暗号化にキーストアを使用するかどうかなどの情報を指定します。1つのセキュリティ構成を多数のWebサービスに関連付けることができます。

Webサービスのセキュリティ構成はドメイン全体を対象とするため、WebLogic Server管理コンソールでは「デプロイメント」タブではなく「domainName」 →「Webサービス・セキュリティ」タブから作成します。次の図に、このタブの場所を示します。

図3-2 管理コンソールでのWebサービスのセキュリティ構成

図3-2の説明が続きます
「図3-2 管理コンソールでのWebサービスのセキュリティ構成」の説明

Oracle WebLogic Scripting Toolの使用

WebLogic Scripting Tool (WLST)は、コマンドライン形式のスクリプト・インタフェースで、WebLogic Serverのドメインやインスタンスと対話して構成したり、Java EEモジュールおよびアプリケーション(Webサービスを含む)を特定のWebLogic Serverインスタンスにデプロイする目的で使用します。システム管理者およびオペレータは、WLSTを使用してWebLogic Serverの構成の変更を開始、管理および永続化できます。

次を参照してください。

Oracle WebLogic Server Antタスクの使用

WebLogic Serverには、構成タスクや管理タスクの多くを単一のAntビルド・スクリプトに一元化するのに使用できる様々なAntタスクが用意されています。基本Antタスクには、wlserverwlconfigおよびwldeployを使用します。

Antタスクでは次のことが可能です。

  • wlserverおよびwlconfig Antタスクを使用して、新しいWebLogic Serverドメインを作成、起動、および構成します。

  • wldeploy Antタスクを使用して、新しく作成したドメインに、コンパイル済みアプリケーションをデプロイします。

  • Webサービスおよびクライアントを生成して、WSDLをローカル・ディレクトリにダウンロードします。

次の表では、WebサービスAntタスクを使用するためのステップをまとめています。

表3-1 WebサービスAntタスクを使用するためのステップ

# ステップ 説明

1

環境を設定します。

Windows NTでは、ドメイン・ディレクトリにあるsetDomainEnv.cmdコマンドを実行します。WebLogic Serverドメインのデフォルトの場所は、ORACLE_HOME\user_projects\domains\domainNameです。ORACLE_HOMEは、WebLogic Serverのインストール時にユーザーがOracleホームとして指定したディレクトリで、domainNameはユーザーのドメインの名前です。

UNIXでは、ドメイン・ディレクトリにあるsetDomainEnv.shコマンドを実行します。WebLogic Serverドメインのデフォルトの場所は、ORACLE_HOME/user_projects/domains/domainNameです。ORACLE_HOMEは、WebLogic Serverのインストール時にユーザーがOracleホームとして指定したディレクトリで、domainNameはユーザーのドメインの名前です。

2

WebサービスAntタスクの呼出しを含むbuild.xmlというファイルを作成します。

以下に、cleanというターゲットを1つ指定した簡単なbuild.xmlファイルの例を示します。

<project name="my-webservice">
  <target name="clean">
     <delete>
       <fileset dir="tmp" />
     </delete>
  </target>
</project>

このcleanターゲットにより、tmpサブディレクトリ内のすべてのファイルが削除されます。build.xmlファイルでAntタスクを指定する例は後の項で紹介します。

3

実行するWebLogic WebサービスAntタスクごとに、<taskdef>要素および<target>要素を使用して、適切なタスク定義とターゲットをbuild.xmlファイルに追加します。

次の例では、jwsc Antタスクをビルド・ファイルに追加する方法を示します。ここでは、分かりやすくするためにタスクの属性を省いています。

<taskdef name="jwsc"
   classname="weblogic.wsee.tools.anttasks.JwscTask" />
<target name="build-service">
   <jwsc attributes go here...>
   ...
   </jwsc>
</target>

ノート: それぞれのAntタスクに対する<taskdef>要素のname属性値を変更すれば、WebLogic WebサービスAntタスクに任意の名前を付けることができます。このドキュメントでは、整合性を考慮してjwscclientgenwsdlcおよびwsdlgetという名前に統一しています。

4

build.xmlファイルに指定されたAntタスクを実行します。

build.xmlファイルと同じディレクトリで antと入力し、ターゲットを指定します。たとえば:

prompt> ant build-service

5

Webサービスを呼び出すURLに使用するコンテキスト・パスとサービスURIを指定します。(省略可能)

この情報は様々な方法で設定できます。詳細は、Oracle WebLogic Server JAX-WS Webサービスの開発WebLogic Webサービスのコンテキスト・パスの定義を参照してください。

詳細については、以下を参照してください。

WebLogic 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ユーティリティでは、 WL_HOME\server\binディレクトリ(WL_HOMEはWeblogic Serverがインストールされている最上位ディレクトリ)にあるant (UNIX)またはant.bat (Windows)構成ファイルを使用して各種のAnt固有変数を設定します。これらのAnt変数を更新する必要がある場合、使用しているオペレーティング・システム用の構成ファイルを変更します。

WSDLおよびXMLスキーマ・ファイルの操作時におけるオペレーティング・システムの大文字/小文字の区別の違い

WebLogic WebサービスのAntタスクの多くには、WSDLまたはXMLスキーマ・ファイルなどのファイルを指定するために使用できる属性があります。

Antタスクは、それらのファイルを大文字と小文字を区別して処理します。つまり、XMLスキーマ・ファイルで名前が大文字と小文字の点でのみ異なるユーザー定義の2つの型(たとえばMyReturnTypeMYRETURNTYPE)が指定されている場合、clientgen Antタスクは、ユーザー定義データ型のJava表現に対応する2つの別々のJavaソース・ファイル・セット(MyReturnType.javaMYRETURNTYPE.java)を適切に生成します。

ただし、それらのソース・ファイルをそれぞれのクラス・ファイルにコンパイルすると、AntタスクをMicrosoft Windowsで実行する場合に問題が生じる場合があります。Windowsでは、大文字と小文字を区別しないためです。つまり、Windowsでは、ファイルMyReturnType.javaMYRETURNTYPE.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タスクを実行します。

Java Management Extensions (JMX)の使用

マネージド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

「Oracle WebLogic ServerのMBean参照」および『Oracle WebLogic Server JMXによるカスタム管理ユーティリティの開発』の次に示す項を参照してください。

Java EEデプロイメントAPIの使用

Java EE Deploymentアーキテクチャでは、ツールやアプリケーション・プログラマがあらゆるJava EEプラットフォーム製品でアプリケーションを構成およびデプロイできるようにするための規約を定義しています。この規約では、アプリケーションのデプロイメント構成とデプロイメントについて、ツールとJava EEプラットフォーム製品の間での共通モデルが定義されています。

J2EE Application Deployment仕様(JSR-88) (http://jcp.org/en/jsr/detail?id=88を参照)により、ターゲット・アプリケーション・サーバー環境へのデプロイメント用にアプリケーションを構成するために使用できる標準APIが定義されています。

Deploymentアーキテクチャを使用すると、アプリケーションのデプロイメントがより容易に行えます。多様なJava EEプラットフォーム製品にアプリケーションをデプロイするために、さまざまなJava EEデプロイメント・ツールのすべての機能を理解する必要はありません。

詳細は、『Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。

WebサービスApache Mavenゴールの使用

Apache Mavenは、Javaベース・プロジェクトの構築および管理を行うためのソフトウェア・ツールです。WebLogic Serverは、プラグインのプロビジョニングによってMaven用のサポートを提供します。このプラグインを使用すると、Maven環境からWebLogic Serverで各種処理を実行できます。

WebLogic Serverでは、次のWebサービスMavenゴールがサポートされています。

表3-2 WebサービスMavenゴール

Mavenゴール 説明

ws-clientgen

WSDLからクライアントWebサービス・アーティファクトを生成します。

ws-wsdlc

アーティファクトのセットとWebサービスの部分的なJava実装をWSDLから生成します。

ws-jwsc

JAX-WS Webサービスを構築します。

完全なドキュメントは、『Oracle WebLogic Serverアプリケーションの開発』WebLogic開発Mavenプラグインの使用に関する項を参照してください。