Oracle WebLogic Tuxedo Connector 移行ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

Tuxedo CORBA simpapp サンプルの変更方法

以下の節では、Oracle WebLogic Tuxedo Connector を使用するように WLEC アプリケーションを変換する方法を示します。この例では、Oracle WebLogic Tuxedo Connector を使用して動作するように WebLogic Server 6.1 の examples\wlec\ejb\simpapp サンプルを変換する手順について説明します。先に進む前に「前提条件」を確認してください。

 


Tuxedo 環境の変更方法

この節では、Oracle WebLogic Tuxedo Connector で使用するために Tuxedo コンフィグレーション ファイルを変更する方法について説明します。

Tuxedo CORBA simpapp サンプルの実行

Tuxedo 環境を確認して WLEC simpapp アプリケーションの実行を準備するには、Tuxedo CORBA simpapp サンプルを実行する必要があります。

次の手順に従って、$TUXDIR/samples/corba/simpapp にある Tuxedo サンプルを実行します。

  1. Tuxedo CORBA simpapp サンプルの作業用コピーを作成します。インストールされている Tuxedo から Tuxedo CORBA simpapp サンプルをコピーし、作業用の simpapp ディレクトリに格納します。
  2. 作業用の simpapp ディレクトリへ移動します。
  3. サンプルをビルドして実行します。
    1. Tuxedo 環境を設定します。Windows の場合は、シェル環境で set %TUXDIR% を実行します。Unix の場合は、$TUXDIR/tux.env を実行して Tuxedo 環境を設定する必要があります。
    2. C++ コンパイラが PATH に含まれていることを確認します。
    3. JAVA_HOME 環境変数を Tuxedo Java JDK の場所に設定します。
    4. runme スクリプトを実行して環境を設定します。CORBA オブジェクト操作のプログラミング インタフェースを提供するクライアント スタブが作成されます。作業ディレクトリの中に、Tuxedo 環境のコンフィグレーションに使用するファイルが格納された results ディレクトリが作成されます。
    5. クライアントを実行します。
    6. java -DTOBJADDR=%TOBJADDR% -classpath %CLASSPATH% SimpleClient
    7. Tuxedo サーバを停止します。
    8. tmshutdown -y

UBB コンフィグレーション ファイルの変更

作業用の Tuxedo simpapp ディレクトリで、次の手順に従って UBB コンフィグレーションを変更します。

  1. 作業ディレクトリの results/ubb ファイルの名前を results/ubbdomain に変更します。
  2. vi やワードパッドなどのテキスト エディタを使用して ubbdomain ファイルを編集します。
  3. *SERVERS セクションに Tuxedo ゲートウェイ サーバを追加します。
  4. 例 : 次のサーバを追加します。

         DMADM SRVGRP=SYS_GRP SRVID=7
         GWADM SRVGRP=SYS_GRP SRVID=8
         GWTDOMAIN SRVGRP=SYS_GRP SRVID=9
  5. ubbdomain ファイルを保存します。

次のコードは、変更後の ubbdomain ファイルの例です。変更されたセクションは太字で示されています。

コード リスト 3-1 変更後の UBB ファイル
*RESOURCES
     IPCKEY 55432
     DOMAINID simpapp
     MASTER SITE1
     MODEL SHM
     LDBAL N
*MACHINES
     "balto"
     LMID = SITE1
     APPDIR = "/tux_apps/corba/simpapp"
     TUXCONFIG = "/tux_apps/corba/simpapp/results/tuxconfig"
     TUXDIR = "/my_machine/tux/tuxedo8.1"
     MAXWSCLIENTS = 10
*GROUPS
     SYS_GRP
     LMID = SITE1
     GRPNO = 1
     APP_GRP
     LMID = SITE1
     GRPNO = 2
*SERVERS
     DEFAULT:
     RESTART = Y
     MAXGEN = 5
     TMSYSEVT
SRVGRP = SYS_GRP
     SRVID = 1
TMFFNAME
     SRVGRP = SYS_GRP
     SRVID = 2
     CLOPT = "-A -- -N -M"
TMFFNAME
     SRVGRP = SYS_GRP
     SRVID = 3
     CLOPT = "-A -- -N"
TMFFNAME
     SRVGRP = SYS_GRP
     SRVID = 4
     CLOPT = "-A -- -F"
simple_server
     SRVGRP = APP_GRP
     SRVID = 1
     RESTART = N

