WindowsでのOracle Tuxedo ATMIの使用

     前  次    新規ウィンドウで目次を開く  新規ウィンドウで索引を開く  PDFとして表示 - 新規ウィンドウ  Adobe Readerを取得 - 新規ウィンドウ
コンテンツはここから始まります

Visual C++.Net IDEによるOracle Tuxedo ATMIアプリケーションの開発

次の項では、Windowsデスクトップ・システムまたはWindows ServerシステムのMicrosoft Visual C++統合開発環境(msdev)でATMIアプリケーションのクライアント/サーバーを開発する方法について説明します。

 


開始する前に

Windowsデスクトップ・システムには、Oracle Tuxedo ATMIクライアント・コンポーネント(サーバー・コンポーネントは別)をインストールできるため、これらのプラットフォームでは、Microsoft Visual C++ IDEでATMIアプリケーション・クライアントのみを開発できます。これに対して、Windows ServerにはOracle Tuxedo ATMIクライアント・コンポーネントとサーバー・コンポーネントの両方をインストールできるため、Windows Serverプラットフォームでは、Microsoft Visual C++.Net IDEを使用して、ATMIアプリケーションのクライアントとサーバーの両方を開発できます。

 


開発ツールの使用

Oracle Tuxedo ATMIは、Microsoft Visual C++.Net IDE (msdev)に統合されますが、統合できない場合はmsdevの機能がエミュレートされます。この統合により、64ビットおよび32ビットのWindowsオペレーティング・システムでOracle Tuxedo ATMIアプリケーションを簡単に開発できます。

Oracle Tuxedo ATMIのサービス・リクエストの作成、リクエストの送信、会話型接続の設定、および応答の受信に必要なコーディングは、基本的にはUNIX環境およびWindows Server環境のどちらでも同じです。

BuildTuxedoは、msdevビルド環境と密接に統合されている1つの開発ツールで、開発者は、buildserverbuildclientおよびbuildcltコマンドのかわりにOracle Tuxedoアプリケーションの開発に使用できます。(もちろん、これらのコマンドを利用してもかまいません。)BuildTuxedoシステムは、現在サポートされているすべてのWindows環境でスムーズに作動します。

 


buildserverコマンドおよびbuildclientコマンドの使用

Windows Serverシステムではbuildclientおよびbuildserverコマンドの両方が使用できます。しかし、Windowsデスクトップ・システムではbuildclientコマンドのみが使用でき、これは、Windowsデスクトップ・システムではTuxedoアプリケーション・クライアントのみをビルドできることを意味します。buildコマンドの詳細は、『Oracle Tuxedoコマンド・リファレンス』のbuildclient (1)およびbuildserver (1)を参照してください。

buildclientコマンドとbuildserverコマンドのオプションは、次の表に示すように、統合開発環境と統合開発環境以外の環境で異なる働きをします。

表3-1 buildserverコマンドとbuildclientコマンドの使用
目的. .
統合開発環境以外の場合に使用するオプション
統合されている環境の場合
冗長モードの有効化
-v
デフォルトですべてのオプションがタブに表示されます。(-vオプションは必要ありません。サポートもされていません。)
出力ファイルの指定
-o (output_filename)
  1. msdevの「Build」メニューから「Settings」を選択します。
  2. 「Project Settings」ダイアログ・ボックスの「Link」タブを選択します。
  3. 編集コントロールを使用して、出力ファイルの名前を指定します。
最初にリンクするファイルの指定
-f
  1. msdevの「Build」メニューから「Settings」を選択します。
  2. 「Project Settings」ダイアログ・ボックスの「Link」タブを選択します。
  3. 編集コントロールを使用して、最初にリンクするファイルを指定します。
最後にリンクするファイルの指定
-l
  1. msdevメニューから「Project」を選択します。
  2. 「Project Settings」ダイアログ・ボックスの「Link」タブを選択します。
  3. 編集コントロールを使用して、最後にリンクするファイルを指定します。
リソース・マネージャの指定
-r
  1. BuildTuxedoのGUIにアクセスします。
  2. BuildTuxedoの「Test」ウィンドウにアクセスし、「Resources」タブを選択します。
  3. 「Tuxedo Resource Manager」フィールドに、リソース・マネージャの名前を入力します。
