マネージ コードへの移動時の検討

一部の技術には制限があるか、マネージ コードではサポートされていない場合があります。マネージ コードに移行するには、以下の事項を検討する必要があります。

データベース サポート

SQL(DBMAN=ADO) (Visual Studio のみ) および SQL(DBMAN=JDBC) (Eclipse のみ) 指令で OpenESQL を使用して、マネージ アプリケーションをコンパイルできます。 Micro Focus は、OpenESQL ネイティブ コードとマネージ コードのランタイム システム間で、可能な限りソース コードの互換性を維持しようとします。各ランタイム システムには、基礎となるデータベース API と実行環境によって課される拡張、制限、相違がありますが、埋め込み SQL 文 (DECLARE CURSOR、OPEN、FETCH、CLOSE、SELECT、INSERT、UPDATE、DELETE、CONNECT、DISCONNECT、COMMIT、ROLLBACK 含む) の大部分は完全に互換性があり、変更は必要ありません。

ADO.NET ランタイム システムには、EXEC ADO 文を使用したオフライン DataSets および DataTables をサポートする拡張子があります。ADO.NET および JDBC ランタイム システムは両方とも、オブジェクト ホスト変数と従来の COBOL ホスト変数をサポートしています。

以下の制限は、マネージ コードにおけるデータベース サポートに適用されます。

  • Oracle は、Pro*COBOL を使用したマネージ コードはサポートしていません。対策として、まずコードを ODBC で OpenESQL に移行し、次に ADO.NET でマネージ コードに移行します。
  • OpenESQL に移行するには、Pro*COBOL 指令 MODE=ANSI および FIPS でコンパイルして、コードにマネージ コードでサポートされていない非標準 ANSI 構文が含まれるかどうかを判断する必要があります。また、一部の Orable の拡張子は OpenESQL によってサポートされてる場合がありますが、その他は修正する必要があります。
  • 一部の PL/SQL 文およびブロックは機能する可能性がありますが、マネージ コードに PL/SQL サポートはありません。
  • ストアド プロシージャ コールから出力パラメーターを使用するアプリケーションは、COBOL 指令 NOILNATIVEを使用する必要があります。オブジェクト ホスト変数は、ストアド プロシージャ コールで出力パラメーターには使用できません。
  • ロックとのペシミスティック同時実行は、Microsoft SQL Server 以外のデータベースの ADO ではサポートされていません。代わりにランタイム システムが、オプティミスティック同時実行の代替となります。

Dialog System アプリケーション

マネージ コードは、Enterprise Developer を通して Dialog System アプリケーションを最新化する優れた方法です。最初のステップとして、Enterprise Developer でアプリケーションをインポートし、それを新しい IDE でビルドおよび実行できます。次に、アプリケーションを徐々に最新化していくことができます。たとえば、ある Dialog System スクリーンを Windows Form に置き換えたり、.NET ユーザー コントロールを ActiveX としてラップし、それを D ialog System で使用したりすることができます。一方、残りのコードは変更しないまま保持できます。最新化の技術の範囲の詳細については、Visual Studio の Enterprise Developer の文書の『Modernizing Dialog System Applications』を参照してください。

ライブラリ ルーチン

一定のライブラリ ルーチンは、ネイティブ コードでのみサポートされています。マネージ コードで使用できるルーチンについては、製品文書の『General Reference』 > 『Library Routines』を参照してください。

マネージ コードとネイティブ コード

ネイティブ コードは、マネージ コードから呼び出すことができますが、禁止できる環境もあります。たとえば、.NET ストアド プロシージャと特定の Java アプリケーション サービスから、ネイティブ COBOL を呼び出すことはできません。

ユーザー インターフェイスの最新化

Enterprise Developer は、アプリケーションのユーザー インターフェイスの最新化の優れたオプションを提供します。.NET の Windows Presentation Foundation または JVM で Java Swing を使用できます。アプリケーション アーキテクチャ、および元のユーザー インターフェイスとバックエンド モジュールの関連付けの強さによっては、潜在的な問題が起こりうる点に注意してください。

オブジェクト指向プログラミング

.NET フレームワーク、JVM などのマネージ環境でコンパイルと実行を行う、手続き型 COBOL を作成し、使用できます。ただし、マネージ フレームワークのすべての機能をフル活用し、コードを他のマネージ言語に公開できるようにするには、マネージ COBOL 構文の使用を開始する必要がある場合があります。マネージ COBOL の作成に関するヘルプを表示するには、以下のリソースを参照してください。

  • 手始めに、Micro FocusSupportLine Web サイトの『Product Documentation』セクションから閲覧可能な文書『An Introduction to Object-Oriented Programming for COBOL Developers』を参照することを推奨します。ダウンロードするには、ここをクリックしてください
  • Enterprise Developer がインストールされた環境での、COBOL for .NET または COBOL for JVM の例を参照してください。
  • Microsoft の MSDN の .NET プログラミングに関する大量のリソースと、Java Web サイト上の Java の例も参照できます。

サードパーティ製ソフトウェア

オペレーション システム コールを作成する サードパーティ APIに対する、既存の手続き型コードを検討します。他のソフトウェア ベンダーによって提供される技術は、マネージ コードでの利用向けに書き替える必要があります。

Win32 API ルーチン

Win32 API ルーチンは、マネージ コードではサポートされていません。手続き型コードをマネージ COBOL に移行する場合、希望する結果を得るには Win32 API ルーチンへのコールを削除し、その代わりとして同等の .NET または JVM を使用する必要があります。