ここまで来た！
OSSを活用したITモダナイゼーション
ITモダナイゼーションSummit 20172017年4月20日（木）マイグレーションソリューション部
Copyright © 2017, Tokyo System House Co., Ltd. All Rights

1

東京システムハウスのご紹介
商号
 設立
 資本金
 売上高
 従業員数 本社
 特色


東京システムハウス株式会社（略称：TSH）
1976年11月
1億7,990万円 （払込資本）25.5億円（2016年10月期）
166名（2016年10月現在)
東京都品川区
独自技術に特化したソリューション・サービス
ニッチな業種向けの専用パッケージ
どの企業系列にも属さない独立系
コンピュータ利用に関する総合サービスを提供

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

2

東京システムハウスのご紹介
TSHのモダナイゼーションのあゆみ

2012年
2007年

2014～16年

平成26年度、平成27年度補助事業『OSS COBOLクラウド基盤導入実証』

2004年
1995年

Copyright © 2017, Tokyo System House Co., Ltd. All Rights3

本日お話しすること
1.
2.
3.
4.
5.

MMSのご紹介OSSという選択肢
opensource COBOLとは
OSSでITモダナイゼーション
まとめ

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

41. MMSのご紹介

Copyright © 2017, Tokyo System House Co., Ltd. All Rights51-1. MMSとは

メインフレーム・マイグレーション・サービス
Mainframe Migration Service の頭文字を取って MMS

充実したサービスと体系化されたCOBOL資産
活用ソリューション
1995年から蓄積された経験・ノウハウと210件以上の導入実績

AJTOOL(マイグレーション用フレームワーク)の開発と提供クラウドをはじめ最新のICTテクノロジーを積極的にサービス化

Copyright © 2017, Tokyo System House Co., Ltd. All Rights6

1-1. MMSとは


MMS対応表

メーカー
OS

NEC
オフコン
A-VX

COBOL
4GL

COBOL85

JCL

JS

帳票定義
オーバーレイ

対応予定

SMART

FORMS

Fujitsu

メインフレーム
ACOS2

ACOS4

オフコン
ASP

NEC COBOL85,
COBOL/S

COBOL-E,
COBOL-G

JCL
コマプロ

CL

MFD

MFDL

FormEX

MED,
SMED

メインフレーム
XSP

MSP

FACOM
COBOL85
JCL
コマプロ

JCL
コマプロ

対応済み

HitachiIBM

メインフレーム

メインフレーム

VOS1

VOS3

OS/390, z/OS

HITAC COBOL85,
CORAL,KCORAL,
CANO-AIDIBM COBOL85

JCL
コマプロ

JCL
コマプロ

PSAM

XMAP

ADJUST

FOG

JCL
CLIST
BMS

SDF
OGL

画面定義
(COBOL画面)

SFGEN

MFD

MFDL

MED,
SMED

PSAM

XMAP

BMS

SDF

画面定義
(Web画面)

SFGEN

MFD

MFDL

MED,
SMED

PSAM

XMAP

BMS

SDF

DC

-

VIS

VISⅡ

-

AIM/DC

DCCM3

CICS

IMS/DC

DB

RDB

RDB

AIM/RDB
AIM/NDB

DB2

IMS/DB

RIQS
ADBS

PDMⅡ

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

XDM/RD
XDM/SD7

1-2. COBOL資産の活用ソリューション

なぜCOBOL資産を活用するべきか？
既存の業務ロジックを活用• 長年、COBOL資産に蓄積してきた業務ロジックを活かし、システム刷新を効率的に行う• 現状の運用コストや老朽化問題などを優先、業務処理は今のままでよい。

システム刷新を安全/安心/確実に• 再構築をしてしまうと...COBOL資産の解析ミスや誤認識⇒工数増大• プログラム再作成で不具合混入⇒工数増大

他言語で書き換えた失敗経験から• 業務ロジックをそのまま他言語に移植したが、COBOLとの差異の吸収が大変だった• .NET対応のCOBOL処理系に移行したことがあるが、イベント駆動型のため、同じCOBOLであっても手続き型のCOBOLと同じ結果に移植するのが大変だった。
Copyright © 2017, Tokyo System House Co., Ltd. All Rights81-2. COBOL資産の活用ソリューション

AJTOOL = Advanced Joint TOOL
 オープン系ミドルウェアで不足する機能を補うフレームワーク
 COBOL、JCL、オンライン、帳票ツール、運用監視ツール、OLTPといったシステムを構成する各要素を、オープンシステム上で結合するためのプログラム群の総称で、20年のモダナイゼーション実績で作り上げたツール。
