Visual COBOL 5.0 の新機能

.NET Core のサポート

上へ戻る

.NET Core は、複数のオペレーティング システムをサポートするオープンソースの開発プラットフォームです。Visual COBOL を使用して COBOL アプリケーションを開発した後、.NET Core で公開してディプロイできるようになりました。

.NET Core アプリケーション用に、Class Library (.NET Core) および Console App (.NET Core) の 2 つのプロジェクト テンプレートが用意されています。

COBOL のフォーマット

上へ戻る

エディターで独自の設定や基準に応じて COBOL コードを再フォーマットできるようになりました。[Tools > Options > Text Editor > Micro Focus COBOL > Formatting > Indentation] (Visual Studio) で設定できる構成オプションに基づいてインデントが設定されます。

COBOL のフォーマットの機能は、[Edit > Advanced] メニュー (Visual Studio) から利用できます。

コード分析

上へ戻る

コードについての次のビューを作成できるようになりました。

  • Program Flow Graph - COBOL プログラムの全体の構造を節と段落を表すノードを使用して表示できます。ノード間にあるプログラム フローに影響する PERFORM 文は、ノードを結ぶリンクで表されます。[Program Flow Graph] ビューには他のプログラムの外部呼び出しも表示されますが、それらを展開することはできません。ノードにカーソルを合わせると、該当する節または段落を表すコードがツールチップに表示されます。ノードまたはノードを結ぶリンクをクリックすると、コード エディターでソースの該当する位置に移動し、プログラム内をすばやく簡単に移動することができます。
  • Data Flow Analysis Tree - データ項目を選択し、その値がどのような要因で変化するかや他のデータ項目にどのように影響するかを静的にトレースできます。

Enterprise Server とスケールアウト アーキテクチャ

上へ戻る

注: この機能は、早期採用者製品 (Early Adopter Product; EAP) リリース ステータスで提供されます。

このリリースでは、新しいパフォーマンス/可用性クラスター (PAC) を使用してクロスシステムのリージョンのグループを単一のシステム イメージとして管理および保守することが可能になり、Enterprise Server の可用性と保守性が向上しています。

異なる Enterprise Server インスタンスが連携できるようにするには、それらの間でデータを共有できる必要があります。これは、スケールアウト リポジトリ (SOR) を使用して実現されます。PAC に含まれるすべての ES インスタンスで、それらのインスタンス間の同期が簡単になるように、共通の SOR (PSOR) を使用して CICS リソース (このリリースでは PCT、PPT、FCT、DCT、および TST に限定) と内部システム データが格納されます。また、一時記憶域キューと一時データ キューについても、SOR に転送することで Enterprise Server インスタンス間で共有できます。この方法で PAC と SOR を使用する利点は次のとおりです。

  • ハードウェア コストの削減 - PAC を利用してスケールアップではなくスケールアウトを行うことで、プロセッサ リソースをより効率的に使用できます。
  • 保守が簡単 - システムの保守のために PAC にリージョンを動的に追加または削除できます。
  • 可用性の向上 - いずれかの Enterprise Server インスタンスに障害が発生した場合でも、少ない容量で PAC の運用を継続できます。Enterprise Server インスタンスを異なるマシンに配置すれば、可用性がさらに向上します。
  • 動的なスケーリング - Enterprise Server インスタンスをオンデマンドで PAC に追加したり PAC から削除したりできます。
  • パフォーマンスの向上 - 単一のマシンのリソースを使用することによるスループットの制限 (スケールアップの場合) がなくなります。
  • 保守性の向上 - PAC および関連するリージョンを最新の Web ベースの管理インターフェイス (ESCWA) で単一のイメージとして管理できます。

Enterprise Server Common Web Administration

上へ戻る

注: この機能は、早期採用者製品 (Early Adopter Product; EAP) リリース ステータスで提供されます。

Visual COBOL に新しい Enterprise Server Common Web Administration インターフェイス (ESCWA) が追加されました。ESCWA は、最新の Enterprise Server の管理、監視、制御に対応した Web ユーザー インターフェイスおよびサーバーです。ユーザービリティを向上させるために Enterprise Server のさまざまなユーザー インターフェイスが統合されており、ネイティブおよびマネージのリージョンやセキュリティ ストアを 1 か所で管理できます。次の機能があります。

  • 複数のホストにわたるディレクトリ サーバーの管理。
  • Enterprise Server インスタンスの監視と制御。
  • Microsoft Active Directory や OpenLDAP などの LDAP 互換セキュリティ マネージャーで定義されたセキュリティ ストアの構成と管理。
  • スケールアウト機能の管理 - Enterprise Server インスタンスの論理グループを指定し、パフォーマンス/可用性クラスター (PAC) とそれに関連するスケールアウト リポジトリ (SOR) を構成して実行できます。
  • Enterprise Server for .NET のリージョンとリスナーの管理、監視、制御。
  • セキュリティに重点を置いている最新の Web フレームワークの使用。

