• 検索結果がありません。

NetCOBOL for .NET 応用編

N/A
N/A
Protected

Academic year: 2021

シェア "NetCOBOL for .NET 応用編"

Copied!
316
0
0

読み込み中.... (全文を見る)

全文

(1)
(2)

本 書 は 、 N e t C O B O L f o r . N E T を 使 用 し た プ ロ グ ラ ミ ン グ の 教 材 で す 。 N e t C O B O L f o r . N E T の 開 発 環 境 を 設 定 す る こ と に よ り 、 実 際 に 操 作 し な が ら 学 習 で き ま す 。 そ の 際 、 以 下 の い ず れ か の 製 品 が 必 要 と な り ま す 。 ・ N e t C O B O L B a s e E d i t i o n 開 発 パ ッ ケ ー ジ f o r . N E T V 4 . 0 ・ N e t C O B O L S t a n d a r d E d i t i o n 開 発 パ ッ ケ ー ジ f o r . N E T V 4 . 0 ・ N e t C O B O L E n t e r p r i s e E d i t i o n 開 発 パ ッ ケ ー ジ f o r . N E T V 4 . 0 ま た 、 本 書 は 、 C O B O L 言 語 の 基 礎 的 知 識 を も ち 、 W i n d o w s の 基 本 的 操 作 が で き 、 以 下 の い ず れ か の 経 験 が あ る 読 者 を 対 象 と し て 記 述 さ れ て い ま す ・ W i n d o w s で W i n d o w s 版 N e t C O B O L の 開 発 経 験 が あ る 。 ・ オ フ コ ン や 汎 用 機 で C O B O L の 開 発 経 験 が あ る 。 ・ N e t C O B O L f o r . N E T を 使 用 し た こ と が あ る 、 ま た は 今 後 の 使 用 を 考 え て い る 。 な お 、 本 書 で 掲 載 し て い る 画 面 は 、 W i n d o w s X P 上 で の イ メ ー ジ で す 。 ま た 、 ご 使 用 さ れ る V i s u a l S t u d i o の オ プ シ ョ ン に よ っ て 若 干 異 な る こ と が あ り ま す の で 、 ご 了 承 く だ さ い 。 ◆ 本 書 の 構 成 本 書 の 構 成 と 内 容 は 以 下 の と お り で す 。 第 1 章 N e t C O B O L f o r . N E T と は N e t C O B O L f o r . N E T と . N E T F r a m e w o r k の 概 要 、 お よ び そ れ ぞ れ の 関 係 を 学 習 し ま す 。 第 2 章 N e t C O B O L f o r . N E T を 使 う プ ロ グ ラ ム 開 発 の 方 法 を 、 プ ロ グ ラ ミ ン グ し な が ら 学 習 し ま す 。 第 3 章 N e t C O B O L f o r . N E T の 特 徴 ク ラ ス や オ ブ ジ ェ ク ト な ど 、 手 続 き 型 の C O B O L と は 異 な る 特 徴 に つ い て 学 習 し ま す 。

(3)

学 習 し ま す 。 第 5 章 デ ー タ ア ク セ ス デ ー タ ベ ー ス や フ ァ イ ル な ど 、 デ ー タ 資 産 と 連 携 す る 方 法 に つ い て 学 習 し ま す 。 第 6 章 印 刷 処 理 定 義 体 を 使 用 し な い 印 刷 処 理 に つ い て 学 習 し ま す 。 第 7 章 W e b ア プ リ ケ ー シ ョ ン の 作 成 A S P . N E T を 利 用 し た W e b フ ォ ー ム ア プ リ ケ ー シ ョ ン の 開 発 方 法 に つ い て 演 習 を 交 え 学 習 し ま す 。 付 録 A 定 義 体 を 使 用 し た 印 刷 帳 票 定 義 体 を 使 用 し た 印 刷 の 方 法 に つ い て 解 説 し て い ま す 。 付 録 B ア プ リ ケ ー シ ョ ン の 配 置 作 成 し た ア プ リ ケ ー シ ョ ン を 配 置 ( 配 布 ) す る 方 法 に つ い て 解 説 し て い ま す 。 付 録 C サ ン プ ル プ ロ グ ラ ム 概 要 本 書 の 演 習 で 利 用 す る サ ン プ ル プ ロ グ ラ ム の 概 要 に つ い て 解 説 し て い ま す 。 付 録 D A D O . N E T を 使 用 し た サ ン プ ル 第 5 章 の デ ー タ ア ク セ ス プ ロ グ ラ ム ( 埋 め 込 み S Q L ) を 、 A D O . N E T を 利 用 し た サ ン プ ル に 変 更 し た 例 を 紹 介 し て い ま す 。

(4)

本 書 の 記 述 正 式 名 称 W i n d o w s 2 0 0 8 M i c r o s o f t ® W i n d o w s S e r v e r ® 2 0 0 8 S t a n d a r d M i c r o s o f t ® W i n d o w s S e r v e r ® 2 0 0 8 S t a n d a r d w i t h o u t H y p e r - V M i c r o s o f t ® W i n d o w s S e r v e r ® 2 0 0 8 E n t e r p r i s e M i c r o s o f t ® W i n d o w s S e r v e r ® 2 0 0 8 E n t e r p r i s e w i t h o u t H y p e r - V W i n d o w s V i s t a M i c r o s o f t ® W i n d o w s ® V i s t a H o m e B a s i c M i c r o s o f t ® W i n d o w s ® V i s t a H o m e P r e m i u m M i c r o s o f t ® W i n d o w s ® V i s t a B u s i n e s s M i c r o s o f t ® W i n d o w s ® V i s t a E n t e r p r i s e M i c r o s o f t ® W i n d o w s ® V i s t a U l t i m a t e W i n d o w s X P M i c r o s o f t ® W i n d o w s ® X P P r o f e s s i o n a l M i c r o s o f t ® W i n d o w s ® X P H o m e E d i t i o n W i n d o w s S e r v e r 2 0 0 3 M i c r o s o f t ® W i n d o w s S e r v e r ® 2 0 0 3 R 2 , S t a n d a r d E d i t i o n M i c r o s o f t ® W i n d o w s S e r v e r ® 2 0 0 3 R 2 , E n t e r p r i s e E d i t i o n M i c r o s o f t ® W i n d o w s S e r v e r ® 2 0 0 3 , S t a n d a r d E d i t i o n M i c r o s o f t ® W i n d o w s S e r v e r ® 2 0 0 3 , E n t e r p r i s e E d i t i o n S Q L S e r v e r M i c r o s o f t ® S Q L S e r v e r 2 0 0 5 M i c r o s o f t ® S Q L S e r v e r 2 0 0 8 V i s u a l S t u d i o V i s u a l S t u d i o 2 0 0 8 V i s u a l S t u d i o T e a m S y s t e m 2 0 0 8 ◆ 商 標 ・ M i c r o s o f t 、 W i n d o w s は 、 米 国 M i c r o s o f t C o r p o r a t i o n の 米 国 お よ び そ の 他 の 国 に お け る 登 録 商 標 で す 。 ・ S u n 、 S u n M i c r o s y s t e m s 、 S u n ロ ゴ 、 S o l a r i s お よ び す べ て の S o l a r i s に 関 連 す る 商 標 お よ び ロ ゴ は 、 米 国 お よ び そ の 他 の 国 に お け る 米 国 S u n M i c r o s y s t e m s , I n c . の 商 標 ま た は 登 録 商 標 で あ り 、 同 社 の ラ イ セ ン ス を 受 け て 使 用 し て い ま す 。 ・ S o l a r i s ( T M ) O p e r a t i n g S y s t e m は 、 本 資 料 で は 「 S o l a r i s 」 と 記 述 し て い ま す 。 ・ そ の 他 、 製 品 名 な ど の 固 有 名 詞 は 、 各 社 の 商 標 ま た は 登 録 商 標 で す 。 ・ そ の 他 、 本 資 料 に 記 載 さ れ て い る シ ス テ ム 名 、 製 品 名 な ど は 、 必 ず し も 商 標 表 示 ( T M ・ ® ) を 付 記 し て い ま せ ん 。

(5)

な ど の 機 能 が 省 略 さ れ て い ま す 。 実 際 の ア プ リ ケ ー シ ョ ン 開 発 で は 、 要 件 に 応 じ て 適 切 な 設 計 を 行 っ て く だ さ い 。

(6)

第1章 NetCOBOL for .NETとは

1.1 .NET Frameworkの概要

1.2 NetCOBOL for .NETの概要

1.3 NetCOBOL for .NETで開発できるアプリケーション

1.4 NetCOBOL for .NETのシステム構築パターン

(7)

1.1 .NET Frameworkの概要

1.1.1 プログラムを作る前に

N e t C O B O L f o r . N E T の 概 要 を 把 握 す る 前 に 、 M i c r o s o f t . N E T F r a m e w o r k の 概 要 を 把 握 す る 必 要 が あ り ま す 。 . N E T F r a m e w o r k は 、 様 々 な 形 式 の ア プ リ ケ ー シ ョ ン ( Wi n d o w s ア プ リ ケ ー シ ョ ン 、 XML Web サ ー ビス 、 Webアプ リケ ーショ ンな ど)に 対 す る サ ー ビ ス ・ イ ン タ フ ェ ー ス を 提 供 し て い ま す 。 「 Framework 」 と は 、 「 枠 組 み 、 骨 組 み 」 と い う 意 味 で 、 具 体 的 に 言 え ば 、 XML Webサ ー ビ ス な ど か ら 利 用 で き る コ ン ポ ー ネ ン ト や ク ラ ス の 集 合 体 で す 。 . N E T F r a m e w o r k を 使 用 し て 開 発 し た ア プ リ ケ ー シ ョ ン は 、 . N E T F r a m e w o r k が 実 装 さ れ た 環 境 で あ れ ば 、 プ ラ ッ ト フ ォ ー ム ・ ハ ー ド ウ ェ ア や OSの違 いを 超えて 、ど こでも 実行 するこ とが できま す。 図 1 . 1 . 1 . N E T F r a m e w o r k の 構 成 . N E T F r a m e w o r k で は 、 様 々 な プ ロ グ ラ ミ ン グ 言 語 で ア プ リ ケ ー シ ョ ン の 開 発 を 行 な う こ と が で き る よ う に 、 共 通 の プ ロ グ ラ ミ ン グ ・ イ ン タ

(8)

