Interstage Application Server アプリケーション作成ガイド (CORBAサービス編)
目次 索引 前ページ次ページ

付録E サンプルプログラム(Solaris(TM) Operating Environment/Linux)> E.1 CORBAサービスのサンプルプログラム

E.1.1 サンプルプログラムの種別

 CORBAサービスが提供するサンプルプログラムについて、その種別と格納されているサブディレクトリを以下に示します。サンプルプログラムの作成・実行の手順は、“実行手順”の各項目(表の「手順」欄)を参照してください。

種別

サブディレクトリ (注1)

言語

手順

各種データ型

スレッドモード用

complex/samplelist.C/data
complex/samplelist.C++/data
complex/samplelist.Java/data
complex/samplelist.C/data_win (注2)

C
C++
Java
C

(a)
 
(b)
(h)

プロセスモード用

complex/samplelist.C_nt/data
complex/samplelist.C++_nt/data
complex/samplelist.COBOL/data

C
C++
COBOL

(a)
 
 

動的起動インタフェース

スレッドモード用

complex/samplelist.C/dii
complex/samplelist.C++/dii

C
C++

(d)
 

プロセスモード用

complex/samplelist.C_nt/dii
complex/samplelist.C++_nt/dii

C
C++

(d)
 

動的スケルトンインタフェース

スレッドモード用

complex/samplelist.C/dsi
complex/samplelist.C++/dsi

C
C++

(e)
 

プロセスモード用

complex/samplelist.C_nt/dsi
complex/samplelist.C++_nt/dsi

C
C++

(e)
 

ネーミングサービス

complex/samplelist.C/naming
complex/samplelist.C++/naming

C
C++

(f)
 

インタフェースリポジトリ

irsample

C,C++
COBOL

(g)
 

四則演算

静的インタフェース

CalcSample/c
CalcSample/c++
CalcSample/COBOL
CalcSample/java (注2)
CalcSample/ole (注2)

C
C++
COBOL
Java
C(OLE)

(a)
 
 
(b)
(c)

動的起動インタフェース

CalcSample/c_dii
CalcSample/c++_dii

C
C++

(d)
 

動的スケルトンインタフェース

CalcSample/c_dsi
CalcSample/c++_dsi
CalcSample/c++poa_dsi

C
C++
C++

(e)
 
 

POAインタフェース

スレッドモード用

POA/C++

C++

(a)

POA/java

Java

(b)

POA/java_1_4

Java

(b)

その他

スレッドモード用

simple
simple_cpp
java (注2)
ole (注2)

C
C++
Java
C

(a)
 
(b)
(c)

プロセスモード用

complex/samplelist.C_nt/simple
complex/samplelist.C++_nt/simple_cpp

C
C++

(a)
 

soライブラリ化

simple_so
simple_cpp_so

C
C++

(a)
 

注1) すべてのサンプルプログラムは、以下のディレクトリの配下に格納されています。本節では、サブディレクトリをこのディレクトリからの相対パスで記述します。

 /opt/FSUNod/src/samples (インストールパスはデフォルト)

 /opt/FJSVod/src/samples
注2) Windows(R)クライアント用。

 以下に、サンプルプログラムの詳細について、上記の種別ごとに説明します。

(1)各種データ型

 各種データ型を操作するサンプルプログラムとその種類について以下に示します。スレッドモード用とプロセスモード用で、同じ内容のものを提供します。

種類

概要

備考

1

any

any型のデータを受け渡します。

 

2

array

array型のデータを受け渡します。

 

3

attribute

attributeとしてlong,stringのデータを受け渡します。

 

4

context

context型のデータを受け渡します。

 

5

exception

ユーザ定義型の例外を受け渡します。

C,C++のみ

6

sequence

sequence型のデータを受け渡します。

 

7

string

string型のデータを受け渡します。

 

8

struct

long型とstring型を要素として持つ構造体型のデータを受け渡します。

 

9

union

共用体型のデータを受け渡します。

 

10

その他

基本データ型のデータを受け渡します。

COBOLのみ

(2)動的起動インタフェース

 動的起動インタフェースを使用したサンプルプログラムとその種類について以下に示します。スレッドモード用とプロセスモード用で、同じ内容のものを提供します。

種類

概要

備考

1

dyn1

long型のデータを受け渡します。

 

2

dyn2

long型とchar型を要素として持つ構造体型のデータを受け渡します。

 

3

dyn3

共用体型のデータを受け渡します。

 

(3)動的スケルトンインタフェース

 動的スケルトンインタフェースを使用したサンプルプログラムとその種類について以下に示します。スレッドモード用とプロセスモード用で、同じ内容のものを提供します。

