NaturalX クラスで構成されるアプリケーションは、DCOM を使用して複数のプロセスおよびマシンに配布することができます。
このドキュメントでは、次のトピックについて説明します。
『オペレーション』ドキュメントの「NaturalX サーバー環境でのステートメントおよびコマンドの使用」も参照してください。
NaturalX を使用すると、Natural クラスとそのサービスをローカルおよびリモートのクライアントで使用可能にすることによって、分散アプリケーションを作成できます。 ローカルクライアントとは、特定の NaturalX サーバーと同じマシンで実行されるプロセスであり、リモートクライアントとは異なるマシンで実行されるプロセスです。
アプリケーションの配布には、広く使われている分散オブジェクトテクノロジである Microsoft 分散コンポーネントオブジェクトモデル(DCOM)を使用します。 Natural クラスを DCOM に 登録すると、そのインターフェイスが準標準化された形でダイナミック COM インターフェイスとしてクライアントに提供されます。ダイナミック COM インターフェイスはディスパッチインターフェイスとも呼ばれます。 これらのインターフェイスは、Visual Basic、Java、C++、および Natural などの多くのプログラミング言語によって簡単に指定できます。
NaturalX アプリケーションの配布を編成するときには、いくつかの点を考慮する必要があります。 それぞれの点の詳細については、このセクションおよび『オペレーション』ドキュメントで説明します。
各クラスを内部、外部、またはローカルのいずれにするかを決定します。「内部、外部、およびローカルクラス」を参照してください。
グローバルユニーク ID(GUID)を内部クラスと外部クラス、およびそれらのインターフェイスに割り当てて、ネットワーク内で一意に指定できるようにする必要があります。「グローバルユニーク ID - GUID」を参照してください。
各クラスにアクティベーションポリシーを定義して、どの DCOM の下でアクティブにするかの条件を制御することができます。『オペレーション』ドキュメントの「アクティベーションポリシー」を参照してください。
クラスをアプリケーションに編成するために、NaturalX サーバーを定義し、クラスを各サーバーに割り当てることができます。『オペレーション』ドキュメントの「NaturalX サーバー」を参照してください。
DCOM に認識させるためにクラスを登録する必要があります。『オペレーション』ドキュメントの「登録」を参照してください。
アプリケーションの動作をさらに制御するために、アプリケーションを設定できます。『オペレーション』ドキュメントの「コンフィグレーション概要」および「Windows 上での DCOM コンフィグレーション」を参照してください。
内部使用、外部使用、およびローカル使用専用にクラスを区別することは重要です。
内部クラスのオブジェクト(インスタンス)はクライアントプロセスでのみ作成できます。
内部クラスには次の特徴があります。
ファイルやシステム変数などクライアントセッション依存のリソースにアクセスします。
クライアントトランザクション内で実行できます。
Natural デバッガを使用してデバッグできます(ローカルデバッグ)。
外部クラスのオブジェクト(インスタンス)は、異なるプロセスまたは異なるマシンで作成できます。 クライアントプロセスがこのクラスのサーバーでもある場合は、このクライアントプロセスでも作成できます。
外部クラスには次の特徴があります。
クライアントセッション依存のリソース(スタック、ファイル、システム変数など)にアクセスしません。
クライアントトランザクション内で実行できません。
リモートノードから使用できます。
Natural、Java、Visual Basic、C/C++ などのさまざまな言語を使用して、各種クライアントから使用できます。
Natural デバッガを使用してデバッグできます(ローカルデバッグ)。
ローカルクラスは、ローカルの実行モードで実行されるクラスです。 クラスが登録されていない場合、または DCOM を使用できない場合、Natural はクラスをローカル、つまり Natural セッション内で実行します。
ローカルクラスには次の特徴があります。
DCOM を使用できなくても使用できます。
DCOM に登録する必要はありません。
クライアントプロセスの外部からは使用できません。
DCOM ではグローバルユニーク ID(GUID)を使用して、あらゆるインターフェイスとクラスを識別します。GUID は 128 ビットの整数で、世界中で一意であることが事実上保証されています。 したがって、サーバーコンポーネントを確実に特定し、クライアントが誤ってオブジェクトに接続することを防止するのに役立ちます。
クラスを DCOM に登録する場合は、Natural クラス内に定義されているすべてのインターフェイスおよび登録するクラス自体を、このグローバルユニーク ID に関連付ける必要があります。
いったんグローバルユニーク ID をインターフェイスまたはクラスに割り当てた後は、この ID を変更することはできません。
Natural クラスを開発するためのツールとして、Natural からクラスビルダが提供されます。 クラスビルダは、すべてのクラスおよびインターフェイスに GUID を自動的に割り当てます。