フ ェ ー ス を 提 供 し て い ま す 。 ま た 、 異 な る 言 語 の プ ロ グ ラ ム か ら 作 成 さ れ た オ ブ ジ ェ ク ト も 、 共 通 の ラ ン タ イ ム シ ス テ ム に よ っ て 協 調 し て 実 行 で き ま す 。 .NET Frameworkを 利 用 する ことで 、ア プリケ ーシ ョンの 生 産 性 や プ ロ グ ラ ム ・ コ ー ド の 再 利 用 性 、 シ ス テ ム の 信 頼 性 を 高 め る こ と が で き ま す 。 . N E T F r a m e w o r k は 次 の 要 素 か ら 構 成 さ れ て い ま す 。 9 共通言語ランタイム (CLR) ラ ン タ イ ム ・ サ ー ビ ス を 受 け 持 ち 、 言 語 ( プ ロ グ ラ ミ ン グ 言 語 ) の 統 合 、 セ キ ュ リ テ ィ 強 化 、 メ モ リ 管 理 、 プ ロ セ ス 管 理 、 ス レ ッ ド 管 理 な ど を 行 い ま す 。 9 クラスライブラリ ク ラ ス ラ イ ブ ラ リ は 、 複 数 の ク ラ ス で 構 成 さ れ て お り 、 .NET F r a m e w o r k で サ ポ ー ト さ れ る 複 数 の プ ロ グ ラ ミ ン グ 言 語 に 、 共 通 で 一 貫 し た 開 発 イ ン タ フ ェ ー ス を 提 供 し ま す 。 . N E T F r a m e w o r k 基 本 ク ラ ス は 、 入 出 力 、 文 字 列 操 作 、 セ キ ュ リ テ ィ 管 理 、 ユ ー ザ イ ン タ フ ェ ー ス デ ザ イ ン な ど 、 .NET Frameworkの 標 準 的 な 機 能 を 提 供 し ま す 。 D a t a a n d X M L ク ラ ス ( A D O . N E T ク ラ ス と X M L ク ラ ス ) は 、 デ ー タ ベ ー ス や XMLの 操 作を 行う ための 機能 を提供 しま す。 A S P. N E T ク ラ ス は 、 We b ア プ リ ケ ー シ ョ ン と X M L We b サ ー ビ ス を 開 発 す る た め の 機 能 を 提 供 し ま す 。 Wi n d o w s フ ォ ー ム ク ラ ス は 、 デ ス ク ト ッ プ ア プ リ ケ ー シ ョ ン 用 の 開 発 を 行 う た め の 機 能 を 提 供 し ま す 。

1.1.2 言語に依存しない仕様

従 来 の ア プ リ ケ ー シ ョ ン の 開 発 は 、 言 語 ご と に 使 用 す る 開 発 製 品 、 コ ン パ イ ラ 、 コ ン パ イ ル 後 に 生 成 さ れ た 実 行 モ ジ ュ ー ル の 全 て が 異 な り 、 言 語 固 有 の 形 式 で 実 行 モ ジ ュ ー ル が 作 成 さ れ て い ま し た 。

(9)

COBOLアプリケーション COBOLソース COBOLコンパイラ COBOLコンパイラ VBアプリケーション VBソース VBコンパイラ VBコンパイラ 実行 モジュール モジュール実行 従来 の ア プ リ ケ ー シ ョ ン COBOLソース VBソース .N ET F ra m e w ork の アプ リ ケ ー ショ ン .NET アプリケーション 言語に依存した モジュール 言語に依存 しない共通 モジュール 実行モジュール MSIL(中間言語) データメタ COBOLコンパイラ (CLR対応) COBOLコンパイラ (CLR対応) VBコンパイラVBコンパイラ(CLR対応)(CLR対応) 図 1 . 1 . 2 言 語 に 依 存 し な い 仕 様 . N E T F r a m e w o r k を 利 用 し て 開 発 を 行 う 場 合 、 C O B O L 、 V B 、 C # 、 J # 、 C + + な ど の 共 通 言 語 ラ ン タ イ ム に 準 拠 し て い る 多 く の 言 語 を 使 っ て プ ロ グ ラ ム を 記 述 す る こ と が 可 能 で あ り 、 各 言 語 の コ ン パ イ ラ は 、 各 言 語 の ソ ー ス か ら 言 語 を 意 識 し な い 実 行 環 境 (CLR: Co mmon Language R u n t i m e ) 用 の 実 行 モ ジ ュ ー ル を 生 成 し ま す 。

1.1.3 OSに依存しない仕様

従 来 の ア プ リ ケ ー シ ョ ン は 、 開 発 時 に 使 用 し た プ ラ ッ ト フ ォ ー ム 上 で の み 実 行 す る こ と が 可 能 で し た 。 例 え ば 、 Windows版 Net COB O Lは 、 Wi n d o w s 上 で 動 作 す る ア プ リ ケ ー シ ョ ン を 開 発 す る 製 品 で あ り 、 ソ ー ス レ ベ ル で は 他 の プ ラ ッ ト フ ォ ー ム と 互 換 性 が あ る も の の 、 実 行 モ ジ ュ ー ル (EXEや DLL) を 他 の OS上 でそ のま ま動作 させ ること はで きませ ん。 各 プ ラ ッ ト フ ォ ー ム 専 用 の 開 発 製 品 で コ ン パ イ ル し 、 実 行 モ ジ ュ ー ル を 作 成 す る 必 要 が あ り ま す 。

(10)

従来のアプリケーションのイメージ

.NET Frameworkを利用したアプリケーションのイメージ .NET Frameworkを利用したアプリケーションのイメージ

Windows Solaris Linux

アプリ アプリ アプリ 互換性なしアプリの

JavaVMを使用したアプリケーションのイメージ

Windows Solaris Linux

Windows WindowsCE アプリ アプリ アプリ .NET Framework がプラットフォー ムの違いを吸収 するため、アプリ の互換あり モバイルOS JavaVM アプリ アプリ アプリ JavaVMがプラット フォームの違いを 吸収するため、ア プリの互換あり

JavaVM JavaVM JavaVM

.NETFramework .NETFramework .NETFramework

図 1 . 1 . 3 O S に 依 存 し な い 仕 様

し か し 、 .NET Frameworkを 利 用 して 開発し たア プリケ ーシ ョンは 、 実 行 時 、 OSと アプ リケ ーシ ョンの 間に .NET Framewo rkが 介在 する こと に よ り 、 プ ラ ッ ト フ ォ ー ム の 違 い を 吸 収 す る た め 、 Java VMと 同 じよ う に 、 あ ら ゆ る OS上 で同 じア プリケ ーシ ョンを 実行 するこ とが 可能に な り ま す 。

1.1.4 ハードウェアに依存しない仕様

. N E T F r a m e w o r k 上 で 開 発 さ れ た . N E T ア プ リ ケ ー シ ョ ン は 、 . N E T F r a m e w o r k が イ ン ス ト ー ル さ れ た 環 境 で あ れ ば 、 P C 、 P D A 、 携 帯 電 話 な ど 、 あ ら ゆ る ハ ー ド ウ ェ ア 上 で 動 作 さ せ る こ と が 可 能 に な り ま す 。

(11)

.NET Framework PC PC .NET F ra m ew or k OS (W in do w s/ その 他 OS ) PD A PD A . NE T F ra m ew or k OS (W in do w s/ その 他 OS ) 携帯電話 携帯電話 . NE T F ra m ew or k ASP .N ET モ バ イ ル コ ン ト ロ ー ル 再翻訳なしで.NETアプリ ケーションの実行が可能 .NET アプリケーション 図 1 . 1 . 4 ハ ー ド ウ ェ ア に 依 存 し な い 仕 様 ま た 、 .NETア プ リケー ショ ンは、 再翻 訳を行 うこ となく .NET F r a m e w o r k 上 で 実 行 す る こ と が で き ま す 。 こ れ は 、 . N E T F r a m e w o r k が 下 位 互 換 の 動 作 を 保 証 し て い る た め で す 。 具 体 的 に は 、 .NET F r a m e w o r k を 使 用 し て 作 成 し た ア プ リ ケ ー シ ョ ン は 、 . N E T F r a m e w o r k で 実 行 す る こ と が 可 能 で す 。 . N E T F r a m e w o r k は 、 N e t C O B O L f o r . N E T や Vi s u a l S t u d i o の C D -R O M 、 ま た M i c r o s o f t の ウ ェ ブ ペ ー ジ か ら ダ ウ ン ロ ー ド し て イ ン ス ト ー ル す る こ と が 可 能 で す 。 ま た 、 Windows Vista/ Windows Server 2008 以 降 で は 、 .NET Framework 3.0が 標準 で提供 され ていま す。

1.1.5 言語の特性を活かした開発

既 に 述 べ た よ う に 、 .NET Frameworkは 、 プ ラッ トフォ ーム 、 OS、 言 語 に 依 存 に し な い ア プ リ ケ ー シ ョ ン の 開 発 を 可 能 に し ま す 。 こ れ は 、 各 言 語 が 得 意 と す る 処 理 を 、 各 言 語 の 開 発 に 携 わ っ て き た 技 術 者 が 分 散 開 発 す る こ と に よ り 、 保 守 性 に 優 れ た よ り 柔 軟 な ア プ リ ケ ー シ ョ ン の 開 発 が 可 能 に な る と い う メ リ ッ ト が あ り ま す 。

(12)

.NET Framework .NET Framework ブラウザ NetCOBOL for.NET C# 帳票印刷やファイル 処理はCOBOL技術 者が担当 データベースl連携は C#技術者が担当 VB Excel連携はVB技術 者が担当 VB ASP.NET WebフロントはVB技 術者が担当 図 1 . 1 . 5 言 語 の 特 性 を 活 か し た 開 発 例 え ば 、 図 の よ う に 、 COB OL技 術 者が 帳票印 刷や ファイ ル処 理、VB 技 術 者 が Excel連 携 やWebフ ロ ント 、 C#の技 術者 がデー タベ ース連 携の ロ ジ ッ ク を 担 当 す る と い っ た よ う な 開 発 が 可 能 と な り ま す 。

1.1.6 .NET Frameworkの活用イメージ

下 図 は 、 .NET Frameworkで 開 発 した Webア プリ ケーシ ョン や XML We b サ ー ビ ス を 活 用 し た イ メ ー ジ で す 。

(13)

