.NET環境へのレガシー・マイグレーション

―― メインフレームから.NETへ低コストで移行するには? ――


マイクロフォーカス株式会社 技術部 シニアマネジャー
小林 純一氏

聞き手、文責:デジタルアドバンテージ
2004/07/24
Page1 Page2 Page3

.NET対応のCOBOL開発ツール「Micro Focus Net Express」

―― マイクロフォーカスさんの.NET対応COBOL開発ツール「Net Express」について詳しく教えてください。

 

小林:COBOL開発製品としては、Windowsターゲットの「Net Express」とUNIX/Linuxターゲットの「Server Express」の2種類があります。このうちのNet Expressの方が.NET対応製品です。

 Net Expressは、従来からのマイクロフォーカス独自のIDE(統合開発環境)も持っているのですが、マイクロソフトのVisual Studio .NET(以降、VS.NET)に統合可能なバージョンも含まれており、VS.NETから使うこともできます。

Micro Focus Net ExpressのIDE画面

 Net Express 4.0J(日本語版)は、2003年9月から販売しており、2004年2月には追加コンポーネントとして「Net Express with .NET」を提供開始しました。Net Express 4.0J をお持ちのお客様は、弊社ホームページから無償でダウンロードできます。Net Express with .NETは、VS.NETと統合可能な開発環境を提供しています。

―― では、COBOL開発ツールNet Expressが.NETに対応するメリットは何でしょうか?

 

小林:.NET対応のメリットは、何といってもCOBOLプログラムから信頼性の高い.NETアーキテクチャを利用できるようになることです。ミッション・クリティカル分野においてWindowsは、「メモリ・リークがよく起こるため、1週間に1回はシステム・リセットが必要だ」などとやゆされてきました。数値的な裏付けがあるわけではありませんが、経験的にUNIXベースのシステムと比較して、Windows環境ではリセットが必要になる場面が多いのは本当だったと思います。しかし.NET環境なら、メモリ・リークの発生などはシステムのレベルで抑制されます。.NET Frameworkのメモリ管理の仕組みをよく理解しているユーザーから、COBOLのバッチ処理プログラムの実行環境は.NET Frameworkが基盤でなければ安心できないという声も届いています。

 もちろん、現状では実績はまだ多くはないかもしれません。私は実際に運用しているわけではないので、信頼性についても確信を持って語れるわけではありませんが、設計を見る限りではよくできていると思います。今後はミッション・クリティカルの分野においても、.NETが普及するものと期待しています。クラス・ライブラリの完成度も、Javaのそれをしのいでいると思います。

―― 今後、Net Expressはどのような機能拡張が行われる予定ですか?

 

小林:Net Express with .NETは英語版が2003年11月、日本語版が2004年2月にリリースされてからまだ1年もたっていませんので、すぐには大きなバージョン・アップは行いません。Visual Studio 2005(コード名:Whidbey)の登場に合わせて新バージョン「Micro Focus Studio(仮名)」をリリースする予定です。そのバージョンで予定されている機能としては、次のようなものがあります。

  • 検証可能なタイプ・セーフ・コード(Verifiably Type-Safe Code)への対応
  • SQL Server 2005(コード名:Yukon)への対応
  • アンマネージ・コード(=ネイティブ・コード)開発環境のVS.NETへの統合
  • メインフレーム・マイグレーション機能の強化
  • 64bit版Windowsへの対応

 このうちいくつかを簡単に説明しましょう。

●検証可能なタイプ・セーフ・コードへの対応

 .NET Framework仕様の「検証可能なタイプ・セーフ・コード(Verifiably Type-Safe Code)」に対応することで、.NETコンポーネント実行時のセキュリティ機構であるコード・アクセス・セキュリティ機能をフルに活用できるようになります。これによって、例えばLANなどのネットワーク上にあるプログラムを起動するときに、.NETの共通言語ランタイム(CLR:Common Language Runtime)によってセキュリティ制限がかけられるようになります(ネットワーク上のプログラム起動については「特集:ノータッチ・デプロイメント」を参照、ランタイムによるセキュリティ機能は「解説:インサイド .NET Framework [改訂版]」を参照)。

