オフコン資産のオープン環境への移行と Net Express の活用
オフィスコンピュータからオープンシステムへのダウンサイジングにおいて、既存の COBOL資産、開発スキルを有効に活用することは、成功の要と言えます。
ここでは、旧システムのデータ資産をオープンなデータベースに変換し、Micro Focus Net Express によって最新のインターネットアプリケーションで活用する方式をご提案いたします。

オフコンベースの情報システムの特徴
オフコン上に構築されたシステムには、一般に以下のような特性があります。
- 集中サーバー、端末としてのPCリンク
- レディメイドのメーカ製ミドルウェア群
- DBMS、画面、帳票、通信、資源管理
- 細かなユーザ要求に応える画面・帳票
- 蓄積された開発手法に基づく高い生産性
- 充実したパッケージソフトウェア
メーカー提供4GL いずれも長年にわたって成熟され、完成された技術と方法論であるといえます。それにもかかわらず、西暦2000年問題の対応や、メーカーに依存しない選択肢への要求から、オープンシステムへの移行はますます進行しています。
オープンへの移行の方法論
システムをオフコンからリプレースする場合に、既存資産の再利用の度合いから見ると、次の3通りの方法があります。
- 既存プログラム資産を捨てて新規開発する。
新しいプラットフォームで、新しい言語や開発ツールを使って一から作り直します。しかし、長年に渡ってユーザ要求を満たすために改修を重ねてきたシステムを、スクラップ&ビルドすることで要求を満たせるでしょうか? - 既存COBOLソースコードをそのまま再利用する。
移行元オフコン機種に依存する移行ツール、コンバータなどが提供されている場合があり、これを利用します。この場合、一般には移行ツールは、オフコンの画面やデータベースをオープンシステム上でエミュレーションすることで解決しています。すなわち、ベースとなるOSが Windows や UNIX に変わっただけのことで、システム自体がメーカーに依存する環境で稼動していることに変わりはありません。これではオープンシステムへ移行したメリットは半減します。 - 既存資産のロジックを再利用しながら再構築する。
ここでは、この方法を提案します。オフコン独自のミドルウェアに関連する部分は、プログラムの書きなおしが発生しますが、その工数は新システムをオープンなものに生まれ変わらせ、将来に渡ってのスケーラビリティを確保するために必要なものと考えます。
データ + ロジック = 情報システム
ここでの有効な方法論は、まずデータを移行し、ロジックを再利用しながら再構築することです。以下に、マイクロフォーカス株式会社 が提案するソリューションを構成する製品群を紹介します。
オフコンデータのコンバージョン
オフコン上のシステムが操作するデータは、ISAMやオフコン独自のデータベース管理システムに保管されています。これを、オープン環境のデータベースエンジンへ移行することが第1歩です。
Net Expressが提供するデータツールは、IBMメインフレーム形式のデータファイルを Net Express形式のデータファイルへ変換します。しかし、これは各種国産オフコンのコード形式をサポートしていませんので、サードベンダーのツールが必要になります。ここでは、そのようなツールの一例として、富士通ビー・エス・シー様の F*TRAN+ を紹介します。
F*TRAN+シリーズは、データ変換用ユーティリティのデファクトスタンダードです。
ホスト上のCOBOLデータ中の、日付データやBCD形式データの変換、EBCDIC←→JIS8変換はもちろん、各種漢字コード(拡張漢字を含む)の変換をサポート。COBOLのゾーン形式、パック形式などの数値項目の変換も可能です。
各ホストに対応した拡張漢字テーブルを提供しており、拡張漢字テーブルはユーザがカスタマイズ可能になっています。
Revolve
- 既存プログラム資産の理解と棚卸しを支援
再構築の成功は、現行システムに対する正確な理解無しでは有り得ません。 現在運用中のシステム資産を分析し、データ構造や業務フローを抽出し、問題点・引き続き活かしたい点を洗い出すことが再構築の第1歩です。Micro Focus Revolve V4.1Jは、既存のプログラムコード、ジョブ制御、各種定義マクロを入力して柔軟なリポジトリを生成するリエンジニアリングツールです。システム全体に渡る影響波及解析や、各種クロス参照・棚卸し機能が、システム構造の理解を促進します。
Net Express
- Windows環境に最適化された COBOL開発環境
32ビットWindowsネイティブなアプリケーションの開発に最適なCOBOL言語です。オフコンのCOBOLと同様のANSI85規格準拠構文に加え、インターネットやデータベースとの接続のプロトタイプを簡易に生成する、各種のウィザードが装備されています。生成されたプロトタイプに、既存のCOBOLプログラムロジックを埋めこむことにより、Webへの容易な移行を支援します。
移行の実際
索引ファイル、データベースのダウンロード
オフコン上のデータ管理ユーティリティを使用して、索引ファイルやデータベースを一旦固定長順編成ファイルへアンロードします。このときに、順ファイルのレコードレイアウトを明確にしておきます。これは通常COBOLのCOPY登録集などで定義されているものです。その上で、アンロードされた順ファイルをPCへバイナリファイル転送します。
F*TRAN+ によるデータベースへの変換
各順ファイルは、Windows上のオープンデータベースのひとつのテーブルに変換されます。このため、変換後の収納先として事前にデータベース定義を行い、必要なテーブルを切っておきます。
COBOLレコード定義
01 従業員レコード.
05 従業員番号 PIC X(6).
05 従業員名 PIC N(10).
05 生年月日 PIC 9(8).
05 性別 PIC N.
05 住所 PIC N(20).
05 入社年月日 PIC 9(8) USAGE COMP-3.
05 所属部署 PIC X(4).
F*TRAN+による変換指定

インポートされた Accessテーブル

バッチプログラムの変換
オフコンで稼動していた COBOLのバッチプログラムは比較的簡単に Net Express へ移行することができます。データベースアクセスの部分に書き換えが必要となりますが、Net Express の OpenESQLアシスタントを使用して、対話型でクエリーを作成できます。また、簡単な帳票プログラムであれば、既存COBOLプログラムを捨ててしまって、Access のクエリーとレポートに置きかえることも可能です。
画面・帳票の変換
画面定義と帳票定義は、それぞれWindows上でサポートされる何らかの形式に変換する必要があります。 イントラネットに移行するのであれば HTMLの入出力フォームに書き換えます。昨今、Microsoft Wordを初めとする、操作性の高い対話型フォーム設計ツールが流通していますので、このようなものを採用して生産性を上げます。この場合、既存のオフコンCOBOLプログラムから切り出された再利用ロジックは、Microsoft IIS 用の DLL としてリンクされます。この部分の移行作業は、Net Expressのインターネットアプリケーションウィザードによりほとんど自動的に行うことができます。
Windows GUIクライアントにする場合には、画面は Net Expressが標準装備する GUIツールである Dialog Systemによるか、あるいは Visual Basicなどで作成します。この場合、サーバー側で稼動するロジックは、既存のオフコンCOBOLプログラムから切り出された計算処理をサブルーチンとして COMコンポーネント化しておくことができます。このコンポーネントは DCOM経由でGUIクライアントから呼び出すことができます。既存 COBOLサブルーチンの COMコンポーネント化も、Net Express のクラスウィザードが支援します。