日本 日本 .NET Framework フランス フランス アメリカ アメリカ .NET Framework ASP.NET 世界のお天気提供Web (Webアプリケーション) ブラウザ 日本の天気 が知りたいな。 日本は 晴れなんだ。 .NET Framework XML/SOAP ASP.NET 日本の気象情報 (XML Webサービス) ASP.NET フランスの気象情報 (XML Webサービス) HTTP 利用者 図 1 . 1 . 6 . N E T ア プ リ ケ ー シ ョ ン の 活 用 イ メ ー ジ 利 用 者 が 、 日 本 の お 天 気 情 報 を 知 る た め に 、 世 界 の お 天 気 情 報 を 提 供 し て い る Webア プ リケー ショ ンにア クセ スして いま す。世 界の お天気 提 供 Webア プリ ケー ション は、 利用者 の依 頼に応 じて 日本の お天 気情報 を 提 供 し て い る XML We bサ ービ スに アク セスし 、情 報を取 得し て利用 者 に ペ ー ジ を 返 し て い ま す 。 こ の よ う に 、 XML Webサ ー ビ スを 利用す る こ と で 、 情 報 を 一 元 管 理 し て 提 供 す る こ と が で き ま す 。

1.1.7 クラスの概要 (ASP.NET)

. N E T F r a m e w o r k を 使 用 し て ア プ リ ケ ー シ ョ ン を 作 成 す る 場 合 、 ア プ リ ケ ー シ ョ ン の 形 態 に 応 じ て 使 用 す る ク ラ ス が 異 な り ま す 。 例 え ば 、 We b ア プ リ ケ ー シ ョ ン や We b サ ー ビ ス を 開 発 す る 場 合 、 A S P. N E T の 技 術 を 利 用 し て 作 成 し ま す が 、 そ の 機 能 は 、 Sy ste m. Web 名 前 空間 に含ま れ る ク ラ ス が 提 供 し て い ま す 。

(14)

ASP.NET アプリケーション System.Web(名前空間) System.Web.UI (名前空間) System.Web.Services(名前空間) XML Web サービスに付加 情報を設定するクラス XML Web サービスの派生元 となる基本クラス : : ※System.Web名前空間には上図以外にも多くのクラスと名前空間が含まれています。 Webフォームのクラス : : クライアントから送信された データを操作するクラス HTTP固有の情報をカプセル化 するクラス 処理に対応するクラス を定義してメソッドや プロパティを操作する : : : : System.Web.UI.WebControl (名前空間) Buttonのクラス : : Labelのクラス 図 1 . 1 . 7 S y s t e m . W e b 名 前 空 間 ( A S P . N E T ) 利 用 者 は 、 処 理 に 対 応 す る ク ラ ス を Sy ste m. Web 名 前 空間 から 探して 定 義 し 、 そ の ク ラ ス か ら 提 供 さ れ て い る メ ソ ッ ド や プ ロ パ テ ィ を 操 作 し て ア プ リ ケ ー シ ョ ン を 作 成 し ま す 。

1.1.8 クラスの概要 (ADO.NET)

. N E T F r a m e w o r k を 利 用 し て デ ー タ ベ ー ス 連 携 の ア プ リ ケ ー シ ョ ン を 作 成 す る 場 合 、 ADO.NET の 技 術 を 利 用 し て 開 発 し ま す が 、 そ の 機 能 は 、 S y s t e m . D a t a 名 前 空 間 に 含 ま れ る ク ラ ス が 提 供 し て い ま す 。

(15)

ADO.NET アプリケーション System.Data(名前空間) System.Data.SqlClient (名前空間) System.Data.OleDb(名前空間) OleDbデータブロバイダ SQLコマンド発行クラス OleDbデータプロバイダ 接続クラス : : ※System.Data名前空間には上図以外にも多くのクラスと名前空間が含まれています。 SqServer専用SQLコマンド 発行クラス SqlServer専用接続クラス : : 仮想テーブルの行クラス データソースから取得した 仮想テーブルクラス 処理に対応するクラス を定義してメソッドや プロパティを操作する : : : : DB 図 1 . 1 . 8 S y s t e m . D a t a 名 前 空 間 ( A D O . N E T )

利 用 者 は 、 処 理 に 対 応 す る ク ラ ス を Sy ste m. Dat a名 前 空 間か ら探し て 定 義 し 、 そ の ク ラ ス か ら 提 供 さ れ て い る メ ソ ッ ド や プ ロ パ テ ィ を 操 作 し て ア プ リ ケ ー シ ョ ン を 作 成 し ま す 。

1.1.9 .NET Framework基本クラスの概要

. N E T F r a m e w o r k で 作 成 す る ア プ リ ケ ー シ ョ ン 共 通 の 処 理 を 行 う ク ラ ス は 、 Sy ste m名 前 空 間 に含 まれて いま す。

(16)

アプリケーション 全般 System (名前空間) 数値型のクラス : : ※System名前空間には上図以外にも多くのクラスと名前空間が含まれています。 例外処理クラス 文字列型のクラス 全てのクラスの基本クラス 処理に対応するクラス を定義してメソッドや プロパティを操作する : : System.Data.SqlClient (名前空間) System.Data.OleDb(名前空間) : : : : : : : : System.Web.Services (名前空間) : : : : : : System.Web.UI (名前空間) : : : : : : : : 図 1 . 1 . 9 S y s t e m 名 前 空 間 ( . N E T F r a m e w o r k 基 本 ) S y s t e m 名 前 空 間 に は 、 . N E T F r a m e w o r k で 使 用 す る デ ー タ 型 ( 値 型 と 参 照 型 ) や イ ベ ン ト 、 例 外 処 理 を 行 う ク ラ ス が 定 義 さ れ て お り 、 前 述 し た ASP.NETや ADO. N ETで 使 用す る名 前空間 も、 全てSy stem名 前 空間 に 含 ま れ て い ま す 。 利 用 者 は 、 処 理 に 対 応 す る ク ラ ス を Sy ste m名 前 空 間か ら 探 し て 定 義 し 、 そ の ク ラ ス か ら 提 供 さ れ て い る メ ソ ッ ド や プ ロ パ テ ィ を 操 作 し て ア プ リ ケ ー シ ョ ン を 作 成 し ま す 。

(17)

1.2 NetCOBOL for .NETの概要

1.2.1 NetCOBOL for .NETの構成

N e t C O B O L f o r . N E T は 、 . N E T F r a m e w o r k に 対 応 し た 富 士 通 製 の C O B O L 製 品 で あ り 、 . N E T F r a m e w o r k プ ラ ッ ト フ ォ ー ム 上 で 動 作 す る ア プ リ ケ ー シ ョ ン を 開 発 す る こ と が で き ま す 。 N e t C O B O L f o r . N E T は 、 名 前 の と お り . N E T F r a m e w o r k に 対 応 し て い る た め 、 .NET Frameworkが 提 供 する 多くの クラ スライ ブラ リを利 用し て 、 様 々 な 機 能 を 実 現 で き ま す 。 例 え ば 、 COBO Lで Webア プ リケー シ ョ ン や Webサ ービ スを構 築す ること がで きます 。 ま た 、 従 来 の COBOL の ビジ ネスロ ジッ クで作 成さ れてい るア プリケ ー シ ョ ン や 画 面 帳 票 定 義 体 (MeFt) と 連 携を 行う ことも 可能 なため 、既 存 資 産 と 最 新 技 術 を 融 合 し た ア プ リ ケ ー シ ョ ン の 開 発 が で き ま す 。

Microsoft .NET Framework

共通言語ランタイム(CLR) クラスライブラリ 共通言語仕様(CLS) ベースクラスライブラリ ADO.NET (データベースとXML) ASP.NET Webサービス・Webフォーム Windowsフォーム Visual Studio.NET

VB C# C++ /CLI NetCOBOL for .NET

(18)

1.2.2 NetCOBOL for .NETと.NET Frameworkの関係

N e t C O B O L f o r . N E T は 、 . N E T F r a m e w o r k の 機 能 を 利 用 す る こ と で 、 い ま ま で の COB OLに な かっ た様々 な機 能を利 用で きます 。特 に、画 面 処 理 や Webシ ステ ムに関 する 機能が 、従 来のCOB OL と 比 較し て飛躍 的 に 向 上 し ま す 。 ま た 、 従 来 の 手 続 き 型 COB OLの 主 要な 機能に つい ても、 ソー スレベ ル で 完 全 互 換 し て い ま す 。

NetCOBOL for .NET

手続き型COBOL文法 オブジェクトCOBOL文法 .NET Frameworkの機能 ベースクラスライブラリ ADO.NET (DBとXML) Web画面 Windows画面 COBOLの機能 コンソール画面 埋め込みSQL 組み込み関数 印刷機能 ファイルアクセス 図 1 . 2 . 2 . N E T F r a m e w o r k の 機 能 と C O B O L の 機 能 . N E T F r a m e w o r k の 機 能 の 利 用 . N E T F r a m e w o r k の 機 能 を 利 用 す る た め に は 、 C O B O L か ら ク ラ ス ラ イ ブ ラ リ を 呼 び 出 す 必 要 が あ り ま す 。 ク ラ ス ラ イ ブ ラ リ は 、 COBOL オ ブ ジ ェ ク ト 指 向 プ ロ グ ラ ミ ン グ 機 能 を 用 い て 利 用 し ま す 。 オ ブ ジ ェ ク ト 指 向 プ ロ グ ラ ミ ン グ 機 能 は 、 最 新 の COB OL で 規 格 化 さ れ て い ま す 。 N e t C O B O L f o r . N E T の オ ブ ジ ェ ク ト 指 向 プ ロ グ ラ ミ ン グ 機 能 は 、 規 格 を ベ ー ス に 多 少 の .NET固 有 機能 を追 加した もの です。 . N E T F r a m e w o r k が 提 供 す る 機 能 と し て は 、 Wi n d o w s や We b の G U I 画 面 、 ADO. NETを 利 用し たデ ータベ ース アクセ ス、 多様な 機能 を提供 す る ベ ー ス ク ラ ス ラ イ ブ ラ リ な ど が あ り ま す 。

(19)

C O B O L 独 自 の 機 能 の 利 用

. N E T F r a m e w o r k に 依 存 し な い 処 理 に つ い て は 、 従 来 ど お り の 手 続 き 型 の COB O L 文 法 を 利 用 す る こ と が で き ま す 。 コ ン ソ ー ル 画 面 の 利 用 、 印 刷 機 能 、 フ ァ イ ル ア ク セ ス 機 能 な ど 、 COBOLの 主 要 機能 を利用 す る こ と が で き ま す 。

1.2.3 NetCOBOL for .NETの製品構成