●SQL Serverへの対応

 SQL Serverへの対応については、現在のバージョンでもすでに行われていて、本製品の強みとなっています。レガシー・マイグレーションにおいて、メインフレーム上のシステムをそのまま.NET上に復元できることが売りの1つです。

 例えば他社の.NET対応COBOL開発ツールは、.NET言語としてのCOBOLという側面が強い。つまり、.NETのすべての機能をCOBOL言語で使えるようにしているので、COBOL言語でもC#やVB.NETと同じように作れるのが特徴です。

 それに対しマイクロフォーカスは、たとえそうすることが.NETの言語仕様にそぐわないとしても、メインフレームで動かしているプログラムを、そのまま.NETで動かしたいと考えています。その場合、.NETの言語仕様とCOBOL言語仕様の大きな相違点であるデータベース・アクセス手法が非常に重要になってきます。

 これまでのメインフレーム上のCOBOLプログラムでは、COBOLコードの中にSQL文がそのままの形で直接埋め込まれています。この仕様を.NETでも実現しているので、シームレスにレガシー・マイグレーションできるようになっているのです。

 Net Expressでは、埋め込まれたSQL文に対しては、実は内部でADO.NETが呼び出されています。メインフレームのSQLクエリとADO.NETのSQLクエリは、もともとの設計思想がまったく違うので、ADO.NET向けの最適化をしなければなりません。この作業はマイクロフォーカスが現在も着々と行っており、Net Expressの次のメジャー・バージョン・アップを待たずに、順次マイナー・バージョン・アップに加えていく予定です。

Micro Focus Net ExpressでのSQL文の入力とADO.NET接続の設定

●アンマネージ・コード開発環境のVS.NETへの統合

 現在のNet Expressでは、アンマネージ・コードのプログラム(=Win32ネイティブのプログラム)を作成する場合、VS.NETではなくマイクロフォーカス独自のIDE(Net Express IDE)を使わなければならないのですが、これをVS.NETへ統合する予定です。

 もちろんアンマネージ・コードを利用しているお客さまはまだまだ多いので、このようなアンマネージ・コードが開発できる環境(Net Express IDE)も引き続き提供していきます。現在のシステム環境では、IBM製のミドルウェアの下で使われるケースも多々あり、その場合アンマネージのコードが必要になるので、まだまだ需要があると思います。

 メインフレームからのレガシー・マイグレーションにおいて、開発コストを抑えるために、既存のCOBOLコードのビジネス・ロジック資産を流用することは、非常に現実的な選択肢に思える。その際にNet Expressを使えば、COBOL開発者はいままでと同じようにビジネス・ロジック層の開発に専念できるし、.NET開発者もユーザー・インターフェイス層の作成に専念できるので、両方の開発者が幸せになれる。これまで蓄積してきたCOBOL資産を活用しながら、最新技術を生かした情報システムへの移行を考えるうえで、.NETプラットフォームが現実的な選択肢になってきた。今回ご紹介した「Micro Focus Net Express」は、それを強力に支援するツールの1つになるだろう。End of Article

 

 INDEX
  [Trend Interview] .NET環境へのレガシー・マイグレーション
    1..NETへのレガシー・マイグレーションの現状
    2.COBOL開発の現在と未来
  3..NET対応のCOBOL開発ツール「Micro Focus Net Express」
 
インデックス・ページヘ  「Trend Interview」

更新履歴
【2004/07/24】本記事の一部(下記の表を参照)に以下のような誤りがありました。お詫びして訂正させていただきます。

 Net Express 4.0J(日本語版)は、今年(2004年)の2月から販売しており、6月には追加コンポーネントとして「Net Express with .NET」を提供開始しました。
 Net Express 4.0J(日本語版)は、2003年9月から販売しており、2004年2月には追加 コンポーネントとして「Net Express with .NET」を提供開始しました。

 Net Express 4.0は英語版が2003年11月、日本語版が2004年2月に発売されてからまだ1年もたっていませんので、すぐには大きなバージョン・アップは行いません。
 Net Express with .NETは英語版が2003年11月、日本語版が2004年2月にリリースされてからまだ1年もたっていませんので、すぐには大きなバージョン・アップは行いません。


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間