サーバーで使用可能なサービスの指定
-s
  1. BuildTuxedoのGUIにアクセスします。
  2. BuildTuxedoの「Test」ウィンドウにアクセスし、「Service」タブを選択します。
  3. 「Service Name」フィールドに、各サービスの名前を行ごとに入力します。
COBOLコンパイラの使用
-c
COBOLは利用できません。

統合開発環境でビルド環境を変更するには、次の手順に従います。

  1. msdevの「Project」メニューから「Settings」を選択します。
  2. 「C/C++」または「Link」タブを選択します。
注: CCおよびCFLAGSは不要になりました。

ライブラリを指定して統合開発環境にパスを含めるには、次の手順に従います。

  1. MSDEVの「Tools」メニューから、「Options」を選択して「Options」ダイアログ・ボックスを表示します。
  2. 「Options」ダイアログ・ボックスで、「Directories」タブを選択します。

 


MSDEVの「Tools」メニューにBuildTuxedoを追加する

BuildTuxedoをMSDEVの「Tools」メニューに追加するには、次の手順に従います。

  1. Microsoft Visual C++.Net IDE (msdev)のグラフィカル・ユーザー・インタフェース(GUI)で、「Tools」矢印記号「External Tools」を選択します。「External Tools」ウィンドウが表示されます。
  2. 「External Tools」ウィンドウで、「Add」をクリックして「Title」フィールドをクリアします。
  3. 図3-1 「External Tools」ウィンドウ


    「External Tools」ウィンドウ

  4. 「External Tools」ページの「Title」フィールドで、空のフィールドに「&BuildTuxedo」と入力します。
  5. 注: 文字キーをホット・キーとして有効にするには、該当の文字の前にアンパサンド(&)を追加します。
  6. 「External Tools」ページの「Command」フィールドで、次の操作のいずれかの方法でパス名を指定します。
    • BuildTuxedoのフルパス名(%TUXDIR%\bin\BuildTuxedo)を入力します。
    • 「Command」フィールドの右側にある省略記号ボタン「External Tools」ウィンドウをクリックして、ディレクトリを参照し、buildtuxedo.exeを選択して「Open」をクリックします。選択したパス名が「External Tools」ウィンドウに表示されます。
  7. 「External Tools」ページの「Initial directory」フィールドで、右矢印ボタンをクリックしてポップアップ・メニューを表示します。ポップアップ・メニューから、「Project Directory」($(ProjectDir))を選択します。
  8. 注: 項目を変更するには、その項目を強調表示してから上書きします。項目を移動するには、その項目を強調表示してから、「Menu Content」ボックスの上部にある上矢印または下矢印を選択します。
  9. 「Apply」をクリックして変更内容を保存し、「OK」をクリックして「External Tools」ウィンドウを閉じます。

これで、BuildTuxedoがMSDEVの「Tools」メニューに表示されます。

 


Oracle Tuxedo ATMIプロジェクト・ファイルを作成する

BuildTuxedoでは、Oracle Tuxedo ATMIアプリケーションごとに使用される個別のプロジェクト・ファイルをカレント・ディレクトリに保持します。BuildTuxedoが起動すると、カレント・ディレクトリ内にある有効なプロジェクト・ファイルが検索されます。見つかった場合は、ダイアログ・ボックス内の値がこのファイル内の値に設定され、ダイアログが表示されます。タイトル・バーには次の情報が表示されます。

BuildTuxedo project_name

BuildTuxedoプロジェクトはカレント・ディレクトリ内のmsdevプロジェクトに密接に関連付けられているため、BuildTuxedoでは、次の2つのファイルも検索されます。

BuildTuxedoでこれらのファイルが見つからない場合は、警告が表示されるか、起動できなくなります(あるいは両方)。ディレクトリに複数のBuildTuxedoプロジェクト・ファイル、複数のmsdevプロジェクト・ファイル、またはmakeファイルがある場合は、該当のターゲット名を含むメニュー項目が「System」メニューに追加されます。

現行のプロジェクト・ファイルを保存するには、「OK」または「Apply」を選択します。プロジェクト・ファイルまたはOracle Tuxedoで保持されるファイルに加えた変更内容を取り消すには、「Cancel」または[Esc]をクリックします。

 


環境の設定

IDEでOracle Tuxedo ATMIアプリケーションをビルドする前に、次の基本パラメータを環境に設定する必要があります。

