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