COBOL から C# への移行

汎用機の COBOL を、今の言語と基盤へ。

COBOL で書かれた基幹系システムを、Linux と C# へ段階を分けて移します。汎用機の約15,000本・約500万行を移した実績があります。

まずは現状を調査し、自動で変換できる範囲と、手で直す量の見通しを整理します。

COBOL の移行を相談する

プログラムのおおよその本数、COBOL の種類、帳票や JCL の運用の有無を伺い、調査の進め方をご案内します。

こんな方に

こんなお困りごとはありませんか

  • 汎用機の保守の費用が重く、更新の時期が近づいている
  • COBOL を読める技術者が、社内にも取引先にも少なくなった
  • 本数が多く、全部を作り直す予算が出せない
  • 業務を止められないので、一度に入れ替える踏み切りがつかない
  • 社内の標準が .NET(C#)で、基幹系だけ別の運用になっている

移行の前後

2段階に分けて移します

汎用機から直接ではなく、いったん Linux の COBOL へ移し、そのうえで C# へ変換します。

移行の前は、汎用機の上で COBOL のプログラムと JCL の運用が動いている。移行の後は、Linux サーバーの上で C#(.NET)のプログラムが動き、JCL の運用は Perl に移っている。業務の中身とデータは変わらない。

1段目(汎用機から Linux へ)だけを先に行うこともできます。

当社の進め方

足りなければ、土台そのものを直します

変換のプログラムを、その案件のために作る

元のプログラムの書き方を調べたうえで、変換のプログラムを当社で作ります。自動で変換できる割合は、作り込むほど上がります。

オープンソースのコンパイラ自体を直した

1段目では、オープンソースの COBOL(OpenCOBOL)で足りない機能を、コンパイラそのものを直して補いました。使うだけでなく、直せます。

2段階に分け、止めずに移す

汎用機から直接 C# へ移すのではなく、いったん Linux へ移してから言語を変換します。一度に変える範囲を小さくできます。

実績

自治体の基幹系、約500万行を移しています

汎用機の COBOL を、2段階に分けて今の言語へ移しています。

汎用機で動いていた COBOL の基幹系システム(約15,000本・約500万行)と、処理の手順を書いた JCL(約6,500本・約100万行)を、Linux サーバーへ移すダウンサイジングに携わりました。COBOL は変換のプログラムを作り、自動の変換だけで9割近くをコンパイルできる状態にし、足りない機能はオープンソースの COBOL(OpenCOBOL)のコンパイラそのものを直して補いました。JCL は Perl に移し、ラインプリンタの動きをまねるソフトを作って帳票を PDF で出せるようにしました。

いまは、その COBOL のプログラムを C# へ変換し、元と同じ結果を出すかを確かめています。

項目規模
移した COBOL のプログラム約15,000本・約500万行
移した処理の手順(JCL)約6,500本・約100万行(Perl へ)
1段目(汎用機から Linux へ)自動の変換だけで9割近くをコンパイルできる状態に
2段目(COBOL から C# へ)取り組んでいるところです

1段目(汎用機から Linux へ)の詳しい記録を見る

できること

この移行でできること

COBOL のプログラムの言語変換

COBOL で書かれたプログラムを C# へ変換し、元と同じ結果を出すかを確かめます。自治体の基幹系システムで、いま取り組んでいます。

汎用機から Linux へのダウンサイジング

汎用機の COBOL をオープンソースの COBOL へ移します。自治体の基幹系(約15,000本・約500万行)では、自動の変換だけで9割近くをコンパイルできる状態にしました。

運用の手順(JCL)の移行

処理の手順を書いた JCL(約6,500本・約100万行)を Perl に移しました。

帳票の作り替え

ラインプリンタの動きをまねるソフトを作り、帳票を PDF で出せるようにしました。

始める前に

当社とお客様の役割

当社が代わりにやること

  • 現行のプログラムと残っている資料から、変換の範囲を調べる
  • 変換のプログラムを作り、足りない機能を補う
  • 変換して、元と同じ結果が出るかを確かめ、直す
  • 本番へ入れる順番の計画を立て、移す

お客様にしかできないこと

  • 現行のソースコードと、残っている資料をお預けいただくこと
  • 業務として正しく動いているかの、最終の確認
  • 本番のデータを試験に使ってよいかの判断
  • 切り替える日と、切り替える順番の決定

できないこと・あらかじめお伝えすること

確認事項案内する対応方針
すべてのプログラムが自動で変換される保証はありません調査の段階で、自動で変換できる割合と手で直す量を見積もってお伝えします
汎用機の独自の機能や、専用の端末・帳票は個別の対応になります調査で洗い出し、作り替えるか、別の仕組みに置き換えるかをご相談します
業務として正しいかの最終の確認は、お客様にお願いします確認していただく範囲と手順を、一緒に決めてから進めます

導入の流れ

移行の進め方

  1. 1.今の環境を調べるプログラムと残っている資料から、いまの仕組みと変換の範囲を確かめます。資料が残っていなくても、プログラムから調べます。
  2. 2.変換のプログラムを作り、変換する言語を変換するためのプログラムを当社で作り、元のプログラムを新しい言語へ変換します。足りない機能は、土台のほうを直して補います。
  3. 3.本番のデータで確かめ、直す本番で使われたデータで変換後のプログラムを動かし、元と違う動きや不具合を直します。
  4. 4.本番へ入れ、育てていく本番のサーバーへ入れた後も、業務の変化に合わせて改修を続けてお引き受けします。

ご質問

よくあるご質問

汎用機から、いきなり C# へ移せますか。

技術的には考えられますが、当社は2段階に分ける進め方をおすすめしています。いったん Linux の COBOL へ移すと、一度に変える範囲が小さくなり、途中で元と同じ結果が出ているかを確かめやすくなります。1段目だけを先に行うこともできます。

どのくらいが自動で変換できますか。

元のプログラムの書き方によって変わります。汎用機から Linux へ移した案件では、自動の変換だけで9割近くをコンパイルできる状態にしました。割合は、調査の段階で見積もってお伝えします。

COBOL のまま、Linux で動かし続けることはできますか。

できます。1段目(汎用機からオープンソースの COBOL へ)で止めておき、C# への変換は後から行うこともできます。

JCL や帳票はどうなりますか。

処理の手順を書いた JCL は Perl などに移します。帳票は、ラインプリンタの動きをまねるソフトを作って PDF で出せるようにした実績があります。

まず何から始めますか。

現行のソースコードを拝見し、本数・行数・使われている機能・外部との連携を調べるところからです。調査の範囲と進め方をお見積りしてご提案します。

ご相談

COBOL から C# への移行について相談する

お問い合わせフォームは、ご用件に「COBOL から C# への移行」を選んだ状態で開きます。

COBOL の移行を相談する

相談する(お問い合わせ)