はじめに
ここでは、Fileshare の機能と Fileshare の仕組みについて簡単に説明します。
Fileshare は、多くのユーザーがネットワーク全体で同時にデータファイルを共有するアプリケーションに最も適しています。 また、Fileshare は、基本 COBOL ファイル処理システムの全機能に加え、次のような追加機能をサポートしています。
- ネットワークトラフィックの削減
- トランザクション処理
- ロールフォワード回復ログ処理
- ログオンとファイルオープンのセキュリティ保護
アプリケーションでこれらの機能を利用できるかどうかは、次の条件によって異なります。
- アプリケーションによる共有データファイルの処理方法
- アプリケーションが共有するデータファイルの種類
- Fileshare サーバーが動作するオペレーティング システム
- Fileshare クライアントと Fileshare サーバーの間で使用する通信プロトコル
基本的な Fileshare システムを使用するためにプログラムソースコードを変更する必要はありません。 ソースコードの変更が必要になるのは、Fileshare の高度な機能を利用する場合のみです。
基本 COBOL ファイル処理システムを使用する場合には、共有データファイルに対して通常の COBOL 入出力要求が出されると、ファイル ハンドラーがネットワークを通じてそのデータファイルに複数のアクセスを行います。その様子を図 1-1 に示します。

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

図 1-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 サーバーは、オペレーティング システムを呼び出すことなく、レコードのロックを内部的に処理できます。