次の項では、Windows XPまたはWindows Server 2003システムのMicrosoft Visual C++統合開発環境(msdev
)でATMIアプリケーションのクライアント/サーバーを開発する方法について説明します。
Windows XPには、Oracle Tuxedo ATMIクライアント・コンポーネント(サーバー・コンポーネントは別)をインストールできるため、これらのプラットフォームでは、Microsoft Visual C++ IDEでATMIアプリケーション・クライアントのみを開発できます。これに対して、Windows Server 2003にはOracle Tuxedo ATMIクライアント・コンポーネントとサーバー・コンポーネントの両方をインストールできるため、Windows Server 2003プラットフォームでは、Microsoft Visual C++.Net IDEを使用して、ATMIアプリケーションのクライアントとサーバーの両方を開発できます。
Oracle Tuxedo ATMIは、Microsoft Visual C++.Net IDE(msdev
)に統合されますが、統合できない場合はmsdev
の機能がエミュレートされます。この統合により、16ビットおよび32ビットのWindowsオペレーティング・システムでOracle Tuxedo ATMIアプリケーションを簡単に開発できます。
Oracle Tuxedo ATMIのサービス・リクエストの作成、リクエストの送信、会話型接続の設定、および応答の受信に必要なコーディングは、基本的にUNIX環境とWindows Server 2003環境の両方で同じです。BuildTuxedo
およびTUXDEV
は、開発環境の支援ツールです。
Windows Server 2003では、buildclient()
コマンドとbuildserver()
コマンドの両方を使用できますが、Windows XPでは両方を使用することはできません。Windows XPでは、buildclient()
コマンドしか使用できず、Tuxedoアプリケーション・クライアントしか作成できません。buildコマンドの詳細は、『Oracle Tuxedoコマンド・リファレンス』のbuildclient(1)およびbuildserver(1)を参照してください。
buildclient()
コマンドとbuildserver()
コマンドのオプションは、次の表に示すように、統合開発環境と統合開発環境以外の環境で異なる働きをします。
統合開発環境でビルド環境を変更するには、次の手順に従います。
注意: | CCおよびCFLAGSは不要になりました。 |
ライブラリを指定して統合開発環境にパスを含めるには、次の手順に従います。
BuildTuxedo
をMSDEVの「Tools」メニューに追加するには、次の手順に従います。
msdev
)のグラフィカル・ユーザー・インタフェース(GUI)で、「Tools」「External Tools」を選択します。「External Tools」ウィンドウが表示されます。&BuildTuxedo
」と入力します。注意: | 文字キーをホット・キーとして有効にするには、該当の文字の前にアンパサンド(&)を追加します。 |
$(ProjectDir)
)を選択します。注意: | 項目を変更するには、その項目を強調表示してから上書きします。項目を移動するには、その項目を強調表示してから、「Menu Content」ボックスの上部にある上矢印または下矢印を選択します。 |
これで、BuildTuxedo
がMSDEVの「Tools」メニューに表示されます。
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」ダイアログ・ボックスにアクセスします。
ビルド・タイプ、ヘッダー・タイプおよびファイル名を指定するには、次の手順に従います。
注意: | Windows XP のユーザーが選択できるのは、ワークステーション・クライアントのみです。 |
「Initialization」オプションおよび「Cleanup」オプションでは、有効な関数名を指定して、デフォルトのinit/exit関数をオーバーライドできます。「Entry Point」オプションでは、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」タブを選択すると、「Services」ページが表示され、ここでは、関数名とサービス名を指定します。
「Services」ページでは、サービス・ディスパッチ表の管理に使用される2つのリストが表示されます。
注意: | リストを上または下にスクロールするには、矢印キーを使用します。 |
通常、サービスと、そのサービスを実行する関数は同じ名前で表します。たとえば、関数x
ではサービスx
を実行します。実行するサービスと異なる名前の関数もあります。たとえば、関数abc
ではサービスx
、y
およびz
を実行します。別のケースでは、実行時までサービス名がわからない場合もあります。
サーバーを構築する場合は、サービスに関連する関数を指定する必要があります。サービスに関連する関数には、サービス、適切なプロトタイプ、Cリンク、無効な戻り値、およびTPSVCINFO
ポインタ・パラメータを1つ指定する必要があります。サービス名をマッピングする関数を指定するには、この関数を「Function Name」リストに追加する必要があります。この情報は、サービス・ディスパッチ表に必要です。
注意: | buildserver(1)コマンドを使用している場合は、-s オプションを指定すると、この情報が提供されます。-s オプションの詳細は、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』または『COBOLを使用したOracle Tuxedoアプリケーションのプログラミング』を参照してください。 |
「Function Names」リストに名前を追加または編集するには、次の手順に従います。
注意: | 「Tuxedo Resource Manager」フィールドには、システムで利用可能なOracle Tuxedoのリソース・マネージャのリストが用意されており、%TUXDIR%\udataobj\RM ファイルで定義されています。ファイルが存在しない場合は、デフォルト(NONE)が表示されます。 |
次の手順は、プロジェクトでデバッグ構成を使用してサーバー・アプリケーションをビルドした場合にのみ使用してください。
まだ起動していないサーバーをデバッグするには、次の手順に従います。
tmboot -n -d 1 -s
servername
」と入力し、servername
を起動するためにtmboot(1)で使用されるコマンドライン・オプションを表示します。tmboot -M
コマンドを実行してBBLを起動します(必要に応じて、追加のアプリケーション・サーバーまたはマシンも起動します)。msdev
で、「Project」「Settings」を選択します。注意: | Oracle Tuxedoのライブラリにはデバッグ情報が組み込まれておらず、ソース・コードも提供されていないため、直接Oracle Tuxedoのコードにアクセスすることはできません。 |
tmshutdown
」と入力します。警告: | Oracle Tuxedoシステムがサーバーを再起動しようとする場合があるため、「Debug」「Stop」を選択する手順ではサーバーを停止しないでください。 |
注意: | 実行中のサーバーをデバッグするには、Windowsのコマンド・プロンプトで「msdev -p nnn 」と入力し、nnn をサーバーのプロセスID(10進数)で置き換えます。 |
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"
Tuxdev
アプリケーションをインストールするには、次の手順に従います。
msdev
)のグラフィカル・ユーザー・インタフェース(GUI)で、「Tools」「External Tools」を選択します。「External Tools」ウィンドウが表示されます。&Tuxdev
」と入力します。注意: | 文字キーをホット・キーとして有効にするには、該当の文字の前にアンパサンド(&)を追加します。 |
注意: | ツールのホット・キーを作成するには、ツール名の任意の文字の前にアンパサンド(&)を追加します。これで、その文字を入力するだけでツールを起動できます。 |
$(ProjectDir)
)を選択します。注意: | 項目を変更するには、その項目を強調表示してから上書きします。項目を移動するには、その項目を強調表示してから、「Menu Content」ボックスの上部にある上矢印または下矢印を選択します。 |
これで、Tuxdev
が「MSDEV Tools」メニューに表示されます。
この環境では、FML表エディタとVIEW表エディタを使用できます。どちらのエディタのユーザー・インタフェースでも、複数のビュー(ドキュメント)を同時に表示できるため、ワークブックと同じ感覚で操作できます。また、様々な種類の複数のファイルを同時に編集することもできます。これらのエディタは、どちらもMicrosoft Excelのスプレッドシートに似ています。
tuxdev
のフルパス(%TUXDIR%\bin
)を入力して、[Enter]を押します。 tuxdev
」と入力して[Enter]を押し、「Oracle Tuxedo Developer」ウィンドウを表示します。
|
|
前述の図に示すように、FML表エディタには、「Name」、「Number」「Type」、「Flag」、「Comment」の5つの列があります。行数の制限はありません。
表3-2は、FML表エディタの各列の説明です。
新しい(名前の付いていない)FML表を開くと、FML Table
x
という表名で空白グリッドが作成されます(x
は、MDIによって追跡され、新しい表が作成されるたびに1つずつ増える値です)。表の保存時に名前を指定できます。また、既存のテキスト・ファイルを開いて、編集することもできます。特に指定されていないかぎり、ファイルは、タブ区切り形式で、ファイルを開いたディレクトリ内に保存され、必要に応じて、ファイル名の最後に.fml
が追加されます。このファイルをコンパイルして、16ビットまたは32ビットのFMLヘッダー・ファイルを作成することもできます。
tuxdev
のフルパス(%TUXDIR%\bin
)を入力して、[Enter]を押します。tuxdev
」と入力して[Enter]を押し、「Oracle Tuxedo Developer」ウィンドウを表示します。
|
|
前述の図に示すように、FML表エディタには、「CName」、「FBName」、「Type」、「Count」、「Flag」、「Size」、「Null」の7つの列があります。行数の制限はありません。
「CName」列にはコメントを入力できますが、各コメントの先頭にはシャープ(#)を付ける必要があります。空白行はあってもかまいません。「CName」列のエントリの先頭にシャープ記号がなく、NULLでもない場合、この行はアクティブな表エントリとみなされます。
表3-4は、VIEW表エディタの各列の説明です。
注意: | VIEW情報の始めと終わりを示すため、次の情報を指定する必要があります。 |
注意: | VIEW table_name . |
注意: | この情報は、「CName」列の行に表示される必要があります。同じファイル内に複数のVIEWを入力することもできますが、各表のエントリがVIEW table_name とEND で囲まれていることが条件です。 |
新しい(名前の付いていない)VIEW表を開くと、Viewx
というVIEW名で空白グリッドが作成されます(x
は、MDIによって追跡され、新しいVIEWが作成されるたびに1つずつ増える値です)。VIEWファイルの保存時に名前を指定できます。既存のVIEWファイル(テキスト形式またはバイナリ形式)を編集することもできます。特に指定されていないかぎり、ファイルは、タブ区切り形式で、ファイルを開いたディレクトリ内に保存され、必要に応じて、ファイル名に.v
が追加されます。このファイルをコンパイルして、16ビットまたは32ビットのバイナリ形式のVIEW
とヘッダー・ファイルを生成することもできます。
基本的なフレームワークに組み込まれているMDIにより、複数のドキュメント・アーキテクチャが提供され、型に関係なくドキュメントやVIEWを同時に開くことができます。この設計の例には、msdev
、Excel
、Word
があります。Oracle Tuxedoでは、x
個のFML表とy
個のVIEW表ファイルを開いて、それらの1つをいつでも使用できます。各ドキュメントは、オープン状態のドキュメントごとにタブの付いたワークブックのようなものです。
表3-5は、FML表エディタの各列で検証される情報の説明です。
表3-6は、VIEW表エディタの各列で検証される情報の説明です。
Oracle Tuxedo ATMIの詳細は、次のドキュメントを参照してください。