サーバアプリケーションは、COBOL実行基盤インタフェースを含めないで、通常のCOBOLアプリケーションと同じように作成し、コンパイル、リンク、デバッグ、および修正の作業を繰り返します。そのあとで、COBOL実行基盤インタフェースを含めてコンパイル、およびリンクします。
ここでは、COBOL実行基盤インタフェースを含めないサーバアプリケーションのコンパイル、リンク、およびデバッグ方法について説明します。COBOL実行基盤インタフェースを含むサーバアプリケーションのコンパイルおよびリンクについては“H.4.7 COBOL実行基盤インタフェースを含むコンパイル・リンク”を参照してください。
■Solaris、Linuxの場合
サーバアプリケーションの開発は、Windows版のNetCOBOLの機能であるUNIX分散開発支援機能を利用します。
UNIX分散開発支援機能を利用した開発では、ソースファイルの作成からサーバアプリケーションのビルドまでをすべてWindows開発環境側で作業し、ビルドするとサーバアプリケーションがサーバ側に作成されます。
UNIX分散開発支援機能については“NetCOBOL UNIX分散開発の手引き”を参照してください。
サーバアプリケーションを作成するために、NetCOBOLのプロジェクト管理機能を使用してプロジェクトを作成します。作成したプロジェクトに対して、以下の作業を行います。
翻訳オプションの設定
最終ターゲットファイル名の追加
COBOLソースファイルフォルダの作成とCOBOLソースファイルの追加
登録集ファイルフォルダの作成と登録集ファイルの追加
分散開発固有の設定
プレコンパイラの設定(データベースアクセス管理機能を使用する場合)
サーバ環境へのプログラム資産の登録
ビルド制御文の生成
ビルド制御文の修正
サーバアプリケーションのビルド
サーバアプリケーションのデバッグ
「プロジェクトの作成」から「プレコンパイラの設定」までの詳細については、“NetCOBOL UNIX分散開発の手引き”の“Windowsクライアントでの開発作業”の“プロジェクトの作成”を参照してください。
「サーバ環境へのプログラム資産の登録」から「サーバアプリケーションのビルド」までの詳細については、“COBOL プロジェクトマネージャのヘルプ”の“分散開発によるSolarisまたはLinuxアプリケーションの作り方”のトピックを参照してください。
プロジェクトで管理するソースファイルを翻訳するときに有効になる翻訳オプションを指定します。スレッドモード版のサーバアプリケーションを作成する場合は翻訳オプションTHREAD(MULTI)が必要です。
アプリケーション連携実行基盤で動作するサーバアプリケーションでは以下の翻訳オプションを指定してはいけません。
NOALPHAL
BINARY(WORD,MLBOFF)
BINARY(BYTE)
ASCOMP5(ALL)
ASCOMP5(BINARY)
ASCOMP5(COMP)
そのほかの翻訳オプションについては、“NetCOBOL 使用手引書”の“翻訳オプション”を参照してください。
最終ターゲットファイルとして、ダイナミックリンクライブラリ名を登録します。ダイナミックリンクライブラリ名は、アプリケーション情報入力ファイルのlibraryタグに指定したライブラリ名からlibを除き、拡張子をDLLへ変更した名前を登録してください。登録した名前は後述するビルド制御文を生成する際に、先頭にlibが付加され拡張子がsoに変換されます。
(例:Foo.DLL → libFoo.so)
最終ターゲットファイルに対して、COBOLソースファイルフォルダを作成します。作成したフォルダに、COBOL実行基盤インタフェース生成ツールで生成されたCOBOL実行基盤インタフェースソースと、“H.4.1 COBOL登録集の作成・修正”および“H.4.2 COBOLサーバアプリケーションの作成・修正”で作成した各処理のソースファイルを登録します。
プロジェクトのCOBOLソースファイルに対して登録集ファイルフォルダを作成します。作成したフォルダに“H.4.1 COBOL登録集の作成・修正”で作成したCOBOL登録集を登録します。
サーバ連携情報を設定します。COBOLプロジェクトマネージャの[プロジェクト]-分散開発-サーバ連携情報メニューを選択すると、[サーバ連携情報]ダイアログボックスが表示されます。追加ボタンをクリックし、ホスト名・ホストのアドレス・ユーザ名・パスワードを入力してください。
また、ホストの文字コードを指定してください。テキストモードでファイルの送信・受信をする場合に、指定した文字コードにコード変換されます。
プロジェクトのプロパティから分散開発固有の設定を行います。COBOLプロジェクトマネージャの[ファイル]-プロパティメニューを選択すると、[プロパティ]ダイアログボックスが表示されます。分散開発タブでの[ターゲット]には、環境にあわせてSolarisまたはLinux(64ビット)を指定します。[ホスト名]はサーバ連携情報で設定したホスト名を選択します。また、[サーバディレクトリ]には資産を転送する際の起点となるサーバディレクトリをフルパスで指定してください。
データベースアクセス管理機能を使用するプログラムは、プロジェクトでプレコンパイラの設定を行います。プレコンパイラの設定ではプロジェクトに登録したCOBOLソースファイルが出力となるよう、埋め込みSQLが記述されたCOBOLソースファイルを入力として設定します。プレコンパイラのコマンドおよびコマンドパラメタは使用するデータベースシステムにあわせて設定してください。指定するコマンドおよびパラメタは、“第20章 データベースアクセス管理機能”を参照してください。
ポイント
プレコンパイラの設定は、COBOLプロジェクトマネージャから行うことができます。COBOLプロジェクトマネージャの[編集]-プリコンパイラメニューを選択すると、[プリコンパイラ設定]ダイアログボックスが表示されます。コマンドタブで、プレコンパイラコマンドおよびプレコンパイラのコマンドパラメタを指定してください。Symfowareのプレコンパイラを使用する場合の指定の例を以下に示します。なお、オプションは環境にあわせて調整が必要です。
プロジェクトに登録したCOBOLソースファイルとCOBOL登録集を、サーバに転送します。転送時にはサーバ側の文字コードにあわせて、COBOLソースファイルとCOBOL登録集の文字コード変換が行われます。詳細については“NetCOBOL UNIX分散開発の手引き”の“サーバ環境へのプログラム資産の登録”を参照してください。
プロジェクトに登録された資産から、サーバアプリケーションをビルドするためのビルド制御文(makefile)を生成します。詳細については、“NetCOBOL UNIX分散開発の手引き”の“ビルド制御文生成機能”を参照してください。
データベースアクセス管理機能を使用する場合は、プレコンパイラが使用するライブラリも追加する必要があります。リンクするライブラリについては、“第20章 データベースアクセス管理機能”を参照してください。
プレコンパイラのコマンドを設定している場合、コマンドが実行できるよう生成されたmakefileをテキストエディタで開き、プレコンパイラのコマンドパスを設定してください。
ポイント
サーバ連携情報で指定したユーザ名のログインシェルスクリプトに、あらかじめプレコンパイラの実行に必要な環境変数を設定しておくことで、この作業を省略することもできます。詳細については“NetCOBOL UNIX分散開発の手引き”の“UNIXサーバ側のユーザ環境の設定”を参照してください。
修正したビルド制御文(makefile)をサーバへ転送し、ターゲットビルド機能を利用してサーバアプリケーションをビルドします。
リモートデバッガを使用して、クライアントからサーバアプリケーションをリモートデバッグします。リモートデバッグの詳細については、“NetCOBOL UNIX分散開発の手引き”の“リモートデバッグ”を参照してください。
サーバのgdbを使用して、サーバアプリケーションをデバッグします。デバッグの詳細については、“NetCOBOL 使用手引書”の“デバッガの使い方”を参照してください。
なお、デバッグを行うためには、サーバアプリケーションを呼び出すためのドライバを作成する必要があります。
■Windowsの場合
サーバアプリケーションの開発には、Windows版のNetCOBOLを利用します。
ソースファイルの作成からサーバアプリケーションのビルドまでをWindows開発環境側で作業します。
NetCOBOLの使用方法については“NetCOBOL 使用手引書”を参照してください。
サーバアプリケーションを作成するために、NetCOBOLのプロジェクト管理機能を使用してプロジェクトを作成します。作成したプロジェクトに対して、以下の作業を行います。
翻訳オプションの設定
最終ターゲットファイル名の追加
COBOLソースファイルフォルダの作成とCOBOLソースファイルの追加
登録集ファイルフォルダの作成と登録集ファイルの追加
COBOL実行基盤インタフェースソースファイルの翻訳
オブジェクトファイルフォルダの作成とオブジェクトファイルの追加
プレコンパイラの設定(データベースアクセス管理機能を使用する場合)
リンクするライブラリの設定
サーバアプリケーションのビルド
サーバアプリケーションのデバッグ
プロジェクトで管理するソースファイルを翻訳するときに有効になる翻訳オプションを指定します。スレッドモード版のサーバアプリケーションを作成する場合は翻訳オプションTHREAD(MULTI)が必要です。
アプリケーション連携実行基盤で動作するサーバアプリケーションでは以下の翻訳オプションを指定してはいけません。
NOALPHAL
BINARY(WORD,MLBOFF)
BINARY(BYTE)
ASCOMP5(ALL)
ASCOMP5(BINARY)
ASCOMP5(COMP)
そのほかの翻訳オプションについては、“NetCOBOL 使用手引書”の“翻訳オプション”を参照してください。
最終ターゲットファイルとして、ダイナミックリンクライブラリ名を登録します。ダイナミックリンクライブラリ名は、アプリケーション情報入力ファイルのlibraryタグに指定したライブラリ名を登録してください。
最終ターゲットファイルに対して、COBOLソースファイルフォルダを作成します。作成したフォルダに、COBOL実行基盤インタフェース生成ツールで生成されたCOBOL実行基盤インタフェースソースと、“14.4.2 COBOL登録集の作成・修正”および“H.4.2 COBOLサーバアプリケーションの作成・修正”で作成した各処理のソースファイルを登録します。
プロジェクトのCOBOLソースファイルに対して登録集ファイルフォルダを作成します。作成したフォルダに“H.4.1 COBOL登録集の作成・修正”で作成したCOBOL登録集を登録します。
COBOL実行基盤インタフェースソースファイルを翻訳し、オブジェクトファイルを生成します。翻訳の手順の詳細については、“NetCOBOL 使用手引書”の“プログラムの翻訳”を参照してください。
最終ターゲットファイルに対してオブジェクトファイルフォルダを作成します。作成したオブジェクトファイルフォルダに、COBOL実行基盤インタフェースソースを翻訳して生成されたオブジェクトファイルを追加します。
データベースアクセス管理機能を使用するプログラムは、プロジェクトでプレコンパイラの設定を行います。プレコンパイラの設定ではプロジェクトに登録したCOBOLソースファイルが出力となるよう、埋め込みSQLが記述されたCOBOLソースファイルを入力として設定します。プレコンパイラのコマンドおよびコマンドパラメタは使用するデータベースシステムにあわせて設定してください。指定するコマンドおよびパラメタは、“第20章 データベースアクセス管理機能”を参照してください。
ポイント
プレコンパイラの設定は、COBOLプロジェクトマネージャから行うことができます。COBOLプロジェクトマネージャの[編集]-プリコンパイラメニューを選択すると、[プリコンパイラ設定]ダイアログボックスが表示されます。コマンドタブで、プレコンパイラコマンドおよびプレコンパイラのコマンドパラメタを指定してください。Symfowareのプレコンパイラを使用する場合の指定の例を以下に示します。なお、オプションは環境にあわせて調整が必要です。
データベースアクセス管理機能を使用する場合は、プレコンパイラが使用するライブラリも追加する必要があります。リンクするライブラリについては、“第20章 データベースアクセス管理機能”を参照してください。
NetCOBOLのビルド機能を利用してサーバアプリケーションをビルドします。
ビルドの詳細については、“NetCOBOL 使用手引書”の“プロジェクトのビルド・リビルド”を参照してください。
NetCOBOLのデバッグ機能を使用してサーバアプリケーションをデバッグします。
デバッグの詳細については、“NetCOBOL 使用手引書”の“プログラムのデバッグ”を参照してください。