Application
User
Interface

Job Control

Batch
Management

Print
OnlineManagement

File System
DBMS
Development

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

91-3. これまでの実績


MMSによるマイグレーションの実績(1995年～)
メインフレーム
120件
オフコン
70件
オープン
レガシー
20件

これまでのマイグレーション実績 (1995年～)

Copyright © 2017, Tokyo System House Co., Ltd. All Rights102. OSSという選択肢
OSSによるITモダナイゼーションについて語る前に、まずはOSSという選択肢について
私たちの考えをお話しします。

Copyright © 2017, Tokyo System House Co., Ltd. All Rights112-1. OSSとは


OSS=オープンソースソフトウェア
ソースコードが公開されており、ダウンロードして利用できる

改修や再配布ができる※各ライセンスに基づく

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

意見が言える、利用できる

12

2-2. OSSのメリット
柔軟性

拡張性

新技術

商用ソフト
 企業同士が協力
 技術の連携
 研究機関の参入
 「ひらめき」が集まる

不足

過剰
AI

作り込み

継ぎ足し

BI

 サーバー追加時の拡張性• 商用ソフトは、追加時に新たにライセンス購入が必要• クラウドでは利用しにくい

IoT

 機能の拡張性• 自ら連携機能を作成する
ことも可能

OSS
Copyright © 2017, Tokyo System House Co., Ltd. All Rights13

2-3. OSSの普及
半数以上のグローバル企業は OSS が最初の選択肢
Source: IDC Japan, Feb 2016

既に本番で OSS 導入済みの企業「31.3%」
Source: http://jp-redhat.com/openeye_online/interview/2902/

Microsoft が OSS 戦略を打ち出す※AzureでLinuxを提供、PowerShellがOSS化

モダナイゼーションの相談にて、90％でOSSの利用を検討※過去1年の弊社へのご相談の実績

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

14

2-4. OSSの活用


ユーザーが考えるOSS
OSSへの期待

OSSへの不安• ライセンス費用を抑え、コストダウンを図る• 自社の業務が本当に実現できるのか。

• ベンダーロックインの排除• 障害発生時のサポートは大丈夫か。

OSS活用の注意点
再びベンダーロックインされる可能性•自らはノータッチで、ベンダー任せにしてしまう。
•コミュニティが停滞しているマイナーなOSSを採用、バグ修正もされず我慢して使う。

むしろコスト増加の恐れ•ライセンス費用を抑えることはできたが、追加開発
でむしろコストが増加してしまう。
•業務変更せざるを得ず、実務に影響。

自ら行動、業務を把握、適切なOSS ⇒ 活用により期待の効果が得られる！
Copyright © 2017, Tokyo System House Co., Ltd. All Rights

15

3. opensource COBOLとは
OSS の COBOL コンパイラ 『opensource COBOL』 をご紹介します。

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

16

3-1.opensource COBOLとは
OpenCOBOLORCAプロジェクト『日医標準レセプトソフト』のために開発されたCOBOLコンパイラ
開発：日本医師会総合政策研究機構 ORCAプロジェクト
原作者：西田圭介氏

バージョン1.0

ヨーロッパのコミュニティに移管されて開発が継続 (Dec. 2007)

バージョン1.1
pre-release

OpenCOBOLの公開配布版 (Feb. 2009)

1.1
Community Edition
GNU Cobol 1.1
opensource COBOL
v1.2J
v1.3J

コミュニティ有志によるバグfix等反映版
GNUに登録された最新配布版（Jan. 2014）

OSSコンソーシアム が中心となり、日本の商習慣に応じた拡張機能を追加し、1.1 pre-release より fork (Jul. 2012)

v1.4J
v1.5J
Copyright © 2017, Tokyo System House Co., Ltd. All Rights

・SJIS、UTF-8対応
・日本語変数名/段落名
・通貨記号”¥”のサポート
・ISAMファイルの機能拡張
・ファイルハンドラのサポート
・商用COBOL互換サポート
・RPMパッケージ公開
・DB連携ツール(埋込SQL)
17

3-1.opensource COBOLとは

2012年より年に1回以上のバージョンアップをしています。

2012/7

v1.2J

初回リリース、日本語機能強化(SJIS)、 外部ファイルハンドラ

2013/4

v1.3J

UTF8対応、 SPLIT KEY、COPY REPLACING、商用互換機能

2013/7

DB連携ツール 1.0

初回リリース、PostgreSQL向けSQLプリコンパイラ

2013/12v1.3.1J

条件付きコンパイル($IF)、SPLIT KEY強化、RPM提供開始

