目次 前 次 PDF


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

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-1 「External Tools」ウィンドウ
3.
「External Tools」ページの「Title」フィールドで、空のフィールドに「&BuildTuxedo」と入力します。
注意:
文字キーをホット・キーとして有効にするには、該当の文字の前にアンパサンド(&)を追加します。
4.
「External Tools」ページの「Command」フィールドで、次の操作のいずれかの方法でパス名を指定します。
BuildTuxedoのフルパス名(%TUXDIR%\bin\BuildTuxedo)を入力します。
「Command」フィールドの右側にある省略記号ボタンをクリックして、ディレクトリを参照し、buildtuxedo.exeを選択して「Open」をクリックします。選択したパス名が「External Tools」ウィンドウに表示されます。
5.
「External Tools」ページの「Initial directory」フィールドで、右矢印ボタンをクリックしてポップアップ・メニューを表示します。ポップアップ・メニューから、「Project Directory」($(ProjectDir))を選択します。
注意:
項目を変更するには、その項目を強調表示してから上書きします。項目を移動するには、その項目を強調表示してから、「Menu Content」ボックスの上部にある上矢印または下矢印を選択します。
6.
「Apply」をクリックして変更内容を保存し、「OK」をクリックして「External Tools」ウィンドウを閉じます。
これで、BuildTuxedoがMSDEVの「Tools」メニューに表示されます。
Oracle Tuxedo ATMIプロジェクト・ファイルを作成する
BuildTuxedoでは、Oracle Tuxedo ATMIアプリケーションごとに使用される個別のプロジェクト・ファイルをカレント・ディレクトリに保持します。BuildTuxedoが起動すると、カレント・ディレクトリ内にある有効なプロジェクト・ファイルが検索されます。見つかった場合は、ダイアログ・ボックス内の値がこのファイル内の値に設定され、ダイアログが表示されます。タイトル・バーには次の情報が表示されます。
BuildTuxedo project_name
BuildTuxedoプロジェクトはカレント・ディレクトリ内のmsdevプロジェクトに密接に関連付けられているため、BuildTuxedoでは、次の2つのファイルも検索されます。
msdevの有効なmakeファイル(filename.mak)
msdevプロジェクト・ファイル(filename.mdpfilename.dswまたはfilename.dsp)
BuildTuxedoでこれらのファイルが見つからない場合は、警告が表示されるか、起動できなくなります(あるいは両方)。ディレクトリに複数のBuildTuxedoプロジェクト・ファイル、複数のmsdevプロジェクト・ファイル、またはmakeファイルがある場合は、該当のターゲット名を含むメニュー項目が「System」メニューに追加されます。
現行のプロジェクト・ファイルを保存するには、「OK」または「Apply」を選択します。プロジェクト・ファイルまたはOracle Tuxedoで保持されるファイルに加えた変更内容を取り消すには、「Cancel」または[Esc]をクリックします。
環境の設定
IDEでOracle Tuxedo ATMIアプリケーションをビルドする前に、次の基本パラメータを環境に設定する必要があります。
ビルド・タイプ
ヘッダー・ファイル
BuildTuxedoで作成および管理されるCまたはC++ファイルのファイル名
関数名
サービス名
この情報を指定するには、msdevのGUIで、「BuildTuxedo project_name」ダイアログ・ボックスにアクセスします。
ビルド・タイプ、ヘッダー・ファイル、およびファイル名を指定する
ビルド・タイプ、ヘッダー・タイプおよびファイル名を指定するには、次の手順に従います。
1.
「project_name」ダイアログ・ボックスで、「Build」タブをクリックして「Build」ページを表示します。
図3-2 「Build」ページ
2.
「Build」ページの「Build Types」フィールドの下矢印をクリックし、次のいずれかを選択します。
サーバー
Native client or Workstation client(ネイティブ・クライアントまたはワークステーション・クライアント)
注意:
Windowsデスクトップのユーザーが選択できるのは、ワークステーション・クライアントのみです。
 