この情報を指定するには、msdevのGUIで、「BuildTuxedo project_name」ダイアログ・ボックスにアクセスします。

ビルド・タイプ、ヘッダー・ファイル、およびファイル名を指定する

ビルド・タイプ、ヘッダー・タイプおよびファイル名を指定するには、次の手順に従います。

  1. 「project_name」ダイアログ・ボックスで、「Build」タブをクリックして「Build」ページを表示します。
  2. 図3-2 「Build」ページ


    「Build」ページ

  3. 「Build」ページの「Build Types」フィールドの下矢印をクリックし、次のいずれかを選択します。
    • Server
    • Native client or Workstation client(ネイティブ・クライアントまたはワークステーション・クライアント)
注: Windowsデスクトップのユーザーが選択できるのは、ワークステーション・クライアントのみです。

選択項目
選択後の操作
サーバー
「Initialization」、「Cleanup」および「Entry Point」フィールドに情報を入力します。ステップ3に進みます。
Native Client or Workstation Client(ネイティブ・クライアントまたはワークステーション・クライアント)
ステップ3に進みます。

「Initialization」オプションおよび「Cleanup」オプションでは、有効な関数名を指定して、デフォルトのinit/exit関数をオーバーライドできます。「Entry Point」オプションでは、BuildTuxedoで生成される関数の名前を指定できます。関数名を指定しておくと、アプリケーションのどこからでもこの関数を呼び出すことができます。

  1. 「Build」ページの「Header File」に、「stdafx.h」と入力します。
  2. 「Build」ページの「File Name」フィールドに、BuildTuxedoによって生成および管理されるCまたはC++ファイルの名前を入力します。

BuildTuxedoでヘッダー・ファイルを使用する

ヘッダー・ファイルでは、BuildTuxedoによって必要なPRAGMA文が追加され、現在のOracle Tuxedo ATMIプロジェクトが正しく作成されます。BuildTuxedoでは、「Build」ページの「Header File」フィールドに指定されたファイルが存在する場合に、このファイルを開き、ファイルがない場合は、新しいファイルを作成します。次の行で始まり、

//Begin Tuxedo Section*****DO NOT EDIT***** 

次の行で終了するセクションは、

//End Tuxedo Section

ヘッダー・ファイルでpragma文が書き込まれる部分を指定します。この部分は、BuildTuxedoによって管理されます。ファイル内のこのセクションがBuildTuxedoで見つからない場合は、ヘッダー・ファイルの最後に追加されます。これ以外のファイル内のテキストは変更されないため、ヘッダー・ファイルにはstdafx.hを指定できます。

注: 新しいプロジェクトを作成して「OK」または「Apply」を選択した場合は、MSDEVの「Insert」メニューの「Files into Project」を選択する必要があります。次に、BuildTuxedoで生成されたファイルを現在のプロジェクトに追加します。この操作は、新しいプロジェクトの場合、またはC/C++出力ファイルの名前を変更する場合にのみ実行します。

関数名とサービス名を指定する

「Services」タブを選択すると、「サービス」ページが表示され、ここでは、関数名とサービス名を指定します。

図3-3 「サービス」ページ

「サービス」ページ

「サービス」ページでは、サービス・ディスパッチ表の管理に使用される2つのリストが表示されます。

注: リストを上または下にスクロールするには、矢印キーを使用します。

通常、サービスと、そのサービスを実行する関数は同じ名前で表します。たとえば、関数xではサービスxを実行します。実行するサービスと異なる名前の関数もあります。たとえば、関数abcではサービスxyおよびzを実行します。別のケースでは、実行時までサービス名がわからない場合もあります。

サーバーを構築する場合は、サービスに関連する関数を指定する必要があります。サービスに関連する関数には、サービス、適切なプロトタイプ、Cリンク、無効な戻り値、およびTPSVCINFOポインタ・パラメータを1つ指定する必要があります。サービス名をマッピングする関数を指定するには、この関数を「Function Name」リストに追加する必要があります。この情報は、サービス・ディスパッチ表に必要です。

注: buildserver(1)コマンドを使用している場合は、-sオプションを指定すると、この情報が提供されます。-sオプションの詳細は、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』または『COBOLを使用したOracle Tuxedo ATMIアプリケーションのプログラミング』を参照してください。