N e t C O B O L f o r . N E T シ リ ー ズ は 、 開 発 環 境 製 品 お よ び サ ー バ 運 用 環 境 製 品 を 提 供 し て お り 、 ご 利 用 に な る 製 品 は 、 「 NetC OB OL “エ デ ィ ショ ン名” “パ ッ ケー ジ名 ”」で 決ま ります 。次 に 、 そ れ ぞ れ の 製 品 に つ い て 説 明 し ま す 。 【 NetCOBOL開発環境製品】 【 NetCOBOL運用環境製品】 c c エディション構成

Enterprise Edition

■高性能ソート・マージ ■64ビットアプリ開発環境

Enterprise Edition

Standard Edition

■帳票設計ツール ■Visual Studio 2008 開発環境 ■他言語とシームレスな連携 ■フレームワークに沿った 効率よいアプリ開発

Base Edition

COBOLアプリ COBOLアプリ COBOLアプリ

Standard Edition

Base Edition

COBOLアプリ COBOLアプリ COBOLアプリ パッケージ構成 開発パッケージ クライアント運用パッケージ サーバ運用パッケージ 図 1 . 2 . 3 N e t C O B O L f o r . N E T 製 品 構 成 開 発 環 境 製 品 N e t C O B O L f o r . N E T は 、 C O B O L コ ン パ イ ラ と 関 連 ツ ー ル か ら 構 成 さ れ て お り 、 .NETプ ラ ッ トフ ォーム 向け アプリ ケー ション の作 成が可 能 で す 。 ま た 、 他 の 言 語 で 作 成 さ れ た ク ラ ス を 継 承 し た り 、 他 の 言 語 で 記 述 さ れ た メ ソ ッ ド を 呼 び 出 し た り す る こ と が で き ま す 。 ま た 、 We b サ ー ビ ス と A S P. N E T ペ ー ジ の ビ ジ ネ ス ロ ジ ッ ク に C O B O L を 使 用 す る こ と が で き 、 .NET版 で サポー トし ている 言語 仕様範 囲内 であれ ば 、 従 来 の COB OLソ ー スを 流用す るこ とも可 能で す。

(20)

開 発 環 境 製 品 に は 次 の 3 つ のエ ディ ショ ンが用 意さ れてい ます 。

9 NetCOBOL Base Edition 開発パッケージ for .NET

C O B O L コ ン パ イ ラ を 含 む Vi s u a l St u d i o 2 0 0 8 開 発 環 境 を 提 供 9 NetCOBOL Standard Edition開発パッケージ for .NET

C O B O L コ ン パ イ ラ を 含 む Vi s u a l St u d i o 2 0 0 8 開 発 環 境 に 帳 票 設 計 ツ ー ル を 追 加

9 NetCOBOL Enterprise Edition開発パッケージ for .NET

N e t C O B O L St a n d a r d E d i t i o n 開 発 パ ッ ケ ー ジ に 、 サ ー バ ア プ リ ケ ー シ ョ ン 開 発 を 支 援 す る 高 性 能 ソ ー ト ・ マ ー ジ と 64ビッ トア プリ 開 発 環 境 を 追 加 運 用 環 境 製 品 運 用 環 境 製 品 に は 、 動 作 す る OSの 違い で「ク ライ アント 運用 パッケ ー ジ 」 と 「 サ ー バ 運 用 パ ッ ケ ー ジ 」 の 2 種 類 の 製 品 を 用 意 し て い ま す 。 「 ク ラ イ ア ン ト 運 用 パ ッ ケ ー ジ 」 は 、 作 成 し た ア プ リ ケ ー シ ョ ン を ク ラ イ ア ン ト OS側 で 実行 する 場合に 必要 なラン タイ ム製品 です 。運用 ア プ リ ケ ー シ ョ ン が 必 要 と す る 機 能 範 囲 に 応 じ て 、 エ デ ィ シ ョ ン を 選 択 す る 必 要 が あ り ま す 。

な お 、 Net COBOL En terprise Ed itionは 、サ ーバ アプリ ケー ション の み の 開 発 で あ る た め 、 ク ラ イ ア ン ト 運 用 パ ッ ケ ー ジ は あ り ま せ ん 。

9 NetCOBOL Base Edition クライアント運用パッケージ for .NET N e t C O B O L B a s e E d i t i o n 開 発 パ ッ ケ ー ジ で 作 成 し た ア プ リ ケ ー シ ョ ン の ラ ン タ イ ム 製 品

9 NetCOBOL Standard Edition クライアント運用パッケージ f o r . N E T N e t C O B O L St a n d a r d E d i t i o n 開 発 パ ッ ケ ー ジ で 作 成 し た ア プ リ ケ ー シ ョ ン の ラ ン タ イ ム 製 品 「 サ ー バ 運 用 パ ッ ケ ー ジ 」 は 、 Webア プ リケー ショ ン、Web サ ー ビス ア プ リ ケ ー シ ョ ン の 実 行 や 、 ア プ リ ケ ー シ ョ ン を サ ー バ OS 上 で 実行 す る 場 合 に 必 要 な ラ ン タ イ ム 製 品 で す 。 運 用 ア プ リ ケ ー シ ョ ン が 必 要 と す る 機 能 範 囲 に 応 じ て 、 エ デ ィ シ ョ ン を 選 択 す る 必 要 が あ り ま す 。

9 NetCOBOL Base Edition サーバ運用パッケージ for .NET

N e t C O B O L B a s e E d i t i o n 開 発 パ ッ ケ ー ジ で 作 成 し た ア プ リ ケ ー シ ョ ン の ラ ン タ イ ム 製 品

(21)

9 NetCOBOL Standard Edition サーバ運用パッケージ for .NET N e t C O B O L St a n d a r d E d i t i o n 開 発 パ ッ ケ ー ジ で 作 成 し た ア プ リ ケ ー シ ョ ン の ラ ン タ イ ム 製 品

9 NetCOBOL Enterprise Edition サーバ運用パッケージ for .NET N e t C O B O L E n t e r p r i s e E d i t i o n 開 発 パ ッ ケ ー ジ で 作 成 し た ア プ リ ケ ー シ ョ ン の ラ ン タ イ ム 製 品

1.2.4 NetCOBOL関連製品

N e t C O B O L シ リ ー ズ に は 、 開 発 の 支 援 や 、 様 々 な 運 用 を 実 現 す る た め に 、 多 く の 関 連 製 品 が 提 供 さ れ て い ま す 。 開発支援ツール 運用系ツール DB関連ツール PowerSORT SIMPLIA

PowerRW+ for NetCOBOL (SymfoWARE7000) PowerRDBconnector for NetCOBOL PowerReplication 図 1 . 2 . 4 N e t C O B O L 関 連 製 品 S I M P L I A テ ス ト デ ー タ や 各 種 仕 様 書 の 作 成 な ど 、 ソ フ ト ウ ェ ア の 開 発 ・ 保 守 作 業 の 効 率 化 に 役 立 つ ツ ー ル 群 で す 。 Windows版 NetC O BOL

P r o f e s s i o n a l E d i t i o n お よ び E n t e r p r i s e E d i t i o n に は S I M P L I A が 添 付 さ れ て お り 、 プ ロ グ ラ ム 品 質 や 生 産 性 、 保 守 性 の 大 幅 な 向 上 が 可 能 で す ( NetC OB OL for .N ETに は 添付 され ていま せん )。

(22)

P o w e r S O R T

N e t C O B O L 単 体 の 機 能 で 、 フ ァ イ ル の ソ ー ト ・ マ ー ジ 処 理 が 行 え ま す が 、 PowerSORTを 利 用 する ことで 、よ り大量 のデ ータを 、高 度なソ ー ト 技 法 に よ り 、 短 時 間 で 処 理 で き る よ う に な り ま す 。 コ マ ン ド お よ び GUIで 処 理 を行 うこと がで きます 。 Windows版 Ne tC OBO L

E n t e r p r i s e E d i t i o n に は 、 P o w e r S O RT が 添 付 さ れ て い ま す 。 P o w e r R W + f o r N e t C O B O L P o w e r RW + f o r N e t C O B O L は 、 N e t C O B O L の 入 出 力 文 ( R E A D / W R I T E ) で ア ク セ ス で き る 信 頼 性 の 高 い フ ァ イ ル ア ク セ ス 機 能 と プ ロ グ ラ ム 間 非 同 期 通 信 機 能 を 提 供 し ま す ( マ ル チ ス レ ッ ド に 対 応 し て い な い た め 、 ASP.NETで は 利用 できま せん )。 P o w e r R D B c o n n e c t o r f o r N e t C O B O L N e t C O B O L の 入 出 力 文 ( R E A D / W R I T E ) を 使 用 し た ア プ リ ケ ー シ ョ ン か ら SQL Serverに フ ァ イル アクセ スす るため の製 品です 。 SQL 文に 書 き 直 す こ と な く 、 既 存 の COBOL ア プ リ ケ ー シ ョ ン を 有 効 活 用 し ま す 。 P o w e r R e p l i c a t i o n P o w e r RW + の 更 新 デ ー タ を 、 異 な る サ ー バ 上 に あ る デ ー タ ベ ー ス に 反 映 す る こ と に よ り 、 マ ス タ フ ァ イ ル と 複 製 フ ァ イ ル 間 の デ ー タ を 同 期 す る 機 能 を 提 供 し ま す 。

(23)

1.3 NetCOBOL for .NETで

開発できるアプリケーション

N e t C O B O L f o r . N E T で は 、 5 つ の タ イ プ の ア プ リ ケ ー シ ョ ン を 開 発 で き ま す 。 そ れ ぞ れ の ア プ リ ケ ー シ ョ ン の 形 態 に つ い て 説 明 し ま す 。

1.3.1 コンソールアプリケーション

N e t C O B O L f o r . N E T の コ ン ソ ー ル ア プ リ ケ ー シ ョ ン は 、 Wi n d o w s 版 N e t C O B O L ア プ リ ケ ー シ ョ ン に 最 も 近 い 形 式 で す 。

NetCOBOL for .NET

コンソールアプリケーション プログラム編集画面 実行画面 図 1 . 3 . 1 コ ン ソ ー ル ア プ リ ケ ー シ ョ ン の 開 発 イ メ ー ジ C O B O L の 小 入 出 力 機 能 ( D I S P L AY 文 や A C C E P T 文 ) で コ ン ソ ー ル ウ ィ ン ド ウ か ら 文 字 を 受 け 取 っ た り 、 書 き 込 ん だ り す る こ と が で き ま す 。 バ ッ チ 処 理 の プ ロ グ ラ ム で あ れ ば 、 既 存 の COBO L資 産 を その まま移 植 す る こ と も 可 能 で す 。 上 図 は 、 行 順 フ ァ イ ル か ら 読 み 込 ん だ レ コ ー ド を 表 示 す る サ ン プ ル プ ロ グ ラ ム の 編 集 画 面 と 実 行 画 面 の イ メ ー ジ で す 。

