一般 - COBOLコンソーシアム - ホーム

インターネット時代の
COBOLの技術・活用動向
COBOLコンソーシアム会長 今城 哲二
(JIS COBOL原案作成委員会 委員長)
1
All Rights Reserved,Copyright © 2001, COBOL Consortium
目 次
Ⅰ. COBOLコンソーシアムのご案内
Ⅱ. COBOLの現状と特長
Ⅲ. 新環境・新技術に対応するCOBOL
Ⅳ.Web環境への対応
ーアプリケーションサーバ と Java連携ー
Ⅴ.COBOL-XML連携機能
Ⅵ.COBOL標準化最新動向
Ⅶ. まとめ
2
All Rights Reserved,Copyright © 2001, COBOL Consortium
Ⅰ.COBOLコンソーシアムのご案内
3
All Rights Reserved,Copyright © 2001, COBOL Consortium
「COBOLコンソーシアム」
設立目的:
COBOLコンソーシアムは,COBOL言語を広く普及させると
ともにCOBOLユーザの利益を守るために,2000年12月に設立
された非営利団体です。
会員企業:
ゼータビッツ株式会社
株式会社 ドット研究所
日本アイ・ビー・エム株式会社
富士通株式会社
東京システムハウス株式会社
日本電気株式会社
株式会社 日立製作所
メラント株式会社
事業内容:
CORBA,Java/EJB,XMLといった最新技術と融合したCOBOLの利用技術
や,2002年制定予定の次期規格仕様を活かしたCOBOLのコーディングノウハ
ウなど,ユーザにとって有用な最新の知識や技術情報を,セミナー,メールマガ
ジン,ホームページなどの媒体を通じて発信していきます。
ホームページ:
http://www.cobol.gr.jp/
4
All Rights Reserved,Copyright © 2001, COBOL Consortium
Ⅱ.COBOLの現状と特長
5
All Rights Reserved,Copyright © 2001, COBOL Consortium
ビジネスシステムの世界で
色あせないCOBOL
インターネット/Webシステムを基盤とした新しいビジネスシステム
の構築においても,大きな役割を担っている。
米国の統計でも,今も一番使われているのはCOBOL
COBOL Visual
BASIC
世界の
プログラマ数
年間の
プログラム開発量
C または
C++
300万人
160万人
110万人
35%
35%
-
6
All Rights Reserved,Copyright © 2001, COBOL Consortium
売上げを伸ばすCOBOL
COBOLが再評価され,「WS/PC版のCOBOL開発環境製品」の
国内出荷数も年々順調に伸びています。
70000
7万本
60000
6万本
5万本
50000
4万本
40000
3万本
30000
2万本
20000
1万本
10000
0
1996年
1997年
1998年
1999年
2000年(目標値)
出典: 日経システムプロバイダ 1999.10.15号
日経システムプロバイダ 2000.9.15号
WS/PC COBOLの市場が拡大,マスコミも注目 :
近年,各雑誌でもCOBOL関連の記事が増えてきました。
7
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL関連の記事/イベント
 特集 Java普及に立ちふさがるCOBOL:
日経コンピュータ 2000年8月28日号
 COBOL開発の最前線: 日経オープンシステム 2000年9月号
売れ行きチェック・ オープン系COBOL:
日経システムプロバイダ 2000年9月15日号
特集 あなたの知らない COBOLの世界:
日経ソフトウエア 2000年11月号
 COBOL生誕40周年記念セミナー:20000年9月18日(日経BP社主催)
 COBOLの40年: 共立出版社 bit 2001年2月号
 21世紀も,COBOLだね: 共立出版社 bit 2001年4月号
 COBOLによるXMLサポートの実例: JavaWORLD 2001年6月号
 インターネット環境への親和性高まり COBOLの有用性が再認識:
日経オープンシステムズ 2001年3月号
 エムティーアイのリモート携帯電話販売システム 複数会社にわたるシステムで