COBOL 言語の機能拡張

上へ戻る

COBOL 構文の強化点は次のとおりです。

  • ISO2002 条件付きコンパイル - 条件付きコンパイルのメカニズムが追加され、ISO2002 条件付きコンパイル方式が使用可能になりました。これは、Enterprise COBOL 6.2 に対するサポートの一部として実装されています。

    次のコンパイラ指令文がサポートされています。

    >>DEFINE
    >>IF/>>ELSE/>>END-IF
    >>EVALUATE/>>WHEN/>>WHEN OTHER/>>END-EVALUATE
  • JSON PARSE 文を使用すると、JSON テキストを COBOL データ形式に変換できます。これは、Enterprise COBOL 6.2 に対するサポートの一部として実装されています。
  • async および await 構文 (.NET COBOL のみ) - .NET COBOL で async および await 構文を使用した非同期プログラミングがサポートされます。
  • INSPECT 文 - INSPECT...CONVERTING 文のパフォーマンスが改善されました。特に、source-alphabet が長い場合のパフォーマンスが向上しています。
  • SET の移植可能な構文として set[string] がサポートされるようになりました。

コンパイラ指令

上へ戻る

このリリースでは、次のコンパイラ指令が新たに追加されました。

ILNORMALIZENAMES
プログラムを .NET または JVM COBOL にコンパイルするときに正規化されるプログラム要素を決定します。この正規化では、生成されたクラス ファイルの名前に含まれるすべての $ および - (ハイフン) 文字が _ (アンダースコア) 文字に置き換えられます。

統合化トレース機能 (CTF)

上へ戻る

このリリースの強化点は次のとおりです。

  • 動的 CTF - トレースしているプロセスの外部から動的に CTF を構成できるようになりました。

    新しいコマンド ライン ユーティリティ cblctd の使用 - CTF トレースがすでに有効になっている実行中のアプリケーションのトレース イベントを変更できます。トレース レベルを変更したり、トレース対象のコンポーネントを追加または削除したりできるほか、有効になっているエミッターの構成も可能です。

    さらに、Micro Focus ネイティブ データベース ファイル ハンドラーのアクティビティをトレースするために、mf.mfdbfh というコンポーネントを新たにトレースできるようになりました。

データファイル ツール

上へ戻る

このリリースの強化点は次のとおりです。

  • データファイル エディタに、2 つのデータ ファイルの内容を並べて比較できる [Compare Files] ツールが追加されました。
  • 構造ファイルとそれに含まれるレイアウトをデータファイル エディタで作成できるようになり、レイアウトを管理するためにクラシック データファイル ツール ユーティリティを使用する必要はなくなりました。
  • エンタープライズ サーバー リージョンに格納されている VSAM データセットへの接続で、現在のセッションの間はアクセスに必要なパスワードを格納できます。
  • アーカイブ スプール ファイルのマージ プロセスを使用して、1 つのスプール ファイルにマージされたアーカイブ JES スプール ジョブを表示できます。
  • [Duplicate Record] オプションを使用して、索引ファイル以外のファイルのレコードをすばやく複製できるようになりました。

データベース アクセス

上へ戻る

次の各項目が強化されています。

OpenESQL ADO.NET Connection Editor ツールバー

  • インストールされている .NET プロバイダーのすべての詳細を提供する新しい「i」(情報) ボタンが利用可能になりました。ADO.NET Connection Editor でのリソースの定義と使用を軽減する追加情報の提供
  • 静的な XA スイッチ モジュールの再接続 - グローバル トランザクションの開始時に、一時的に切断されたデータベースへの再接続が XA スイッチで試行されます。データベースへの接続が一時的に切断されている場合に、トランザクションを実行するために XA スイッチを手動で再度有効にする必要はありません。

デバッグ

上へ戻る