(24)

1.3.2 Windowsアプリケーション

N e t C O B O L f o r . N E T の Wi n d o w s ア プ リ ケ ー シ ョ ン は 、 従 来 の P o w e r C O B O L ア プ リ ケ ー シ ョ ン に 最 も 近 い 形 式 で す 。

NetCOBOL for .NET Windowsアプリケーション プログラム編集画面 実行画面 図 1 . 3 . 2 W i n d o w s ア プ リ ケ ー シ ョ ン の 開 発 イ メ ー ジ Wi n d o w s フ ォ ー ム と 呼 ば れ る フ レ ー ム ワ ー ク を 使 用 し て 、 画 面 の レ イ ア ウ ト を 設 計 し ま す 。 プ ロ グ ラ ミ ン グ や 画 面 処 理 に お い て 、 コ ン ソ ー ル ア プ リ ケ ー シ ョ ン や Webア プ リケー ショ ンと比 較し て、自 由度 が高い ア プ リ ケ ー シ ョ ン を 開 発 す る こ と が で き ま す 。 図 1.3.2は、 スケ ジュー ルを 登 録 し 、 一 覧 を 表 示 す る 、 サ ン プ ル ア プ リ ケ ー シ ョ ン の 編 集 画 面 と 実 行 画 面 の イ メ ー ジ で す 。

1.3.3 Webアプリケーション

N e t C O B O L f o r . N E T の We b ア プ リ ケ ー シ ョ ン と は 、 従 来 の C O B O L や N e t C O B O L シ リ ー ズ に は な い ア プ リ ケ ー シ ョ ン の 形 式 で 、 . N E T F r a m e w o r k の 主 要 な 機 能 で あ る A S P. N E T の 技 術 を 利 用 し て 開 発 し ま す 。

(25)

NetCOBOL for .NET Webアプリケーション プログラム編集画面 実行画面 図 1 . 3 . 3 W e b ア プ リ ケ ー シ ョ ン の 開 発 イ メ ー ジ H T M L な ど の 知 識 が な く て も 、 G U I で We b 画 面 の 作 成 が 可 能 で 、 プ ロ グ ラ ム か ら 画 面 へ の ア ク セ ス に は 、 オ ブ ジ ェ ク ト COBOLの 文 法を利 用 し ま す 。 Webア プ リケー ショ ンの実 行に は、WWWサ ーバ とし て M i c r o s o f t I n t e r n e t I n f o r m a t i o n S e r v i c e ( I I S ) が 必 要 で す 。

1.3.4 Webサービス

N e t C O B O L f o r . N E T の X M L We b サ ー ビ ス も 、 We b ア プ リ ケ ー シ ョ ン と 同 様 に 、 従 来 の COBOLや N et COB OLシ リ ーズ にはな い新 しい形 式の ア プ リ ケ ー シ ョ ン で ASP.NETの 技 術を 利用し てい ます。

(26)

NetCOBOL for .NET XML Webサービスアプリケーション プログラム編集画面 実行画面 図 1 . 3 . 4 W e b サ ー ビ ス の 開 発 イ メ ー ジ X M L We b サ ー ビ ス で は 、 X M L 形 式 で デ ー タ 交 換 を 行 い 、 プ ロ ト コ ル と し て SOAP (Si mpl e Obje ct A cc ess Prot ocol) を 使用 して います 。 X M L We b サ ー ビ ス は 、 We b ア プ リ ケ ー シ ョ ン な ど の バ ッ ク グ ラ ウ ン ド と し て 、 ビ ジ ネ ス ロ ジ ッ ク 層 を 受 け も ち 、 画 面 を 持 ち ま せ ん 。

1.3.5 クラスライブラリ

N e t C O B O L f o r . N E T の ク ラ ス ラ イ ブ ラ リ は 、 . N E T F r a m e w o r k 上 で 共 通 に 使 用 で き る 形 式 ( マ ネ ー ジ コ ー ド ) で ラ イ ブ ラ リ 化 し た も の で す 。

(27)

NetCOBOL for .NET クラスライブラリ プログラム編集画面 実行イメージ PowerRW+のデータ操作 処理を行うクラス クラス名:Cobol.RwAccess VB NetCOBOL for.NET C++/CLI C# Cobol.RwAccessクラスを 使 用 す る プ ロ ジ ェ ク ト の 「参照設定」に追加すること でアプリから呼び出し可能 図 1 . 3 . 5 ク ラ ス ラ イ ブ ラ リ の 開 発 イ メ ー ジ 従 来 の COBOLで は DLLに 相 当し ます 。作成 した クラス ライ ブラリ は 、 .NET Frameworkで 動作 するア プリ ケーシ ョン であれ ば、 言語を 問 わ ず に 同 じ 方 法 で 利 用 で き ま す 。 な お 、 事 前 に 汎 用 的 な 処 理 を ク ラ ス ラ イ ブ ラ リ と し て 用 意 し て お く こ と で 、 プ ロ グ ラ ム の 再 利 用 性 が 高 ま り 、 プ ロ グ ラ ミ ン グ の 効 率 化 を 図 る こ と が で き ま す 。

1.3.6 SQL CLRストアドプロシージャ

こ れ ま で 、 ス ト ア ド プ ロ シ ー ジ ャ は デ ー タ ベ ー ス 毎 に 専 用 の 言 語 で 記 述 す る 必 要 が あ り ま し た 。 S Q L C L R で は 、 . N E T F r a m e w o r k の 共 通 言 語 ラ ン タ イ ム ( C L R ) の コ ン ポ ー ネ ン ト が SQL Server 2005以 降に 統合さ れた ことに より 、マネ ー ジ コ ー ド に よ る デ ー タ ベ ー ス オ ブ ジ ェ ク ト ( ス ト ア ド プ ロ シ ー ジ ャ や ユ ー ザ 定 義 関 数 な ど ) が 利 用 可 能 に な り ま し た 。

こ れ に よ り 、 COBOL な ど .NET Frameworkで 利用 可能な 言語 でスト ア ド プ ロ シ ー ジ ャ の 記 述 が 可 能 と な り ま し た 。

(28)

NetCOBOL for .NET ストアドプロシージャ SQL Server ストアドプロ シージャ COBOLで記述可能 配置 図 1 . 3 . 6 ス ト ア ド プ ロ シ ー ジ ャ の 開 発 イ メ ー ジ ス ト ア ド プ ロ シ ー ジ ャ を 利 用 す る こ と で 、 よ り 高 速 な デ ー タ ベ ー ス ア ク セ ス が 可 能 と な り ま す 。

(29)

1.4 NetCOBOL for .NETの

システム構築パターン

1.4.1 クライアントサーバ

一 般 的 に ク ラ イ ア ン ト サ ー バ と は 、 サ ー バ 上 に デ ー タ を 配 置 し 、 複 数 の ク ラ イ ア ン ト プ ロ グ ラ ム か ら サ ー バ 上 の デ ー タ を 共 通 に 利 用 す る 形 式 を 指 し ま す 。 N e t C O B O L f o r . N E T で は 、 . N E T F r a m e w o r k の デ ー タ ベ ー ス 連 携 機 能 で あ る ADO.NETク ラ スラ イブラ リや 、 COBO L自 身 の 機能 である 埋込 み S Q L を 使 用 し て 、 ク ラ サ バ シ ス テ ム を 実 現 す る こ と が で き ま す 。

ま た 、 画 面 に は .NET Frameworkの Windowsフ ォ ームを 利用 し、多 機 能 な Windows画 面 を構 築で きます 。

Windows

.NET Framework Windows

Solaris Linuxなど NetCOBOL Standard Edition

クライアント運用パッケージfor .NET 帳票定義体 M eF t Oracle SQL Server PowerRW+ Symfoware Server A D O .N E T Windowsフォーム アプリケーション ビジネスロジック (クラスライブラリ等) O D BC 埋 込 み S Q L 図 1 . 4 . 1 . ク ラ イ ア ン ト サ ー バ 利 用 時 の 構 成 A D O . N E T は 、 デ ー タ ベ ー ス の 種 類 に よ ら な い 一 貫 し た プ ロ グ ラ ミ ン グ モ デ ル を 提 供 し て い る た め 、 同 じ 手 続 き で 様 々 な デ ー タ ベ ー ス に 接 続 で き ま す 。 Net COB O L fot .NET で ADO. NE T接 続 する場 合、 ADO.NET ク ラ ス ラ イ ブ ラ リ を 利 用 す る 方 法 と 埋 込 み SQLを 利 用す る方 法があ りま す 。

(30)

従 来 の COBOLと 高 い 互換 性があ りま す。ま た、 埋込み SQL で は、 A D O . N E T 接 続 と O D B C 接 続 を サ ポ ー ト し て い ま す 。

( 1 ) ADO.NETクラスライブラリ

長 所 9 .NET Frameworkのクラスを直接使用するため、多彩な機能を利用 で き る 9 他言語、他コンポーネントと連携しやすい 短 所 9 データアクセスに関する手続きの互換性が無い

( 2 ) 埋込みSQL

長 所 9 従来のCOBOLプログラムと互換性が高い 短 所 9 ADO.NETクラスライブラリに比較すると、機能が少ない

1.4.2 Terminal Service

オ フ コ ン で の 運 用 イ メ ー ジ に 最 も 近 い 運 用 形 態 が Ter mi n al Servi c eで す 。 プ ロ グ ラ ム 資 産 は ス タ ン ド ア ロ ン と 同 様 の 形 式 で 作 成 し ま す が 、 Wi n d o w s の Te r m i n a l S e r v i c e を 使 用 し 、 サ ー バ 上 で 実 行 さ れ る プ ロ グ ラ ム を ク ラ イ ア ン ト で 実 行 す る イ メ ー ジ で 運 用 す る こ と が で き ま す 。 こ の シ ス テ ム パ タ ー ン で は 、 デ ー タ ベ ー ス ア ク セ ス の 方 法 と し て 、 R E A D / W R I T E 形 式 に よ る ア ク セ ス が 可 能 で す ( A D O . N E T や 埋 め 込 み S Q L も 可 能 ) 。 具 体 的 に は 、 P o w e r R D B c o n n e c t o r を 使 用 し た S Q L S e r v e r と O r a c l e の 利 用 や 、 P o w e r RW + f o r N e t C O B O L の 利 用 が 可 能 で す 。 こ れ ら の 製 品 で は 、 COBO Lか ら 入 出力 インタ フェ ースを 使用 し、通 常 の フ ァ イ ル の イ メ ー ジ で デ ー タ ベ ー ス に ア ク セ ス す る こ と が で き 、 従 来 の COBOL と の互 換性も 高い といえ ます 。