2014/3v1.3.2J

OpenCOBOL CEの機能取り込み

2015/3v1.4.0J

Windows対応、SCREEN SECTION強化(罫線、全角文字)

2015/3

経産省 2016/5
補助事 2016/12
業

準備中

DB連携ツール 1.1

Windows対応(32bit)、動的SQLサポート、可変長ホスト変数、等

v1.5.0J

CANCEL ALL文、C$ルーチンを追加

v1.5.1J

バグ修正、Visual Studio 2015対応

DB連携ツール 1.2

Windows対応(64bit)

COBOL Editor

初回リリース、エディター(予約語/領域)、コンパイラ連携、デバッガ起動

Copyright © 2017, Tokyo System House Co., Ltd. All Rights18

3-2.opensource COBOLのコンパイル


COBOLをC言語にトランスレート、Cコンパイラでバイナリ生成します。

Linuxは、配布に含まれる『gcc』を使用します。



Windowsは、Visual Studioに含まれる『cl』を使用します。
開発時

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

COBOL 原文

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

C言語
中間ファイル

実行時

Ｃコンパイラ（gcc/cl）

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

実行プログラムまたは共有ライブラリ(.so)
opensource COBOLランタイム
Cランタイム19

3-3.opensource COBOLサンプルコード


サンプルコードHELLO.cbl

HELLO.c***************************IDENTIFICATIONDIVISION.
***************************PROGRAM-ID.
HELLO.
***************************DATA
DIVISION.
***************************
WORKING-STORAGESECTION.
***************************
01 ACP-WORKPIC X(01).
***************************PROCEDURE
DIVISION.
***************************
MAIN-PROC1.
DISPLAY "HELLO WORLD".
STOP RUN.
***************************

static int
HELLO_ (const int entry){<中略>static unsigned char b_1[4] __attribute__((aligned));/* RETURN-CODE */cobc

static unsigned char b_5[1] __attribute__((aligned));/* ACP-WORK */static cob_field c_1 = {11, (unsigned char *)"HELLO WORLD", &a_1};<中略>/* hello.cbl:15: DISPLAY */{cob_display (0, 1, 1, &c_1);}/* hello.cbl:16: STOP */{cob_stop_run ((*(int *) (b_1)));}<中略>/* Program return */return (*(int *) (b_1));}

Copyright © 2017, Tokyo System House Co., Ltd. All Rights20

3-4.opensource COBOL導入事例


国内での導入事例
自治体様 職員総合・財務会計・予算編成システム(大型汎用機からのマイグレーション)
卸売業様 紙卸商システム(システムをフルオープンソース化)

鉱業様 基幹システム: 経理、資材、給与、他(VB.NET + COBOLへ、要件定義から6カ月で移行完了)
卸売業様 青果卸売システム(OSSと商用製品のハイブリッドシステム )教育・出版様(大型汎用機の再構築における一部COBOL資産の活用)
ITサービス様 修理業務支援システム(老朽化対策とともに、既存COBOL資産の再利用によるWEB化を実現)
Copyright © 2017, Tokyo System House Co., Ltd. All Rights

21

4. OSSでITモダナイゼーション
東京システムハウスが2012年より取り組んできた opensource COBOL とそれを活用したITモダナイゼーション/弊社の取り組みをご紹介します。

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

22

4. OSSでITモダナイゼーション
opensource COBOLと各OSSとの連携ツールは、
お客様プロジェクトや補助事業で成長してきました。
 弊社の取り組みを振り返りながらご紹介します。
4-1. 大手商社様 COBOLシステムのフルOSS化(2011年～2014年)
4-2. 経産省補助事業 OSSクラウド実行基盤導入実証(2014年～2016年)

4-3.その他の取り組み (現在)Copyright © 2017, Tokyo System House Co., Ltd. All Rights23

4-1. 大手商社様
全国170社導入の代理店向けクラウドサービスをフルOSS化

時期：2011年～2014年
業務：受注、発注、在庫、売掛、買掛、他
資産数：COBOL 1,000本、Oracleテーブル 約100本
なぜフルOSSを選択したのか？
商用ソフトウェアのリスク• 高額ライセンス、保守料値
上げのリスク• バージョンアップ時の追加コ
ストの発生• バグ修正が遅い

OSSの普及と将来性• 企業での活用事例の増加• 商用ソフトウェアに匹敵する機能を提供• シリコンバレーの視察から将来性を感じた• COBOL製品の販売終了

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

