5. 実習 (アプリケーション開発) - fujitsu...61 5. 実習 (アプリケーション開発)...
TRANSCRIPT
6161
5. 実習(アプリケーション開発)5. 実習(アプリケーション開発)
それでは、実際にCORBAアプリケーションを作成してみましょう。
作成方法については、以下の2つに分けて説明します。
• サーバアプリケーションの開発 (COBOL編)
• クライアントアプリケーションの開発(Java編)
6262
5.1 サーバアプリケーションの開発(COBOL編)
5.1 サーバアプリケーションの開発(COBOL編)
6363
Step1. クライアント・サーバアプリケーションの設計
Step2. サーバアプリケーションの作成
Step3. サーバアプリケーションのビルド
Step4. ワークユニットの登録
ここ
●実習の流れ●実習の流れ
本章では、Webアプリケーションを作成します。
作成するアプリケーションは簡単な住所録です。
まず、作成する住所録アプリケーションについて説明します。
その後、実際にInterstage Studioを使用してアプリケーションを作成します。
6464
画面遷移画面遷移
住所録 2004.xx.xx
住所録 2004.xx.xx
従業員番号:000000名前 xxxxxx電話番号 xxx-xxx-xxxx住所 XXXXXXXXXXXX
住所録 2004.xx.xx
従業員番号:000000名前 xxxxxx電話番号
住所
参照更新
戻る
反映/取消
初期画面
更新画面 参照画面
000000 参照 更新
XXX-XXX-XXXX
XXXXXXXXXXX
反映 取消 戻る
一覧
アプリ開始-13:31:00 要求回数 1 セション開始-14:02:00 要求回数 1
アプリ開始-13:31:00 要求回数 1 セション開始-14:02:00 要求回数 1
アプリ開始-13:31:00 要求回数 1 セション開始-14:02:00 要求回数 1
戻る
一覧
一覧画面
住所録 2004.xx.xx
戻る
アプリ開始-13:31:00 要求回数 1セション開始-14:02:00 要求回数 1
上記の図は、住所録アプリケーションの画面遷移図です。
図に示したように“初期画面”、“参照画面”、“更新画面”および“一覧画面”という4つの画面で構成されています。
これら4画面の詳細について説明します。
6565
住 所 録 2 0 0 4 . x x . x x
従 業 員 番 号 を 入 力 し て くだ さ い
更 新参 照2 0 0 4 0 1
タ イ ト ル を 表 示 日 付 を 表 示
メ ッ セ ー ジ を 表 示
従 業 員 番 号 を 入 力 し た 後 、参 照 ボ タ ン の ク リ ッ ク で 参 照 画 面 へ 、
更 新 ボ タ ン の ク リ ッ ク で 更 新 画 面 へ 遷 移 。
一 覧一 覧 ボ タ ン の ク リ ック で 、 一 覧 画 面 に遷 移 し 、 住 所 録 内の す べ て の デ ー タを 一 覧 表 示 す る 。
ア フ ゚リ 、 セ シ ョン の各 開 始 時 間 ・要求 回 数 を 表 示
初期画面初期画面
従業員番号を入力し、[参照]ボタンで参照画面に遷移する。[更新]ボタンをクリックした場合は、更新画面に遷移する。[一覧]ボタンをクリックした場合は、一覧画面に遷移する。
参照画面(参照)
更新画面(更新)
一覧画面(一覧)
タイトル
日付
アプリ開始時間
要求回数(アプリ)
セション開始時間
要求回数(セション)
メッセージ
従業員番号
機能概要画面遷移(ボタン名)入出力項目
アプリ開始-13:31:00 要求回数 1
セション開始-14:02:00 要求回数 1
上記の図は、住所録アプリケーションの初期画面です。
画面の上部にタイトル、日付、アプリ開始時間・要求回数、セション開始時間・要求回数、さらに従業員番号の入力を促すメッセージを表示します。
その下には、従業員番号を入力するテキストフィールドと参照、更新、一覧処理を選択するボタンがあります。
6666
住 所 録 2 0 0 4 . x x . x x
従 業 員 番 号 2 0 0 4 0 1
名 前 佐 藤 一 郎
電 話 番 号 0 5 6 9 - 0 0 0 - 1 1 1 1
住 所 尾 張 県 愛 知 市 舟 船 町 5 9 6 3
戻 る
日 付 を表 示タ イ トル を 表 示
住 所 録 を 表 示
戻 るボ タン の ク リ ック で 初 期 画面 へ 遷移 す る 。
ア フ ゚リ 、 セ シ ョン の 各開 始 時 間 ・要 求 回 数 を 表示
参照画面参照画面
[戻る]ボタンのクリックで初期画面へ遷移する。初期画面(戻る)タイトル
日付
アプリ開始時間
要求回数(アプリ)
セション開始時間
要求回数(セション)
従業員番号
名前
電話番号
住所
機能概要画面遷移(ボタン名)入出力項目
アプリ開始-13:31:00 要求回数 1
セション開始-14:02:00 要求回数 1
上記の図は、住所録アプリケーションの参照画面です。
画面の上部にタイトルと日付、アプリ開始時間・要求回数、セション開始時間・要求回数が表示されます。
その下には、入力された従業員番号、対応する名前、電話番号および住所が表示されます。
一番下の[戻る]ボタンをクリックすると初期画面へ遷移します。
6767
住 所 録 2 0 0 4 . x x . x x
情 報 を 更 新 し て く だ さ い
従 業 員 番 号 2 0 0 4 0 1
名 前 佐 藤 一 郎
電 話 番 号
住 所
0 5 6 9 - 0 0 0 - 1 1 1 1
尾 張 県 愛 知 市 舟 船 町 5 9 6 3
取 消反 映
タ イ ト ル を 表 示 日 付 を 表 示
反 映 → 情 報 を 反 映 初 期 画 面 へ 遷 移取 消 → 情 報 反 映 せ ず 初 期 画 面 へ 遷 移
電 話 番 号 と 住 所の み 修 正 が 可 能
メ ッ セ ー ジ を 表 示
ア フ ゚ リ 、 セ シ ョ ン の 各開 始 時 間 ・要 求 回 数 を 表 示
更新画面更新画面
電話番号と住所を入力して、[反映]ボタンをクリックすると、情報を反映して初期画面に遷移する。[取消]ボタンをクリックした場合は、情報反映せずに初期画面へ遷移する。
初期画面(反映)初期画面(取消)
タイトル
日付
アプリ開始時間
要求回数(アプリ)
セション開始時間
要求回数(セション)
メッセージ
従業員番号
名前
電話番号
住所
機能概要画面遷移(ボタン名)入出力項目
アプリ開始-13:31:00 要求回数 1
セション開始-14:02:00 要求回数 1
上記の図は、住所録アプリケーションの更新画面です。
画面の上部にタイトルと日付、アプリ開始時間・要求回数、セション開始時間・要求回数が表示されます。
その下には、入力された従業員番号、対応する名前、電話番号および住所が表示されます。
一番下の[反映]、または[取消し]ボタンをクリックすると初期画面へ遷移します。
6868
住所録 20 04 .xx.xx
一覧表 (10件 ) 住所電話番号名前従業員番号
.
.
.
200103
200102
200101
.
.
.
.
.
.
.
.
.
和泉県泉市浜川550722-000 -3333田中信三郎
三河県三河市海池27270242-000 -2222鈴木次男
尾張県愛知市舟船町59630569-000 -1111佐藤一郎
戻る戻るボタンをクリックで、初期画面に遷移する。
タイトルを表示 日付を表示メッセージを表示
アプリ、セションの各開始時間 ・要求回数を表示
登録されている従業員の一覧を表示
一覧画面一覧画面
住所録データの一覧を表形式で表示する。初期画面(戻る)タイトル日付アプリ開始時間要求回数(アプリ)セション開始時間要求回数(セション)メッセージ一覧表(画面部品)従業員番号、名前、電話番号、住所
機能概要画面遷移(ボタン名)入出力項目
アプリ開始-13:31:00 要求回数 1
セション開始-14:02:00 要求回数 1
上記の図は、住所録アプリケーションの一覧画面です。
画面の上部にタイトルと日付、アプリ開始時間・要求回数、セション開始時間・要求回数が表示されます。
その下には、登録されている従業員の一覧が表示されます。
一番下の[戻る]ボタンをクリックすると初期画面へ遷移します。
6969
AddressBookHandler Address
HeadBeanBodyBean
BodyTableBean
データ設定
データ参照
CORBA
サーバ
初期画面
参照画面
更新画面
一覧画面
住所録システムの構成住所録システムの構成
ユーザは、Webクライアントから、住所録の参照や更新の操作を行います。
Webサーバでは、ユーザのリクエストをAddressBookHandlerが解釈します。
AddressBookHandlerは、表示データをJavaBean(HeadBean、BodyBean、BodyTableBean)を用いて獲得します。RecordManagerはCORBA経由でアプリケーションサーバとやりとりをし、データBeanの値を設定します。
今回の実習では、CORBAコーディングに関係する、斜線で示したクライアントのjavaBean 、AddressBookHandlerと、サーバ側であるAddressの3つのクラスを中心に、CORBAサービスを用いたWebアプリ、サーバアプリの開発方法について説明します。
7070
Step1. クライアント・サーバアプリケーションの設計
Step2. サーバアプリケーションの作成
Step3. サーバアプリケーションのビルド
Step4. ワークユニットの登録
ここ
●実習の流れ●実習の流れ
本章では、Webアプリケーションを作成します。
作成するアプリケーションは簡単な住所録です。
まず、作成する住所録アプリケーションについて説明します。
その後、実際にInterstage Studioを使用してアプリケーションを作成します。
7171
起動タイプ : persistent
多重度 : 1
インターフェース : 静的スケルトン
サーバアプリケーションの構成サーバアプリケーションの構成
•起動タイプはCORBAアプリケーションをワークユニット上で動作させるので、"persistent"にします。
•プロセス多重度は住所録データをCORBAアプリケーションのメモリ上に持つため、プロセス多重度は1にします。
•インタフェースは、IDLコンパイラにより生成したスケルトンソースを使用した静的スケルトンインタフェースを使用します。
7272
②[起動]をクリック
Interstage Studioの起動Interstage Studioの起動
①[Interstage Studio]アイコンをクリック
■Interstage Studioを起動して、CORBAサーバアプリケーションのCOBOLプロジェクトを新規作成します。
Interstage Studioの起動方法①デスクトップにある[Interstage Studio]アイコンをクリックします。または、メニューの[すべてのプログラム]-[Interstage]-[Studio] -[Interstage Studio]を選択します。② Interstage Studio起動画面の[起動]ボタンをクリックします。
7373
②“COBOL”を展開し、“CORBAサーバプロジェクト” を選択し、[次へ]をクリック
プロジェクトの作成 (1)プロジェクトの作成 (1)
①[ファイル]-[新規]-[プロジェクト]を選択
Interstage Studioで作成されるファイルの一覧を以下に表示します。一覧には、ウィザードで生成されるファイルとビルド時に生成されるターゲットファイルのみ記述しており、IDLファイルから生成されるスタブ、スケルトンファイルは含みません。
ADBKSV.exeUSADBKSV.dll
ターゲット
USADBKSV.idlIDLファイル
USINITADBKSV.cobサーバアプリケーション登録ソース(COBOL)
USADBKSV.cobビジネスメソッドソース(COBOL)
ADBKSV.cobメインソース(COBOL)
ファイル名説明
7474
③[プロジェクト名]に「ADBKSV」を指定し、[次へ]をクリック ④そのまま[次へ]をクリック
プロジェクトの作成 (2)プロジェクトの作成 (2)
7575
⑤そのまま[次へ]をクリック ⑥そのまま[終了]をクリック
プロジェクトの作成 (3)プロジェクトの作成 (3)
◆Unicodeを使用する
COBOLアプリケーションのコード系をUnicodeにする場合は、チェックしてください。
今回はコード系をShift_JISにするので、チェックしないで「次へ」をクリックしてください。
※以下のダイアログボックスが表示された場合、「はい」をクリックしてください。
7676
①[モジュール名]に「RECMOD」を入力、[例外の生成]のチェックを外し、[次へ]をクリック ②そのまま[次へ]をクリック
IDLの自動作成 (1)IDLの自動作成 (1)
プロジェクトの作成に続いて、IDLの自動作成処理が起動します。
上記手順に沿って、IDLを作成してください。
7777
③[追加]ボタンをクリックし、[型の定義]に下表の項目を入力
⑤[追加]ボタンをクリック
IDLの自動作成 (2)IDLの自動作成 (2)
④[次へ]をクリック
◆型の定義
以下の項目を入力してください。
10(空欄)(空欄)DLISTEMPLOYEE
繰返し数小数桁全体桁変数名型
7878
⑦[OK]ボタンをクリック
IDLの自動作成 (3)IDLの自動作成 (3)
⑥[構造体名]に「EMPLOYEE」を入力、[追加]ボタンをクリックし、[構成リスト]に下表の項目を入力
◆構成リスト
以下の項目を入力してください。
(空欄)-20日本語文字列ADDR
(空欄)-20英数文字列PHONE
(空欄)-10日本語文字列NAME
(空欄)-10英数文字列IDNUM
繰返し数小数桁全体桁型変数名
7979
⑧[構造体の定義]に「EMPLOYEE」が登録されていることを確認して、[次へ]をクリック
⑨[追加]をクリック
IDLの自動作成 (4)IDLの自動作成 (4)
8080
⑪ [追加]ボタンをクリック、[パラメタリスト]に下表の項目を入力し、[OK]ボタンをクリック
⑫ [利用者メソッドの定義]に「FINDEMP」が追加されていることを確認
⑬同様に、[利用者メソッドの定義]に「UPDEMP」、「GETALL」の登録を行う(下表の項目を入力)
IDLの自動作成 (5)IDLの自動作成 (5)
⑩ [メソッド名]に「FINDEMP」[戻り値の型]に「4バイト整数」を入力
◆利用者メソッドの定義
【 FINDEMP】
【 UPDEMP 】
【 GETALL 】
inout
パラメタタイプ
(空欄)
小数桁
param1
変数名
(空欄)
全体桁
EMPLOYEE
4バイト整数
FINDEMP
型
パラメタリスト
戻り値の型
メソッド名
in
パラメタタイプ
(空欄)
小数桁
param1
変数名
(空欄)
全体桁
EMPLOYEE
4バイト整数
UPDEMP
型
パラメタリスト
戻り値の型
メソッド名
out
パラメタタイプ
(空欄)
小数桁
param1
変数名
(空欄)
全体桁
DLIST
4バイト整数
GETALL
型
パラメタリスト
戻り値の型
メソッド名
8181
⑭ [終了]をクリック⑮IDLコンパイルエラーが発生、[OK]をクリック
IDLの自動作成 (6)IDLの自動作成 (6)
このサンプルの場合、IDLコンパイルエラーが発生しますが、[OK]をクリックし処理を続けます。
※Interstageが停止状態の場合は、IDLの自動作成処理の際に自動的に起動されます。
8282
②IDLを修正
「COBOL」パースペクティブ
IDLの編集IDLの編集
③修正後、保存
①「その他のファイル」から“USADBKSV.idl”をクリックして開く
◆IDLの編集
COBOLのIDLウィザードで構造体シーケンスを作成した場合、構造体定義と型宣言の順番が逆になるため、手動で修正を行う必要があります。
以下を参照して“USADBKSV.idl”を修正してください。
※IDLコンパイルエラーが発生しない場合、IDLファイルやCOBOLファイルはプロジェクトのソースファイルフォルダ配下に配置されます。
【修正前】
// モジュール宣言
module RECMOD {
// 定数宣言
// 型宣言
typedef sequence<EMPLOYEE,10> DLIST;
// 構造体宣言
struct EMPLOYEE {
string<10> IDNUM;
wstring<10> NAME;
string<20> PHONE;
wstring<20> ADDR;
};
// ユーザインターフェース宣言
interface ADBKSV {
long FINDEMP(inout EMPLOYEE param1);
long UPDEMP(in EMPLOYEE param1);
long GETALL(out DLIST param1);
};
【修正後】
// モジュール宣言
module RECMOD {
// 定数宣言
// 構造体宣言
struct EMPLOYEE {
string<10> IDNUM;
wstring<10> NAME;
string<20> PHONE;
wstring<20> ADDR;
};
// 型宣言
typedef sequence<EMPLOYEE,10> DLIST;
// ユーザインターフェース宣言
interface ADBKSV {
long FINDEMP(inout EMPLOYEE param1);
long UPDEMP(in EMPLOYEE param1);
long GETALL(out DLIST param1);
};
8383
②ビジネスメソッドソースを、以下の指示通りに修正
ビジネスメソッドソースの編集ビジネスメソッドソースの編集
③修正後、保存
①「その他のファイル」から“USADBKSV.cob”をクリックして開く
CORBAサーバアプリケーションをApdesignerによって自動作成した場合に作成されるソースは、オブジェクト指向COBOL(OOCOBOL)となります。
◆ビジネスメソッドソースの編集
次のファイルを参照し、USADBKSV.cob を修正してください。
C:¥MyApplication¥COBOL¥Source¥server
注意:
COBOLエディタでCOBOLソースプログラムを作成、または変更する際、正書法で指定された規則に従います。
従わない場合、以下のようなエラーが問題ビューに表示されます。
【参考:正書法】
COBOLエディタでサポートする正書法には以下の2つの形式があります。
・固定長形式
・可変長形式
8484
Step1. クライアント・サーバアプリケーションの設計
Step2. サーバアプリケーションの作成
Step3. サーバアプリケーションのビルド
Step4. ワークユニットの登録
ここ
●実習の流れ●実習の流れ
本章では、Webアプリケーションを作成します。
作成するアプリケーションは簡単な住所録です。
まず、作成する住所録アプリケーションについて説明します。
その後、実際にInterstage Studioを使用してアプリケーションを作成します。
8585
①“USADBKSV.idl”を右クリックし、メニューから“ソースファイルへの追加”を実行
サーバーアプリケーションのビルド(1)サーバーアプリケーションのビルド(1)
②自動的にIDLの翻訳が実行され、「その他のファイル」にスケルトンファイルが生成される
注意事項
※メニューの「プロジェクト」-「自動的にビルド」がチェックされていない場合、IDLファイルをソースフォルダへ追加してもIDLの翻訳は実行されません。
【対処】
IDLファイルをソースフォルダに追加した後、IDLファイルを右クリックし、メニューから「ファイルの翻訳」を実行してください。
※Interstage Application Serverが起動していない場合にCORBAサーバプロジェクトのビルドを行うと、ビルドに失敗する場合があります。
具体的には、ログコンソールビューに以下のエラーが表示されています。
OD: エラー: od51401:IDLparser:CORBA_Container_lookup関数で例外情報にIDL:CORBA/StExcep/COMM_FAILURE:1.0が発生しました。マイナーコードは0x464a010aです。
OD: エラー: od51221:IDLc:IDLparserコマンドエラー. エラーコード=4
【対処】
IDLファイルを更新している場合、Interstage Application Serverが強制停止状態の時にはIDLコンパイラの実行がエラーとなるため、ビルドに失敗します。このような場合には、Interstage管理コンソールを用いてInterstage Application Serverを起動してから、再度ビルドを実行してください。
Interstage管理コンソールを用いてのInterstage Application Serverの起動は、P92の「管理コンソールの起動」を参照してください。
8686
③「その他のファイル」を展開し、スケルトンファイルを右クリック、「ソースファイルへ追加」を選択
この操作を行うCOBOLファイル、スケルトンファイル一覧は下記の表を参照
サーバーアプリケーションのビルド(2)サーバーアプリケーションのビルド(2)
④“ADBKSV.cob” を右クリックし、「主プログラム」を選択
※メニューの「プロジェクト」-「自動的にビルド」がチェックされている場合、上記の操作で自動的にビルドが実行されます。
※スタブファイルは「ソースファイルへ追加」の操作を行わないようにしてください。
◆COBOLファイル、スケルトンファイル一覧
ADBKSV.cobメインソースCOBOLファイル
USADBKSV.cobビジネスメソッドソース
USINITADBKSV.cobサーバアプリケーション登録ソース
データ型Helperファイル(データ型名--helper.cob)
データ型クラスファイル
(データ型名.cob)
インプリメンテーション登録ファイル(モジュール名-インタフェース名--NEW.cob)
tieクラスファイル(モジュール名-インタフェース名--tie.cob)
Narrowスケルトンファイル(モジュール名-インタフェース名--Narrow.cob)
Helperクラスファイル(モジュール名-インタフェース名--helper.cob)
インタフェースファイル(モジュール名-インタフェース名.cob)
SEQUENCE-RECMOD-EMPLOYEE-10--HELPER.cob
スケルトンファイル
RECMOD-EMPLOYEE--HELPER.cob
RECMOD-DLIST--HELPER.cob
CORBA-WSTRING-20--HELPER.cob
CORBA-STRING-10--HELPER.cob
SEQUENCE-RECMOD-EMPLOYEE-10.cob
CORBA-STRING-20--HELPER.cob
RECMOD-ADBKSV--NEW.cob
CORBA-WSTRING-10--HELPER.cob
RECMOD-ADBKSV--TIE.cob
RECMOD-ADBKSV--Narrow.cob
RECMOD-ADBKSV--HELPER.cob
RECMOD-ADBKSV.cob
8787
サーバーアプリケーションのビルド(3)サーバーアプリケーションのビルド(3)
⑥「ADBKSV」プロジェクトを右クリックし、「プロジェクトのビルド」を実行
⑤「ADBKSV」プロジェクトを右クリックし、「依存関係の解析」-「すべて」を選択
※メニューの「プロジェクト」-「自動的にビルド」がチェックされていない場合、上記の操作でビルドを実行します。
◆スケルトンファイルの自動追加
通常ウィザードが生成したIDLファイルに対しては、スケルトンファイルの追加が自動的に行われます。
しかし、ウィザードが生成していないIDLファイルに対しては、スケルトンファイルの追加は自動的には行われません。
ユーザが手動で追加する必要があります。
たとえば、プロジェクト生成後にモジュール名を変更した場合、型を追加した場合、プロジェクト生成後に既存のIDLファイルを持ってきてプロジェクトにコピーして使った場合などがこのケースにあたります。
この実習のADBKSVのように、構造体の繰返しを型として定義している場合もこのケースにあたります(ウィザードでは構造体の繰返しは型として定義できないためです)。
◆依存関係の解析
プロジェクトのビルド時に翻訳順番を正しくさせるために解析を実行します。
8888
「問題」ビューに何も表示されていないことを確認し、ビルド完了
サーバーアプリケーションのビルド(4)サーバーアプリケーションのビルド(4)
8989
Step1. クライアント・サーバアプリケーションの設計
Step2. サーバアプリケーションの作成
Step3. サーバアプリケーションのビルド
Step4. ワークユニットの登録ここ
●実習の流れ●実習の流れ
本章では、Webアプリケーションを作成します。
作成するアプリケーションは簡単な住所録です。
まず、作成する住所録アプリケーションについて説明します。
その後、実際にInterstage Studioを使用してアプリケーションを作成します。
9090
アプリケーション格納フォルダ プロジェクトフォルダ
アプリケーション実行ファイル・ライブラリファイルの格納アプリケーション実行ファイル・ライブラリファイルの格納
①エクスプローラを開く
③プロジェクトフォルダの実行ファイル、ライブラリファイルを、格納フォルダにコピー
②アプリケーション格納フォルダ・アプリケーションカレント動作ディレクトリを作成
◆実行ファイル・ライブラリファイルをアプリケーション格納フォルダに格納
アプリケーション格納フォルダにプロジェクトフォルダを指定することも可能ですが、配備後不用意にアプリケーションのビルドを行ってしまった場合、すでに配備されている実行ファイル・ライブラリファイルが更新されてしまいます。
これを防ぐために、プロジェクトフォルダとは異なる場所にアプリケーション格納フォルダを作成し、実行ファイル・ライブラリファイルを格納します。
・アプリケーション格納フォルダ・アプリケーションカレント動作ディレクトリを作成
・プロジェクトフォルダの実行ファイル・ライブラリファイルをアプリケーション格納フォルダへコピー
アプリケーション格納フォルダ :C:¥Interstage¥VAR¥CORBA_WU¥ADBKSV-WUアプリケーションカレント動作ディレクトリ:C:¥Interstage¥VAR¥CORBA_WU¥ADBKSV-WU¥work
プロジェクトフォルダ:
C:¥Documents and Settings¥インストールユーザ名¥My Documents¥Interstage Studio¥workspace¥ADBKSV実行ファイル :ADBKSV.exeライブラリファイル :USADBKSV.dll
アプリケーション格納フォルダ:C:¥Interstage¥VAR¥CORBA_WU¥ADBKSV-WU
9191
①[ウィンドウ]-[ビューの表示]-
[その他]を選択
②“IJServer”を展開し、“IJServer”を選択、
[OK]ボタンをクリック
管理コンソールの起動(1)管理コンソールの起動(1)
9292
管理コンソールの起動(2)管理コンソールの起動(2)
③“IJServerビュー”が表示されるので、“localhost”を右クリックし、[Interstage管理コンソール]を選択
④[管理コンソール]が表示される
[ユーザ名]、[パスワード]を入力し、
[ログイン]ボタンをクリック
注意事項
「管理コンソール」の「ユーザ名」「パスワード」は、localhostへアクセスする時の「ユーザ名」「パスワード」を指定してください。
9393
①“システム”をクリックし、[Interstage]の状態を確認「停止」の場合は、[起動]ボタンをクリックし、Interstageを起動
②“ワークユニット”-[新規作成]をクリック
実行環境の作成(1)実行環境の作成(1)
9494
③[ワークユニット名]に「ADBKSV-WU」、[ワークユニットタイプ]に「CORBA」を設定し、[詳細設定]の[表示]ボタンをクリック
実行環境の作成(2)実行環境の作成(2)
9595
実行環境の作成(3)実行環境の作成(3)
④[アプリケーション格納フォルダ]、[アプリケーション動作カレントディレクトリ]を入力し、[作成]ボタンをクリック
◆ ワークユニット設定
以下の項目を入力してください。
C:¥Interstage¥var¥CORBA_WU¥ADBKSV-WU¥workアプリケーション動作カレントディレクトリ
C:¥Interstage¥var¥CORBA_WU¥ADBKSV-WUアプリケーション格納フォルダ
値項目名
9696
ワークユニット作成の正常終了メッセージが表示される
“ワークユニット”を展開し、“ADBKSV-WU”が作成されていることを確認
実行環境の作成(4)実行環境の作成(4)
9797
⑤“ワークユニット”-“ADBKSV-WU”を選択、[配備]をクリック
⑥[インプリメンテーションリポジトリID]に「IDL:RECMOD/ADBKSV:1.0」[実行プログラムファイル]に「ADBKSV.exe」を入力し、[詳細設定]の[表示]をクリック
実行環境の作成(5)実行環境の作成(5)
◆ 配備設定
以下の項目を入力してください。
※インプリメンテーションリポジトリIDに指定する値は、
ADBKSV.cob(メインソース)に指定したREP-IDを指定する必要があります。
ADBKSV.cob(抜粋)
ADBKSV.exe実行プログラムファイル
IDL:RECMOD/ADBKSV:1.0インプリメンテーションリポジトリID
値項目名
WORKING-STORAGE SECTION.
COPY CORBA--COPY.
COPY USADBKSV--COPY.
01 API-NAME PIC X(50).
01 APL-NAME PIC X(64) VALUE "ADBKSV".
01 ORB USAGE OBJECT REFERENCE CORBA-ORB.
01 BOA USAGE OBJECT REFERENCE CORBA-BOA.
01 IMPL-REP USAGE OBJECT REFERENCE FJ-IMPLEMENTATIONREP.
01 IMPL USAGE OBJECT REFERENCE CORBA-IMPLEMENTATIONDEF.
01 REP-ID PIC X(128) VALUE "IDL:RECMOD/ADBKSV:1.0".
01 OBJ USAGE OBJECT REFERENCE CORBA-OBJECT.
01 EXCEPT-ID USAGE OBJECT REFERENCE CORBA-STRING.
01 EXCEPT-ID-VALUE PIC X(50).
LINKAGE SECTION.
9898
⑧[動作モード]に「SYNC_END」を指定
⑦[CORBAアプリケーション]の[表示]をクリックし、[ロケール]に「Shift JIS」を指定
実行環境の作成(6)実行環境の作成(6)
◆ CORBAアプリケーション
以下の項目を入力してください。
・ロケール
CORBAサーバアプリケーションのコード系を指定します。
CORBAサービスでコード変換を行う際に参照される値であるため、Shift_JISを指定します。
それにより、UnicodeのWebアプリケーションとShift_JISのCOBOLアプリケーション間で文字データを連携することができます。
正しく指定しないと文字化けが発生するので注意してください。
・動作モード
COBOLの場合はSYNC_ENDを指定する必要があります。
SYNC_END:
サーバアプリケーションを活性化しても、活性化メソッド(IMPL_IS_READY)は復帰しません。
サーバアプリケーションの停止時に活性化メソッドは復帰します。
COMPATIBLE:
サーバアプリケーション活性化後、活性化メソッド(IMPL_IS_READY)は復帰します。
Shift JISロケール
SYNC_END動作モード
値項目名
9999
⑨[インターフェース定義]の[表示]をクリックし、[追加]ボタンをクリック
実行環境の作成(7)実行環境の作成(7)
⑩[インターフェース定義]に下表の項目を入力し、[一覧へ反映]ボタンをクリック
◆インターフェース定義
以下の項目を入力してください。
※インターフェースリポジトリIDはIDL定義に設定したモジュール名、インタフェース名 に一致させて指定してください。
USADBKSV.dll(抜粋)
RECMOD::ADBKSVネーミングサービス登録名
0優先度
USADBKSV.dllライブラリパス名
使用しないCOBOLの動的スケルトンインターフェース
登録するネーミングサービスへの登録
IDL:RECMOD/ADBKSV:1.0インターフェースリポジトリID
値項目名
// モジュール宣言
module RECMOD {
.......
// ユーザインタフェース宣言
interface ADBKSV {
long FINDEMP(inout EMPLOYEE param1);
long UPDEMP(in EMPLOYEE param1);
long GETALL(out DLIST param1);
};
};
インターフェースリポジトリIDIDL:RECMOD/ADBKSV:1.0
100100
⑪[配備]ボタンをクリック
実行環境の作成(8)実行環境の作成(8)
アプリケーションの配備成功のメッセージが表示される
101101
5.2 クライアントアプリケーションの開発(Java編)
5.2 クライアントアプリケーションの開発(Java編)
102102
Step1. Webアプリケーションの設計
Step2. Webアプリケーションの作成
Step3. Webアプリケーションのビルド
Step4. Webアプリケーションの配備
ここ
●実習の流れ●実習の流れ
Step5. システムの実行例
本章では、Webアプリケーションを作成します。
作成するアプリケーションは簡単な住所録です。
まず、作成する住所録アプリケーションについて説明します。
その後、実際にInterstage Studioを使用してアプリケーションを作成します。
103103
クライアントの実装クライアントの実装
住所録アプリケーションのクライアント構成
CORBAクライアント処理の実装クラス
本実習で作成する部分
サーバアプリケーション
ブラウザ各出力画面用
JSPファイル群
各クラス・JSPから利用するクラス群(JavaBean)
※本実習では、CORBAクライアント処理を実装したクラスのみを作成し、そのほかのJSPなどは作成済みのものを使用します。
◆CORBAクライアント処理の実装クラス概要
RecordManager.java
CORBAクライアントとしての処理(ORB初期化~サーバアプリケーションのオブジェクト取得、サーバアプリケーションのメソッド呼び出しなど)を実装します。
サーバアプリケーションから取得したデータについては、データ保持のためのクラス(EmployeeRecord)へ設定します。
◆RecordManager.java のメソッド
・ initialData :CORBAアプリケーションを呼び出し、サーバアプリケーションから住所録データを取得するメソッド
・ getEmployeeRecord :引数に指定された従業員番号のレコードを返すメソッド
・ isSuccessUpdateRecord :住所録データを更新するメソッド
・ isSuccessReferenceRecord :住所録データを参照するメソッド
・ copyAllRecord :住所録データの複製を取得するメソッド
104104
Step1. Webアプリケーションの設計
Step2. Webアプリケーションの作成
Step3. Webアプリケーションのビルド
Step4. Webアプリケーションの配備
ここ
●実習の流れ●実習の流れ
Step5. システムの実行例
本章では、Webアプリケーションを作成します。
作成するアプリケーションは簡単な住所録です。
まず、作成する住所録アプリケーションについて説明します。
その後、実際にInterstage Studioを使用してアプリケーションを作成します。
105105
プロジェクトの作成(1)プロジェクトの作成(1)
①エクスプローラを開く
②“addressBook”を選択し、右メニューから[コピー]を実行
③“workspace”を選択し、
右メニューから[貼り付け]を実行
この実習では、Webアプリケーションのプロジェクトをあらかじめ準備してあります。(RecordManager.javaなどの一部を除く)。ここでは、このプロジェクトをApcoordinatorにインポートし、CORBAクライアントアプリケーションを作成します。
あらかじめ作成したプロジェクトは次の場所にあります。
このプロジェクトを以下の場所にコピーします。
注意:Apdesignerにて既存プロジェクトをインポートする場合、ワークスペースのサブフォルダにあるプロジェクトしかインポートできません。
C:¥MyApplication¥COBOL¥addressBook
C:¥Documents and Settings¥インストールユーザ名¥My Documents¥Interstage Studio¥workspace¥
106106
プロジェクトの作成(2)プロジェクトの作成(2)
④[パースペクティブを開く]-[その他]を選択
⑤ “Apcoordinator” を選択
⑥[OK]をクリック
◆「Apcoordinator」パースペクティブにして、クライアントアプリケーションのJavaプロジェクトを作成します。作成済みのaddressBookプロジェクトをインポートします。
「Apcoordinator」パースペクティブする手順① Interstage Studioの[ウィンドウ]メニューの[パースペクティブを開く] -[その他]を選択します。②[Apcoordinator]を選択します。
107107
プロジェクトの作成(3)プロジェクトの作成(3)
①[ファイル]-[インポート]を実行
② “一般”- “既存プロジェクトをワークスペースへ” を選択
③[次へ]をクリック
◆作成済みのaddressBookプロジェクトをインポートします。
108108
プロジェクトの作成(4)プロジェクトの作成(4)
④[参照]をクリックすると、[フォルダの参照]画面(右)が表示される
⑤“addressBook”を選択し、[OK]をクリック
フォルダの参照は次の場所を指定します。C:¥Documents and Settings¥インストールユーザ名¥My Documents¥Interstage Studio¥workspace¥addressBook
109109
⑦“addressBook”プロジェクトが登録されていることを確認
「Apcoordinator」パースペクティブ
プロジェクトの作成(5)プロジェクトの作成(5)
⑥[プロジェクト名]、[チェックボックスにチェックが付いている」ことを確認し、[終了]をクリック
110110
ビルドを行うために必要なクラスパスを事前定義ライブラリを用いて、プロジェクトに追加する
ビルドパスの追加(1)ビルドパスの追加(1)
①“addressBook”プロジェクトを
右クリックし、
メニューから[プロパティ]を選択
クラスパスコンテナ一覧(「Interstage Studio V9.0 プログラマーズガイド」より抜粋)
ujief.jarENTエンタープライズアプリケーション拡張機能を使う
ODjava4.jaresnotifyjava4.jarfjmsprovider.jar
JMSJ2EEアプリケーションクライアントからJMSのメッセージを送信する
ujijsf.jarjsf-api.jar
JSFJavaServer Facesを使う
ujiasync.jarASYNCバックエンド連携機能を使う
ujiformc.jarf3hksjsv.jarujicobol.jar
EFORM_CBL電子フォーム連携(COBOL)機能を使う
ujiformc.jarf3hksjsv.jar
EFORM電子フォーム連携機能を使う
ujiejb.jarEJBEJB連携機能を使う
ujidb.jarDBデータベース連携機能を使う
uji.jarBASE基本機能
Apcoordinator
isws-lib.jarWEBSERVCLJ2EEアプリケーションクライアントからWebサービスを呼ぶ
ODjava4.jarfjcontainer94.jarクライアント配布物
EJBCLJ2EEアプリケーションクライアントからEJBアプリケーションを呼ぶ
isj2ee.jarisws.jarjsp-api.jarservlet-api.jar
BASE基本機能
Interstage J2EE
設定されるクラスパスJRE1.4/JRE5.0の場合
選択機能識別子
選択機能ライブラリ種別
111111
ビルドパスの追加(2)ビルドパスの追加(2)
②“Javaのビルドパス”[ライブラリ]タブを選択
③ “Interstage J2EE[BASE]”を選択し、[編集]をクリック
◆事前定義ライブラリ
プロジェクトのビルド、実行に必要なクラスパスを設定することができます。
事前定義ライブラリの利点は、環境が変更されても柔軟に開発環境(IDE)が対応できることです。
たとえば、JDKのバージョンをJDK1.3.1から1.4.1に変更したとき、ObjectDirectorのJARは、ODJava2.jarからODJava4.jarに変更する必要がありますが、クラスパスコンテナ機能が自動的に判断して適切なJARを利用するようになります。つまり、利用者はJDKごとのJARを覚えておく必要がありません。また変更忘れの防止といったメリットもあります。
事前定義ライブラリを利用して、以下のパスを設定します。
ujiasync.jarASYNCバックエンド連携機能を使うApcoordinator
ODjava2.jarEJBCLJ2EEアプリケーションクライアントからEJBアプリケーションを呼び出す
Interstage J2EE
設定したいクラスパス識別子選択機能選択機能ライブラリ種別
112112
⑤ 「Interstage J2EE[BASE、EJBCL]」に変更されていることを確認
④ [J2EEアプリケーションクライアントからEJBアプリケーションを呼び出す]をチェックし、[終了] をクリック
ビルドパスの追加(3)ビルドパスの追加(3)
113113
⑥ “ Apcoordinator[BASE、DB] ”を選択し、[編集]をクリック
ビルドパスの追加(4)ビルドパスの追加(4)
114114
ビルドパスの追加(5)ビルドパスの追加(5)
⑦[バックエンド連携機能を使うをチェックし、[終了]をクリック
⑧“Apcoordinator[BASE、DB、ASYNC]”に変更されていることを確認し、[OK]をクリック
115115
② コマンドプロンプトを起動する。
CDコマンドにて、スタブを格納したいディレクトリに移動し、IDLコマンドにて、IDL手動コンパイルを行う。
③ スタブフォルダ“RECMOD”が作成されていることを確認
スタブパッケージフォルダの追加(1)スタブパッケージフォルダの追加(1)
①USADBKSV.idlをコピーする。
CORBAサーバアプリケーション作成時に生成したIDLファイルをCORBAクライアントアプリケーション作成時でも使用する。
◆USADBKSV.idlをコピー
コピー元:C:¥Documents and Settings¥インストールユーザ名¥My Documents¥Interstage Studio¥workspace¥ADBKSV¥
コピー先:C:¥Documents and Settings¥インストールユーザ名¥My Documents¥Interstage Studio¥workspace¥addressBook¥src
IDLの手動コンパイル
クライアントアプリケーションへ組み込むためのスタブフォルダを、IDL手動コンパイルにて作成します。
・ディレクトリの移動
CDコマンドにて、スタブ格納を格納したいディレクトリに、カレントディレクトリを移動します。
・IDL手動コンパイル
注意:Interstageが起動していない状態で、IDLcコマンドを実行するとエラーが発生します。
Interstage起動後に実行してください。
【参考】
[IDLc コマンド書式] 注意: コマンドオプションは主要なもののみ掲載
IDLc 言語オプション [-m言語オプション] ‒a|-R ‒create|-update|delete IDL_FILE_NAME
cd C:¥Documents and Settings¥インストールユーザ名¥My Documents¥Interstage Studio¥workspace¥addressBook¥src
IDLc -java USADBKSV.idl
116116
スタブパッケージフォルダの追加(2)スタブパッケージフォルダの追加(2)
③“src”フォルダを右クリックし、[更新]を選択
“RECMOD”フォルダが表示される
117117
asyncマップの作成(1)asyncマップの作成(1)
①“addressBook”を選択し、右ボタンメニューから[新規]-[その他]を選ぶ
②”Apcoordinator”- “asyncマップ”を選択[次へ]をクリック
バックエンド連携機能を利用する場合、asyncマップを作成する必要があります。
118118
asyncマップの作成(2)asyncマップの作成(2)
④[ファイル名]に「asyncmap」を確認し、[終了]をクリック
“asyncmap.xml”が追加されていることを確認する
⑤自動生成された“asyncmap.xml”をダブルクリックで開き、修正する
次のファイルを参照し、asyncmap.xmlを修正してください。
C:¥MyApplication¥COBOL¥Source¥client¥asyncmap.txt
119119
RecordManager.java にフレームワークのバックエンド連携を用いたCORBAクライアントアブリケーションとして、必要な処理を記載する
RecordManager.javaの作成RecordManager.javaの作成
RecordManager.javaに記述を追加する
⑥“src”-”addressBook”の”RecordManager.java”をダブルクリック
次のファイルを参照し、 RecordManager.javaを修正してください。
C:¥MyApplication¥COBOL¥Source¥client¥RecordManager.txt
120120
Step1. Webアプリケーションの設計
Step2. Webアプリケーションの作成
Step3. Webアプリケーションのビルド
Step4. Webアプリケーションの配備
ここ
●実習の流れ●実習の流れ
Step5. システムの実行例
本章では、Webアプリケーションを作成します。
作成するアプリケーションは簡単な住所録です。
まず、作成する住所録アプリケーションについて説明します。
その後、実際にInterstage Studioを使用してアプリケーションを作成します。
121121
アプリケーションのビルド(1)アプリケーションのビルド(1)
①“addressBook”プロジェクトを右クリックし、
メニューから[プロジェクトのビルド]を選択
※プロジェクトを選択し、ツールバーのビルドアイコンをクリックする方法でもビルドの実行が可能です。
◆ビルド時に以下の警告メッセージが出力されますが、問題ありません。そのまま続行してください。
ビルドアイコン
122122
②“warbuld.xml”を選択し、右ボタンメニューから[実行]- [2. Antビルド]を選ぶ
③[war-rebuild]にチェックが
ついているかを確認し、
[実行]をクリック
アプリケーションのビルド(2)アプリケーションのビルド(2)
123123
[ログコンソール]に“addressBook.war”が
作成された旨のメッセージが表示される
アプリケーションのビルド(3)アプリケーションのビルド(3)
124124
Step1. Webアプリケーションの設計
Step2. Webアプリケーションの作成
Step3. Webアプリケーションのビルド
Step4. Webアプリケーションの配備ここ
●実習の流れ●実習の流れ
Step5. システムの実行例
本章では、Webアプリケーションを作成します。
作成するアプリケーションは簡単な住所録です。
まず、作成する住所録アプリケーションについて説明します。
その後、実際にInterstage Studioを使用してアプリケーションを作成します。
125125
①“IJServerビュー”の“localhost”を右クリックし、
[Interstage管理コンソール]を選択
②[ユーザ名]と[パスワード]を指定し、
[ログイン]ボタンをクリック
Interstage管理コンソールの起動Interstage管理コンソールの起動
126126
①“ワークユニット”-[新規作成]を
選択
IJServerの作成(1)IJServerの作成(1)
注意:IJServer新規作成時には、Interstageが起動している必要があります。
Interstageが停止している場合、[Interstage管理コンソール]-[システム]画面にて起動してください。
127127
②[ワークユニット名]に
「addressBook」を設定し、
[詳細設定]の[表示]をクリック
IJServerの作成(2)IJServerの作成(2)
128128
③[ワークユニット設定]の[表示]を
クリックし、クラスパスに
「C:¥Interstage¥ODWIN¥etc¥Class¥ODjava2.jar」「C:¥Interstage¥APC¥lib¥ujiasync.jar」「C:¥Interstage¥APC¥lib¥uji.jar」「C:¥Documents and Settings¥インストールユーザ名¥My Documents¥Interstage Studio¥workspace¥addressBook¥ContextRoot¥WEB-INF」
を入力
④[作成]ボタンをクリック
IJServerの作成(3)IJServerの作成(3)
◆クラスパスの設定
・Apcoordinatorバックエンド連携機能をWebから利用する場合、サーブレットで設定されるアプリケーションの位置
(WEB-INF/classesやWEB-INF/lib)は使用されません。
EJBから利用の場合はjarに固めたものが使用可能になります。
・バックエンド連携をWebで利用する場合の推奨パターンは、以下になります。
- 適当なフォルダ(webの外部)にIDLから生成されたクラスを配置し、そのフォルダをCLASSPATHに設定します。
・ODjava2.jarはCORBAクライアントアプリケーションに必要なjarファイルです。
・uji.jarはフレームワークアプリケーションに必要なjarファイルです。
・ujiasync.jarはフレームワークのバックエンド連携サービスライブラリを使用する際に必要なjarファイルです。
C:¥Interstage¥ODWIN¥etc¥Class¥ODjava2.jarC:¥Interstage¥APC¥lib¥ujiasync.jarC:¥Interstage¥APC¥lib¥uji.jarC:¥Documents and Settings¥インストールユーザ名¥My Documents¥Interstage Studio ¥workspace¥addressBook¥ContextRoot¥WEB-INF
129129
“ワークユニット”を展開し、
“addressBook”が追加されていることを確認
正常に作成されたことを示す
メッセージが表示される
IJServerの作成(4)IJServerの作成(4)
130130
warファイルの配備(1)warファイルの配備(1)
①“addressBook.war”を右クリックし、
[プロパティ]を選択
131131
③[配備先]に「addressBook」を指定し、
[OK]をクリック
②[配備]をクリック
warファイルの配備(2)warファイルの配備(2)
※配備先は、 IJServerビューで「デフォルト配備先」を指定することでも設定可能です。
IJServer内の「addressbook」を右クリックし、[デフォルト配備先]をクリック
132132
④“addressBook”プロジェクトを
右クリックし、[配備]を選択
warファイルの配備(3)warファイルの配備(3)
133133
配備終了の
メッセージが表示される
⑤IJServer”addressBook”を展開し、Webアプリケーション“addressBook”が配備されていることを確認
warファイルの配備(4)warファイルの配備(4)
134134
IJServerの起動(1)IJServerの起動(1)
①IJServer“addressBook”を右クリックし、
[起動]を選択
◆配備時、「配備後のIJServer起動」を“起動する”に設定した場合、すでにIJServerが起動しているので、本処理は実行する必要がありません。
※IJServerビューで、起動したいIJServerを選択し、起動アイコンをクリックする方法でも起動できます。
起動アイコン
135135
IJServerの起動(2)IJServerの起動(2)
起動終了の
メッセージが表示される
136136
Step1. Webアプリケーションの設計
Step2. Webアプリケーションの作成
Step3. Webアプリケーションのビルド
Step4. Webアプリケーションの配備
ここ
●実習の流れ●実習の流れ
Step5. システムの実行例
本章では、Webアプリケーションを作成します。
作成するアプリケーションは簡単な住所録です。
まず、作成する住所録アプリケーションについて説明します。
その後、実際にInterstage Studioを使用してアプリケーションを作成します。
137137
アプリケーションの実行(1)アプリケーションの実行(1)
①IEなどのブラウザを起動し、[アドレス]に「http://localhost/addressBook/main.jsp」を入力すると、初期画面が表示される
注意:アプリケーションを実行する前に以下を確認してください。
・サーバアプリケーションが起動している・WWWサーバが起動している
確認方法は、「Interstage管理コンソール」の「サービス」「Webサーバ」を選択してください。「状態」が「起動」になっているかを確認してください。
また、「環境設定」タブを選択して、ポート番号が「80」以外の場合(例:「81」の場合)、上記のアドレスは、「 http://localhost:81/addressBook/main.jsp 」となります。
138138
②[従業員番号]を入力し、[参照]ボタンをクリック
参照画面が表示される
アプリケーションの実行(2)アプリケーションの実行(2)
③[戻る]ボタンをクリック
139139
更新画面が表示される
アプリケーションの実行(3)アプリケーションの実行(3)
⑤[電話番号]、[住所]を変更し、[反映]ボタンをクリック
④[従業員番号]を入力し、[更新]ボタンをクリック
140140
アプリケーションの実行(4)アプリケーションの実行(4)
⑦[戻る]ボタンをクリック
⑥そのまま[参照]ボタンをクリックし、アドレスが更新されたことを確認
141141
⑧[一覧]ボタンをクリック
一覧画面が表示される
アプリケーションの実行(5)アプリケーションの実行(5)
■ NetCOBOL for Windowsの体験版について
NetCOBOLホームページ
http://software.fujitsu.com/jp/cobol/
「体験版」より、お申し込みください。
■ Interstage Studioの体験版について
富士通営業、SEにお申し付けください。
■ 本書に関するお問い合わせ先
NetCOBOLホームページ
http://software.fujitsu.com/jp/cobol/
Interstageホームページ
http://interstage.fujitsu.com/jp/studio/
「本製品のお問い合わせ」より、お願いします。
ご質問に関しては、記述箇所のページ、内容を明示してください。
ご質問の内容によっては、回答に数日またはそれ以上の期間を
要する場合があります。
N e t C O B O L