(31)

Windows Server

.NET Framework

NetCOBOL Standard Edition

クライアント運用パッケージfor .NET PowerRW+ 帳票定義体 SQL Server ビジネスロジック (クラスライブラリ等) M eF t Windowsクライアント Terminal Service クライアント Terminal Service Windowsフォーム アプリケーション Oracle P ow er R D B co n n ec to r R /W ※R/W READ/WRITEインタフェース 図 1 . 4 . 2 T e r m i n a l S e r v i c e 利 用 時 の 構 成 長 所 9 運用のイメージがオフコンの場合と類似している 9 クライアント側にプログラム資源を配置する必要がなく、メンテナ ン ス が 容 易 短 所 9 クライアント側のプリンタに出力する場合は、 LPTポートのみしか サ ポ ー ト さ れ な い ( Citrix MetaF rameで は ネ ット ワーク プリ ンタに 対 応 ) 9 画面やオペレーションがネットワークで伝達されるため、回線速度 に よ っ て は レ ス ポ ン ス が 悪 く な る 9 Windows2000の場合、色数が最大256色と限定される(Windows S e r v e r 2 0 0 3 で フ ル カ ラ ー 対 応 ) 9 接続台数が多くなる場合、サーバに多くのリソース(メモリ、 CPU な ど ) が 必 要 と な る

1.4.3 Webシステム (.NET)

N e t C O B O L f o r . N E T の We b シ ス テ ム で は 、 画 面 に . N E T F r a m e w o r k の We b フ ォ ー ム を 利 用 し ま す 。

(32)

Windows Server

.NET Framework

NetCOBOL Standard Edition

サーバ運用パッケージfor .NET 帳票定義体 ビジネスロジック (クラスライブラリ等) M eF t Windowsクライアント Internet Explorer Webフォーム アプリケーション Windows Solaris Linuxなど Oracle SQL Server PowerRW+ Symfoware Server O D B C InternetInformation Service ASP.NET A D O .N E T 埋 込 み S Q L 図 1 . 4 . 3 W e b シ ス テ ム 利 用 時 の 構 成 長 所 9 表示部分とビジネスロジックを明確に分離できる 9 VBやC#などの.NET Framework上の他の開発言語との連携が容易 9 クライアントがブラウザのみで良い 短 所 9 クラスやオブジェクトの知識が必要

(33)

1.5 Windows版 NetCOBOLと

NetCOBOL for .NETの共通点と相違点

1.5.1 言語仕様は同一

N e t C O B O L f o r . N E T は 、 Wi n d o w s 版 N e t C O B O L と 同 様 、 国 際 規 格 ( A N S I 8 5 ) 、 X / O P E N ( X P G 4 ) に 準 拠 し て い る ほ か 、 国 際 規 格 2 0 0 2 に 対 応 し た オ ブ ジ ェ ク ト 指 向 プ ロ グ ラ ミ ン グ 機 能 や 業 界 主 要 仕 様 、 富 士 通 標 準 仕 様 を サ ポ ー ト し て い ま す 。 Windows版 NetCOBOL

Windows版 NetCOBOL NetCOBOL for.NETNetCOBOL for.NET

ANSI 85 X/OPEN(XPG4) オブジェクト指向 主要な業界標準仕様 SIA富士通標準仕様 ANSI 85 X/OPEN(XPG4) オブジェクト指向 主要な業界標準仕様 SIA富士通標準仕様 言語仕様は同一 1 . 5 . 1 Wi n d o w s 版 N e t C O B O L と N e t C O B O L f o r . N E T の 共 通 点 ( 言 語 仕 様 ) Wi n d o w s 版 N e t C O B O L で は 、 手 続 き 型 C O B O L 文 法 が 一 般 的 で 、 オ ブ ジ ェ ク ト 指 向 プ ロ グ ラ ミ ン グ や ク ラ ス を 利 用 し た プ ロ グ ラ ミ ン グ は 影 を ひ そ め が ち で し た が 、 Net COB O L for .NET で は、 オブジ ェク ト指向 プ ロ グ ラ ミ ン グ や ク ラ ス の 利 用 が 比 較 的 多 く な り ま す 。

し か し 、 ソ ー ス レ ベ ル で 互 換 性 が あ る た め 、 手 続 き 型 COBO L文 法 を 利 用 し た 既 存 COBOL 資 産を .NET Framewo rk上 に容 易に 移行 するこ とが 可 能 で す 。

(34)

1.5.2 Windows版 NetCOBOLとNetCOBOL for .NETの共通点

と相違点(プリコンパイラ未対応)

Wi n d o w s 版 N e t C O B O L で デ ー タ ベ ー ス に ア ク セ ス す る 場 合 は 、 O D B C 経 由 、 ま た は デ ー タ ベ ー ス か ら 提 供 さ れ て い る プ リ コ ン パ イ ラ を 使 用 し て い ま し た 。

Windows版 NetCOBOL NetCOBOL for.NET

埋め込みSQL (ODBC) プリコンパイラ READ/WRITEイン タフェ−ス BtrievePervasive) Oracle Access SQL Server Symfoware PowerRW+ Power RDBconnector 埋込みSQL READ/WRITE インタフェ−ス BtrievePervasive) Oracle Access SQL Server Symfoware PowerRW+ Power RDBconnector ADO.NET .NE T Fra m ewo rk データ プ ロ バイ ダ OD BC 図 1 . 5 . 2 W i n d o w s 版 N e t C O B O L と N e t C O B O L f o r . N E T の 相 違 点 ( プ リ コ ン パ イ ラ ) N e t C O B O L f o r . N E T で は 、 埋 込 み S Q L に よ る デ ー タ ベ ー ス ア ク セ ス や READ/ WRITEイ ン タフ ェース によ るデー タア クセス は、 従来と 同様 に 使 用 で き ま す ( 一 部 制 限 あ り ) 。 埋 込 み SQLで は 、 .NET Framework の デ ー タ ア ク セ ス 機 能 で あ る ADO.NET接 続 、従 来と同 様の ODBC接 続 が 可 能 で す 。 し か し 、 プ リ コ ン パ イ ラ は Net COB OL fo r .NETに 対 応し て い ま せ ん 。 A D O . N E T で は 、 . N E T F r a m e w o r k デ ー タ プ ロ バ イ ダ を 使 用 し て デ ー タ ベ ー ス に ア ク セ ス し ま す 。 デ ー タ ベ ー ス に よ っ て は DB専 用 のデー タ プ ロ バ イ ダ が 提 供 さ れ て お り 、 DB専 用 プロバ イダ では、 ODBCよ り 高 速 な デ ー タ 操 作 が 可 能 に な り ま す 。 そ の 他 に も 、 OLE DB .NET デ ータ プ ロ バ イ ダ や ODBC. NET デ ー タプ ロバ イダが 提供 されて いま す。

(35)

1.5.3 画面定義体未対応

Wi n d o w s 版 N e t C O B O L で 作 成 す る 画 面 処 理 の ア プ リ ケ ー シ ョ ン で は 、 F O R M で 作 成 し た 画 面 定 義 体 を フ ロ ン ト と し て 、 M e F t の 制 御 配 下 で 実 行 し て い ま し た が 、 Net COB OL fo r .NETで は 、画 面定義 体 (FORM)を 利 用 す る こ と は で き ま せ ん 。

Windows版 NetCOBOL NetCOBOL for .NET

画面 MeFt 帳票定義体 画面定義体 帳票 Webフォーム /Windows フォーム プログラム READ/WRITE 画面 MeFt 帳票定義体 帳票 プログラム READ/WRITE オブジェクト 図 1 . 5 . 3 W i n d o w s 版 N e t C O B O L と N e t C O B O L f o r . N E T の 相 違 点 ( 画 面 定 義 体 ) 画 面 は Windowsフ ォ ー ムか Webフ ォー ムを利 用す ること にな ります 。 こ れ ら の 機 能 で は 、 今 ま で の COBOLア プ リ ケー ション では 実現で きな か っ た 、 よ り Windowsラ イ クな画 面設 計が可 能に なりま す。 し か し 、 画 面 に 対 し て の 入 出 力 に 、 READ/ WRITE文 で 容易 に操作 が 行 え て い た 従 来 の COBOLプ ロ グ ラム に対し 、 NetCO BOL for . NETで は オ ブ ジ ェ ク ト 指 向 に よ る 操 作 に な る た め 、 比 較 的 高 度 な プ ロ グ ラ ミ ン グ ス キ ル が 必 要 に な り ま す 。 な お 、 帳 票 定 義 体 は 、 NetCO BOL for . NET で も 従 来 の 方 式 で 利 用 可 能 で す 。

(36)

第2章 NetCOBOL for .NETを使う

2.1 NetCOBOL for .NETの開発資産

2.2 NetCOBOL for .NETのプログラム開発画面

2.3 プログラム開発の流れ

(37)

2.1 NetCOBOL for .NETの開発資産

2.1.1 プログラム開発の単位

N e t C O B O L f o r . N E T ア プ リ ケ ー シ ョ ン は 、 Vi s u a l St u d i o の 開 発 環 境 を 用 い て 開 発 し ま す 。 Visual Stu dio で は、開 発資 産はソ リュ ーショ ンと プ ロ ジ ェ ク ト と い う 2つ の単 位で管 理さ れます 。 ソリューション プロジェクト 画面ファイル 主プログラムソースファイル 副プログラムソースファイル クラスライブラリソースファイル プログラム プログラム プロジェクト 画面ファイル 主プログラムソースファイル 副プログラムソースファイル クラスライブラリソースファイル 図 2 . 1 . 1 プ ロ グ ラ ム 開 発 の 単 位 ソ リ ュ ー シ ョ ン プ ロ グ ラ ム の も っ と も 大 き な 管 理 単 位 で す 。 ソ リ ュ ー シ ョ ン に は 一 つ 以 上 の プ ロ ジ ェ ク ト が 含 ま れ ま す 。 関 連 す る プ ロ ジ ェ ク ト を ま と め て ソ リ ュ ー シ ョ ン と し て 管 理 し ま す 。 通 常 は ソ リ ュ ー シ ョ ン に は プ ロ ジ ェ ク ト し か 含 ま れ ま せ ん が 、 ソ リ ュ ー シ ョ ン に 共 通 で プ ロ ジ ェ ク ト に 含 ま れ な い フ ァ イ ル を ソ リ ュ ー シ ョ ン 項 目 と し て 追 加 す る こ と も で き ま す 。 プ ロ ジ ェ ク ト

