基本 COBOL ファイル処理システムを使用する場合は、共有データ ファイルに対して通常の COBOL 入出力要求が出されると、ファイル ハンドラーがネットワークを通じてそのデータ ファイルに複数のアクセスを行います。その様子を図 1 に示します。
図 1. 従来のネットワーク

Fileshare システムでは、データ ファイルにアクセスする必要のあるプログラムの要求を File Handling Redirector (FHRedir) モジュールで処理します。FHRedir モジュールは、その要求をネットワークを通じて Fileshare サーバーに送ります。Fileshare サーバーは、受け取った要求に基づいて、データ ファイルに対して実際の入出力操作を行います。入出力操作が完了すると、Fileshare サーバーは、ファイル状態を含め、その結果を FHRedir に戻します。FHRedir は結果をプログラムに返します。その様子を図 2 に示します。
図 2. Fileshare ネットワーク

Fileshare システムは、次の要素で構成されます。
Fileshare クライアント |
Fileshare クライアントは、ユーザー プログラムから構成され、FHRedir モジュールを介してデータ ファイルの入出力要求を出します。FHRedir は、受け取った入出力要求を Fileshare サーバーにリダイレクトします。 |
Fileshare サーバー |
Fileshare サーバーは、アクセス対象のデータ ファイルと同じマシンで動作します。Fileshare サーバーは、ネットワークを通じて Fileshare クライアントから送信された要求を受け付け、Micro Focus ファイル ハンドラーのローカル コピーを呼び出してその要求を処理し、結果を Fileshare クライアントに返します。 |
注:
- Fileshare サーバーと Fileshare クライアントが両方とも同じマシンにあってもかまいません。たとえば、Windows のようなマルチタスク方式のオペレーティング システムでは、Fileshare クライアントをあるセッションで実行し、Fileshare サーバーを別のセッションで実行することができます。この方法を採用すると、ネットワークを通じて実際にデータを送信しないで、1 台の PC で Fileshare アプリケーションを開発できます。ただし、この場合は、ネットワークを使用していないため、性能が向上したかどうかを確認できないことに注意してください。
- Fileshare サーバーを Fileshare クライアントと同じセッションで実行することもできます。ただし、その場合はシングル ユーザー モードで操作します。この方法を採用すると、ネットワークやマルチセッションを使用せずに、トランザクション処理のような Fileshare の高度な機能を活用することができます。シングル ユーザー モードでの操作の詳細については、「高度な操作」の章にある「シングル ユーザー モード」セクションを参照してください。
複数の Fileshare クライアントから出されるすべての要求を 1 つの Fileshare サーバーで処理するため、Fileshare サーバーにアクセスするユーザー数に関係なく、Micro Focus ファイル ハンドラーのコピーを 1 つ使用できます。これには、次の利点があります。
- Fileshare サーバーはファイルを排他的に開いて、Fileshare サーバーのキャッシュとオペレーティング システムのキャッシュの両方を全面的に利用できます。
- Fileshare サーバーは、データ ファイルに対するセマフォを取得する必要がありません。通常、セマフォが必要となるのは、共有データ ファイルに対する同時並列的なアクセスを制御する場合です。
- Fileshare サーバーは、オペレーティング システムを呼び出すことなく、レコードのロックを内部的に処理できます。