第13回 opensource COBOL活用セミナー#おたくのCOBOL見せてください
14:00～14:15

オープンCOBOLソリューション部会のご紹介

OSSコンソーシアム 理事

OSS Cons

オープンCOBOLソリューション部会
リーダー 比毛14:15～14:45

開発者が語る opensource COBOL

寛之

OSSコンソーシアム

OSS Cons

オープンCOBOLソリューション部会

井坂
14:45～14:55

休憩

14:55～15:10

opensource COBOL こんな風に使ってます

徳恭、坂本優太郎

OVOL ICTソリューションズ株式会社

導入事例

システム開発本部 IT技術サポート部

佐々木部長

15:10～15:25

15:25～15:40

堂至どうする！？ レガシー資産（事例紹介・２度のマイグレーション奮闘記）

サン情報サービス株式会社

OSSを活用したレガシーマイグレーション

東京システムハウス株式会社

導入事例

東京支社長 兼 営業部長

佐々木聡
ソリューション

マイグレーションソリューション部

島田
15:40～15:45

OSSコンソーシアムの紹介

15:45～15:50

質疑応答

桃花

OSSコンソーシアム
顧問 山崎 実1OSS ConsOSS
Consortium オープンCOBOLソリューション

オープンCOBOLソリューション部会
ご紹介
2023年5月19日（金）OSSコンソーシアム
オープンCOBOLソリューション部会
リーダー 比毛 寛之
OSSConsortium オープンCOBOLソリューション

アジェンダ
1. 部会のご紹介
2. opensource COBOL のご紹介
3. 本日のセッションの見どころ

3

OSS
Consortium オープンCOBOLソリューション

1. 部会のご紹介

4

OSS
Consortium オープンCOBOLソリューション

部会のご紹介OSSコンソーシアム
オープンCOBOLソリューション部会

https://www.osscons.jp/osscobol/

目的

OSS COBOLを技術・ビジネス両面で整備し、基幹システムでのOSS普及・促進に貢献する。

対象

OSS COBOLをはじめとするOSSの基幹システムを開発している企業、技術者〃を利用しているユーザ〃の採用に興味のある企業、技術者、ユーザ

活動内容

・opensource COBOLの開発 … OpenCOBOL 1.1 pre-releaseをベースに修正・拡張を行う
・ドキュメント作成 … OSS COBOLの認知度向上とビジネス適用に必要なドキュメントを整備
・ソリューション提供 … 参加企業間でOSS COBOLビジネスの検討や協業を行う
・セミナーの開催 … 定期セミナーの開催、勉強会の開催

5

OSS
Consortium オープンCOBOLソリューション

参加企業• 株式会社アックス•• 株式会社エネルギア・コミュニケー •ションズ•• OVOL ICTソリューションズ株式会社 •• サン情報サービス株式会社• 株式会社ＣＩＪ• 株式会社ソフトテックス• 東京システムハウス株式会社• 株式会社ビイガコーポレーション

株式会社日立ソリューションズ
べニックソリューション株式会社
有限会社ランカードコム
飯島裕一（個人会員）（五十音順）
6

OSS
Consortium オープンCOBOLソリューション

リーダー
有限会社ランカードコム
代表取締役 峰松 浩樹

東京システムハウス株式会社
マイグレーションソリューション部

部長 比毛 寛之

7

OSS
Consortium オープンCOBOLソリューション

開発成果物https://www.osscons.jp/osscobol/download/

8

OSS
Consortium オープンCOBOLソリューション

開発成果物https://github.com/opensourcecobol

COBOLコンパイラ(Java版)

COBOLコンパイラ(C版)

ESQLプリコンパイラ(Java版)

ESQLプリコンパイラ(C版)

GnuCOBOL向けパッチ

9OSS
Consortium オープンCOBOLソリューション

2. opensource COBOL の紹介

10

OSS
Consortium オープンCOBOLソリューション

opensource COBOLとはOpenCOBOL
ORCA
PROJECT 発祥はORCAプロジェクトの
日医標準レセプトソフトのために開発された

オープンソースのCOBOLコンパイラ
開発：日本医師会総合政策研究機構 ORCAプロジェクト
原作者：西田圭介氏「日医標準レセプトソフト」は2002年から本運用開始、2023年5月現在１万8千以上※の医療機関で実運用されています。
バージョン1.0→その後、ヨーロッパのコミュニティに移管※ http://www.jma-receipt.jp/operation/index.html

バージョン1.1
pre-release

OpenCOBOLの公開配布版（Feb. 2009）11

OSS
Consortium オープンCOBOLソリューション

opensource COBOLとはバージョン1.1
pre-releaseOpenCOBOL 1.1
Community Edition

コミュニティ有志によるバグfix等反映版

GnuCOBOL 1.1

FSFに移管、GNUに登録、名称変更（Sep. 2013）

GnuCOBOL 3.1.2

REPORT SECTION, COBOL 2014対応、等（Dec. 2020）

Pull Request（機能拡張を提案、採用されれば本家に取り込まれる）NEW

opensource COBOL
v1.2J(2012年7月)

v1.5.2J

GnuCOBOL 3.1.2
osscons patch

日本グループによる機能拡張を公開（Mar. 2023）

日本グループによるメンテナンス版
日本の商習慣に応じた拡張が必要だったので、OSSコンソーシアムで開発・メンテナンス（1.1 pre-release を Jul. 2012 に fork）

opensource COBOL 4J

v1.0 DEV(2020年7月)

v1.0.10 リリース
(2023年4月)(2019年4月)

12

Javaトランスレート版
業務系で多く使用されるJavaへのトランスレート版を開発しリリース。
※4J=for Java

OSS
Consortium オープンCOBOLソリューション

開発実績• opensource COBOLへの日本向け拡張– 日本語処理のサポート(SJIS、UTF-8対応)
日本のビジネス適用に– ユーザファイルハンドラのサポート
必要な機能を拡張– Windows cl コンパイラのサポート– SCREEN SECTIONを拡張（罫線、日本語表示、等）– ホストやオープン系COBOL構文、比較処理、関数、緩い仕様をサポート– OpenCOBOL Community Edition の拡張を取り込み– バグフィックス
• データベース連携ツール（Open COBOL ESQL）の開発• opensource COBOL 4J、Open COBOL ESQL 4J の開発• GnuCOBOL向けの拡張パッチの作成 NEW
13

OSSConsortium オープンCOBOLソリューション

opensource COBOLシリーズ
当部会では opensource COBOLシリーズの5つのプロダクトの開発とサポートを提供します

opensource COBOL 1.5.2J

Open COBOL ESQL 1.2

・COBOLコンパイラ（C版）
・OpenCOBOLに日本語拡張や国産ホスト互換を強化
・国内で多くの導入実績あり

・埋め込みSQLプリコンパイラ（C版)・PostgreSQLに対応（libpq）
・商用COBOLも利用可能、海外で多数の導入実績

opensource COBOL 4J 1.0.10

Open COBOL ESQL 4J 1.0.2

・COBOLコンパイラ（Java版）
・opensource COBOL 1.5.2JからFork
・Javaトランスレート版、効率的なJava移行
・ほぼ毎月バージョンアップ中・埋め込みSQLプリコンパイラ（Java版)
・PostgreSQLに対応（jdbc）
・Javaの実行ライブラリを提供

GnuCOBOL 3.1.2 osscons patch 1
・COBOLコンパイラ（C版）
・最新バージョンに対する日本向け拡張のパッチ（forkではない）・Pull Requestで本家へマージしつつ、最新版に追随したパッチを提供
14

OSS
Consortium オープンCOBOLソリューション

コンパイルと実行（１）• COBOLをC言語にトランスレート、Cコンパイラでバイナリを生成• Linuxは、配布に含まれる『gcc』を使用• Windowsは、Visual Studioに含まれる『cl』コンパイラやLinuxエミュレータの（CygWin/MinGW）を利用する
開発時

opensource COBOLコンパイラ（cobcコマンド）
トランスレート
COBOL→C

COBOL 原文

ロードモジュール生成サブプロセス起動

Ｃコンパイラ（gcc/cl）

実行時

実行プログラムまたは共有ライブラリ(.so)
opensource COBOLランタイム
CランタイムC言語
中間ファイル

15

OSS
Consortium オープンCOBOLソリューション

コンパイルと実行（２）opensource COBOL 4J（Javaトランスレート版）の場合• C言語へのトランスレートを、Javaトランスレートに変更したバージョン• COBOLをJavaにトランスレートし、Javaコンパイラでバイトコードを生成

開発時

opensource COBOL 4Jコンパイラ（cobjコマンド）
トランスレート
COBOL→Java

COBOL 原文実行時

ロードモジュール生成サブプロセス起動

Javaコンパイラ（javac）

Java
バイトコード(.class)
opensource COBOL 4J ランタイム
Javaランタイム

Java
中間ファイル

16

OSS
Consortium オープンCOBOLソリューション

コンパイルと実行（３）• 実行プログラム or
共有ライブラリを生成$ cobc -x hello.cob$ ./hello
Hello, world$ cobc hello.cob$ cobcrun hello
Hello, world
17OSSConsortium オープンCOBOLソリューション

Open COBOL ESQL• COBOLからPostgreSQLにアクセスするツール– プリコンパイラ：EXEC SQLをCALLに変換する– 実行時ライブラリ：COBOL用APIを提供– 地味に世界中で使われている
EXEC SQL
FETCH C1 INTO
:EMP-NO,:EMP-NAME,:EMP-SALARY
END-EXEC.

Windows/Linux サーバー

埋め込みSQLCOBOLプログラム
ocesql(プリコンパイラ)

libocesql(実行時ライブラリ)

Open Cobol ESQLCALL "OCESQLStartSQL“.
CALL "OCESQLSetResultParams"
USING
BY VALUE 3
BY VALUE 4
BY VALUE 0BY REFERENCE EMP-NO.

CALL

プリコンパイル後
COBOLプログラム

COBOLライブラリ(dll,so)opensource COBOL
コンパイラ

opensource COBOL
ランタイム

18libpq
SQL
実行

PostgreSQLOSSConsortium オープンCOBOLソリューション

Open COBOL ESQL 4J• COBOLからRDBにアクセスするツール– プリコンパイラ：EXEC SQLをCALLに変換する– 実行時ライブラリ：COBOL用APIを提供– JDBCだが、今のところPostgreSQLでの動作検証まで
EXEC SQL
FETCH C1 INTO
:EMP-NO,:EMP-NAME,:EMP-SALARY
END-EXEC.

埋め込みSQLCOBOLプログラム
ocesql(プリコンパイラ)

Windows/Linux サーバー

libocesql(実行時ライブラリ)

Open Cobol ESQL 4J
CALL "OCESQLStartSQL“.
CALL "OCESQLSetResultParams"
USING
BY VALUE 3
BY VALUE 4
BY VALUE 0
BY REFERENCE EMP-NO.

CALL

プリコンパイル後
COBOLプログラム

COBOLバイトコード(.class)

opensource COBOL 4J
コンパイラ

opensource COBOL 4J
ランタイム

19

JDBC
SQL
実行

PostgreSQL

OSS
Consortium オープンCOBOLソリューション

導入事例• 国内での導入事例
自治体様

卸売業様

職員総合・財務会計・予算編成ｼｽﾃﾑ(汎用機からのマイグレーション)

青果卸売システム(OSSと商用製品のハイブリッドシステム )卸売業様

教育・出版様

紙卸商システム(システムをフルオープンソース化)(汎用機の再構築における一部資産の活用)

鉱業様

ITサービス様基幹システム: 経理、資材、給与、他(.NET+COBOLへ、6カ月で移行完了)

修理業務支援システム(COBOL資産の再利用によるWEB化を実現)
20

OSS
Consortium オープンCOBOLソリューション

今後の開発予定• opensource COBOL 4J（Java移行）– COBOL構文の機能強化（NIST COBOL85）– 性能改善、生成されたJavaの可読性向上– Javaバッチフレームワーク（Spring Batch）との連携• opensource COBOL / GnuCOBOL（COBOL活用）– GnuCOBOL 3.1.2 での日本語機能/ホスト互換機能の拡張

21

OSS
Consortium オープンCOBOLソリューション

みなさま、お使いください！
• OSSコンソーシアムのサイト
http://www.osscons.jp/osscobol/download/※[opensorce COBOL]で検索• GithHub
https://github.com/opensourcecobol/※[opensource COBOL GitHub]

22

で検索

OSS
Consortium オープンCOBOLソリューション

3. 本日のセッションの見どころ

23

OSS
Consortium オープンCOBOLソリューション

第13回 opensource COBOL活用セミナー#おたくのCOBOL見せてください
14:00～14:15

オープンCOBOLソリューション部会のご紹介

OSSコンソーシアム 理事

OSS Cons

オープンCOBOLソリューション部会
リーダー 比毛14:15～14:45

開発者が語る opensource COBOL

寛之

OSSコンソーシアム

OSS Cons

オープンCOBOLソリューション部会

井坂
14:45～14:55

休憩

14:55～15:10

opensource COBOL こんな風に使ってます

徳恭、坂本優太郎

OVOL ICTソリューションズ株式会社

導入事例

システム開発本部 IT技術サポート部

佐々木部長

15:10～15:25

15:25～15:40

堂至どうする！？ レガシー資産（事例紹介・２度のマイグレーション奮闘記）

サン情報サービス株式会社

OSSを活用したレガシーマイグレーション

東京システムハウス株式会社

導入事例

東京支社長 兼 営業部長

佐々木聡
ソリューション

マイグレーションソリューション部

島田
15:40～15:45

OSSコンソーシアムの紹介

15:45～15:50

質疑応答

桃花

OSSコンソーシアム
顧問 山崎 実24

OSS ConsOSS
Consortium オープンCOBOLソリューション

本資料に記載の会社名、製品名は、それぞれの会社の商号、商標もしくは登録商標です。
25

OSS
Consortium オープンCOBOLソリューション