選択項目
選択後の操作
サーバー
「Initialization」、「Cleanup」および「Entry Point」フィールドに情報を入力します。ステップ3に進みます。
Native Client or Workstation Client(ネイティブ・クライアントまたはワークステーション・クライアント)
ステップ3に進みます。
「Initialization」オプションおよび「Cleanup」オプションでは、有効な関数名を指定して、デフォルトのinit/exit関数をオーバーライドできます。「Entry Point」オプションでは、BuildTuxedoで生成される関数の名前を指定できます。関数名を指定しておくと、アプリケーションのどこからでもこの関数を呼び出すことができます。
3.
「Build」ページの「Header File」に、「stdafx.h」と入力します。
4.
「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つのリストが表示されます。
「Function Names」は、サービスに関連付けることのできるユーザー管理の関数のリストです。
「Service Names」は、関連するサービスのユーザー管理のリストです。
注意:
リストを上または下にスクロールするには、矢印キーを使用します。
通常、サービスと、そのサービスを実行する関数は同じ名前で表します。たとえば、関数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」フォルダ内で、次の表のいずれかの操作を選択します。
 
目的
処置
項目の追加
1.
「New」アイコン(左上隅が点滅している破線ボックス)をクリックします。
2.
「Insert」をクリックするか、リスト内の空白の部分(点線で囲まれたボックス)を選択します。
3.
新しい関数の名前を入力します。
既存の名前の変更
名前を強調表示し、上書きします。
名前の削除
リスト内の名前を強調表示し、「X」アイコンまたは「Delete」をクリックします。
2.
完了したら、「OK」をクリックするか[Enter]を押して、変更内容を保存して終了します。(変更を保存せずに終了するには、[Esc]または[Tab]を押します。)
リソース・マネージャを指定する
リソース・マネージャを指定するには、次の手順に従います。
1.
BuildTuxedo」ウィンドウの「Resources」タブを選択して、「Resources」ページを表示します。
図3-4 「Resources」ページ
\
2.
「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.
デバッガを起動し、サーバー・アプリケーションをデバッグします。
注意:
Oracle Tuxedoのライブラリにはデバッグ情報が組み込まれておらず、ソース・コードも提供されていないため、直接Oracle Tuxedoのコードにアクセスすることはできません。
6.
デバッグ・セッションを終了するには、Windowのコマンド・プロンプトで「tmshutdown」と入力します。
警告:
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アプリケーションのビルドに必要なコンパイラとリンク・オプションを指定します。これらのツールの使用方法の詳細は、次のドキュメントを参照してください。
『Oracle Tuxedoコマンド・リファレンス』
Oracle Tuxedo ATMIアプリケーション開発のためのチュートリアル
使用する言語に応じて、次のマニュアルのいずれかを参照してください。
C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング
『COBOLを使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
buildserverまたはbuildclientを使用してATMIアプリケーションのデバッグ・バージョンをビルドするには、/Ziおよび/Odオプションを指定して、すべてのソース・ファイルをコンパイルする必要があります。/Ziオプションでは、デバッグを有効にし、/Odオプションでは、最適化を無効にします。また、_DEBUGプロプロセッサ・ディレクティブの定義が必要になる場合もあります。このプロセスを完了するには、リンク・オプションを次のように指定します。
-l"/link/debug:full /debugtype:both"
関連項目
Oracle Tuxedo ATMIの詳細は、次のドキュメントを参照してください。
C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング
『COBOLを使用したOracle Tuxedo ATMIアプリケーションのプログラミング』
FMLを使用したOracle Tuxedo ATMIアプリケーションのプログラミング
『Oracle Tuxedoコマンド・リファレンス』
『Oracle Tuxedo ATMI C言語関数リファレンス』
『Oracle Tuxedo ATMI COBOL関数リファレンス』
『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』
 

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved