オープンCOBOLソリューション部会
活動の紹介
2021年３⽉5⽇(⾦)
OSSコンソーシアムオープン
COBOLソリューション部会
上野 俊作

部会紹介
1. 部会活動の紹介
2. 部会成果の紹介

2

１. 部会活動の紹介
3

部会活動の内容• 活動開始 : 2012年1月• 目的：

レガシーな基幹系システムにオープンソースを適用する
オープンソースの力でCOBOL資産の課題を解決• 活動内容(技術開発・検証)：– 基幹系構築に必要なOSSを発掘– 基盤OSSソフトウエアの動作検証– オープンソースCOBOL コンパイラの開発と公開– セミナー・勉強会の開催
4

参加企業• 株式会社アックス• 株式会社エネルギア・コミュニケーションズ• サン情報サービス株式会社• 株式会社ＣＩＪ• 株式会社ＪＰ情報センター• 東京システムハウス株式会社• 株式会社ビイガコーポレーション• 株式会社⽇⽴ソリューションズ• 有限会社ランカードコム（五⼗⾳順:2021/1現在 9社）
5

部会内のプロジェクト• OSS開発プロジェクト– opensouce COBOL– Open COBOL ESQL
– opensource COBOL for Java– VBISAMパッチ開発→ 成果はGithubで公開– 開発⽤Dockerコンテナの公開• OSS製品の検証プロジェクト

NEW– Visual Studio Code および プラグインの検証– Tomcat/Wildfly/PostgreSQLとの連携機能の検証– Enduro/X(ラトビアで開発されているTuxedo互換OSS TPモニタ製品)– コンテナ・コンテナ実⾏基盤（Docker/Kubernetes）との連携検証
6

2. 活動成果のご紹介
opensource COBOL
Open COBOL ESQL
opensource COBOL4J
7

2020/21年 世界はCOBOLで動いている• 1959年誕⽣、事務処理⽤プログラム⾔語
ALGOL(1958) FORTRAN(1954)• 技術者ではない業務の専⾨家がターゲット
⽂書を書くようにコードが書ける• ISOで標準規格が決められている(ISO/IEC 1989:2014) 202x規格策定中

COBOLの墓 Image: Computer Museum (Boston)l 2020年 社会保険システムの緊急改定 現役のCOBOL資産に注⽬が集まる（⽶）
l ｢銀⾏システムの43％、対⾯取引の80％、ATMの95％ 、2200億⾏｣*1
l TIOBE Index for February 2021
25位
l そして、墓標は博物館の展⽰物に*1 http://fingfx.thomsonreuters.com/gfx/rngs/USA-BANKS-COBOL/010040KH18J/index.html

8

opensource COBOLとは
OpenCOBOL

発祥はORCAプロジェクトの⽇医標準レセプトソフトのために開発された

オープンソースのCOBOLコンパイラ
開発︓⽇本医師会総合政策研究機構 ORCAプロジェクト
原作者︓⻄⽥圭介⽒
バージョン1.0「⽇医標準レセプトソフト」は2002年から本運⽤開始、2021年1⽉現在１万7千以上※の医療機関で実運⽤されています。

→その後、ヨーロッパのコミュニティに移管※ http://www.jma-receipt.jp/operation/index.html

バージョン1.1
pre-release

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

opensource COBOLとはバージョン1.1
pre-release

GnuCOBOL

1.1
Community Edition

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

GnuCOBOL 1.1

FSFに移管、GNUに登録、名称変更（2013年9⽉）

GnuCOBOL 3.1.2

REPORT SECTION, XML/JSON, COBOL2014（2020年12⽉）

⽇本コミュニティによるメンテナンス版
opensource
COBOL
v1.2J
(2012年7⽉)

Javaトランスレート版

⽇本の商習慣に応じた拡張が必要だったので、OSSコンソーシアムで開発・メンテナンス（1.1 pre-release を Jul. 2012 に fork）
opensource COBOLのライセンスはGPL2+