「Function Names」リストに名前を追加または編集するには、次の手順に従います。

  1. 「Services」フォルダ内で、次の表のいずれかの操作を選択します。
  2. 目的
    アクション
    項目の追加
    1. 「New」アイコン(左上隅が点滅している破線ボックス)をクリックします。
    2. 「Insert」をクリックするか、リスト内の空白の部分(点線で囲まれたボックス)を選択します。
    3. 新しい関数の名前を入力します。
    既存の名前の変更
    名前を強調表示し、上書きします。
    名前の削除
    リスト内の名前を強調表示し、「X」アイコンまたは「Delete」をクリックします。

  3. 完了したら、「OK」をクリックするか[Enter]を押して、変更内容を保存して終了します。(変更を保存せずに終了するには、[Esc]または[Tab]を押します。)

リソース・マネージャを指定する

リソース・マネージャを指定するには、次の手順に従います。

  1. BuildTuxedo」ウィンドウの「Resources」タブを選択して、「Resources」ページを表示します。
  2. 図3-4 「Resources」ページ
  3. 「Resources」ページの「Tuxedo Resource Manager」フィールドに、アプリケーションのリソース・マネージャのフルパス名を入力します。
注: 「Tuxedo Resource Manager」フィールドには、システムで利用可能なOracle Tuxedoのリソース・マネージャのリストが用意されており、%TUXDIR%\udataobj\RMファイルで定義されています。ファイルが存在しない場合は、デフォルト(NONE)が表示されます。

 


Oracle Tuxedo ATMIサーバー・アプリケーションをデバッグする

次の手順は、プロジェクトでデバッグ構成を使用してATMIサーバー・アプリケーションをビルドした場合にのみ使用してください。

まだ起動していないサーバーをデバッグするには、次の手順に従います。

  1. Windowsのコマンド・プロンプトで、「tmboot -n -d 1 -s servername」と入力し、servernameを起動するためにtmboot(1)で使用されるコマンド行オプションを表示します。
  2. tmboot -Mコマンドを実行し、BBLを起動します。(必要であれば、さらにアプリケーション・サーバーまたはマシンを起動します。)
  3. msdevで、「Project」矢印記号「Settings」を選択します。
  4. 「Debug」ページの「Program Arguments」フィールドで、ステップ1で使用したコマンド行オプションを入力します。
  5. デバッガを起動し、サーバー・アプリケーションをデバッグします。
  6. 注: Oracle Tuxedoのライブラリにはデバッグ情報が組み込まれておらず、ソース・コードも提供されていないため、直接Oracle Tuxedoのコードにアクセスすることはできません。
  7. デバッグ・セッションを終了するには、Windowのコマンド・プロンプトで「tmshutdown」と入力します。
  8. 警告: Oracle Tuxedoシステムがサーバーを再起動しようとする場合があるため、「Debug」矢印記号「Stop」を選択する手順ではサーバーを停止しないでください。
注: 実行中のサーバーをデバッグするには、Windowsのコマンド・プロンプトで「msdev -p nnn」と入力し、nnnをサーバーのプロセスID (10進数)で置き換えます。

 


Visual C++.Net IDE GUIのかわりにコマンド行オプションを使用してATMIアプリケーションを開発する

Microsoft Visual C++ IDE GUIのかわりにコマンド行オプションを使用して、Oracle Tuxedo ATMIアプリケーションを開発する必要がある場合は、buildserver(1)コマンドおよびbuildclient(1)コマンドを使用します。この場合は、Oracle Tuxedo ATMIアプリケーションのビルドに必要なコンパイラとリンク・オプションを指定します。これらのツールの使用方法の詳細は、次のドキュメントを参照してください。

buildserverまたはbuildclientを使用してATMIアプリケーションのデバッグ・バージョンをビルドするには、/Ziおよび/Odオプションを指定して、すべてのソース・ファイルをコンパイルする必要があります。/Ziオプションでは、デバッグを有効にし、/Odオプションでは、最適化を無効にします。また、_DEBUGプロプロセッサ・ディレクティブの定義が必要になる場合もあります。このプロセスを完了するには、リンク・オプションを次のように指定します。

-l"/link/debug:full /debugtype:both"

 


関連項目

Oracle Tuxedo ATMIの詳細は、次のドキュメントを参照してください。


  先頭に戻る       前  次