(38)

の プ ロ ジ ェ ク ト お よ び 4 種 類の Webサ イト のテ ンプ レート (雛 形 )が用 意 さ れ て い て 、 プ ロ ジ ェ ク ト の 作 成 時 に プ ロ グ ラ ム の 目 的 に 応 じ た プ ロ ジ ェ ク ト の テ ン プ レ ー ト を 選 び ま す 。 プ ロ ジ ェ ク ト / W e b サ イ ト を 構 成 す る フ ァ イ ル N e t C O B O L f o r . N E T の プ ロ ジ ェ ク ト / We b サ イ ト を 構 成 す る フ ァ イ ル に は 、 ソ ー ス フ ァ イ ル や 登 録 集 が あ り ま す 。 プ ロ ジ ェ ク ト を 構 成 す る フ ァ イ ル の 種 類 は 、 ア プ リ ケ ー シ ョ ン の 形 式 に よ っ て 異 な り ま す 。

2.1.2 ファイルの種類と機能

N e t C O B O L f o r . N E T で の 開 発 時 、 プ ロ ジ ェ ク ト / We b サ イ ト に 登 録 す る (登録さ れる )主な ファ イルに つい て説明 しま す。 WCFサービス ODBC情報ファイル 任意 印刷情報ファイル 任意 エントリ情報ファイル 任意 実行用の初期化ファイル *.cbr(変更可能) ファイル定義体ファイル(*.ffd) *.ffd 帳票定義体ファイル *.pmd、*.pxd、*.smd COBOL固有ファイル アセンブリリソースファイル *.resx リソースファイル Web ユーザー コントロール Web サービス Web フォーム *.aspx、*.asmx、*.asax、*.ascx、 *.svc Web関連ファイル プログラム原型定義 ENUM定義 デリゲート定義 インタフェース定義 クラス定義 プログラム定義 *.cob、*.cbl、*.cobol,*.cobx COBOLソースファイル 機能/役割 拡張子 区分 図 2 . 1 . 2 フ ァ イ ル の 種 類 と 機 能

(39)

C O B O L ソ ー ス フ ァ イ ル

C O B O L 言 語 で 記 述 さ れ た プ ロ グ ラ ム の ソ ー ス フ ァ イ ル で す 。 プ ロ グ ラ ム 定 義 や ク ラ ス 定 義 を 記 述 し ま す 。 プ ロ グ ラ ム ( 主 、 副 ) や ク ラ ス な ど で 利 用 し ま す 。 拡 張 子 は 、 *.cob、 *.cbl、 *.cobol、 *.cobxの4種 類 が 使 え ま す 。 拡 張 子 ご と に 制 限 は あ り ま せ ん 。 一 般 的 に は 、 *.cob を 利 用 し ま す ( *.cblは 登録 集とし て使 用する ケー スが多 くな ってい ま す ) 。 ま た 、 .cobxはデ ザイ ナで使 用し ます。

W e b 関 連 フ ァ イ ル

We b フ ォ ー ム や X M L We b サ ー ビ ス な ど の 機 能 で 使 用 さ れ る フ ァ イ ル で す 。 主 に GUIで 編 集 し ます 。 Web関 連 ファイ ルは 、 .NET

F r a m e w o r k で 共 通 に 利 用 さ れ る フ ァ イ ル で あ り 、 N e t C O B O L f o r . N E T 独 自 の フ ァ イ ル で は あ り ま せ ん 。 リ ソ ー ス フ ァ イ ル さ ま ざ ま な デ ー タ を ア プ リ ケ ー シ ョ ン と は 別 に 格 納 し て い る の が リ ソ ー ス フ ァ イ ル で す 。 リ ソ ー ス フ ァ イ ル を 変 更 し て も 、 ア プ リ ケ ー シ ョ ン 全 体 を 再 コ ン パ イ ル す る 必 要 が あ り ま せ ん 。 リ ソ ー ス フ ァ イ ル は 、 .NET Frameworkの 機能 として 提供 されて いま す。 C O B O L 固 有 フ ァ イ ル . N E T F r a m e w o r k に は 用 意 さ れ て お ら ず 、 N e t C O B O L f o r . N E T で 利 用 す る フ ァ イ ル で す 。 通 常 は プ ロ ジ ェ ク ト に は 追 加 せ ず に 利 用 し ま す が 、 目 的 に 応 じ て プ ロ ジ ェ ク ト に 追 加 す る こ と も で き ま す 。

(40)

2.2 NetCOBOL for .NETのプログラム開発画面

2.2.1 プログラム開発画面(画面デザイン時)

メ ニ ュ ー バ ー ツ ー ル バ ー ツ ー ル ボ ッ ク ス ソ リ ュ ー シ ョ ン エ ク ス プ ロ ー ラ プ ロ パ テ ィ ウ ィ ン ド ウ 出 力 ウ ィ ン ド ウ デ ザ イ ナ 図 2 . 2 . 1 プ ロ グ ラ ム 開 発 画 面 ( 画 面 デ ザ イ ン 時 ) ソ リ ュ ー シ ョ ン エ ク ス プ ロ ー ラ ソ リ ュ ー シ ョ ン や プ ロ ジ ェ ク ト で 管 理 さ れ る フ ァ イ ル の 一 覧 を 階 層 的 に 表 示 し て い ま す 。 ソ リ ュ ー シ ョ ン エ ク ス プ ロ ー ラ に 表 示 さ れ た フ ァ イ ル を ク リ ッ ク し 、 目 的 の フ ァ イ ル の 編 集 を 行 い ま す 。 メ ニ ュ ー バ ー / ツ ー ル バ ー 開 発 を 行 う た め に 必 要 な コ マ ン ド が 登 録 さ れ て い ま す 。 デ ザ イ ナ 画 面 を デ ザ イ ン す る た め の ウ ィ ン ド ウ で す 。 Windowsフ ォー ムアプ リ ケ ー シ ョ ン 作 成 時 に は 「 Windowsフ ォ ームデ ザイ ナ」、 Webフ ォー ム ア プ リ ケ ー シ ョ ン 作 成 時 に は 「 Webフ ォ ームデ ザイ ナ」と なり ます ( 画 面 例 は Windowsフ ォー ムデザ イナ です) 。

(41)

ツ ー ル ボ ッ ク ス デ ザ イ ナ に 表 示 さ れ た プ ロ グ ラ ム の 画 面 に 貼 り 付 け る ツ ー ル が 登 録 さ れ て い ま す 。 マ ウ ス ポ イ ン タ で ポ イ ン ト す る と 展 開 し ま す 。 プ ロ パ テ ィ ウ ィ ン ド ウ ソ リ ュ ー シ ョ ン 、 プ ロ ジ ェ ク ト 、 画 面 な ど 、 各 項 目 の プ ロ パ テ ィ や 設 定 を 行 う た め の ウ ィ ン ド ウ で す 。 出 力 ウ ィ ン ド ウ ビ ル ド の 結 果 や デ バ ッ グ 出 力 が 表 示 さ れ る ウ ィ ン ド ウ で す 。

2.2.2 プログラム開発画面(コード編集時)

コ ー ド エ デ ィ タ 2 . 2 . 2 プ ロ グ ラ ム 開 発 画 面 ( コ ー ド 編 集 時 ) コ ー ド エ デ ィ タ C O B O L の 手 続 き を 記 述 す る エ デ ィ タ で す 。 ソ リ ュ ー シ ョ ン エ ク ス プ ロ ー ラ か ら COB OLソ ー スを 選択し たり 、デザ イナ 上のコ ント ロール を ダ ブ ル ク リ ッ ク し た り す る と 表 示 さ れ ま す 。 初 期 設 定 で は 、 予 約 語 は 「 青 」 、 コ メ ン ト 行 は 「 緑 」 、 文 字 定 数 は 「 茶 」 で 表 示 さ れ ま す 。 ま た 、 IntelliSen se 機 能に より、 選択 したク ラ ス や 集 団 項 目 に 対 す る 有 効 な メ ン バ や デ ー タ を 表 示 さ せ 、 表 示 さ れ

(42)

た 一 覧 か ら メ ン バ や デ ー タ を 選 択 し て プ ロ グ ラ ム に 挿 入 し た り 、 デ ー タ の 型 情 報 を 表 示 さ せ た り す る こ と が で き ま す 。

(43)

2.3 プログラム開発の流れ

N e t C O B O L f o r . N E T で プ ロ グ ラ ム を 新 規 に 作 成 す る 場 合 の 大 ま か な 流 れ を 説 明 し ま す 。 プロジェクト/Webサイトの作成 プロジェクト/Webサイトの作成 画面のデザイン 画面のデザイン COBOL手続きの記述 COBOL手続きの記述 ビルドとエラー対処 ビルドとエラー対処 開発環境の起動 開発環境の起動 実行 実行 デバッグ デバッグ アプリケーション構成ファイルの設定 アプリケーション構成ファイルの設定 図 2 . 3 プ ロ グ ラ ム 開 発 の 流 れ 開 発 環 境 の 起 動

プ ロ グ ラ ム グ ル ー プ か ら 「 NetCO BOL 開 発 パ ッケ ージ for .NET V 4 . 0 」 を 選 択 し 、 「 N e t C O B O L f o r . N E T 」 を 起 動 し ま す 。 Vi s u a l St u d i o を 別 に イ ン ス ト ー ル し て い る 場 合 に は 、 「 Vi s u a l St u d i o 2 0 0 8 」 を 選 択 し て も 問 題 あ り ま せ ん 。 プ ロ ジ ェ ク ト / W e b サ イ ト の 作 成 目 的 に 応 じ て 、 プ ロ ジ ェ ク ト ま た は Webサ イト を作 成しま す。 さらに テ ン プ レ ー ト か ら 作 成 す る プ ロ ジ ェ ク ト や Webサ イ トの種 類を 選択し ま す 。 画 面 の デ ザ イ ン プ ロ ジ ェ ク ト や Web サイ トで [Windowsア プリ ケー ション ]や [ A S P. N E T We b サ イ ト ] を 作 成 す る 場 合 、 画 面 を 持 つ ア プ リ ケ ー シ ョ ン と な り ま す 。 画 面 を 持 つ ア プ リ ケ ー シ ョ ン の 場 合 、 画 面 に 関 連 す る 手

