両方の接続タイプについて、次の手順を実行して、APCデタッチクライアントアプリケーションを開発します。
- デタッチされたクライアントの場合、最初にトランザクションSE80またはSAPCを使用してAPCサーバーアプリケーションを登録する必要があります。詳細については、ABAPプッシュチャネルアプリケーションの登録を参照してください。
- 次のクラスファクトリのいずれかを使用して、タイプIF_APC_WSP_CLIENT_CONN_DETACHのAPCデタッチクライアントオブジェクトを作成します。
-
CL_APC_WSP_CLIENT_CONN_MANAGER:ステートフルおよびステートレスのWebSocketデタッチドクライアント通信用
-
CL_APC_TCP_CLIENT_CONN_MANAGER:ステートフルおよびステートレスTCPソケットデタッチクライアント通信用
-
- 既存のクライアントセッションでは、タイプIF_APC_WSP_EVENT_HANDLERの特定のイベントハンドラーのイベントON_OPENのみが接続中に処理されます。これを使用して、接続接続ハンドルを取得できます。ON_START、 ON_MESSAGE、ON_CLOSEなどの後続のイベントでは、提供されたAPCアプリケーションのイベントハンドラーが呼び出されます。
APCデタッチされたクライアントは、ステートフル(すべての着信メッセージを処理する1つのABAPセッション)またはステートレス(新しいセッションで処理されるすべての着信メッセージ)にすることができます。
図1は、APCステートレスデタッチクライアントの単純な相互作用モデルを示しています(使用される接続タイプとは関係ありません)。「通常の」APCクライアントとは異なり、APCサーバーアプリケーションを提供する必要があります。接続のセットアップが成功すると、イベントハンドラーメソッドON_OPENが実行されます。ON_OPENメソッドが正常に実行されると、接続は現在のABAPセッションから切り離されます。これにより、新しいAPCセッションでそれぞれのデタッチされたクライアントアプリケーションのON_STARTメソッドが処理されます。
図2は、APCステートフルデタッチクライアントの相互作用モデルを示しています。この場合、接続が確立されている限り、切り離されたAPCセッションは存続します。
ステートレス分離クライアント
ステートフルデタッチクライアント
APCサーバーに関しては、接続接続ハンドルに基づくシステム全体のアクセスが可能です。これについては、「 APC接続へのシステム全体のアクセス」セクションで説明しています。