コミュニティ活動に貢献できる• TSHとともにOSSコンソー
シアムに加入。
• コミュニティに成果を貢献し、活性化を図る。
• OSSへの貢献は、必ず自らにリターンされる！

24

4-1. 大手商社様


フルOSS化の課題 (2011年当時)
移行前(商用製品)

移行後(OSS基盤)

COBOL

ACUCOBOL-GT

OpenCOBOL 1.1

データベース

Oracle Database

PostgreSQL

オンライン処理

AcuConnect
ThinClient

Tomcat + Java

バッチ処理
(JCL)

AJTOOL for Acu(TSH提供)未対応

帳票処理

PrintPro

JasperReportＯＳ

Windows Server

Linux (CentOS)

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

課題①
COBOLの機能不足

課題②
COBOLとDBの連携
課題③
WEBシステム方式

課題④
AJTOOLは未対応

25

4-1-1. DB連携ツール


DB連携ツール(Open Cobol ESQL) を開発

解決②
COBOLとDBの連携

 PostgreSQL向け埋め込みSQLプリコンパイラを開発
 OSSコンソーシアムにて公開、ダウンロード可能（ご利用下さい！）
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.

埋め込みSQLCOBOLプログラム

Linux サーバー

libocesql
ocesql(実行時ライブラリ)(プリコンパイラ)
CALL
Open Cobol ESQL

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

COBOLライブラリ(so)

opensource
COBOL コンパイラ

opensource
COBOL ランタイム

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

libpq
SQL
実行

PostgreSQL

26

4-1-2. AJTOOL UI Framework


解決③
WEBシステム方式

AJTOOL UI Frameworkを開発
 TomcatとCOBOLによるオンライン処理の実行基盤を提供

Linux サーバー

インターネット

クライアントPC

WEBサーバー

プロセス間通信

COBOLプロセス

AJTOOL UI Framework
DISPLAY

JSP

XML

Tomcat/JBoss

画面節から
生成

ACCEPT

COBOL(so)opensource COBOL ランタイム

SAM

スマートフォン/タブレット

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

ISAM

27

4-1-2. AJTOOL UI Framework


AJTOOL UI Frameworkを開発(続き) COBOL構文のままで画面をWEB化できます。
 SCREEN SECTIONで定義、DISPLAY/ACCEPT命令による処理

画面節の行位置、桁位置、色、罫線をWEB画面で再現。キーボード操作も同等にできます。

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

28

4-1-3. AJTOOL Batch Framework


解決④
AJTOOLに対応

AJTOOL Batch Framework を移植

 JCLの実行基盤と各種ユーティリティ(ソート、ファイル操作等)を提供

Linux サーバー

運用監視ツール
クライアントPC

COBOLプロセス

監視

AJTOOL Batch Framework
CALL

読み取り

ユーティ
リティ

JCL

¥EXEC

GOBACK

COBOL(so)opensource COBOL ランタイム
CALL

クライアントPC

システム
コール

書き出し

ジョブログ

SAM

ISAM

telnet/コマンドプロンプト
Copyright © 2017, Tokyo System House Co., Ltd. All Rights29

4-2. 経産省補助事業
中小企業のレガシー資産をクラウドへマイグレーション



事業名
期間
事業目的



事業成果




OSS COBOLクラウド基盤導入実証
2014年4月～2016年3月
本事業は、企業のCOBOLシステムを安全にクラウドのOSS
COBOL実行基盤に移行し、中小企業のレガシープラットフォームの撤廃を促進させることで省エネ化を達成することを目的とします。

opensource COBOLのWindows OS対応

• 敷居の高いLinuxではなく、使い慣れたWindowsでCOBOL開発ができます。

ユーザーインターフェース
機能を強化• 貧弱なSCREEN SECTIONによるCUIを強化、さらに同じ構文のままWEB化も実現できます。

レガシープラットフォームの代替機能をOSSで実現• TomcatやPostgreSQLなどのOSSと組み合わせて代替機能を実現、Windows対応も実施しました。

Eclipseプラグインの提供• COBOL用のEclipseプラグインを開発しました。
• COBOLプログラムを効率的に保守できます。

Copyright © 2017, Tokyo System House Co., Ltd. All Rights30

4-2-1. Windows OS 対応
opensource COBOLのWindows OS対応
 Visual StudioのCコンパイラ『cl.exe』に対応、COBOLプログラムから

Windowsネイティブの exe や dll が作成可能
 opensource COBOL自身のビルドをVisual Studioで実施“win32”を新設

sln ファイルを提供
Copyright © 2017, Tokyo System House Co., Ltd. All Rights

31

4-2-2. ユーザーインターフェイス機能を強化