v1.5.2J(2019年4⽉)

opensource
COBOL 4J
v1.0 DEVWEBシステムやクラウドAPIとの親和性の⾼いJavaへのトランスレート版(2020年7⽉)
を開発しリリース。

v1.0 開発中

v1.6J 開発中

(2021年前半)(2021年前半)

10NEW※4J=for Java

opensource COBOL•••••COBOLをC言語にトランスレート、Cコンパイラでバイナリを生成
C言語用のライブラリとの容易な連携
Linuxは配布に含まれる『gcc』を使用
Laspberry Piなどへの導入開発が可能
RustやGoなどのもつCオブジェクトの呼び出しインターフェースにより相互連携が可能（https://gnucobol.sourceforge.io/faq/index.html#can-gnucobol-interface-with-go)（https://gnucobol.sourceforge.io/faq/index.html#can-gnucobol-interface-with-rust)

開発時

実⾏時
opensource COBOL コンパイラ(cobcコマンド)

COBOL開発者

COBOL
原⽂

トランスレート(COBOL⇒ C⾔語)
C⾔語 ⽣成C⾔語
中間ファイルhttps://github.com/opensourcecobol（ロードモジュール⽣成）

Cコンパイラ起動

実⾏プログラム or
共有ライブラリ(.so)

サブプロセス起動

opensource COBOL
ランタイム

Cコンパイラ(gcc、cl)CランタイムCOBOL開発環境• エディタ/デバッガ– Visual Studio Code （COBOL plugin）– Eclipse plugin– サクラエディタ– VIM etc

• ツール (gccのツールを活⽤可能)– gdb(デバッガ)– gcov （コードカバレッジ）– Make12

Open COBOL ESQL• COBOLからPostgreSQLにアクセスするツール• プリコンパイラ：EXEC SQLをCALLに変換する
実⾏時

開発時
EXEC SQL
FETCH C1 INTO
:EMP-NO,:EMP-NAME,:EMP-SALARY
END-EXEC.

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

https://github.com/opensourcecobol

埋め込みSQLCOBOL原⽂ocesql（プリンコンパイラ）

libocesql(実⾏時ライブラリ)

Open Cobol ESQL

libpq
SQL
実⾏CALL
プリコン後
COBOL

opensource
COBOLコンパイラ

COBOL
ライブラリ
(dll, so)opensource COBOL
ランタイム

PostgreSQL

opensource COBOL 4J••••

opensoruce COBOLの新しいプロジェクト
COBOLをトランスレートして Javaを生成、javacでバイトコードを生成
他システム、クラウドサービス、デジタル技術との連携を推進
2021年4月正式版リリース予定
開発時

実⾏時

NEW

他システムとの連携

opensource COBOL 4J コンパイラ(cobcコマンド)
クラウドサービスとの連携

COBOL開発者

Java 開発者

COBOL
原⽂

トランスレート(COBOL⇒Java)NEWJava ⽣成Java
中間ファイルhttps://github.com/opensourcecobol

Javaコンパイラ起動（ロードモジュール⽣成）

Javaバイトコード(Class)サブプロセス起動

opensource COBOL 4J
ランタイム

Javaコンパイラ(javac)

Java実行環境(JRE)

デジタル技術との連携

みなさま、お使いください︕• OSSコンソーシアムのサイト

http://www.osscons.jp/osscobol/download/※[opensorce COBOL]で検索

https://github.com/opensourcecobol/※[opensource COBOL GitHub]• GNU COBOL FQA (英語)で検索

https://gnucobol.sourceforge.io/faq/index.html
15本資料に記載の会社名、製品名は、それぞれの会社の商号、商標もしくは登録商標です。
16

導⼊事例
• 国内での導⼊事例
⾃治体様

卸売業様

職員総合・財務会計・予算編成システム(汎⽤機からのマイグレーション)

⻘果卸売システム

卸売業様

教育・出版様

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

鉱業様

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

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

17