xApp構造
次の図は、xApp シェルページが service-static-files
への HTTP/HTTPs 1.1 リクエストによって静的ファイルを要求してアセット(HTML/CSS/JS)をロードし、(Socket.io 経由で)serviceapp-session-manager
への WebSocket 接続を確立して xApp セッションに関する情報を取得するときのプロセスを示しています。この情報にはxAppセッションを開始する非同期イベントが含まれ、一意のURLを作成し、特定のxAppセッションでどのxAppが表示されるかを明記します。Elastic Load Balancerは受信トラフィックの分散をフォローし、Traefikは特定の要件に基づいてバックエンドサーバに動的にトラフィックをルーティングします。serviceapp-session-manager
はAppセッションDBのxAppセッション状態を更新し、WebSocketはシェルページにデータを転送し、シェルページはxAppsをロードし、SDKにデータを送信します。
xAppシーケンス図
この図は、xApp構造統合のコンテキストにおける、ユーザー、Cognigy Flow、xApp Backend、xAppページの間の一連のやりとりを表しています。
- ユーザーがCognigy Flowとのトークを開始します。
- Cognigy FlowがxAppバックエンドとのセッションを開始します。
- xAppバックエンドはセッショントークンで返答する。
- Cognigy Flowは、セッショントークンを使用してURLを作成します。
- Cognigy Flowは「このURLを使ってxAppにデータを入力してください」というメッセージをユーザーに送信します。
- Cognigy FlowがxAppバックエンドにHTMLページを表示するリクエストを送信します。
- xAppバックエンドがHTMLページを記憶します。
- ユーザーがxAppページを開きます。
- xAppページがローディング画面をレンダリングします。
- xAppページがxAppバックエンドにHTMLページをリクエストします。
- xAppバックエンドがHTMLページで返答します。
- xAppページがHTMLページをレンダリングします。
- HTMLページがユーザーに表示さ れます。
- ユーザーがデータを入力して送信します。
- xAppページがSDKにデータを送信します。
- SDKはxAppバックエンドにデータを送信します。
- [Nothing to do here(ここですることはありません)]ページがレンダリングされます。
- xAppバックエンドは
input.data._cognigy._app.payload
を処理し、入力としてCognigy Flowに送信します。 - Cognigy Flowが
input.data
を処理します。 - Cognigy Flowは、データが受信されたことを確認するメッセージ「Received your data from xApp(xAppからデータを受信しました)」をユーザーに送信します。