ページの先頭行へ戻る
Interstage Business Application ServerV10.1.0 COBOLアプリケーション開発リファレンス
Interstage

第12章 CORBAアプリケーションの開発について

COBOLプラグインを組み込んだInterstage Studio 互換ワークベンチを使用してCORBAアプリケーションを作成できます。

このチュートリアルでは、Interstage Application Server を便宜的にInterstage と記述している箇所があります。また、Interstageのマニュアルの参照を指示している箇所では、特に指定がない限り以下を参照してください。

インストール、環境設定について

Interstage Application Server インストールガイド

Interstage Application Server 運用ガイド(基本編)

CORBA仕様全般、CORBA通信について

Interstage Application Server アプリケーション作成ガイド(CORBAサービス編)

Interstageの提供するコマンド、IDL書式、ワークユニット定義書式について

Interstage Application Server リファレンスマニュアル

メッセージについて

Interstage Application Server メッセージ集

CORBAアプリケーションとは

CORBA(Common Object Request Broker Architecture)とは、OMG(Object Management Group : オブジェクト指向技術の標準化と普及を目的として1989年に設立された非営利団体)によって規定されたオブジェクト指向技術の仕様で、異機種、異言語間での接続可能な分散アプリケーションを作成できます。

富士通では、Interstage Application ServerでCORBA準拠の分散通信基盤やサービスを提供しています。Interstage Studioにおいては、CORBAアプリケーションとは、Interstage Application Serverを利用して作成したアプリケーションを意味します。また、COBOLプラグインを組み込んだInterstage Studio 互換ワークベンチでは、CORBAサーバアプリケーションおよびCORBAクライアントアプリケーションの両方を作成できます。

CORBAアプリケーションの種類とサポート範囲

アプリケーションの種類

説明

サーバ

クライアント

静的インタフェース

IDLファイルから作成したスタブ、スケルトンファイルをアプリケーションに結合してプログラムを作成します。スタブ、スケルトンは、サーバ、クライアント間で使用されるデータをCORBA通信基盤のプロトコル(IIOP)から各言語タイプに変換する機能を持っています。

オブジェクト指向COBOL

COBOL

CORBA-Gateway

WindowsシステムのOLEアクセスにより、サーバアプリケーションの提供する関数を呼び出します。

-

×

動的インタフェース

スタブファイル等は必要なく、インタフェースリポジトリから情報を取り出し、サーバのメソッドを呼び出すパラメタをプログラム中で組み立てて、サーバアプリケーションの関数を呼び出します。

×

×

CORBAアプリケーション作成ための環境設定

CORBAアプリケーション開発に必要なプログラム
Interstage Application Serverの環境設定の確認

CORBAアプリケーションの開発では、IDLファイルをコンパイルしますが、その場合は必ずCORBAサーバにアクセスできる環境が設定されていなければなりません。
Interstage Application Serverサーバ機能と組み合わせて開発する場合には環境設定は必要ありませんが、クライアント機能と組み合わせて開発する場合には環境設定が必要です。
クライアント機能と組み合わせる場合には、Interstage Application Serverインストールフォルダ\odwin\etc\inithostファイルに、アクセスするサーバを指定する必要があります。
CORBAアプリケーションのビルド時にIDLコンパイラでエラーが発生する場合には、inithostの記述内容を確認してください。

Interstage StudioによるCORBAアプリケーション開発の概要

以下のような手法でCORBAアプリケーションを開発できます。

CORBAサーバアプリケーション開発

CORBAサーバプロジェクトを使用することで、必要なビルドオプションが設定されます。
CORBAサーバアプリケーション作成ウィザードで、CORBAサーバアプリケーションのひな型(IDLファイルおよびプログラムソース)を作成します。
ひな型作成後は、IDLファイルの編集、プログラムソースの編集は自由に行うことができますが、その場合は必ずIDLファイルとプログラムソースの内容の同期をとる必要があります。例えば、すでに定義済のメソッドの定義を変更した場合は、IDLファイル、プログラムソースの両方を修正する必要があります。

CORBAクライアントアプリケーション開発

COBOLプロジェクトを使用し、プロジェクトウィザードで[CORBAクライアントのビルド環境を設定]オプションを指定することで、必要なビルド環境を自動的に設定できます。
CORBAサーバにアクセスする処理については、テンプレートを利用して作成します。
CORBAスタブファイル生成ウィザードで、CORBAサーバアプリケーションのIDLファイルからスタブファイルを作成し、ビルドすることでクライアントアプリケーションを作成します。

Interstage Studioによる生成物

ウィザードで生成されるファイルおよびビルド時に生成されるターゲットファイルの一覧を以下の表に示します(IDLファイルから生成されるスタブおよびスケルトンファイルは含みません)。

CORBAサーバアプリケーション開発