COBOLとJavaをリアルタイム連携: 日経オープンシステムズ 2001年5月号
サーバ対応へ進化 汎用機向け資産生かす: 日経産業新聞 2001年5月31日
8
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL言語の成熟度(C, Javaとの対比)
壮
年
期
COBOL
成青
年
熟期
度
C/C++
幼
年
期
00
20
95
19
90
19
85
19
80
19
75
19
70
19
65
19
19
60
Java
9
All Rights Reserved,Copyright © 2001, COBOL Consortium
プログラム言語の特徴・用途
(言語選択の基準)
言語
特長・用途
COBOL
事務処理に特化,基幹業務システム開発用
C/C++
高級アセンブラ,基本ソフトウエアの開発用
(C++は,オブジェクト指向を取入れたベターC)
Fortran
Java
Visual
Basic
科学技術計算に特化,研究者・技術者向け
生まれはマイコンソフト開発用,インターネット環境で急激に普及
(言語仕様はシンプルだが,多くの関連知識が必要)
Microsoft社が独自に開発,
GUIアプリケーション開発用
10
All Rights Reserved,Copyright © 2001, COBOL Consortium
企業システムで「COBOL」が選ばれる理由(1)
●高い生産性
基幹業務に必要な機能(ビジネスロジックの記述)を言語仕様として装備し
ているので,ビジネスアプリケーション開発の生産性が向上する。
手続き名や項目名に日本語が使用でき,読みやすいプログラムを作成できる。
●安定した品質と高性能のプログラムを提供
ビジネスアプリケーションではC言語より速いプログラムが作成できる。
●メインフレーム時代から長年蓄積されたシステム開発技法の活用
過去40年に渡ってCOBOL技術者の間に蓄積されてきたビジネスシステム開発
ノウハウを有効活用できる。また,開発現場で格闘してきたCOBOLプログラマ
の経験・スキルを活かし, 信頼性の高いシステムを比較的安価に作成できる。
11
All Rights Reserved,Copyright © 2001, COBOL Consortium
企業システムで「COBOL」が選ばれる理由(2)
●多くのプラットフォームがサポートする標準規格があり将来も安心
COBOLは,30年以上も国際規格により上位互換性が守られてきた言語であ
り,事務処理がなくならない限り生き続ける言語である。
現在も,2002年を目標に次期国際規格(COBOL2002)の制定作業が進められ
ている。
今後も,メインフレームからオフコン,WS/PCまで共通して使用できる
言語として,プラットホームの変化・発展に柔軟に対応していく。
●常に先端技術にも適応,今後も進化
データベース技術,分散オブジェクト技術,Webコンピューティング技術など
の新しい技術にも常に積極的に対応し進化し続けている。
12
All Rights Reserved,Copyright © 2001, COBOL Consortium
長期のメンテナンスが必要な
ビジネスロジック構築はCOBOLで
プレゼンテーション層
HTML
Java
(スクリプト)
COBOL
スクリプト
COBOL GUI
構築ツール
Visual Basic
アプリケーション層(ビジネスロジック)
COBOL プログラム
データ層
Oracle
Microsoft
SQL Server
各社DB
各社DB
・・・
ユーザインタフェース(プレゼンテーション層)は必要に応じて使い分け
ビジネスロジックは資産・知識・経験が活かせるCOBOLで構築
13
All Rights Reserved,Copyright © 2001, COBOL Consortium
Ⅲ. 新環境・新技術に対応する
COBOL
14
All Rights Reserved,Copyright © 2001, COBOL Consortium
最新技術・最新環境にも適応
COBOLは,新しいITに積極的に対応し,進化している!
データベース技術への対応
CODASYLデータベース,リレーショナルデータベース(SQL),ODBC
OLTP技術(各社オンライン環境)への対応
各時代の新しいパラダイム(構造化プログラミング/オブジェクト
指向プログラミング)に対応
GUIアプリケーション(イベント駆動型) に対応
COBOL GUIアプリケーション構築ツール,VB連携機能
他言語(C等)インタフェースのサポート
CORBAやDCOMなど,分散オブジェクト技術への対応
Webコンピューティングへの対応
CGIプログラム作成支援機能
COBOLスクリプト(COBOL言語ベースのWeb向けスクリプト言語)
Webアプリケーションサーバ対応( Java/EJB連携機能)
XML(eXtensible Markup Language)への対応
最新ハード環境(64ビット等)やVMへの対応
15
All Rights Reserved,Copyright © 2001, COBOL Consortium
データベース技術への対応
SQLインタフェースをサポート
ODBCインタフェース(Windowsプラットホーム)
によるリレーショナルデータベースアクセス
WindowsNT
サーバ
RDB
UNIX
サーバ゙
RDB
メインフレーム
RDB
COBOLLソース
(埋め込みSQL)
:
EXEC SQL FETCH ~
:
:
END-EXEC,
:
:
各種ODBCドライバ
COBOL
アプリケーション
Windows
16
All Rights Reserved,Copyright © 2001, COBOL Consortium
OLTP技術への対応
オンライン処理システムでは,各社のOLTPシステムの
下で動くアプリケーションがCOBOLで記述されている。
オンライン
端末
オンライン
端末
:
:
オンライン
端末
OLTP
COBOL
UAP
COBOL
UAP
DB
COBOL
UAP
17
All Rights Reserved,Copyright © 2001, COBOL Consortium
オブジェクト指向COBOL
●COBOLと完全上位互換
COBOLの経験とスキルを活かして,
オブジェクト指向というプログラミングパラダイムでの
COBOLプログラム作成が可能
オブジェクト指向COBOL
COBOL
クラス定義
呼び起こし
カプセル化
多重継承
ポリモフィズム
適合
●オブジェクト指向によるメリット
・差分プログラミング :継承機能により上位クラスと異なる部分だけ記述
・カプセル化:内部データの隠蔽による保守性の向上
・汎用機能のクラスライブラリ(コンポーネント)化によりプログラム作成量大幅減
COBOL GUI 構築ツール
Windows 特有のイベント駆動型GUIアプリケーションも,
慣れたCOBOLのスキルで作成きる。
・イベント手続きはCOBOLで記述
・Window / GUI部品に対する
アクセス もCOBOLで記述
既成の部品をフォームに貼りつけることで
GUI画面が作成できる。
19
All Rights Reserved,Copyright © 2001, COBOL Consortium
分散オブジェクト環境に対応
CORBA 環境やDCOM環境で稼動するサーバアプリケーションを
COBOLで開発できる。
サーバ
COBOL
実行形式
(CORBAサーバ
または
OLEサーバ)
COBOL
コンパイラ
COBOL
ソース
CORBA
国際的な標準化団体OMG(Object Management Group)が仕様
を定め,ISOも採用しているORBの仕様。
DCOM
MS社が提唱しているOLE2をベースとする分散オブジェクト
環境の仕様。ORBはWindows の機能としてOSに内蔵される。
20
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOLでのDCOMアプリケーション開発
・クライアントのプレゼンテーションは,EXCEL や VB を使用
・サーバの業務ロジックやDBへのアクセスは,既存のCOBOLアプリケーションを活用
COBOLクライアント
INVOKE OLE-HANDLE 'SUB'
USING BY VALUE IN-KEY
RETURNING COUNT1
COBOLサーバ
プログラム
(OLEサーバ)
DB
Set Obj1
= CreateObject("SRVSUB.CBLPrgmClass")
COUNT1 = Obj1.SUB(IN-KEY)
Excelのマクロ,Visual Basic
21
All Rights Reserved,Copyright © 2001, COBOL Consortium
Ⅳ.Web環境への対応
ーアプリケーションサーバ と Java連携ー
22
All Rights Reserved,Copyright © 2001, COBOL Consortium
Webシステムの構築形態
COBOL
(CGI)
COBOL
(CGI)
サーバ
OLTP
COBOL
アプリケーション
Java
(Servlet)
(JSP)
Java
COBOL
アプリ (Servlet)
(JSP)
ケーション
アプリケーション
サーバ
①
W
e
b
サ
|
バ
wwwブラウザ
COBOL
スクリプト
②
クライアント
③
インターネット/
イントラネット
① WebサーバアプリケーションCGIをCOBOLで作成できる。
HTMLファイル中にCOBOLスクリプトを記述して,入力チェックなどの処理をブラウザ側で実行可能
②Java-COBOL連携機能を使用すると,既存のOLTPシステムを容易にWeb化できる。
③ Java-COBOL連携機能を使用すると, JavaからCOBOLアプリケーションを利用できる。
23
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL(CGI機能)によるWebアプリケーション作成
COBOLによる CGIプログラム作成を支援:
フォーム情報の解析,HTMLコードの自動生成,HTMLファイルのCOBOL副プログラムへの変換)
入力情報
の解析
ブラウザから送信されるフォーム情報の形式
SEI=%93%FA%97%A7&MEI=%91%BE%98%59&SUBMIT=%91%97%90%4D
COBOL CGI機能を使うと...。
PROCEDURE DIVISION.
DATA-GET.
CALL “CBLCGIINIT“ USING A
COBOL CGIプログラム
のコーディングが簡単
COBOL CGI機能を使わないと...。
PROCEDURE DIVISION.
DATA-GET.
ACCEPT PARAM FROM SYSIN.
PERFORM VARYING ANPA-COUNT FROM 1 BY 1
UNTIL SW-1 NOT = 0
UNSTRING PARAM DELIMITED BY "&"
INTO W-BOX-1-REC(ANPACOUNT)
:
END-UNSTRING
END-PERFORM.
フォーム情報の処理に,
煩雑なコーディングが必要
24
All Rights Reserved,Copyright © 2001, COBOL Consortium
Webシステム構築の最新トレンド
e-ビジネスを支えるWebアプリケーションシステムの 迅速
な構築は企業の競争力強化の必須条件
問題点:
従来のWebシステム構築方式(Webサーバ + CGI)では,
大規模化・高性能化の要求に対応が困難
最新トレンド:
Webアプリケーションサーバで対応
●
業界標準のエンタープライズJava(J2EE) をサポートした
Javaベースのアプリケーションサーバの適用が活発化
- 多様なプラットホームに対応でき,プログラム資産の共用・流用
がしやすい。また,スケーラビリティも高い。
- Javaベース汎用共通部品(EJB)を活用できる。
COBOL資産の有効活用 Java技術者の不足が深刻
●
ビジネスロジックを担うCOBOL既存資産(プログラム資産,
人的資産) の有効活用が不可欠
25
All Rights Reserved,Copyright © 2001, COBOL Consortium
Webアプリケーションサーバ
Webアプリケーションシステムを容易かつ迅速に
開発・運用できる環境を提供
情報システムへのニーズ
Webアプリケーションサーバ
◆いつでもどこからでも
利用者中心のサービスを
素早く提供
◆Webベースのシステム
バックエンドサービスの統合
コンポーネント組み合わせ開発/既存資産の利用
◆クライアントAPの管理を軽減
◆Webブラウザのみで実現
Webブラウザ
アプリケーションサーバ
W
e
b
サ
ー
バ
プレゼンテーション層
DB
業務AP
(COBOL,他)
アプリケーション層
データ層
26
All Rights Reserved,Copyright © 2001, COBOL Consortium
Java-COBOL連携機能
Javaベースのアプリケーションサーバ環境で
COBOL資産を有効活用する手段を提供
Java-COBOL連携機能によって,Javaアプリケーション(ServletやJSP)から
COBOLプログラムをJavaBeans(EJB)として簡単に呼出せる。
既存の資産を活用
メインフレーム,オフコン,
クライアント/サーバシステム等
アプリケーションサーバ
COBOL プログラム
-既存資産-
既存の
COBOL
プログラム
既存の
COBOL
プログラム
Java-COBOL連携機能
(JavaBeans)
Java
(Servlet, JSP)
Webサーバ
27
All Rights Reserved,Copyright © 2001, COBOL Consortium
Java-COBOL連携による
オンライントランザクション処理システム
Webオンライン処理システムを迅速に構築可能:
・EJBのOLTP機能(セッション管理等)を活用して構築
・使用実績のある既存のOLTPサーバ環境をそのまま活用して構築
Webアプリケーション
サーバ
Web
クライアント
:
::
Web
イ
ン
タ
ー
ネ
ッ
ト
W
e
b
サ
|
バ
JSP/
Servlet
JSP/
Servlet
E
J
B
Java
Bean
COBOL
アプリケー
ション
Java
Bean
クライアント
既存の
OLTPサーバ
COBOL
COBOL
COBOL
アプリケーション
既存の
COBOL資
産を活用
28
All Rights Reserved,Copyright © 2001, COBOL Consortium
マイクロソフト .NETフレームワークに対応
.NETの目標: アプリケーションとインターネットの融合
インターネット標準のプロトコル(HTTP, XML/SOAP)により,様々なデバイス,
アプリケーション,サービス間のシームレスな連携
インターネット上の再利用可能なサービスの組み合わせによりシステムを構築
モバイル
…
携帯電話
スマートカード 他のサービス
各サービス間の呼出しは,XML
ベースの標準プロトコルSOAP
(Simple Object Access Protocol)を使
用
インターネット
(HTTP, XML/SOAP)
△△
サービス
(COBOL
他)
○○
システム
(COBOL他)
共通
サービス
(COBOL
他)
業種
サービス
(COBOL他)
その他
サービス
(COBOL他)
サービスプロバイダ
プロバイダが提供するインターネット上の
サービスや社内のサービスを組み合わせ,
新たなシステム/サービスを構築
29
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOLによる .NETアプリケーション開発
言語間のシームレスな連携により,それぞれの言語の特長や開発担当者の
スキルを活かした言語選択が可能
フロント~バックまで,COBOLで一貫した開発が可能
ブラウザ
フロントシステム
ミドルシステム
ASP.NET
HTTP
スマートクライアント
(COBOL他)
他システム
HTTP
SOAP
COM+
WebForms
IIS
WinForms
HTTP
SOAP
イ
ン
タ
ー
ネ
ッ
ト
COM+
(COBOL他)
WebService
業務ロジック
(COBOL)
業務ロジック
COM+
(COBOL)
業務ロジック
ADO.NET
メインフレーム等
(COBOL)
(COBOL他)
SQL
バックシステム
SQL
ADO.NET
HTTP
SOAP
他のWebサービス
.NET フレームワーク
30
All Rights Reserved,Copyright © 2001, COBOL Consortium
Ⅴ. COBOL-XML連携機能
-BtoB でのデータ交換などに適用-
31
All Rights Reserved,Copyright © 2001, COBOL Consortium
XMLのメリット
●XML (Extensible Markup Language) は,W3Cの提唱する
ドキュメント形式に関する規格で,拡張性に優れてる。
・タグを自由に定義できる
タグの意味付けが定義でき,ドキュメントの論理的・意味的な構造を明確にできる。
・ 複雑な構造をもったデータも記述できる
帳票やテーブルのような比較的に単純,少量のデータばかりでなく,
論文やマニュアルのような複雑,多量のドキュメントをも記述できる。
・ プラットフォームに依存しない柔軟な処理が可能である。
表面的には文字列データであり,プラットフォームに依存しない自由なデータ交換・
データ連携やデータ保存が実現できる。
今後,EDI(電子データ交換)やアプリケーション間通信のための
標準データフォーマットとして適用範囲が拡大
●特に,e-ビジネスでの企業間相互接続のデータ交換技術として注目
●
32
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOLーXML連携機能
●XMLデータをCOBOLのレコードとして,
COBOLプログラムから入出力ができる。
・XMLデータの構造とCOBOLレコードの対応付けを行うCOBOL副プログラ
ム(XMLアクルスルーチン)を自動的に生成
このCOBOL副プログラムをCALL文で呼出すだけでXMLデータを入出力
・XMLデータの構造を意識した煩雑なプログラミングは不要
(DOMやSAXの知識が不要)
DOM:Document Object Model,SAX: Simple API for XML
既存COBOL資産を活用し,慣れたCOBOLのノウハウ
を活かして,XMLデータ処理アプリケーションのプログ
ラミングができる。
33
All Rights Reserved,Copyright © 2001, COBOL Consortium
XMLデータとCOBOLレコードとの対応例
XMLデータ
<注文伝票>
<商品>
<商品名>洗顔石鹸</商品名>
<注文数> 10</注文数>
</商品>
<商品>
<商品名>シャンプ-</商品名>
<注文数> 5</注文数>
</商品>
<商品>
<商品名>リンス</商品名>
<注文数> 5</注文数>
</商品>
</注文伝票>
DTD(文書定義ファイル)
COBOLアプリケーション
COBOLレコード:注文伝票
商
商品名
XML
アクセス
ルーチン
品
注文数
洗顔石鹸
10
シャンプ-
5
リンス
5
COBOLレコード定義
01 注文伝票.
05 商品 OCCURS 10.
10 商品名 PIC N(10).
10 注文数 PIC 9(9).
<!DOCTYPE 注文伝票 [
<!ELEMENT 注文伝票 (商品)*>
<!ELEMENT 商品 (商品名, 注文数) >
<!ELEMENT 商品名 (#PCDATA)>
<!ELEMENT 注文数 (#PCDATA)>
]>
34
All Rights Reserved,Copyright © 2001, COBOL Consortium
Ⅵ.COBOL標準化の最新動向
35
All Rights Reserved,Copyright © 2001, COBOL Consortium
次期規格(COBOL2002)を制定作業中
今までも
1968に誕生以来,’74(索引・相対ファイルなど),’85(構造化プログラミングなど)の
大改訂を経て現在まで30年間,ISO規格が存在し,高い互換性,移行性を維持。
今後も
最新の技術・環境に対応するべく,COBOL2002 規格を制定作業中。
全世界COBOLプログラマ 300万人のために
・ 21世紀にも安心して使用可能
・ 安定した性能を提供
最新技術の取り込み
・ オブジェクト指向、国際化機能など
膨大な既存資産を継承する
→完全互換
規格のオプション機能を廃止
→ ベンダは全機能をサポート要
36
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOLの歴史: COBOLの誕生

最初のアイデア
 英語でのプログラム作成
 共通の言語仕様

最初のCOBOL仕様書
 CODASYL
(the Conference on Data Systems Languages)
 1960/4 仕様書発行(COBOL-60)
37
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOLの歴史: 規格化
ANSI
ISO
第1次
68
72
第2次
大改訂(相対・索引ファイル他)
74
第3次(COBOL 85)
大改訂(構造化プログラミング他)
第3.1次
小改訂(組込み関数)
JIS
72
78
85
85
80
88
90
第4次(COBOL2002)
2002
大改訂
・オブジェクト指向,マルチバイト
など,100項目もの大小改訂
92
92
2002
2003
38
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002: 規格化のスケジュール
追加項目決定
(ISO)
1992/6
WD
(作業草案)
FCD
1995/3
(委員会最終案)
2001/2
DIS
(国際規格草案)
IS
2002/6
(国際規格)
2002/12
WD: Working Draft
DIS: Draft International Standard
FCD: Final Committee Draft
IS: International Standard
39
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL 2002: 規格委員会の関係
ISO/IEC JTC1/SC22/WG4 (COBOL)
1回/年
● 国際規格原案の作成・審議
SC22では他に FORTRAN,C,C++,Ada,BASIC,PASCAL,LISP,PROLOG,POSIX,言語共通、
国際化など
● メンバー:アメリカ(主査),カナダ,日本(ITSCJ),イギリス,ドイツ,オランダ
(ANSI) NCITS J4 (旧 X3J4)
6回/年
● 国際規格原案の作成(ISOからの委託)
● メンバー:Merant(議長), IBM, Unisys,
Compaq, EDS, ITSCJ(日本),
Fujitsu Software Corp. 他
情報処理学会 情報規格調査会
IPSJ/ITSCJ SC22/COBOL WG
CODASYL
4回/年
● 言語仕様の開発と保守
● 1992年X3J4に吸収・
合併 (1959~1992)
+
JIS COBOL作成委員会
● 国際規格の審査
● ISO/ANSI のCOBOL WGへの参加
● メンバー:日立(主査),日電,沖,三菱,日本IBM, NHK,東芝,
富士通,日本ユニシス,日立ソフトウェアエンジニアリング,
奈良先端科学技術大学院大学
* メンバー欄はそれぞれ順不同
40
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主要機能
1. オブジェクト指向機能
2. 漢字等の多オクテット文字処理機能
3. 自由形式の正書法
4. コンパイラ指示機能
5. ビット操作機能
6. 浮動小数点データ操作機能
7. 利用者定義のデータ型機能
8. 利用者定義の関数機能
9. ファイルの共用と排他制御の機能
10. 画面処理機能
11. 例外割り込み処理機能
12. データの妥当性検査機能
13. 言語間連絡の拡張
14. ポインタ項目とアドレス付け機能
15. 標準算術演算と31桁への拡張
16. その他(POSIXのロケールに対応した地域・文化固有機能、
既存プログラムとの互換)
41
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:
オブジェクト指向機能 (1)
オブジェクト指向技術による生産性/再利用性向上

オブジェクト指向言語の特徴を実現
 カプセル化
(クラス定義/インターフェース定義)
 継承(多重継承を含む)
 ポリモーフィズム
 適合(コンパイル時/実行時 の型チェックの仕掛け)
 ガーベジ・コレクション(自動メモリ管理機構)
42
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:
オブジェクト指向機能 (2)

オブジェクト参照データの定義
01 OR-1 USAGE OBJECT REFERENCE クラス名.

既存のプログラムを呼ぶ
CALL "既存のプログラム名"

オブジェクト指向のメソッドを呼ぶ
INVOKE オブジェクト一意名 "メソッド名"
43
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:
オブジェクト指向機能 (3)
クラス定義
オブジェクト
定義
メソッド定義
IDENTIFICATION DIVISION.
CLASS-ID. 当座 INHERITS 預金.
IDENTIFICATION DIVISION.
OBJECT.
DATA DIVISION.
WORKIGN-STORAGE SECTION.
01 残高 PIC S9(9).
PROCEDURE DIVISION.
IDENTIFICATION DIVISION.
METHOD-ID. 預け入れ.
・・・
END METHOD 預け入れ.
END OBJECT.
END CLASS 当座.
44
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:
漢字(多バイト文字)を扱う機能
漢字などを多バイト文字として一般化

ユーザ定義語,注記,定数,内部処理(転記,比較),
入出力処理,1byte/2byte変換関数,
POSIXのロケール機能(各国語対応にスイッチ), etc.
01
01
01
01
売上高
日本語
英語
各国語
PIC 9(9).
PIC N(3) VALUE N"日本語".
PIC X(7) VALUE "English".
PIC N(3).
...
MOVE 日本語 TO 各国語.
WRITE 集計表 FROM タイトル.
(1byte/2byte切替え用のシフトコードの自動挿入あり)
45
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:
自由形式正書法
多バイト文字を扱うための前提
自由形式正書法
L++++++++1+++++++++2+++++++++3+++++ +++R
口座入金 SECTION.
ADD 財布 TO 口座. *> 貯金が増える
固定形式正書法 (A/B領域がなくなる)
L+++++CP+1+++++++++2+++++++++3+++++ +++R
000130
小遣い計算 SECTION.
・従来は8-11カラムで 始まって い
:
ないためエラー
000240 MOVE ZERO TO 財布.
・従来は8-11カラムから 始まって
いるためエラー
46
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:
コンパイラ指令行
多バイト文字処理や例外処理等のスイッチング
>> FLAG85 DIVIDE OFF
(旧規格仕様警告)
>> LISTING ON
(ソースリスト出力指示)
>> PAGE 次ページの先頭に印字されるコメント
>> PROPAGATE ON
(例外の伝播)
>> SOURCE FORMAT IS FIXED
(ソース形式 自由書式/固定書式)
>> TURN EC-RANGE-PERFORM-VARYING CHECKING ON
(発生する例外の指示)
>> IMP <個々のコンパイラのオプション等>
47
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:
ビット・ブールサポート
ビット列とブール演算を用いたプログラミング

ビット・ブールを扱える機能

データ型、定数、転記・比較、演算(AND, OR, NOT)
01 ビット1 PIC 1(5) VALUE B"10101".
01 ビット2 PIC 1(5) VALUE B"01010".
01 ビット3 PIC 1(5).
COMPUTE ビット3 = ビット1 B-OR ビット2
48
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:利用者定義型
型定義 と 型名によるデータ定義 と 型チェック
01 日付
05 年
05 月
05 日
IS TYPEDEF.
PIC 9(4).
PIC 9(2).
PIC 9(2).
01 FILLER.
05 受注日 TYPE 日付.
05 納入日 TYPE 日付.
49
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:
関数(1)
戻り値を伴う処理を関数として定義できる

組込み関数(1989年に規格化済)
機能
数学関数
関数名
・SIN, COS,TAN等
日付に関する関数 ・CURRENT-DATE (4桁年号)
・DATE-OF-INTEGER等
文字に関する関数 ・CHAR
・LENGTH 等
使用例: COMPUTE A = LENGTH(S) – 4
50
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:

関数(2)
利用者定義関数
戻り値を伴う処理を関数として定義できる
IDENTIFICATION DIVISION.
FUNCTION-ID. 最大公約数.
DATA DIVISION.
LINKAGE SECTION.
01 A PIC S9(9).
01 B PIC S9(9).
01 R PIC S9(9).
PROCEDURE DIVISION USING A B RETURNING R.
...
END FUNCTION 最大公約数.

関数の参照
*> 別のプログラムの中で --COMPUTE 結果 = 最大公約数(X Y)
All Rights Reserved,Copyright © 2001, COBOL Consortium
51
COBOL2002の主な新機能:例外処理機能
COBOL 共通の例外処理機構
01 A PIC 99 VALUE 50.
01 B PIC 99 VALUE 60.
PROCEDURE DIVISION
DECLARATIVES.
SIZE-OVERFLOW SECTION.
USE AFTER EXCEPTION EC-SIZE-OVERFLOW
...
END DECLARATIVES.
ADD A TO B
*> システムが例外発生を自動検出
...
IF A > 60
*>プログラムによって例外を発生させる
RAISE EXCEPTION EC-SIZE-OVERFLOW
52
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:
データ妥当性検査機能
フィールド値チェックの自動化
01 入力日付.
05 年-1 PIC 9(4)
DESTINATION IS 年-2.
88 VALID VALUE 1990 THRU 1999.
05 月-1
PIC 9(2)
DESTINATION IS 月-2.
88 VALID VALUE 1 THRU 12.
05 日-1
PIC 9(2)
DESTINATION IS 日-2.
88 VALID VALUE 1 THRU 31.
01 出力日付.
05 年-2 PIC 9(4).
05 月-2 PIC 9(2).
05 日-2 PIC 9(2).
MOVE FUNCTION CURRENT-DATE TO 入力日付.
VALIDATE 入力日付
<VALIDATE命令の処理イメージ>
DISPLAY 出力日付
IF 年-1 >= 1990 And <= 1999
then MOVE 年-1 TO 年-2
else INITIALIZE 年-2
53
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:
プログラム間連絡機能の拡張
 ユーザ関数の定義
 プログラム/関数プロトタイプ宣言
 他言語プログラムをプロトタイプ名で呼び出す
(別名付け)
 プロトタイプによる引数の型チェック
 呼出し規約(Call Convention)の指定
 再帰呼出し可能なプログラムの導入
 各種データ型の導入(ポインタ、真の2進数、
浮動小数点数、プログラムポインタ他)
他言語(特にC言語)との連絡を容易にする
54
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:標準算術機能
どのコンパイラでも同一の算術演算結果




中間結果の持ち方による結果の相違をなくす
A社 10 ÷ 3 = 3.0
B社 10 ÷ 3 = 3.3
標準中間結果項目
32桁 10進 浮動小数点項目
中間結果を標準中間結果項目に正規化
演算精度の標準化
PROGRAM-ID 段落に算術方式を指定
PROGRAM-ID. PROG1.
OPTIONS. ARITHMETIC IS STANDARD.
PROGRAM-ID. PROG2.
OPTIONS. ARITHMETIC IS NATIVE.
55
All Rights Reserved,Copyright © 2001, COBOL Consortium
COBOL2002の主な新機能:31桁の数字項目
桁数の不足を解消する


経済成長/インフレにより取扱い桁数の増加
⇒ 19 桁以上必要
SQL3 との連携
(SQL3は,既に31桁数字項目をサポート)
01 VERY-HUGE-NUMBER PIC 9(31).
56
All Rights Reserved,Copyright © 2001, COBOL Consortium
Ⅶ. ま と め
57
All Rights Reserved,Copyright © 2001, COBOL Consortium
まとめ
COBOLは,今でもビジネスコミュニティで
最もよく使用されている
最新技術,最新環境にも適応している
Webコンピューテイング対応済み
Java,XML対応済み
次期COBOL国際規格は,2002年に制定
COBOLは進化し続ける
COBOLは,今後も長く,安心して
ご使用いただけます。
58
All Rights Reserved,Copyright © 2001, COBOL Consortium
・CORBAは,Object Management Groupが提唱する分散処理環境アーキテクチャの名称です。
・Java 及びすべてのJava関連の商標及びロゴは,米国及びその他の国における米国Sun Microsystems,Inc.の商標または登録商標です。
・Lotus1-2-3は 米国Lotus Development Corp.の商品 名称です。
・Microsoft Excel,Microsoft SQL Serverは 米国Microsoft, Corpの商品名称です。
・OCXは,OLE2 Custum Controlの略称です。
・ODBCは,Open DataBase Conectivity の略称です。
・OLEは,米国Microsoft Corp.が開発したソフトウェア名称です。OLEはObject linking and embedingの略です。
・UNIXは、X/Open Company Limited が独占的にライセンスしている米国ならびに他の国における登録商標です。
・X/OpenはX/Open Company Limited が独占的にライセンスしている英国なたびに他の国における登録商標です。
・Microsoft,Microsoft ACCESS, Visual Basic,Windows,Windows NT ,Windows 2000は米国及びその他の国における米国Microsoft, Corpの登録商標です。
・Oracleは、米国Oracle Corporationの登録商標です。
•TUXEDOは,米国UNIX System Laboratories, Inc.の商品名称です
・CICSは,米国における米国International Business Machines Corp.の商標です。
・その他の製品名称等の固有名詞は,一般に各社の登録商標,商標,あるいは商品名称です。
59
All Rights Reserved,Copyright © 2001, COBOL Consortium