ユーザーインターフェイス機能を強化
 日本語の入出力と罫線表示に対応し、レガシーの画面をそのまま再現。
 Windows RemoteApp を使用したシンクライアントシステムの構築が可能************************************************SCREENSECTION.

************************************************
01 GAMEN1.
03 LINE 01 COLUMN 02 VALUE "SYAMNT".
03 LINE 02 COLUMN 30 VALUE "社員マスタ保守".
03 LINE 05 COLUMN 05 VALUE "社員コード".
03 ACP-CD

LINE 05 COLUMN 20 PIC X(04)USING WK-CD .

03 LINE 06 COLUMN 05 VALUE "社員名".
03 ACP-NM
LINE 06 COLUMN 20 PIC N(10)USING WK-NM.

03 LINE 07 COLUMN 05 VALUE "部署".
03 ACP-BUSYO
LINE 07 COLUMN 20 PIC X(02)USING WK-BUSYO.

<以下省略>

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

32

4-2-3. Eclipseプラグイン
Eclipseプラグイン(COBOL Editor)の提供
COBOLパースペクティブ

コンパイラ起動/ランタイム起動

COBOLプロジェクト作成
COBOLエディター(予約語、領域、コピー展開)

コンパイルエラー表示

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

33

4-2-3. Eclipseプラグイン
EclipseプラグインからOSSのCOBOLデバッガを起動
主な機能
・STEP実行・ブレイクポイント
・自動STEP・変数の参照/変更
・変数ウォッチ
・文字列検索Copyright © 2017, Tokyo System House Co., Ltd. All Rights34

4-3. 現在の取り組み

現在、弊社では以下の活動に注力しています。

① TPモニターへの対応② Azure Marketplace へのサービス公開

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

35

4-3-1. TPモニターへの取り組み


フルOSS化の課題
 TPモニタ機能にOSSのパッケージを適用できていなかった。



某電力会社様からのご相談 TPモニタの選定に苦労していた為、相談があった。

移行前(汎用機)移行後(OSS基盤)

COBOL

COBOL85

opensource COBOL

DB

RDB/NDB

PostgreSQL

DC

DC

TPモニタ

画面定義

画面定義体

Ruby

JCL

JCL

シェル

ＯＳ

汎用機のOS

RedHatEnterprise Linux

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

課題
OSSのTPモニタの選定

JBOSSプロジェクト
Blacktieに選定！

36

4-3-2. Blacktieを用いたTPモニタの実現Tomcat/JBossとCOBOLによるオンライン処理の実行基盤です。
Windows/Linux サーバー
インターネット

クライアントPC

Blacktie(EJB)
TPCALL

Blacktie Server(サービス)

TPRETURN

TPRETURN

AJTOOL UI
Framework

AJTOOL UI Framework
RECEIVE

JSP

スマートフォン/タブレット

SEND

COBOL(dll,so)

XML

JBoss AS(Wildfly)

opensource COBOL ランタイム

WEBサーバー

COBOLプロセス
SAM

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

ISAM
37

4-3-3. Azure Marketplaceへの取り組み

opensource COBOLがAzure Marketplaceに登場!
 Opensource COBOLとOpen COBOL ESQLのインストール済仮想マシンをAzure上で手軽に試すことができます。

Copyright © 2016, Tokyo System House Co., Ltd. All Rights

38

4-3-3. Azure Marketplaceへの取り組み


概算費用
 1コア 2GBメモリ

の構成で 約12円/ 時間！

現在できること
 COBOLコンパイルと実行、PostgresSQLと接続してデータを取得

Copyright © 2017, Tokyo System House Co., Ltd. All Rights39

5. まとめ

Copyright © 2017, Tokyo System House Co., Ltd. All Rights40

5.まとめ

OSSを中心としたモダナイゼーションへお客様と二人三脚で取り組んできました。

TPモニタの完成により、OSSを活用した
メインフレームのモダナイゼーションの準備が整います。
これからも、お客様とともに、IT資産を未来に継承できるサービスを提供し続けます。

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

41

5.opensource COBOLダウンロードサイト

ダウンロードしてご利用ください

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

https://github.com/opensourcecobol/※[opensource COBOL GitHub] で検索

Copyright © 2017, Tokyo System House Co., Ltd. All Rights42

ご清聴ありがとうございました。
お問い合わせ先
東京システムハウス株式会社
マイグレーションソリューション部
TEL : 03-3493-4604
e-mail : mms@tsh-world.co.jp

Copyright © 2017, Tokyo System House Co., Ltd. All Rights

43