バージョン 4.2.5
 —  Natural リモートプロシージャコール(RPC)  —

Reliable RPC


全般的な情報

近年、電子商取引アプリケーション(SOA)では、緩く結合されたシステムの重要性が増しています。 このタイプのシステムにとって、信頼性の高いメッセージングは重要なテクノロジとなります。

Reliable RPC は、信頼性の高いメッセージングシステムを Natural RPC で実装するものです。 Reliable RPC は Natural RPC のテクノロジと持続性を兼ね備えており、EntireX Broker によって提供される作業単位(UOW)を使用して実装されます。 Reliable RPC の特徴は次のとおりです。

Reliable RPC diagram

Top of page

Natural RPC クライアント側の Reliable RPC

Reliable RPC 対応の Natural RPC クライアントは、通常の Natural RPC の場合と同じように構成します。 同じ Natural RPC クライアントセッションで、普通の RPC 要求も Reliable RPC メッセージも送信できます。

Natural RPC クライアントで Reliable RPC を使用できるようにするには、Natural RPC クライアントでアプリケーションプログラミングインターフェイス USR2071N を使用して、明示的な EntireX Broker ログオンに対応する必要があります。 したがって、RPC/NTRPC キーワードサブパラメータ ACIVERS2 以上に設定する必要があります。

Reliable RPC は、EntireX Broker のパーシスタントサービスにメッセージを送信するために使用されます。 メッセージは呼び出し元の PDA によって記述され、出力パラメータのみが含まれます。 パラメータは、次のいずれかの方法で "出力" として定義されます。

Natural スタブサブプログラムを IDL ファイルから作成する場合、パラメータの属性は IDL ファイルから取得されます。 この場合、IDL ファイルには(クライアントにとっての)受信パラメータのみ含まれていることが必要です。

Reliable RPC はランタイムに有効になります。 クライアントは、Reliable RPC 要求を発行する前に、次のいずれかのモードを設定する必要があります。

AUTO_COMMIT モードでは各メッセージが送信後に暗黙でコミットされる一方、CLIENT_COMMIT モードでは、1 つの作業単位(UOW)の形で送信される一連の RPC メッセージを明示的にコミットまたはロールバックできます。

この目的のため、Natural には 2 つのアプリケーションプログラミングインターフェイス USR6304N および USR6305N が用意されています。 インターフェイス USR6304N を使用すると、Reliable RPC のモードが設定されます。 インターフェイス USR6305N を使用すると、CLIENT_COMMIT で作成された作業単位をコミットまたはロールバックできます。

Start of instruction setUSR6304N を使用するには

  1. サブプログラム USR6304N を、ライブラリ SYSEXT から、ライブラリ SYSTEM、steplib ライブラリ、またはクライアント環境の任意のアプリケーションにコピーします。

  2. DEFINE DATA PARAMETER ステートメントを使用して、次のパラメータを指定します。

    パラメータ I/O フォーマット 説明
    P-FUNC I A01 ファンクションコード。設定可能値は次のとおりです。
    P(Put) Reliable RPC のモードを設定します。 このモードはその後すべてのコールに適用されます。
    G(Get) 以前指定されたモードを取得します。
    P-MODE I/O N01 Reliable RPC のモード:
    0 非 Reliable RPC(普通の RPC 実行)
    1 Reliable RPC AUTO_COMMIT
    2 Reliable RPC CLIENT_COMMIT
    P-RC O N04 リターンコード
    P-MESSAGE O A80 メッセージテキスト
  3. クライアント側の呼び出し元プログラムで、次のステートメントを指定します。

    CALLNAT 'USR6304N' P-FUNC P-MODE P-RC P-MESSAGE

注意:
Reliable RPC メッセージが送信されたがまだコミットまたはロールバックされていない場合、モード CLIENT_COMMIT は変更できません。

