B1WN-7101-03Z2(00)
オンラインマニュアルをお使いになる前に まえがき 第1章 CORBAアプリケーションの基礎知識 1.1 CORBAアプリケーションの基本モデル 1.1.1 2階層モデル 1.1.2 3階層モデル 1.2 CORBAサービスの運用形態 1.2.1 クライアントの運用形態 1.2.2 サーバの運用形態 1.3 CORBAアプリケーションの設計 1.3.1 アプリケーションの開発言語 1.3.2 サーバアプリケーションの起動タイプ 1.3.3 多重制御 1.3.4 インスタンス管理システム 1.3.5 クライアントアプリケーションのインタフェース 1.3.6 サーバアプリケーションのインタフェース 1.4 CORBAアプリケーションの開発手順 1.5 CORBAアプリケーションの運用手順 第2章 CORBAアプリケーション開発時の留意事項 2.1 コーディング 2.1.1 データ領域の獲得/解放処理( C, C++, COBOL ) 2.1.2 シグナル処理( C, C++, Java, COBOL ) 2.1.3 子プロセス/スレッドの生成終了処理( C, C++ ) 2.1.4 ORBの初期化処理( C, C++, COBOL ) 2.1.5 サーバアプリケーションの例外処理( C, C++, COBOL ) 2.1.6 サーバ・クライアント機能の同時実装 2.1.7 oneway機能 2.1.8 その他 2.2 コンパイル・リンク 2.2.1 スレッドモードとプロセスモード 2.2.2 CORBAサーバアプリケーション作成時の共通留意事項 2.2.3 Windows(R)アプリケーションに関する注意事項 2.2.4 Linuxアプリケーションに関する注意事項 2.2.5 サーバアプリケーションのコンパイル・リンク例 (Solaris) 第3章 CORBAワークユニット 3.1 CORBAアプリケーションのワークユニットによる運用 3.1.1 CORBAワークユニット 3.1.2 CORBAワークユニットの運用 3.2 旧バージョンのアプリケーションからの移行方法 3.2.1 トランザクションアプリケーションからCORBAアプリケーションへ移行 第4章 アプリケーションの開発(C言語) 4.1 クライアントアプリケーションのプログラミング(静的起動インタフェース) 4.1.1 初期化 4.1.2 ネーミングサービスのオブジェクトリファレンスの獲得 4.1.3 サーバアプリケーションのオブジェクトリファレンスの獲得 4.1.4 メソッドの呼出し 4.2 クライアントアプリケーションのプログラミング(動的起動インタフェース) 4.2.1 初期化 4.2.2 ネーミングサービスのオブジェクトリファレンスの獲得 4.2.3 インタフェースリポジトリからサーバアプリケーション情報の獲得 4.2.4 パラメタの組立て 4.2.5 リクエストの作成 4.2.6 リクエストの送信 4.2.7 リクエストの削除 4.3 クライアントアプリケーションの例外処理 4.4 サーバアプリケーションのプログラミング(静的スケルトンインタフェース) 4.4.1 初期化 4.4.2 サーバの活性化 4.4.3 インタフェース実装関数 4.4.4 サーバの非活性化 4.5 サーバアプリケーションの例外処理 4.6 サーバアプリケーションの登録 4.6.1 インプリメンテーションリポジトリへの登録 4.6.2 ネーミングサービスへの登録 4.7 データ型に対するマッピング 4.7.1 基本データ型 4.7.2 文字列型 4.7.3 ワイド文字列型 4.7.4 any型 4.7.5 シーケンス型 4.7.6 構造体 4.7.7 共用体 4.7.8 配列 4.7.9 属性宣言(attribute)のマッピング 4.7.10 動的インタフェースでのパラメタの獲得/解放 4.7.11 パラメタ受渡しで使用するデータ型 4.8 any型、sequence型のリリースフラグ 4.9 アプリケーション作成時の注意事項 第5章 アプリケーションの開発(C++言語) 5.1 クライアントアプリケーションのプログラミング 5.1.1 静的起動インタフェース 5.1.2 動的起動インタフェース 5.1.3 クライアントアプリケーションの例外処理 5.2 サーバアプリケーションのプログラミング(Basic Object Adapter:BOA) 5.2.1 静的スケルトンインタフェース 5.2.2 サーバアプリケーションの例外処理 5.3 サーバアプリケーションのプログラミング(Portable Object Adapter:POA) 5.3.1 インスタンス管理とアプリケーション形態 5.3.2 POA概要 5.3.3 サーバアプリケーションと環境設定との関連付け 5.3.4 静的スケルトンインタフェース 5.3.5 サーバアプリケーションの実装アプローチ 5.3.6 クライアントとのコネクション切断時のインスタンス解放 5.3.7 サーバアプリケーションのプログラミング例 5.4 サーバアプリケーションの登録 5.4.1 インプリメンテーションリポジトリへの登録 5.4.2 ネーミングサービスへの登録 5.5 データ型に対するマッピング 5.5.1 基本データ型 5.5.2 文字列型 5.5.3 ワイド文字列型 5.5.4 any型 5.5.5 シーケンス型 5.5.6 構造体 5.5.7 共用体 5.5.8 配列 5.5.9 インタフェース宣言(interface)のマッピング 5.5.10 属性宣言(attribute)のマッピング 5.5.11 動的インタフェースでのパラメタの獲得/解放 5.5.12 パラメタ受渡しで使用するデータ型 5.5.13 any型、sequence型のリリースフラグ 5.6 varクラス 5.6.1 String_varクラス 5.6.2 WString_varクラス 5.6.3 Any_varクラス 5.6.4 ユーザ定義varクラス 5.7 アプリケーション作成時の注意事項 第6章 アプリケーションの開発(Java言語) 6.1 Javaアプレットの開発 6.1.1 開発手順(プレインストール型Javaライブラリ) 6.1.2 開発手順(Portable-ORB) 6.2 CORBAアプリケーションの実行 6.2.1 クライアント環境の設定(プレインストール型Javaライブラリ) 6.2.2 クライアント環境の設定(Portable-ORB) 6.2.3 クライアント環境でのアプレット運用時の注意事項 6.2.4 サーバ環境の設定 6.2.5 ORB(Object Request Broker)の指定 6.2.6 Portable-ORB動作環境ファイルの指定 6.2.7 その他の注意事項 6.3 アプレットのデジタル署名 6.3.1 デジタル署名の概要 6.3.2 ダウンロードオブジェクトと署名対象オブジェクト 6.3.3 デジタル署名手順 6.4 クライアントアプリケーションのプログラミング(静的起動インタフェース) 6.4.1 初期化 6.4.2 ネーミングサービスのオブジェクトリファレンスの獲得 6.4.3 サーバアプリケーションのオブジェクトリファレンスの獲得 6.4.4 メソッドの呼び出し 6.5 クライアントアプリケーションのプログラミング(動的起動インタフェース) 6.5.1 初期化 6.5.2 ネーミングサービスのオブジェクトリファレンスの獲得 6.5.3 サーバアプリケーションのオブジェクトリファレンスの獲得 6.5.4 インタフェースリポジトリからサーバアプリケーション情報の獲得 6.5.5 パラメタの組立て 6.5.6 リクエストの作成 6.5.7 リクエストの送信 6.6 クライアントアプリケーションの例外処理 6.7 サーバアプリケーションの開発手順と環境設定 6.7.1 IDLファイルの作成とコンパイル 6.7.2 サーバアプリケーションの作成 6.7.3 Javaファイルのコンパイル 6.7.4 起動用ファイルの作成 6.7.5 インプリメンテーションリポジトリの登録 6.8 簡単なサーバアプリケーションの作成例 6.8.1 作業の流れ 6.8.2 IDLファイルの作成とコンパイル 6.8.3 サーバアプリケーションのソースファイル作成 6.8.4 クライアントアプリケーションのソースファイル作成 6.8.5 Javaファイルのコンパイル 6.8.6 defファイルの作成と登録 6.8.7 起動用ファイルの作成 6.8.8 アプリケーションの実行 6.8.9 アプリケーションの実行結果 6.8.10 サーバアプリケーション情報の削除 6.9 インスタンス管理とアプリケーション形態 6.9.1 アプリケーション形態の種別 6.9.2 各アプリケーション形態 6.9.3 アプリケーション形態の比較 6.10 サーバアプリケーションのプログラミング(POA概要) 6.10.1 POAとは 6.10.2 POAのアーキテクチャ 6.10.3 POAオブジェクト 6.10.4 オブジェクトリファレンスの生成 6.10.5 オブジェクトリファレンス、オブジェクトID、Servantオブジェクトの関連 6.10.6 オブジェクトの活性化 6.10.7 リクエスト処理 6.10.8 暗黙的活性化(Implicit Activation) 6.10.9 POAManagerオブジェクト 6.10.10 ServantManagerオブジェクト 6.10.11 AdapterActivatorオブジェクト 6.11 サーバアプリケーションと環境設定との関連付け 6.11.1 インプリメンテーション情報との関連付け 6.11.2 オブジェクトリファレンスの生成方法 6.11.3 POA使用方法例 6.12 サーバアプリケーションのプログラミング (静的スケルトンインタフェース) 6.12.1 初期化 6.12.2 RootPOAのオブジェクトリファレンスの獲得 6.12.3 子孫POAの作成 6.12.4 インタフェースの実装 6.12.5 AOMへの登録(活性化) 6.12.6 ネーミングサービスへの登録 6.12.7 オブジェクトリファレンスの事前生成/登録 6.12.8 POAManagerの活性化と終了待機 6.13 サーバアプリケーションの例外処理 6.14 サーバアプリケーションの実装アプローチ 6.14.1 継承方式と代理方式 6.14.2 継承方式のServant実装 6.14.3 代理方式のServant実装 6.14.4 継承方式と代理方式の比較 6.15 クライアントとのコネクション切断時のインスタンス解放 6.15.1 インスタンス解放処理を行うクラスの作成 6.15.2 インスタンス解放処理の実装 6.15.3 インスタンス解放処理を行うクラスインスタンスの登録 6.15.4 インスタンス解放処理を行うクラスインスタンスの変更・削除 6.16 サーバアプリケーションのプログラミング例 6.16.1 Default Servant使用例(デフォルトインスタンス方式) 6.16.2 Active Object Map(AOM)使用例 (Factory-1方式) 6.16.3 Servant Activator使用例 (Factory-2方式) 6.16.4 Servant Locator使用例 (ユーザインスタンス管理方式) 6.16.5 AdapterActivator使用例 (find_POA時) 6.16.6 AdapterActivator使用例 (リクエスト受信時) 6.16.7 代理方式の実装例(デフォルトインスタンス方式の例) 6.16.8 Active Object Map(AOM)使用例(Factory-1方式+インスタンス解放) 6.17 データ型に対するマッピング 6.17.1 基本データ型 6.17.2 文字列型 6.17.3 ワイド文字列型 6.17.4 列挙型 6.17.5 any型 6.17.6 シーケンス型 6.17.7 構造体 6.17.8 共用体 6.17.9 配列 6.17.10 属性宣言(attribute)のマッピング 6.17.11 定数宣言(const)のマッピング 6.17.12 パラメタ受渡しで使用するデータ型 6.18 アプリケーション作成時の注意事項 第7章 アプリケーションの開発(COBOL) 7.1 クライアントアプリケーションのプログラミング(静的起動インタフェース) 7.1.1 初期化 7.1.2 ネーミングサービスのオブジェクトリファレンスの獲得 7.1.3 サーバアプリケーションのオブジェクトリファレンスの獲得 7.1.4 メソッドの呼び出し 7.2 クライアントアプリケーションのプログラミング(動的起動インタフェース) 7.2.1 初期化 7.2.2 ネーミングサービスのオブジェクトリファレンスの獲得 7.2.3 インタフェースリポジトリからサーバアプリケーション情報の獲得 7.2.4 パラメタの組み立て 7.2.5 リクエストの作成 7.2.6 リクエストの送信 7.2.7 リクエストの削除 7.3 クライアントアプリケーションの例外処理 7.4 サーバアプリケーションのプログラミング(静的スケルトンインタフェース) 7.4.1 初期化 7.4.2 サーバの活性化 7.4.3 インタフェース実装関数 7.4.4 サーバの非活性化 7.5 サーバアプリケーションの例外処理 7.6 サーバアプリケーションの登録 7.6.1 インプリメンテーションリポジトリへの登録 7.6.2 ネーミングサービスへの登録 7.7 アプリケーションのテスト 7.7.1 サーバアプリケーションのテスト方法 7.7.2 クライアントアプリケーションのテスト方法 7.8 データ型に対するマッピング 7.8.1 文字列型 7.8.2 ワイド文字列型 7.8.3 any型 7.8.4 シーケンス型 7.8.5 構造体 7.8.6 共用体 7.8.7 固定小数点型 7.8.8 配列 7.8.9 属性宣言(attribute)のマッピング 7.8.10 パラメタ受渡しで使用するデータ型 7.9 any型、sequence型のリリースフラグ 7.10 COBOLアプリケーション使用時の注意事項 7.11 COBOL用登録集について 7.11.1 使用例 7.11.2 登録集原文 第8章 アプリケーションの開発(OOCOBOL) 8.1 クライアントアプリケーションのプログラミング(静的起動インタフェース) 8.1.1 初期化 8.1.2 ネーミングサービスのオブジェクトリファレンスの獲得 8.1.3 サーバアプリケーションのオブジェクトリファレンスの獲得 8.1.4 メソッドの呼び出し 8.2 クライアントアプリケーションのプログラミング(動的起動インタフェース) 8.2.1 初期化 8.2.2 ネーミングサービスのオブジェクトリファレンスの獲得 8.2.3 サーバアプリケーションのオブジェクトリファレンスの獲得 8.2.4 インタフェースリポジトリからサーバアプリケーション情報の獲得 8.2.5 パラメタの組立て 8.2.6 リクエストの作成 8.2.7 リクエストの送信 8.3 クライアントアプリケーションの例外処理 8.3.1 静的起動インタフェース例外 8.3.2 動的起動インタフェース例外 8.4 サーバアプリケーションのプログラミング(静的スケルトンインタフェース) 8.4.1 初期化 8.4.2 サーバの活性化 8.4.3 インタフェース実装クラス 8.4.4 サーバの非活性化 8.5 サーバアプリケーションの例外処理 8.6 サーバアプリケーションの登録 8.6.1 インプリメンテーションリポジトリへの登録 8.6.2 ネーミングサービスへの登録 8.7 アプリケーションのテスト 8.8 データ型に対するマッピング 8.8.1 文字列型 8.8.2 ワイド文字列型 8.8.3 シーケンス型 8.8.4 構造体 8.8.5 共用体 8.8.6 固定小数点型 8.8.7 属性宣言(attribute)のマッピング 8.8.8 パラメタ受渡しで使用するデータ型 8.9 OOCOBOLアプリケーション使用時の注意事項 8.10 OOCOBOL用登録集について 8.10.1 使用例 8.10.2 登録集原文 8.10.3 リポジトリファイル 第9章 ネーミングサービスのプログラミング 9.1 ネーミングサービスの概要 9.2 ネーミングコンテキストインタフェース 9.2.1 ネーミングコンテキストインタフェースで扱うデータ型 9.2.2 ネーミングコンテキストインタフェースの呼び出しで発生する例外 9.2.3 バインディングの作成 9.2.4 バインディングの検索 9.2.5 バインディングの削除 9.2.6 ネーミングコンテキストの作成 9.2.7 ネーミングコンテキストの削除 9.2.8 バインディングの一覧獲得 9.3 バインディングアイテレータインタフェース 9.4 文字列表記のバインディング名 9.4.1 文字列表記バインディング名の基本表記 9.4.2 文字列表記バインディング名のエスケープ機構 9.5 URLスキーマ 9.5.1 IOR URLスキーマ 9.5.2 corbaloc URLスキーマ 9.5.3 corbaname URLスキーマ 9.6 バインディング名、URL、IOR間の変換 9.7 ネーミングサービスのプログラミング例 9.7.1 コンテキスト配下のオブジェクトの検索 9.7.2 コンテキスト配下のオブジェクトの登録 9.7.3 コンテキスト配下のオブジェクトのリストの取得 第10章 インタフェースリポジトリサービスのプログラミング 10.1 インタフェースリポジトリサービスで管理するオブジェクトの種類 10.2 インタフェースリポジトリオブジェクトの包含/継承関係 10.3 インタフェースリポジトリサービスインタフェース 10.3.1 インタフェースリポジトリサービスが提供するインタフェース 10.3.2 インタフェースの継承関係 10.4 インタフェースリポジトリサービスのプログラミング 10.4.1 ルートリポジトリのオブジェクトリファレンスを獲得 10.4.2 インタフェースリポジトリのオブジェクトの検索 10.4.3 インタフェース情報の獲得 10.4.4 インタフェースリポジトリサービスのプログラミング例 第11章 CORBAアプリケーションの高度な使い方 11.1 Factory 11.1.1 サーバアプリケーションのプログラミング 11.1.2 クライアントアプリケーションのプログラミング 11.1.3 private領域の実装 11.1.4 クライアントごとのprivateデータの初期化 11.1.5 終了処理のプログラミング 11.1.6 クライアントとの接続切断時の処理関数の登録 11.2 複数のIDLファイルのコンパイル方法 11.2.1 #include文 11.2.2 -noincludeオプションの使用方法 11.3 複数インタフェースの1プロセスへの実装 11.3.1 同一プログラム内の別オブジェクトの呼び出し 11.3.2 1プロセス−1インタフェースの場合 11.3.3 1プロセス−複数インタフェースの場合 11.4 ライブラリの作成方法 11.4.1 ライブラリの作成方法 11.4.2 インタフェースの継承とライブラリ 11.4.3 ライブラリ作成時の注意事項 11.4.4 サーバアプリケーションのライブラリ化の例 11.5 スレッドモード・プロセスモードのアプリケーション 11.5.1 スレッドモード・プロセスモードのアプリケーションの作成 11.5.2 サーバ・クライアント同時実装時の注意事項 11.6 サーバアプリケーションの複数ホストへの配置 11.6.1 サーバアプリケーションのプログラミング 11.6.2 サーバアプリケーションの登録 11.6.3 クライアントアプリケーションのプログラミング 11.6.4 環境設定 第12章 CORBAインタフェース 12.1 TypeCodeオブジェクト 12.1.1 TypeCodeオブジェクトとは 12.1.2 TypeCodeインタフェース 12.2 NVListオブジェクト 12.2.1 NVListオブジェクトとは 12.2.2 NVListインタフェース 12.3 Contextオブジェクト 12.3.1 Contextオブジェクトとは 12.3.2 Contextインタフェース 12.3.3 Contextインタフェースの使用例 第13章 ネーミングサービスのイニシャルリファレンスの獲得 13.1 ORBInitRef 13.2 ORBDefaultInitRef 13.3 イニシャルサービスの検索順序 13.4 corbaloc URLスキーマ 13.4.1 corbaloc URLスキーマ 13.4.2 corbaloc:rir URL 13.4.3 corbaloc:iiop URL 付録A IDL定義 A.1 IDLの書式 A.1.1 コメント A.1.2 識別子 A.1.3 定数 A.1.4 区切り文字 A.1.5 名前とスコープ A.1.6 C++との違い A.1.7 プリプロセス A.2 モジュール宣言 A.3 インタフェース宣言 A.3.1 インタフェースの継承 A.4 オペレーション宣言 A.5 属性宣言 A.6 定数宣言 A.7 データ型と型宣言 A.7.1 IDLでサポートしているデータ型 A.7.2 基本データ型 A.7.3 シーケンス型 A.7.4 構造体 A.7.5 共用体 A.7.6 固定小数点型 A.7.7 オブジェクトリファレンス A.7.8 タイプコード A.7.9 配列 A.8 例外宣言 A.9 IDLのフォーマット A.10 コンポーネントトランザクションサービスにおけるIDLの利用範囲 付録B 提供プログラム B.1 CORBAサービスの提供プログラム B.1.1 インクルードファイル B.1.2 ライブラリ B.2 Portable-ORBの提供プログラム 付録C インタフェース定義情報の移出入 C.1 インタフェース定義情報の登録 C.2 プログラム開発から運用への手順 C.3 実行例 C.3.1 インタフェース定義情報の移出 C.3.2 インタフェース定義情報の移入 付録D サンプルプログラム(Windows(R)) D.1 CORBAサービスのサンプルプログラム D.1.1 サンプルプログラムの種別 D.1.2 実行手順 D.1.3 使用時の注意事項 D.2 Portable-ORBのサンプルプログラム D.2.1 実行手順 付録E サンプルプログラム(Solaris/Linux) E.1 CORBAサービスのサンプルプログラム E.1.1 サンプルプログラムの種別 E.1.2 実行手順 E.1.3 使用時の注意事項 E.2 Portable-ORBのサンプルプログラム E.2.1 実行手順 付録F 動的スケルトンインタフェースのプログラミング F.1 C言語の開発 F.1.1 初期化 F.1.2 ゲートウェイの登録 F.1.3 サーバの活性化 F.1.4 ゲートウェイの処理 F.1.5 サーバの非活性化 F.1.6 パラメタの獲得/解放 F.2 C++言語の開発 F.2.1 Basic Object Adapter : BOA F.2.2 Portable Object Adpter : POA F.2.3 パラメタの獲得/解放 F.3 Java言語の開発 F.3.1 初期化 F.3.2 ゲートウェイの登録 F.3.3 サーバの活性化 F.3.4 ゲートウェイの処理 F.4 COBOLの開発 F.4.1 初期化 F.4.2 サーバの活性化 F.4.3 ゲートウェイの処理 F.4.4 サーバの非活性化処理 F.5 OOCOBOLの開発 F.5.1 初期化 F.5.2 ゲートウェイの登録 F.5.3 サーバの活性化 F.5.4 ゲートウェイの処理 付録G ロードバランス機能のプログラミング G.1 ロードバランスの運用 G.2 ロードバランス機能インタフェース G.3 ロードバランスオプションインタフェース G.3.1 ロードバランスオブジェクトグループへのオブジェクトの登録 付録H 旧バージョンからの移行上の注意 H.1 Javaインタフェース(JDK/JRE1.3以前からJDK/JRE1.4への移行) H.2 ネーミングサービスに関する注意事項(V2以前のバージョンからの移行) 付録I 保守情報の採取 付録J 旧互換機能 J.1 COM/CORBA連携プログラミング J.1.1 OLE-CORBAゲートウェイとは J.1.2 OLEクライアントの処理 J.1.3 サーバアプリケーションへのパラメタ受渡し J.1.4 基本データ型の指定方法 J.1.5 その他のデータ型の指定方法 J.1.6 サーバの処理結果 J.1.7 属性の設定・参照 J.1.8 例外