|
以下の節では、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 Visual C++.Net IDE で ATMI アプリケーション クライアントとアプリケーション サーバの両方を開発できます。
Oracle Tuxedo ATMI は、Microsoft Visual Visual C++.Net IDE (msdev) に統合されますが、統合できない場合は、msdev の機能がエミュレートされます。このような統合により、16 ビットまたは 32 ビットの Windows オペレーティング システムで動作する Oracle Tuxedo ATMI アプリケーションを簡単に開発できます。
Oracle Tuxedo ATMI のサービス要求の作成や送信、会話型接続の確立、および応答の受信を実現するためのコーディングは、基本的に UNIX 環境と Windows Server 2003 環境で同じです。開発支援ツールとして、BuildTuxedo と TUXDEV が用意されています。
BuildTuxedo は単一のツールであり、msdev 環境に密接に統合されているため、buildserver コマンド、buildclient コマンド、および buildclt コマンドの代わりに使用できます (もちろん、これらのコマンドも使用できます)。BuildTuxedo のシステムは、現在サポートされているすべての Windows 環境で同じように使用できます。TUXDEV を使用すると、複数の 16/32 ビットの FML テーブルおよび VIEW ファイルを作成、編集、およびコンパイルできます。TUXDEV には、MDI (Multiple Document Interface) のアーキテクチャが組み込まれているため、ファイル型が異なるビューを表示することもできます。
buildclient() コマンドと buildserver() コマンドは両方とも Windows Server 2003 で利用できますが、Windows XP では両方は利用できません。Windows XP では、buildclient() コマンドのみ利用できます。つまり、Windows XP システムで作成できるのは Tuxedo アプリケーション クライアントのみです。build コマンドの詳細については、『Tuxedo コマンド リファレンス』の「buildclient(1)」および「buildserver(1)」を参照してください。
buildclient() コマンドと buildserver() コマンドのオプションは、次の表で示されているように統合開発環境とそれ以外の環境では異なる働きをします。
統合開発環境でビルド環境を変更するには、次の手順に従います。
| 注意 : | CC および CFLAGS は不要になりました。 |
ライブラリを指定し、統合開発環境のパスを指定するには、次の手順に従います。
MSDEV の [Tools] メニューに BuildTuxedo を追加するには、次の手順に従います。
msdev) の GUI 画面で [Tools|External Tools] を選択します。[External Tools] ウィンドウが表示されます。&BuildTuxedo」と入力します。| 注意 : | 文字キーをホット キーとして使用するには、その文字の前にアンパサンド (&) を追加します。 |
$(ProjectDir)) を選択します。| 注意 : | 項目を変更する場合は、対象の項目を強調表示してから上書きします。項目を移動する場合は、対象の項目を強調表示してから [Menu contents] ボックスの上部にある上矢印ボタンまたは下矢印ボタンをクリックします。 |
これで、BuildTuxedo が MSDEV の [Tools] メニューに表示されます。
BuildTuxedo は、Oracle Tuxedo ATMI アプリケーションごとに作成される個別のプロジェクト ファイルを、カレント ディレクトリ内に保持します。BuildTuxedo が起動すると、カレント ディレクトリ内にある有効なプロジェクト ファイルが検索されます。有効なプロジェクト ファイルが見つかると、ダイアログ ボックス内の値がこのファイル内の値に設定され、ダイアログ ボックスが表示されます。タイトル バーには次のように表示されます。
BuildTuxedoproject_name
BuildTuxedo プロジェクトは、カレント ディレクトリ内の msdev プロジェクトと密接に関連するため、BuildTuxedo は、次の 2 つのファイルも検索します。
BuildTuxedo が上記のどちらかのファイルを検索できない場合は、警告メッセージが表示され、起動は失敗します。ディレクトリに複数の BuildTuxedo プロジェクト ファイル、msdev プロジェクト ファイル、または make ファイルがある場合は、適切なファイル名があるメニュー項目が [System] メニューに追加されます。
作業中のプロジェクト ファイルを保存するには、[OK] または [Apply] を選択します。プロジェクト ファイルまたは Oracle Tuxedo システムが保持するその他のファイルに対する変更内容をキャンセルするには、[Cancel] をクリックするか、または Esc キーを押します。
統合開発環境で Oracle Tuxedo ATMI アプリケーションをビルドするには、使用する環境内で次の基本的なパラメータを設定しておく必要があります。
これらの情報を設定するには、msdev の GUI 画面で、[BuildTuxedo project_name] ダイアログ ボックスを表示します。
ビルド タイプ、ヘッダ ファイル、およびファイル名を指定するには、次の手順に従います。
| 注意 : | Windows XP のユーザが選択できるのは、ワークステーション クライアントのみです。 |
[Initialization] フィールドおよび [Cleanup] フィールドに指定された有効な関数名は、デフォルトの init/exit 関数をオーバーライドします。[Entry Point] フィールドには、BuildTuxedo が生成する関数の名前を指定できます。関数名を指定しておくと、後でアプリケーションのどこからでもこの関数を呼び出せます。
BuildTuxedo は、現在の Oracle Tuxedo ATMI プロジェクトを正しく作成するために必要な pragma 文をヘッダ ファイルに追加します。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] ページでは、関数名とサービス名を指定します。
![[Services] ページ](wwimages/chap6a6.gif)
[Services] ページでは、サービス ディスパッチ テーブルの管理に使用される 2 つの一覧が表示されます。
| 注意 : | 表を上または下にスクロール表示したいときは、矢印キーを使用します。 |
通常、サービスと、そのサービスを実行する関数には同じ名前を付けます。たとえば、関数 x はサービス x を実行します。ただし、実行するサービスとは異なる名前が付いた関数もあります。たとえば、関数 abc が、x、y、および z の 3 つのサービスを実行する場合があります。別のケースでは、実行時までサービス名が分からないことがあります。
サーバを構築するときは、サービスに関連する関数を指定する必要があります。サービスに関連する関数には、サービス、プロトタイプ、C リンク、無効な戻り値、および TPSVCINFO ポインタ パラメータを 1 つ指定する必要があります。サービス名をマッピングする関数を指定するには、この関数を [Function Name] 一覧に追加しておく必要があります。この情報は、サービス ディスパッチ テーブルに必要です。
| 注意 : | buildserver(1) コマンドを使用する場合は、-s オプションを指定すると、この情報が提供されます。-s オプションの詳細については、『C 言語を使用した Oracle Tuxedo アプリケーションのプログラミング』または『COBOL を使用した Oracle Tuxedo アプリケーションのプログラミング』を参照してください。 |
[Function Names] に名前を追加または編集するには、次の手順に従います。
| 注意 : | [Tuxedo Resource Manager] フィールドには、システムで利用可能な Oracle Tuxedo のリソース マネージャの一覧が用意されています。これらのリソース マネージャは、%TUXDIR%\udataobj\RM ファイルで定義されています。定義済みのファイルがない場合は、デフォルトの「NONE」が表示されます。 |
次の手順は、プロジェクトでデバッグ コンフィグレーションを使用してサーバ アプリケーションをビルドした場合にのみ適用できます。
まだ起動していないサーバをデバッグするには、次の手順に従います。
tmboot -n -d 1 -s servername」と入力し、tmboot(1) が servername で指定したサーバを起動するために使用するコマンドライン オプションを表示します。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 contents] ボックスの上部にある上矢印ボタンまたは下矢印ボタンをクリックします。 |
これで、Tuxdev が MSDEV の [Tools] メニューに表示されます。
この環境では、FML テーブル エディタと VIEW テーブル エディタを使用できます。どちらのインタフェースでも、複数のドキュメントやビューを同時に表示できるため、ワークブックと同じ感覚で操作できます。また、さまざまな種類のファイルを同時に編集することもできます。これらのエディタは、Microsoft Excel のスプレッドシートに似ています。
FML テーブル エディタを起動するには、次の手順に従います。
tuxdev のパス名全体 (%TUXDIR%\bin) を入力し、Enter キーを押します。 tuxdev」と入力して Enter キーを押し、[Oracle Tuxedo Developer] ウィンドウを表示します。
|
|
前の図に示すように、FML テーブル エディタには、[Name]、[Number]、[Type]、[Flag]、[Comment]、の 5 つの列があります。行数の制限はありません。
新しい (名前の付いていない) FML テーブルを開くと、FML Tablex というテーブル名で空白行が作成されます。x は、MDI によって割り当てられ、新しいテーブルが作成されるたびに 1 つずつ増えます。テーブルを保存するときは名前を指定することができます。また、既存のテキスト ファイルを開いて、編集することもできます。特に指定されていない限り、ファイルは、タブ区切り形式で、ファイルを開いたディレクトリ内に保存されます。保存時には、必要に応じて、ファイル名の最後に拡張子 .fml が追加されます。このファイルをコンパイルして、16 ビットまたは 32 ビットの FML ヘッダ ファイルを作成することもできます。
VIEW テーブル エディタを起動するには、次の手順に従います。
tuxdev のパス名全体 (%TUXDIR%\bin) を入力し、Enter キーを押します。tuxdev」と入力して Enter キーを押し、[Oracle Tuxedo Developer] ウィンドウを表示します。
|
|
図が示すように、VIEW テーブル エディタには、[CName]、[FBName]、[Type]、[Count]、[Flag]、[Size]、[Null] の 7 つの列があります。行数の制限はありません。
[CName] 列にはコメントを入力できます。ただし、コメントの先頭にはシャープ (#) を付ける必要があります。空白行はあってもかまいません。[CName] 列のエントリの先頭に # がなく、ヌルでもない場合、この行はアクティブなテーブル エントリと見なされます。
| 注意 : | 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 つを使用することができます。各ドキュメントは、オープン状態のドキュメントごとにタブが付いたワークブックのようなものです。
次の表は、FML テーブル エディタの各列で検証される情報の説明です。
次の表は、VIEW テーブル エディタの各列で検証される情報の説明です。
Oracle Tuxedo ATMI については、以下のマニュアルを参照してください。
|