# ISL ハンドラは WTC では必要ない。
# 他の WLEC アプリケーションで必要なければ
# 削除できる
ISL
     SRVGRP = SYS_GRP
     SRVID = 5
     CLOPT = "-A -- -n //mymachine:2468 -d /dev/tcp"
DMADM
     SRVGRP = SYS_GRP
     SRVID = 7
GWADM
     SRVGRP = SYS_GRP
     SRVID = 8
GWTDOMAIN
     SRVGRP = SYS_GRP
     SRVID = 9
*SERVICES

ドメイン コンフィグレーションの作成

作業用の Tuxedo simpapp ディレクトリで、次の手順に従ってドメイン コンフィグレーションを作成します。

  1. vi やメモ帳などのテキスト エディタを使用してドメイン コンフィグレーション ファイルを作成します。最も簡単な方法は dmconfig のサンプル コードを切り取り、エディタに貼り付けることです。
  2. 山括弧 (< >) で囲まれたすべての項目を、使用している環境の情報で置き換えます。
  3. コード リスト 3-2 dmconfig ファイル
         *DM_RESOURCES
         VERSION=U22
         *DM_LOCAL_DOMAINS
         TUXDOM     GWGRP=SYS_GRP
                    TYPE=TDOMAIN
                    DOMAINID="TUXDOM"
                    BLOCKTIME=20
                    MAXDATALEN=56
                    MAXRDOM=89
                    DMTLOGDEV="<ドメインの TLOG デバイスのパス>"
                    DMTLOGNAME="DMTLOG_TUXDOM"
         *DM_REMOTE_DOMAINS
              examples TYPE=TDOMAIN DOMAINID="examples"
         *DM_TDOMAIN
              TUXDOM NWADDR="<Tuxedo ドメインのネットワーク アドレス>"
              examples NWADDR="<WTC ドメインのネットワーク アドレス>"
         *DM_REMOTE_SERVICES
  4. ファイルに dmconfig という名前を付けて作業用の simpapp/results ディレクトリに保存します。

Tuxedo 環境のテスト

次の手順に従って Tuxedo コンフィグレーションを確認します。

  1. 新しいシェルで、作業用の simpapp/results ディレクトリに移動します。
  2. ご使用のプラットフォームの setenv スクリプトを使用して環境を設定します。
  3. ubbdomain ファイルをロードします。
  4. tmloadcf -y ubbdomain
  5. dmconfig ファイルをロードします。
  6. set BDMCONFIG=<path_to_your_working_simpapp_example>/simpapp/results/bdmconfig
    dmloadcf -y dmconfig
  7. Tuxedo ドメインを起動します。
  8. tmboot -y
  9. Tuxedo 環境を確認します。
  10. java -DTOBJADDR=%TOBJADDR% -classpath %CLASSPATH% SimpleClient
  11. Tuxedo サーバを停止します。
  12. tmshutdown -y

 


ejb-jar.xml ファイルの変更

vi やメモ帳などのテキスト エディタを使用して、接続プール記述子を削除し、trans-attribute を更新します。以下のコード リストは、WLEC simpapp サンプルの ejb-jar.xml で、IIOP 接続プール記述子の参照を削除する方法を示したサンプル コードです。

 


build.xml ファイルの更新

移行したアプリケーションの WebLogic 環境へのコンパイルとデプロイを容易にするために、build.xml ファイルを以下に示します。以下のサンプル コードを使用して、build.xml ファイルの内容を置き換えてください。

コード リスト 3-4 更新後の build.xml ファイル
<project name="wlec-ejb-simpapp" default="all" basedir=".">

<!-- このビルドのグローバル プロパティを設定する -->
<property environment="env"/>
<property file="../../../../examples.properties"/>
<property name="build.compiler" value="${compiler}"/>
<property name="source" value="."/>
<property name="build" value="${source}/build"/>
<property name="dist" value="${source}/dist"/>
<property name="ejb_classes" value="Converter.java, ConverterHome.java, ConverterResult.java,
ProcessingErrorException.java, ConverterBean.java"/>
<property name="ejb_jar" value="wlec_simpapp_corba.jar"/>
<property name="client_classes" value="Converter.java, ConverterHome.java, ConverterResult.java,
ProcessingErrorException.java, Client.java"/>