(44)

続 き を 作 成 す る 前 に 、 デ ザ イ ナ を 使 用 し て 画 面 デ ザ イ ン の 作 成 を 行 い ま す (クラス ライ ブラリ やサ ブプロ グラ ムの作 成は 、画面 デザ インの 前 に 行 っ て も か ま い ま せ ん 。 C O B O L 手 続 き の 記 述 プ ロ ジ ェ ク ト に COBOLプ ロ グラム やク ラスを 追加 するな どし て、 C O B O L 言 語 に よ る プ ロ グ ラ ム 手 続 き を 記 述 し ま す 。 画 面 の コ ン ト ロ ー ル (部品 )に 依存 する手 続き は、画 面に 貼り付 けら れたコ ント ロール を ダ ブ ル ク リ ッ ク し 、 コ ン ト ロ ー ル の イ ベ ン ト に 目 的 の 処 理 を C O B O L 言 語 で 記 述 し ま す 。 ビ ル ド と エ ラ ー 対 処 プ ロ グ ラ ム は ソ リ ュ ー シ ョ ン 単 位 や プ ロ ジ ェ ク ト 単 位 で ビ ル ド す る こ と が で き ま す 。 ビ ル ド は [ビ ル ド ]メ ニュ ーなど から 行いま すが 、ビル ド の 対 象 に よ り 方 法 が 若 干 異 な り ま す 。 ビ ル ド 後 は 、 文 法 エ ラ ー へ の 対 処 を 行 い ま す 。 ま た 、 文 法 エ ラ ー は 「 エ ラ ー 一 覧 」 ウ ィ ン ド ウ に 表 示 さ れ 、 エ ラ ー 表 示 行 を ダ ブ ル ク リ ッ ク す る と 、 プ ロ グ ラ ム の エ ラ ー 箇 所 に ジ ャ ン プ し ま す 。 ア プ リ ケ ー シ ョ ン 構 成 フ ァ イ ル の 設 定 [ C O B O L 実 行 環 境 設 定 ユ ー テ ィ リ テ ィ ] を 起 動 し て 表 示 さ れ る ツ ー ル で 、 実 行 環 境 変 数 や フ ァ イ ル の 割 り 当 て な ど の 定 義 を 行 い ま す 。 設 定 し た 情 報 は 、 XML形 式 のフ ァイル に出 力され ます 。 ア プ リ ケ ー シ ョ ン 構 成 フ ァ イ ル は 、 Webア プリ ケー ション と、 Web ア プ リ ケ ー シ ョ ン 以 外 で フ ァ イ ル 名 が 異 な り ま す 。 We b ア プ リ ケ ー シ ョ ン 以 外 で は 、 A p p . c o n f i g と い う フ ァ イ ル 名 で 作 成 さ れ 、 ビ ル ド 時 に 「 exe名 .exe.co nfig」 で出力 フォ ルダに コピ ーされ ま す 。 Webア プリ ケーシ ョン では「 Web.config」 となり ます 。 従 来 の 実 行 用 初 期 化 フ ァ イ ル (COBOL85.CB R)や エ ント リ情 報ファ イ ル 、 ODBC 情 報フ ァイル のイ ンポー トも 可能で す。 実 行 [ デ バ ッ グ ] - [ デ バ ッ グ 開 始 ] や [ F 5 ] キ ー を 押 す こ と に よ り 、 開 発 環 境 か ら プ ロ グ ラ ム を 起 動 す る こ と が で き ま す 。 ま た 、 COBOL実 行 環境フ ァ イ ル の 編 集 を 必 要 と す る プ ロ グ ラ ム の 場 合 、 [C OB OL 実 行環 境設定 ユ ー テ ィ リ テ ィ ]に よ り 、実 行環境 ファ イル( アプ リケー ショ ン構成 フ ァ イ ル ) を 作 成 し て か ら 実 行 を 行 い ま す 。

(45)

デ バ ッ グ 論 理 エ ラ ー な ど が 発 生 し た 場 合 の デ バ ッ グ 方 法 と し て 、 プ ロ グ ラ ム を デ バ ッ グ モ ー ド (初期値 )で ビルド する ことで 、ス テップ 実行 や式の ウ ォ ッ チ な ど を 行 う こ と が で き ま す 。 デ バ ッ グ 機 能 の た め の フ レ ー ム ワ ー ク が .NET Framewo rkで 提供 され てい ること から 、各言 語ほ ぼ共通 の 操 作 性 で デ バ ッ グ を 行 う こ と が で き ま す 。

(46)

2.4 NetCOBOL for .NETによる

手続き型プログラム作成

2.4.1 プログラム概要

こ こ で は 、 Net COB O L for .NET V4.0を 使用 して 、 COBO Lの 索 引 フ ァ イ ル を 読 み 込 ん で CSV形 式 のフ ァイ ルに変 換す るコン ソー ルアプ リケ ー シ ョ ン の 開 発 手 順 に つ い て 説 明 し ま す 。 下 図 は 、 ア プ リ ケ ー シ ョ ン の 実 行 イ メ ー ジ 図 で す 。

CSVファイル出力

COBOL索引ファイル

NetCOBOL for .NET

コンソールアプリケーション 索引ファイル読み込み PROCEDURE DIVISION. MOVE 0 TO R-COUNT. MAIN-SHORI. OPEN INPUT 商品ファイル. OPEN OUTPUT 出力ファイル. READ 商品ファイル AT END

MOVE "END" TO END-FLAG END-READ. ・・・・・ 10024,デジタル放送対応20型TV,001620 10025,デジタル放送チューナー,00062000,0 12345,ハイファイビデオ,00162000,0012500 ・・・・・・ ・・・・・・ 図 2 . 4 . 1 コ ン ソ ー ル ア プ リ ケ ー シ ョ ン の 実 行 イ メ ー ジ そ れ で は 、 実 際 に 次 の 手 順 に 従 い 、 ア プ リ ケ ー シ ョ ン を 作 成 し て い き ま し ょ う 。

2.4.2 開発環境の起動

[ ス タ ー ト ] メ ニ ュ ー の [ す べ て の プ ロ グ ラ ム ] よ り 「 N e t C O B O L f o r . N E T 」 を ク リ ッ ク し 、 N e t C O B O L f o r . N E T の 開 発 環 境 を 起 動 し ま す 。

(47)

2.4.3 プロジェクトの作成

¾ 手 順 1 起 動 画 面 の [フ ァ イ ル ]メ ニュ ーより [新 規 作成 ]-「 プ ロジ ェク ト」を 選 択 し ま す 。 ¾ 手 順 2 [ プ ロ ジ ェ ク ト の 種 類 ] よ り 「 C O B O L プ ロ ジ ェ ク ト 」 、 [ テ ン プ レ ー ト ] よ り 「 コ ン ソ ー ル ア プ リ ケ ー シ ョ ン 」 を 選 択 し 、 [プ ロジ ェク ト名]、 の テ キ ス ト ボ ッ ク ス に 「 CSVOUT」 な どの任 意の 名称を 入力 し、[場 所 ]の テ キス トボ ックス にプ ロジェ クト の作成 フォ ルダを 指定 後、 [ O K ] ボ タ ン を ク リ ッ ク し ま す 。 ¾ 手 順 3 手 順 2で 指定 した テンプ レー トに従 って 、プロ ジェ クトが 自動 生成さ れ ま す 。 ソ ー ス フ ァ イ ル 名 を 「 CSVO UT. cob」 に変 更し 、雛 型で生 成 さ れ た COBOLソ ー ス のプ ログラ ム名 ( PROG RA M- ID, EN D

(48)

" P R O G R A M - I D . C S V O U T . " に 変 更 " E N D P R O G R A M C S V O U T . " に 変 更 ¾ 手 順 4 [ ソ リ ュ ー シ ョ ン エ ク ス プ ロ ー ラ ] よ り [ プ ロ ジ ェ ク ト ] を 右 ク リ ッ ク し 、 コ ン テ キ ス ト メ ニ ュ ー よ り 「 プ ロ パ テ ィ 」 を ク リ ッ ク し ま す 。 プ ロ パ テ ィ か ら [ア プリ ケー ション ]タ グ を選 択し 、 [ス ター トアッ プオ ブ ジ ェ ク ト ]を 「 CSV OUT」 に し ます 。

図   1 . 1 . 3   O S に 依 存 し な い 仕 様   し か し 、 . N E T  F r a m e w o r k を 利 用 し て 開 発 し た ア プ リ ケ ー シ ョ ン は 、 実 行 時 、 O S と ア プ リ ケ ー シ ョ ン の 間 に
図 1 . 2 . 1   N e t C O B O L   f o r   . N E T と . N E T   F r a m e w o r k の 構 成  
図 1 . 5 . 2   W i n d o w s 版   N e t C O B O L と N e t C O B O L   f o r   . N E T の 相 違 点 ( プ リ コ ン パ イ ラ )   N e t C O B O L  f o r
図 5 . 5 . 1 ( 1 )   プ ロ グ ラ ム の 運 用 イ メ ー ジ  

参照

関連したドキュメント

Pursuit may be applied in a tank mix with a registered grass herbicide or applied preemergence following a preplant incorporated application of a registered grass

社内セキュリティ等で「.NET Framework 4.7.2」以上がご利用いただけない場合は、Internet

Air application: Apply in sufficient spray volume to obtain full coverage of the foliage or target area. ULV application: Paradigm may be mixed with once-refined vegetable oil

インド インド インド インド インド インド インドネシア インドネシア インドネシア インドネシア インドネシア インドネシア 日本 日本 日本 日本 日本 日本

Apply Poast ® herbicide to actively growing grass weeds by aerial or ground application at the rates and timing (maximum height) listed in Table 5 (annual grass weeds),

Apply Beyond early postemergence when weeds are actively growing and before broadleaf weeds exceed a height of 3 inches and grass weeds exceed 4 to 5 leaves (unless otherwise

Additional applications per year are permitted when a lower Product Use Rate per Application is used, as long as the Maximum Product Rate per Year is not exceeded..

Physical incompatibility, reduced disease control, crop injury, or incompatibility due to additives, adjuvants or other products used in combination with Merivon may result from