このリリースの強化点は次のとおりです。

  • COBOL ビジュアライザー - Visual Studio の新しいウィンドウでは、デバッグ時にテキストまたは HEX のいずれかの形式でデータ項目を表示および編集できます。このウィンドウはデータ項目のデータチップから起動できます。
  • 条件付き監視ポイント - COBOL 監視ポイントの条件およびヒット カウントを指定できるようになりました。式の形式またはヒット カウント (データ項目に関連付けられたメモリが更新された回数) として条件を指定できます。監視対象のデータ項目に変更が見つかるたびに条件が評価されます。条件が真と評価されると、プログラムの実行が停止します。これにより、現在の監視ポイントのサポートをより細かく調整することができ、大規模で複雑なプログラムをデバッグするときに役立ちます。
  • 動的コア ダンプ - コア ダンプをプログラムで起動し、その間もプログラムの実行を継続できるようになりました。新しいライブラリ ルーチンの CBL_CREATE_CORE を使用すると、現在のプロセス、または現在のプロセスと同じユーザーが所有するプロセスのコア ファイルを作成できます。
  • PERFORM の可視性の改善 - 32 ビットの Intel アーキテクチャの Linux および Intel アーキテクチャの Solaris の多くで、PERFORM スタックおよび PERFORM 範囲の名前が gdb などのシステム デバッガーに認識されるようになりました。AIX、64 ビットの Solaris-Intel、および他のすべての Linux プラットフォーム (64 ビット Linux-Intel を含む) は、すでに対応しています。
  • ランタイム エラー メッセージにソース行番号を含めることでプログラムの問題の診断が簡単になるように、コマンド ラインからビルドする場合に、NOANIM 指令が指定されていない限り、COBOL コンパイラによってデフォルトで .idy ファイルが生成されるようになりました。これらの .idy ファイルは、不要であればコンパイルの完了後に削除してかまいません。また、コードをデバッグする場合以外は、アプリケーションと一緒に配布する必要もありません。ただし、ANIM 指令を指定しないと、.dll.gnt などの生成された実行可能ファイルをデバッグすることはできません。これは、これまでの動作と同じです。
    注: IDE または IDE から生成されたビルド スクリプトを使用する場合の動作には変更はありません。

Enterprise Server セキュリティ

上へ戻る

このリリースの強化点は次のとおりです。

  • セキュリティ - 開発者や管理者が新しい COBOL サービス (Web サービスと EJB) をネットワーク経由でエンタープライズ サーバー インスタンスにインストールするときに、セキュリティ機能を使用できるようになりました。認証と承認について、いくつかのオプションを有効にすることができます。「ディプロイ リスナー」および「.mfdeploy ファイル」を参照してください。
  • コンテナー機能 - 新しいセキュリティ機能が追加され、Enterprise Server の一部のコンポーネントにおいて、特定の機密情報をコンテナーと呼ばれる記憶域の形式で保持できるようになりました。コンテナーには、構成可能なコンテナー プロバイダーを介してアクセスできます。デフォルトのコンテナー プロバイダーでは、データが暗号化された形式でディスクに格納されます。
  • OpenSSL 1.1.1 - OpenSSL セキュリティ プロバイダーが OpenSSL バージョン 1.1.1 に更新されました。

    これは OpenSSL の長期サポート版 (安定版) です。

    • 批准された TLS プロトコル バージョン 1.3 のサポートが追加されました。TLS 1.3 の利点は次のとおりです。
      • 初期接続のネゴシエーション シーケンスがはるかに短くなります。これにより、データ送信の開始前にリンクが確立されるまでの時間が短縮されます。
      • 最も安全な暗号とハッシュ方式のみが使用されます。
      • TLS 1.3 は古い TLS プロトコルよりも優先してネゴシエートされます。
    • TLS 1.3 の要件に合わせて、新しい暗号およびキー交換グループのサポートが追加されました。
    • 以前に構成されたエンドポイントに対するデフォルトのセキュリティ レベルは、セキュリティ レベル 0 からセキュリティ レベル 1 に変更されています。これにより、SSL3 や MD5 などの既知の脆弱な要素が誤って使用されることがなくなります。最近、Java、Chrome、Firefox、および安全な接続を提供する他のシステムにおいても、デフォルトのセキュリティ レベルが同じように変更されています。
  • Fileshare セキュリティ - Fileshare セキュア TCP/IP トランスポート プロバイダーで、証明書の共通名要素が Fileshare サービスの名前になっている X509 証明書の使用がサポートされるようになりました。

    以前のリリースでは、Fileshare サービスへの安全な接続を確立するために、Fileshare サービスが配置されたネットワークの場所を表す証明書が使用されていました。この方法も引き続きサポートされますが、この方法では単一のホスト システムに複数のサービスが存在する場合に接続している正確な Fileshare サーバーが区別されません。今回の変更により、個々の Fileshare サービスを一意の証明書を使用して識別できるようになります。同じホストで実行されていて、同じネットワーク エンドポイントで登録されている場合についてです。

  • Active Directory のユーザー グループとグループ名マッピングのサポート - Enterprise Server の外部セキュリティ機能の MLDAP ESM モジュールで、Enterprise Server ユーザー グループに Active Directory ユーザー グループ オブジェクトを使用できるようになりました。また、長いグループ名をメインフレーム エミュレーションに必要な最大 8 文字の名前にマッピングできるようになりました。
  • 選択的な監査 - 管理者が特定の対象のみを選択してセキュリティ アクティビティを監査することで、監査のオーバーヘッドとイベントの量を減らすことができます。Enterprise Server の外部セキュリティ機能の MLDAP ESM モジュールで、特定のユーザー、グループ、およびリソースのみを対象として ESF 監査イベントを有効にできるようになりました。
  • LDAP クライアント ライブラリとの連携の強化 - LDAP クライアント ライブラリとの相互運用が改善されたことで、LDAP 関連の問題が少なくなり、診断も簡単になりました。Enterprise Server の外部セキュリティ機能の MLDAP ESM モジュールが次のように改良されています。
    • クライアント ライブラリのロード後に、ベンダーとバージョンの情報がログに記録されるようになりました。
    • OS ベンダーから提供された正しいライブラリをロードできるようにモジュールのヒューリスティックが改良され、「provider」構成オプションを通常は省略できるようになりました。
    • OpenLDAP について、モジュールで独自の「connect timeout」オプションが設定されるようになりました。