<target name="all" depends="clean, init, compile_idl, compile_ejb, jar_ejb, appc, compile_client"/>

<target name="init">
<!-- タイム スタンプを作成する -->
     <tstamp/>
     <!-- コンパイルで使用される build ディレクトリ構造を作成して
     デプロイメント記述子をコピーする -->
     <mkdir dir="${build}"/>
     <mkdir dir="${build}/META-INF"/>
     <mkdir dir="${dist}"/>
     <copy todir="${build}/META-INF">
     <fileset dir="${source}">
     <include name="*.xml"/>
     <exclude name="build.xml"/>
     </fileset>
     </copy>
     </target>

<!-- IDL スタブ クラスを build ディレクトリにコンパイルする (jar の準備) -->
<target name="compile_idl">
     <exec executable="idlj" dir=".">
     <arg line="-td build -pkgPrefix Simple simple -pkgPrefix      SimpleFactory simple simple.idl" />
     </exec>
     <javac srcdir="${build}" destdir="${build}"
     classpath="${CLASSPATH};${build}"/>
     <delete>
     <fileset dir="${build}">
     <include name="*.java"/>
     </fileset>
     </delete>
     </target>

<!-- ejb クラスを build ディレクトリにコンパイルする (jar の準備) -->
<target name="compile_ejb">
     <javac srcdir="${source}" destdir="${build}"
     includes="${ejb_classes}"
     classpath="${CLASSPATH};${build}"/>
     </target>

<!-- XML デプロイメント記述子を含む標準の ejb jar ファイルを作成する -->
<target name="jar_ejb" depends="compile_ejb">
     <jar jarfile="${dist}/std_${ejb_jar}"
     basedir="${build}">
     </jar>
     </target>

<!-- appc を実行してデプロイ可能な jar ファイルを作成する -->
     <target name="appc" depends="jar_ejb">
<echo message="Generating container classes in ${apps.dir}/${ejb_jar}"/>
     <wlappc debug="${debug}"
     iiop="true"
     source="${dist}/std_${ejb_jar}"
     output="${apps.dir}/${ejb_jar}"
     />
     </target>

<!-- EJB インタフェースとクライアント アプリケーションを clientclasses ディレクトリにコンパイルする
-->
     <target name="compile_client">
     <javac srcdir="${source}"
     destdir="${client.classes.dir}"
     includes="${client_classes}"
     />
     </target>

<target name="run">
<java classname="examples.wlec.ejb.simpapp.Client">
</java>
</target>

     <target name="clean">
     <delete dir="${build}"/>
     <delete dir="${dist}"/>
     </target>
</project>

 


WLEC ConverterBean の変更

以下のコード リストは、wlec/ejb/simpapp サンプルの ConverterBean.java ファイルを変更し、Oracle WebLogic Tuxedo Connector を使用して Tuxedo と相互運用する方法を示したサンプル コードです。

 


Oracle WebLogic Tuxedo Connector のコンフィグレーション

以下の手順に従って、WebLogic Server と変更済みの WLEC アプリケーションに接続するように Oracle WebLogic Tuxedo Connector をコンフィグレーションします。

  1. WTC サービスを作成する
  2. ローカル Tuxedo アクセス ポイントを作成する
  3. リモート Tuxedo アクセス ポイントを作成する
  4. インポートされたサービスを作成する

WTC サービスを作成する

次の手順に従って、WebLogic Server Administration Console を使用して WTC サービスを作成しコンフィグレーションします。

  1. Administration Console のナビゲーション ツリーで、[相互運用性] を展開して [WTC サーバ] を選択します。
  2. [WTC サーバ] ページで、[新規作成] をクリックします。
  3. [新しい WTC サーバの作成] ページの [名前] フィールドに、このコンフィグレーションを識別する My_WLEC_App を入力します。
  4. [OK] をクリックします。
  5. 新しい WTC サービスが WTC サーバのリストに表示されます。

ローカル Tuxedo アクセス ポイントを作成する

注意 : ローカル アクセス ポイントのネットワーク アドレスをコンフィグレーションする場合、使用するポート番号は、他のプロセスに割り当てられたポート番号とは異なる必要があります。たとえば、WebLogic Server のリスン ポートが //mymachine:7001 に割り当てられている場合、ネットワーク アドレスを //mymachine:7001 に設定すると無効になります。