種類

概要

備考

1

dsi

long型のデータを受け渡します。

 

(4)ネーミングサービス

 ネーミングサービスを使用するサンプルプログラムとその種類を以下に示します。

種類

概要

備考

1

bind

ネーミングサービスのbindメソッドを実行します。

 

2

resolve

ネーミングサービスのresolve メソッドを実行します。

 

3

destroy

ネーミングサービスのunbind/destroyメソッドを実行します。

 

4

list

ネーミングサービスのlistメソッドを実行します。

 

(5)インタフェースリポジトリ

 インタフェースリポジトリを使用するサンプルプログラムとその種類を以下に示します。

種類

概要

言語

備考

1

csample1
cppsample1
cblsample1

OperationDefオブジェクト情報を獲得します。

C
C++
COBOL

 

2

csample2
cppsample2
cblsample2

StructDef,AliasDefオブジェクト情報を獲得します。

C
C++
COBOL

 

(6)四則演算

 四則演算を行うサンプルプログラムとその種類について、静的起動・静的スケルトンインタフェースを使用したものを以下に示します。

種類

概要

言語

備考

1

c

ゼロ除算例外を行います。

C

 

2

c++

ゼロ除算例外を行います。

C++

 

3

COBOL

ゼロ除算例外を行います。

COBOL

 

4

java

Webブラウザから入力された値の四則演算を実施して、その結果を表示します。

Java

 

5

ole

クライアントから入力された値の四則演算を実施して、その結果を表示します。

C

 

 動的起動インタフェースを使用したものを以下に示します。

種類

概要

言語

備考

1

c_dii

四則演算を行い、その結果を表示します。

C

 

2

c++_dii

四則演算を行い、その結果を表示します。

C++

 

 動的スケルトンインタフェースを使用したものを以下に示します。

種類

概要

言語

備考

1

c_dsi

ゼロ除算例外を行います。

C

 

2

c++_dsi

四則演算を行い、その結果を表示します。

C++

 

(7)POAインタフェース

 POAインタフェースを使用したサンプルプログラムとその種類について以下に示します。

種類

概要

言語

備考

1

DefaultServant

デフォルトインスタンスを使用します。
各クライアントは同一のServantオブジェクトを使用する方式です。

C++
Java

 

2

Factory-1

Factoryオブジェクトを使用してクライアントごとに異なるServantオブジェクトを使用する方式です。Factory内でオブジェクトリファレンスおよびインスタンスの作成を行います。

C++
Java

 

3

Factory-2

Factoryオブジェクトを使用してクライアントごとに異なるServantオブジェクトを使用する方式です。Factory内でオブジェクトリファレンスの作成を行い、リクエスト受信時にServantObject内でインスタンスを作成します。

C++
Java

 

4

ServantLocator

インスタンス管理をユーザの作成するServantManagerオブジェクトに任せる方式です。

C++
Java

 

5

AdapterActivator-1

必要なときにPOAオブジェクトを作成します。複数のPOAオブジェクトを実装するアプリケーションに適しています。find_POAメソッドが呼ばれたときにAdapterActivatorが動作します。

C++
Java

 

6

AdapterActivator-2

最初のリクエスト受信時にPOAオブジェクトを作成します。複数のPOAオブジェクトを実装するアプリケーションに適しています。最初のリクエスト受信時に動作します。

C++
Java

 

7

DefaultServant_tie

デフォルトインスタンスの代理方式を使用します。
各クライアントは同一のServantオブジェクトを使用する方式です。

C++

 

8

Factory_1_instance_tie

クライアントとのコネクション切断時にインスタンス解放を行う方式です。
Factoryオブジェクトを使用してクライアントごとに異なるServantオブジェクトを使用する方式の、代理方式での実装です。Factory内でオブジェクトリファレンスおよびインスタンスの作成を行います。

C++

 

(8)その他

 上記以外のサンプルプログラムについて、スレッドモード用を以下に示します。

種類

概要

備考

1

simple

加算とその結果を返します。

 

2

simple_cpp

クライアントから入力された値の累積値を返します。

 

3

java

Webブラウザから入力された値の加算結果を返します。

 

4

ole

クライアントから入力された値の大小の比較を実施して、その結果を表示します。

 

 プロセスモード用を以下に示します。

種類

概要

備考

1

simple

加算とその結果を返します。

 

2

simple_cpp

クライアントから入力された値の累積値を返します。

 

 ライブラリを作成するものを以下に示します。

種類

概要

備考

1

simple_so

加算とその結果を返します。

 

2

simple_cpp_so

クライアントから入力された値の累積値を返します。

 


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005