プロジェクト名 = intf1、モジュール名 = module1 の場合(※プロジェクト名は自動的にインタフェース名として採用されます。)

説明

ファイル名

メインソース(COBOL)

intf1.cob

ビジネスメソッドソース(COBOL)

USintf1.cob

サーバアプリケーション登録ソース(COBOL)

USINITintf1.cob

IDLファイル

USintf1.idl

ターゲット

intf1.exe

USintf1.dll

IDLファイルは以下の形式で生成されます。

// モジュール宣言
module MDSample {

    // 定数宣言
    const unsigned long const1 = 1 ;

    // 型宣言
    typedef unsigned long type1 ;

    // 構造体宣言
    struct S1 {
        unsigned long item1;
        unsigned long item2;
    };

    // 例外宣言
    exception CDException{
        string CDExceptionMsg;
        long CDExceptionCode;
    };
    // ユーザインタフェース宣言
    interface SAMPLE {
        void OP1(in unsigned long param1)
            raises (CDException);
    };

};

その他の開発機能

COBOLプラグインを組み込んだInterstage Studio 互換ワークベンチでは、CORBAサーバアプリケーション生成ウィザードの他に以下の開発機能を提供します。

インタフェースリポジトリの登録

IDLコンパイラビルドツールのオプション[インタフェースリポジトリに登録する]をチェックしている場合、ビルド時に、プロジェクトに登録してあるIDLファイルをインタフェースリポジトリに登録します。
また、プロジェクトに登録してあるIDLファイルをエディタで開き、コンテキストメニューの[インタフェースリポジトリの登録]を選択した場合も、CORBAサーバのインタフェースリポジトリにIDLの内容を登録できます。登録した内容は、Interstage StudioのテンプレートのCORBAサーバオブジェクト一覧で参照できます。

サーバオブジェクト一覧機能

クライアントアプリケーション作成時、テンプレートのCORBAサーバオブジェクト一覧で、CORBAサーバのインタフェースリポジトリからモジュール宣言、インタフェース宣言、オペレータ宣言の内容を表示できます。また、オペレータ宣言を選択して、ソースにオペレータ(ビジネスメソッド)の呼び出し処理を挿入できます。

定型処理入力

クライアントアプリケーション作成時の定型処理をテンプレートからソースに挿入できます。テンプレートビューから定型処理を選択し、コンテキストメニューから[編集]を選択することで、定型処理をカスタマイズできます。

CORBAスタブファイル生成ウィザード

IDLファイルからスタブファイルを生成し、クライアントアプリケーションのプロジェクトにソースを登録できます。

CORBAクラス

CORBAクライアントアプリケーションを開発時に、CORBAの初期化処理やオブジェクトの検索処理を簡潔に記述するためにCDCORBAクラスを提供しています。

CORBAアプリケーションの実行

CORBAサーバアプリケーションはワークユニット上で実行します。以下に、CORBAサーバアプリケーションの動作確認の手順の概要を示します。

  1. 実行資産のコピー
    ビルドで生成された実行ファイルとダイナミックリンクライブラリを実行環境にコピーします。

  2. ワークユニット作成
    Interstage管理コンソールを使い、実行環境フォルダなどを指定してワークユニットを作成します。

  3. CORBAサーバアプリケーションの配備
    Interstage管理コンソールから、コピーした実行資産の配備を行います。

  4. ワークユニットの起動
    作成したワークユニットを、Interstage管理コンソールから起動します。

  5. クライアントアプリケーションの実行
    クライアントアプリケーションを実行し、CORBAサーバアプリケーションにアクセスします。

データベースアクセスする場合のCORBAサーバアプリケーション

データベースアクセスを行うCORBAサーバアプリケーションを作成する場合は、以下の2つの方法があります。

COBOLの提供するデータベースアクセス方法(ESQL/COBOLなど)の詳細は、NetCOBOLのソフトウェア説明書を参照してください。

プログラム作成の留意事項

CORBAサーバアプリケーションのターゲット生成規則について

CORBAサーバアプリケーションでは、ビルド時に、メインプログラム(.EXE)、ビジネスロジックのライブラリ(.DLL)のターゲットが作成されます。
依存ビューでメインプログラムとして設定しているCOBOLソースからメインプログラムは生成され、その他のCOBOLソースはすべてビジネスロジックのライブラリに結合されます。

UNICODEオブジェクトを作成する場合

Interstage Application ServerにはUNICODE対応用のリポジトリファイル、ライブラリファイルが提供されています。詳細は、NetCOBOLのマニュアル、Interstage Application Server アプリケーション作成ガイド(CORBAサービス編)を参照してください。
CORBAサーバプロジェクトウィザードで[Unicodeを使用する]を指定することにより、UNICODE対応用のファイルを使用してビルドを行うことができます。