次の手順に従って、ローカル Tuxedo アクセス ポイントをコンフィグレーションします。

  1. Administration Console で、[相互運用性] を展開して [WTC サーバ] を選択します。
  2. [WTC サーバ] ページで、WTC サービス名をクリックして、設定ページにアクセスします。
  3. [ローカル AP] タブをクリックします。
  4. [WTC ローカル アクセス ポイント] ページで、以下のフィールドに次のとおり、値を入力します。
  5. [アクセス ポイント] に My_Local_WLS_Dom と入力します。

    [アクセス ポイント ID] に examples と入力します。

  6. [ネットワーク アドレス] に、このローカル ドメインをホストする WebLogic Server 環境のネットワーク アドレスとポートを入力します。
  7. 例 : //my_WLS_machine:5678

  8. [OK] をクリックします。

リモート Tuxedo アクセス ポイントを作成する

次の手順に従って、リモート Tuxedo アクセス ポイントをコンフィグレーションします。

  1. Administration Console で、[相互運用性] を展開して [WTC サーバ] を選択します。
  2. [WTC サーバ] ページで、WTC サービス名をクリックします。
  3. [リモート AP] タブをクリックします。
  4. [WTC リモート アクセス ポイント] ページで、以下のフィールドに次のとおり、値を入力します。
  5. [アクセス ポイント] に My_WLEC_Dom と入力します。

    [アクセス ポイント ID] に TUXDOM と入力します。

    [ローカル アクセス ポイント] に My_Local_WLS_Dom と入力します。

  6. [ネットワーク アドレス] に、このリモート ドメインをホストする Tuxedo 環境のネットワーク アドレスとポートを入力します。
  7. 例 : //my_TUX_machine:5678

  8. [OK] をクリックします。

インポートされたサービスを作成する

次の手順に従って、インポートされたサービスをコンフィグレーションします。

  1. Administration Console で、[相互運用性] を展開して [WTC サーバ] を選択します。
  2. [WTC サーバ] ページで、WTC サービス名をクリックします。
  3. [インポート済み] タブをクリックします。
  4. [WTC インポート サービス] ページで、以下のフィールドに次のとおり、値を入力します。
  5. [リソース名] に //simpapp と入力します。

    [ローカル アクセス ポイント] に My_Local_WLS_Dom と入力します。

    [リモート アクセス ポイント リスト] に My_WLEC_Dom と入力します。

    [リモート名] に //domain_id を入力します。domain_id は、Tuxedo UBBCONFIG ファイルで指定された DOMAINID です。この CORBA ドメインのユニークな識別子の最大長は、// を含めて 15 文字です。

    例 : //simpappff

  6. [OK] をクリックします。

 


simpapp サンプルの実行

  1. 新しいシェルを開いて、作業用の Tuxedo CORBA simpapp サンプルに移動します。
  2. 環境変数を設定します。
  3. NT または 2000 の場合は次のコマンドを実行します。results\setenv.cmd

    Unix の場合は次のコマンドを実行します。results\setenv.sh

  4. Tuxedo ドメインを起動します。
  5. tmboot -y
  6. 新しいシェルを開いて、WebLogic Server WLEC simpapp サンプルに移動します。
  7. 環境変数を設定します。以下のパラメータを更新します。
注意 : NT または 2000 を使用している場合は、setExamplesEnv.cmd を変更して実行します。Unix を使用している場合は、./config/examples/setExamplesEnv.sh スクリプトを WLEC simpapp ディレクトリにコピーしてから、setExamplesEnv.sh スクリプトを変更して実行します。
  1. simple.idl ファイルを Tuxedo CORBA simpapp サンプルから WebLogic Server WLEC simpapp サンプルにコピーします。
  2. ant を使用して wlec_simpapp_corba.jar ファイルをビルドします。
  3. 次のコマンドを入力します。ant

  4. WLS コンソールを使用して My_WLEC_App をサーバに割り当てます。
  5. クライアントを実行します。
  6. 次のコマンドを入力します。ant run

Java アプリケーションは次のような出力を生成します。

Beginning simpapp.Client...
Start of Conversion for: It Works
Converting to lower case: It Works
...Converted: it works
Converting to upper case: It Works
...Converted: IT WORKS
Removing Converter
End simpapp.Client...

サンプルの実行中に問題が発生する場合は、WTC のトレース機能を使用します。「WebLogic Tuxedo Connector のモニタ」を参照してください。


ページの先頭       前  次