Micro Focus Unit Testing Framework

上へ戻る

このリリースでは、次の機能がサポートされています。

  • データ駆動型単体テスト - ソースから読み取られた値が同じテストを通過するデータのテストに適した新しいタイプのテスト。
  • テスト出力の色付け - テスト出力に、サポートされている端末エミュレーション用の基本的な色分けを含めることができるようになりました。この機能はコマンド ラインから実行する必要があります。

製品ドキュメント

上へ戻る

このリリースの新機能は次のとおりです。

  • Visual Studio のオンライン コンテキスト ヘルプ - オンライン コンテキスト ヘルプが Visual COBOL のデフォルトの設定になり、Micro Focus SupportLine のドキュメントが開くようになりました。

    Visual COBOL のローカル ヘルプも引き続きサポートされ、必要に応じて手動でインストールできます。詳細については、「After Installing」を参照してください。

  • COBOL と他のマネージ言語の比較」のドキュメントが更新され、.NET および JVM COBOL のサポートについての最新の機能拡張の内容が反映されました。

Visual Studio との統合

上へ戻る

このリリースでは、次の各項目が強化されています。

COBOL エディター

  • コード スニペット - $if 文と $region 文のスニペット、およびフォーマットを反映しないコードの部分を示す *cblformat off を指定するスニペットが新たに追加されています。
  • 折りたたみ可能な領域 - IF、EVALUATE、および PERFORM の各文でアウトラインを使用できるようになりました。
  • [Peek Definition] コンテキスト メニュー コマンド - エディターに埋め込まれたポップアップ ウィンドウを呼び出し、データ項目の定義を表示します。この機能は編集中でもデバッグ中でも使用できます。
  • IntelliSense の入力候補 - COPY 文の IntelliSense の入力候補に、追加するディレクトリが含まれるようになりました。
  • Find All References - COBOL の [Find All References] 出力ウィンドウが強化され、結果のフィルター処理、グループ化、並べ替え、検索が可能になりました。
  • クイック アクション - 不足している節または段落の作成、$ILUSING 文の追加と並べ替え、デッド コードの削除またはコメントアウトのための電球がエディターに表示されるようになりました。

Visual Studio ツール ウィンドウ

  • [Error List] ウィンドウに [Sequence Number] 列が追加されました。
  • Visual Studio の [Find All References] ツール ウィンドウを使用して、COBOL プロジェクト内の参照を検索できます。

プロジェクト プロパティ ページの新しい設定

  • マネージ プロジェクトの [Debug] プロジェクト プロパティ ページに、移植可能なシンボル ファイル (.PDB) を生成するか移植可能なシンボル情報をアセンブリに直接埋め込むための設定が追加されました。
  • マネージ プロジェクトのプロパティの [Smart Linkage] セクションに、ILSMARTTRIM および ILSMARTANNOTATE コンパイラ指令を有効にするための 2 つの新しい設定が追加されました。

新しいプロジェクト テンプレートのカテゴリ

  • COBOL プロジェクト テンプレートが、モダン開発で使用されるタスクおよびワークロードをより適切に反映したカテゴリに編成されました。Azure や .NET Core などの一部のカテゴリは、それらの機能のサポートが Visual Studio にインストールされている場合にのみ表示されます。詳細については、「不足している機能を IDE からインストールするには」を参照してください。