Start of instruction setUSR6305N を使用するには

  1. サブプログラム USR6305N を、ライブラリ SYSEXT から、ライブラリ SYSTEM、steplib ライブラリ、またはクライアント環境の任意のアプリケーションにコピーします。

  2. DEFINE DATA PARAMETER ステートメントを使用して、次のパラメータを指定します。

    パラメータ I/O フォーマット 説明
    P-FUNC I A08 ファンクションコード。設定可能値は次のとおりです。
    COMMIT 送信された Reliable RPC メッセージをコミットします。 これによりこのメッセージは RPC サーバーで使用できるようになります。
    ROLLBACK 送信済みの Reliable RPC メッセージを破棄します。
    P-RC O N04 リターンコード
    P-MESSAGE O A80 メッセージテキスト
  3. クライアント側の呼び出し元プログラムで、次のステートメントを指定します。

    CALLNAT 'USR6305N' P-FUNC P-MODE P-RC P-MESSAGE

Top of page

Natural RPC サーバー側の Reliable RPC

Reliable RPC 対応の Natural RPC サーバーは、通常の Natural RPC の場合と同じように構成します。 同じ Natural RPC サーバーセッションで、普通の RPC 要求も Reliable RPC メッセージも処理できます。

Reliable RPC メッセージの処理を有効にするには、RPC/NTRPC キーワードサブパラメータ ACIVERS2 以上に設定する必要があります。

Top of page

Reliable RPC メッセージのステータスの表示

送信済みの Reliable RPC メッセージのステータスを表示するため、Natural にはアプリケーションプログラミングインターフェイス USR6306N が用意されています。 USR6306N を使用すると、自分のユーザー ID で以前送信したすべての Reliable RPC メッセージのステータスを取得できます。 USR6306N は、Reliable RPC メッセージが送信された Natural セッションでコールすることが必須というわけではありません。 USR6306N が他の Natural セッションで使用された場合、まずアプリケーションプログラミングインターフェイス USR2071N を使用して、Reliable RPC メッセージの送信に使用されたものと同じユーザー ID で EntireX Broker にログインする必要があります。

Reliable RPC メッセージは、EntireX Broker 作業単位(UOW)によって実装されます。 したがって、Reliable RPC メッセージに関する情報は、UOW に関する情報になります。

Start of instruction setUSR6306N を使用するには

  1. サブプログラム USR6306N を、ライブラリ SYSEXT から、ライブラリ SYSTEM、steplib ライブラリ、またはクライアント環境の任意のアプリケーションにコピーします。

  2. DEFINE DATA PARAMETER ステートメントを使用して、次のパラメータを指定します。

    パラメータ I/O フォーマット 説明
    P-UOW-ID-IN I A16 取得する UOW の ID。 可能な値は次のとおりです。

    UOW の UOWID

    LAST: 現在の Natural セッションの最後の Reliable RPC メッセージの UOW

    ALL またはブランク: ログオンしている EntireX Broker ユーザーのすべての UOW

    P-USER-ID O A32 UOW を作成したユーザーのユーザー ID。
    P-BROKER-ID O A32 UOW をホストする EntireX Broker の Broker ID。
    P-UOW-COUNT O I4 P-UOW-INFO 配列内の UOW 数。
    P-UOW-INFO (/1:*)     各 UOW に関する情報を含む X-array
    P-UOW-ID O A32 UOW の ID
    P-UOW-STATUS O A10 EntireX Broker にとっての UOW のステータス

    このステータスは処理状態に応じて変わり、EntireX Broker によって指定されます。

    P-USERR-STATUS O A32 UOW に関するユーザー情報。

    通常は、RPC サーバーによって設定されたエラー情報です。

    P-CREATE-TIME O A32 EntireX Broker にとっての UOW の作成時刻。
    P-RC O N04 リターンコード
    P-MESSAGE O A80 メッセージテキスト
  3. クライアント側の呼び出し元プログラムで、次のステートメントを指定します。

    CALLNAT 'USR6306N' P-UOW-ID-IN P-USER-ID P-BROKER-ID P-UOW-COUNT P-OUW-INFO(*) P-RC P-MESSAGE

Top of page