既存の WebLogic Server ドメインを WebLogic Workshop に対応させるには
このトピックでは、既存の WebLogic Server 7.0 ドメインのコンフィグレーションを変更して WebLogic Workshop Web サービスをホストできるようにする方法について説明します。
新しいドメインを作成する場合は、WebLogic Workshop に対応した WebLogic Server ドメインを新しく作成するにはを参照してください。
WebLogic Workshop Web サービスをサポートするように WebLogic Server ドメインをコンフィグレーションできます。ドメインで WebLogic Web サービスのサポートを有効にするには、以下の手順を完了する必要があります。
対象のドメインにある WebLogic Server で、リソースの集合をコンフィグレーションします。後述の WebLogic Server リソースをコンフィグレーションする参照してください。
対象のドメインで jws-config.properties ファイルを作成およびコンフィグレーションします。後述の WebLogic Workshop プロパティを設定するを参照してください。
startWebLogic.cmd または startWebLogic.sh スクリプトに変更を加えて、適切な Java クラスパスを設定し、WebLogic Workshop の実行時情報を管理するためのデータベース サーバを起動するようにします。後述の startWebLogic スクリプトを編集するを参照してください。
WebLogic Workshop の実行時情報を格納するために使用するデータベースを作成します。後述の PointBase データベースを作成するを参照してください。
以上の手順をすべて完了したら、ドメイン ディレクトリの startWebLogic スクリプトを使用して WebLogic Server を起動します。
注意 : 上記の手順は、ドメイン コンフィグレーション ウィザードで作成された新しい「WLS Domain」でテストされています。
注意 : ドメイン コンフィグレーション ウィザードでは、サーバの「リスン アドレス」を指定する必要があります。ただし、新しいドメインの <config.xml> ファイルにある <Server> 要素で ListenAddress 属性を指定しない場合に、最も望ましい結果が得られます。ドメインの作成後にサーバを停止してから、config.xml ファイルを編集して、config.xml ファイルの <Server> 要素から ListenAddress 属性を削除することをお勧めします。
WebLogic Server 7.0 ドメインが WebLogic Workshop Web サービスをホストするには、以下の節で説明するドメイン リソースをコンフィグレーションする必要があります。
これらのリソースをコンフィグレーションするには、WebLogic Server コンソールを使用するか(推奨)、またはドメインの config.xml ファイルを直接編集します。WebLogic Server のコンフィグレーションの詳細については、edocs.beasys.co.jp の WebLogic Server ドメイン管理を参照してください。以下の手順では、これらのリソースを WebLogic Server コンソールからコンフィグレーションすることを想定しています。
注意 : 以下の手順では、すべてのリソース名で「cg」プレフィックスを使用します。リソースは自由に名前を付けてかまいませんが、共通のプレフィックスを使用すると、後でリソースをグループとして識別するのに役立ちます。
WebLogic Workshop の実行時環境で使用される JDBC データ ソースをサポートするには、JDBC 接続プールをコンフィグレーションする必要があります。WebLogic Server コンソールで、[<domain>|サービス|JDBC|接続プール] に移動します。以下の XML の一部を参照するとコンソールで入力する値を確認できます。
接続プールのコンフィグレーション方法については、edocs.beasys.co.jp の Administration Console による JDBC 接続プール、マルチプール、およびデータソースのコンフィグレーションと管理を参照してください。
接続プールをコンフィグレーションすると、config.xml のエントリは次のようになります。
<JDBCConnectionPool Name="cgPool" DriverName="com.pointbase.jdbc.jdbcUniversalDriver" InitialCapacity="5" MaxCapacity="20" CapacityIncrement="1" Properties="user=cajun;password=abc" RefreshMinutes="0" ShrinkPeriodMinutes="15" ShrinkingEnabled="true" SupportsLocalTransaction="true" Targets="cgServer" TestConnectionsOnRelease="false" TestConnectionsOnReserve="false" URL="jdbc:pointbase:server://localhost:9093/cajun"/>
この例では、WebLogic Server と一緒にインストールされる PointBase データベースの接続プールのコンフィグレーションを示しています。Oracle や SQL Server など別のデータベースを使用することができます。別のデータベースを使用するように WebLogic Workshop をコンフィグレーションする方法については、内部ステート用に別のデータベースを使用するように WebLogic Workshop をコンフィグレーションするにはを参照してください。
Web サービスの会話ステートの永続性をサポートするには、JDBC データ ソースをコンフィグレーションする必要があります。データ ソースは、JDBCTxDataSource(トランザクション データ ソース)である必要があります。WebLogic Server コンソールで、[<domain>|サービス|JDBC|トランザクション データ ソース] に移動します。以下の XML の一部を参照するとコンソールで入力する値を確認できます。
データ ソースの名前は、jws-config.properties ファイルに weblogic.jws.ConversationDataSource プロパティの値として指定する必要があります。詳細については、後述の WebLogic Workshop プロパティを設定するを参照してください。
データ ソースのコンフィグレーション方法については、edocs.beasys.co.jp の Administration Console による JDBC 接続プール、マルチプール、およびデータソースのコンフィグレーションと管理を参照してください。
会話データ ソースをコンフィグレーションすると、config.xml のエントリは次のようになります。
<JDBCTxDataSource EnableTwoPhaseCommit="true" JNDIName="cgDataSource" Name="cgDataSource" PoolName="cgPool" Targets="cgServer"/>
PoolName 属性は、上記でコンフィグレーションされた接続プールを指しています。
このコンフィグレーション手順は省略可能です。WebLogic Workshop ビジュアル開発環境でデータベース コントロールを作成すると、コントロールはデフォルトで cgSampleDataSource という名前の JDBC データ ソースを使用します。ビジュアル開発環境で新しく作成されたデータベース コントロールを変更せずに機能させるには、cgSampleDataSource という名前の JDBC データ ソースをコンフィグレーションする必要があります。このデータ ソースを作成するには、上記の会話データ ソースを作成した場合と同じ手順に従います。以下の XML の一部を参照するとコンソールで入力する値を確認できます。
サンプル データ ソースをコンフィグレーションすると、config.xml のエントリは次のようになります。
<JDBCTxDataSource EnableTwoPhaseCommit="true" JNDIName="cgSampleDataSource" Name="cgSampleDataSource" PoolName="cgPool" Targets="cgServer"/>
PoolName 属性は、上記でコンフィグレーションされた接続プールを指しています。
WebLogic Workshop ビジュアル開発環境で使用されるデフォルトの JDBC データ ソース名は、Workshop.properties ファイルで変更することもできます。詳細については、Workshop.properties コンフィグレーション ファイルを参照してください。
JMS コントロールによるステート永続性をサポートするには、JMS JDBC データ ストアをコンフィグレーションする必要があります。WebLogic Server コンソールで、[<domain>|サービス|JDBC|ストア] に移動します。以下の XML の一部を参照するとコンソールで入力する値を確認できます。
JMS ストアの名前は、jws-config.properties ファイルに weblogic.jws.JMSControlDataSource プロパティの値として指定する必要があります。詳細については、後述の WebLogic Workshop プロパティを設定するを参照してください。
JMS JDBC データ ストアのコンフィグレーション方法については、edocs.beasys.co.jp の JMS JDBC ストアの作成を参照してください。
JMS JDBC データ ストアをコンフィグレーションすると、config.xml のエントリは次のようになります。
<JMSJDBCStore ConnectionPool="cgPool" Name="cgJDBCStore"/>
ConnectionPool 属性は、上記でコンフィグレーションされた接続プールを指しています。
メッセージ バッファ、タイマー コントロール、JMS コントロール、および Web サービス メッセージ転送機能としての JMS をサポートするには、JMS サーバをコンフィグレーションする必要があります。WebLogic Server コンソールで、[<domain>|サービス|JDBC|サーバ] に移動します。以下の XML の一部を参照するとコンソールで入力する値を確認できます。
WebLogic JMS サーバのコンフィグレーション方法については、edocs.beasys.co.jp の WebLogic JMS のコンフィグレーションを参照してください。
JMS サーバの名前は、jws-config.properties ファイルに weblogic.jws.InternalJMSServer プロパティの値として指定する必要があります。詳細については、後述の WebLogic Workshop プロパティを設定するを参照してください。
JMS サーバをコンフィグレーションすると、config.xml のエントリは次のようになります。
<JMSServer Name="cgJMSServer" Store="cgJDBCStore" Targets="cgServer">
Store 属性は、上記でコンフィグレーションされた JMS データ ストアを指しています。
JMS 接続を実現するには、JMS 接続ファクトリをコンフィグレーションする必要があります。WebLogic Server コンソールで、[<domain>|サービス|JDBC|接続ファクトリ] に移動します。以下の XML の一部を参照するとコンソールで入力する値を確認できます。
JMS 接続ファクトリの名前は、jws-config.properties ファイルに weblogic.jws.InternalJMSConnFactory プロパティの値として指定する必要があります。詳細については、後述の WebLogic Workshop プロパティを設定するを参照してください。
WebLogic JMS 接続ファクトリのコンフィグレーション方法については、edocs.beasys.co.jp の WebLogic JMS のコンフィグレーションを参照してください。
JMS 接続ファクトリをコンフィグレーションすると、config.xml のエントリは次のようになります。
<JMSConnectionFactory JNDIName="weblogic.jws.jms.QueueConnectionFactory" Name="cgQueue" Targets="cgServer"/>
これまでの節で定義したリソースは、WebLogic Workshop コンフィグレーション ファイル jws-config.properties から参照されます。ドメイン ディレクトリ(ドメインの config.xml ファイルがあるディレクトリ)に jws-config.properties という名前のファイルを作成します。ファイルで次のプロパティをコンフィグレーションします。
weblogic.jws.InternalJMSServer=<上記でコンフィグレーションした JMS サーバの名前> weblogic.jws.InternalJMSConnFactory=<上記でコンフィグレーションした JMS 接続ファクトリの JNDI 名> weblogic.jws.ConversationDataSource=<上記でコンフィグレーションした会話データ ソースの JNDI 名> weblogic.jws.JMSControlDataSource=<上記でコンフィグレーションした JMS JDBC ストアの名前> weblogic.jws.ConversationMaxKeyLength=768
jws-config.properties ファイルの詳細については、jws-config.properties コンフィグレーション ファイルを参照してください。
Windows ホストでは startWebLogic.cmd ファイルに、Unix では startWebLogic.sh ファイルに、以下のように追加する必要があります。
Windows での手順のみを示します。これらの手順を Unix で行う場合は、注意すべきいくつかの相違点があります。
環境変数参照は %WL_HOME% ではなく $WL_HOME の形式になる。
パスの区切り文字は \ ではなく / になる。
Unix のスクリプトでは、REM ではなく # を使用してコメントを表す。
行の最初の文字の @ は Windows に固有。Unix システムでは使用しないこと。
PATH や CLASSPATH などの Unix のパス環境変数では、セミコロン(;)ではなくコロン(:)を使用してパス要素を区切る。
以下のすべてのコードを、startWebLogic.cmd の次の文字が含まれる行の間に貼り付けます。
SETLOCAL
and the line containing
@rem Set SERVER_NAME.
WebLogic Workshop によって使用される複数の環境変数を定義する必要があります。c:\bea を、WebLogic をインストールしたディレクトリで置き換えます(Windows でのデフォルトは c:\bea)。
以下の SET コマンドでは、各行をスペースを入れずに 1 行ずつにする必要があります。このトピックからコピーして貼り付ける場合、複数の行は手動で 1 行にしてください。
set WL_HOME=C:\bea\weblogic700 set BEAHOME=C:\bea set JAVA_HOME=C:\bea\jdk131_03 set ARDIR=%WL_HOME%\server\lib REM REM These commands convert to the windows short form of paths with no spaces. REM These commands are only necessary on Windows. REM for %%i in (%0) do set CONFIGDIR=%%~dpi for %%i in ("%CONFIGDIR%") do set CONFIGDIR=%%~fsi pushd %CONFIGDIR% REM set PRE_CLASSPATH=%WL_HOME%\common\lib\log4j.jar;%ARDIR%\knex.jar;%ARDIR%\JDIProxy.jar set POST_CLASSPATH=%PB_CLASSPATH%;%ARDIR%\webservices.jar;%ARDIR%\webserviceclient.jar; %ARDIR%\webserviceclient+ssl.jar REM REM Augment class path to enable generation of client proxy JAR files using ant REM set CLASSPATH=%ARDIR%\ant\ant.jar;%JAVA_HOME%\jre\lib\rt.jar
WebLogic Workshop は、開発モードでもプロダクション モードでも実行できます。これは WebLogic Server の開発モードおよびプロダクション モードと同じではありません。デプロイ済みの WebLogic Workshop アプリケーション(JwsCompile でビルドし、プロダクション サーバに EAR ファイルとしてデプロイされているアプリケーション)をサポートするには、対象サーバを WebLogic Workshop のプロダクション モードで実行する必要があります。そのためには、WebLogic Server の起動時に使用されるように以下の weblogic.jws.ProductionMode=true プロパティを指定します。このプロパティは下のように JAVA_OPTIONS 変数に追加できます(太字の部分を追加)。変数の値がそれまでは 1 つで、追加すると複数になる場合は、引用符が必要です。
set JAVA_OPTIONS= "-Dweblogic.security.SSL.trustedCAKeyStore=C:\bea\weblogic700\server\lib\cacerts -Dweblogic.jws.ProductionMode=true"
WebLogic Workshop のロギングはデフォルトで無効になっています。ロギングを有効にするには、log4j.configuration および weblogic.jws.logging Java プロパティを設定する必要があります。これらのプロパティは、startWebLogic.cmd に以下の行を追加して設定できます。以下の改行をスペースで置き換えて、1 行のテキストとして追加します。
set JAVA_OPTIONS=%JAVA_OPTIONS% -Dlog4j.configuration=file:%WL_HOME%\common\lib\workshopLogCfg.xml -Dweblogic.jws.logging=true
WebLogic Workshop のロギングの詳細については、workshopLogCfg.xml コンフィグレーション ファイルを参照してください。
このドメインで WebLogic Workshop デバッガを使用する場合は、startWebLogic.cmd スクリプトから WebLogic Workshop のデバッグ用プロキシも起動する必要があります。WebLogic Workshop のデバッグ用プロキシを起動するには、startWebLogic.cmd に以下の行を追加します。以下の改行をスペースで置き換えて、1 行のテキストとして追加します。
@start "WebLogic Workshop Debugger..." /MIN %JAVA_HOME%\bin\java -classpath %PRE_CLASSPATH%;%WL_HOME%\server\lib\weblogic.jar;%JAVA_HOME%\lib\tools.jar JDIProxy.DbgMain
WebLogic Workshop では、Web サービスの会話ステートの格納や JMS ストアの提供にデータベースが必要です。WebLogic Workshop で、WebLogic と一緒にインストールされるデフォルトの PointBase データベースを使用する場合は、startWebLogic.cmd に以下のコードを追加する必要があります。PointBase 以外のデータベースを使用するように WebLogic Server をコンフィグレーションすることもできますが、ここで説明するリソースと同様のリソースをコンフィグレーションする必要があります。
注意 : インストールした WebLogic Platform のサービス パックのレベルによっては、PB_CLASSPATH の定義にある PointBase JAR ファイルの実際の名前が異なる可能性があります。PB_CLASSPATH で指定された JAR ファイルがインストール先に存在していることを確認してください。
以下の SET コマンドでは、各行をスペースを入れずに 1 行ずつにする必要があります。
set POINTBASEDIR=C:\bea\weblogic700\samples\server\eval\pointbase set PB_CLASSPATH=%POINTBASEDIR%\lib\pbserver42ECF183.jar;%POINTBASEDIR%\lib\pbclient42ECF183.jar
注意 : PB_CLASSPATH は前述のように POST_CLASSPATH で参照されます。そのため、POINTBASEDIR および PB_CLASSPATH の定義は、ファイル内で POST_CLASSPATH の定義より前に現れる必要があります。POST_CLASSPATH の定義を移動する必要があります。
START コマンドは、以下の改行をスペースに置き換えて 1 行にする必要があります。
@REM @REM START POINTBASE @REM start "Pointbase" /B /MIN cmd /c %JAVA_HOME%\bin\java -classpath %WL_HOME%\server\lib\weblogic.jar;%PB_CLASSPATH% com.pointbase.net.netServer /port:9093 /d:3 /pointbase.ini=%CONFIGDIR%\pointbase.ini > %CONFIGDIR%\pointbase.log 2>&1
WebLogic Server を正常に起動するに前に、次の節で説明するように、WebLogic Workshop の実行時環境で使用されるデータベースを作成する必要があります。
WebLogic Workshop の実行時情報で使用されるデータベースを作成する必要があります。これは、上記でコンフィグレーションした接続プールで指定されている URL の最後に示されたデータベースです。デフォルトのデータベース名は cajun です。
WebLogic Workshop の実行時環境で使用される PointBase データベースをコンフィグレーションする前に、ドメイン ディレクトリに以下の内容を含む pointbase.ini ファイルを作成する必要があります。
database.home=. transaction.isolationlevel=TRANSACTION_SERIALIZABLE database.pagesize=4096 cache.size=2063 sort.size=1024
ドメイン ディレクトリは対象ドメインの config.xml ファイルが含まれるディレクトリです。
WebLogic Workshop の実行時データベースを作成するには、PointBase サーバが動作していなければなりません。Windows のコマンド ウィンドウで以下のコマンドを実行して、PointBase サーバを起動します。c:\bea を WebLogic がインストールされているディレクトリで置き換えます。
注意 : インストールした WebLogic Platform のサービス パックのレベルによっては、PB_CLASSPATH の定義にある PointBase JAR ファイルの実際の名前が異なる可能性があります。PB_CLASSPATH で指定された JAR ファイルがインストール先に存在していることを確認してください。
以下の SET コマンドでは、各行をスペースを入れずに 1 行ずつにする必要があります。
set WL_HOME=C:\bea\weblogic700 set JAVA_HOME=C:\bea\jdk131_03 set POINTBASEDIR=%WL_HOME%\samples\server\eval\pointbase set PB_CLASSPATH=%POINTBASEDIR%\lib\pbserver42ECF183.jar;%POINTBASEDIR%\lib\pbclient42ECF183.jar set PB_TOOLSCLASSPATH=%POINTBASEDIR%\lib\pbtools42ECF183.jar; %POINTBASEDIR%\lib\pbserver42ECF183.jar;%POINTBASEDIR%\lib\pbclient42ECF183.jar
以下のコマンドは、改行をスペースに置き換えて 1 行にする必要があります。ドメイン ディレクトリ(対象ドメインの config.xml ファイルが含まれるディレクトリ)でこのコマンドを実行します。
start "Pointbase" cmd /c %JAVA_HOME%\bin\java -classpath %WL_HOME%\server\lib\weblogic.jar;%PB_CLASSPATH% com.pointbase.net.netServer /port:9093 /d:3 /pointbase.ini=pointbase.ini > pointbase.log 2>&1
上記のコマンドを実行すると、Pointbase というタイトルの新しい Windows コマンド ウィンドウが表示されます。後述のように PointBase サーバを停止するまで、このウィンドウは無視します。
PointBase サーバが動作しているので、以下のコマンドでデータベースを作成できます。コマンドは、改行をスペースに置き換えて 1 行で入力する必要があります。
%JAVA_HOME%\bin\java -classpath %PB_TOOLSCLASSPATH% com.pointbase.tools.toolsCommander com.pointbase.jdbc.jdbcUniversalDriver jdbc:pointbase:server://localhost:9093/cajun,new cajun abc
上記のコマンドは PointBase のコマンド ツールを起動し、必要なデータベース(名前は cajun)を作成します。コマンド ツールには SQL> プロンプトが表示されます。次のコマンドを入力して PointBase のコマンド ツールを終了します。
exit;
[Pointbase] ウィンドウで〔Ctrl〕+〔C〕を押して PointBase サーバを停止します。データベースの作成に成功すると、ドメイン ディレクトリに cajun.dbn というファイルが現れます。
このトピックで説明したすべての手順を完了したら、WebLogic Server をエラーなしで起動できます。Windows のコマンド ウィンドウで次のように入力します。
startWebLogic
WebLogic Workshop ビジュアル開発環境をデフォルトとは異なるドメインで動作するようにコンフィグレーションする方法については、WebLogic Workshop に対応した WebLogic Server ドメインを新しく作成するにはの新しいドメインで WebLogic Workshop を実行するにはを参照してください。
jws-config.properties コンフィグレーション ファイル