ここでは、サーブレット連携機能の汎用通信方式について説明します。
以下に、汎用通信方式における処理の流れを示します。
図3.4 汎用通信方式の処理の流れ
リクエストの作成・ビジネスロジックの実行
JavaScriptオブジェクトを作成してデータを格納します。
作成したJavaScriptオブジェクトをサーブレット連携機能が提供する関数を使用して文字列に変換します。また、XMLHttpRequestオブジェクトを使って、リクエストを送信してビジネスロジックを呼び出します。
ビジネスロジック呼出し時には、変換した文字列をリクエストパラメーターとして送信します。同時に、サーバの処理結果を受け取るコールバックなどを指定します。
ビジネスロジックの実行の詳細は、「3.4.5 ビジネスロジックの実行」を参照してください。
ビジネスロジック
クライアントから要求された処理を実行するサーバ側のアプリケーションです。
ビジネスロジックは、JavaScriptアプリケーションから要求された処理を実行します。また、ビジネスロジックでの処理結果をJavaBeanに格納して、JavaScriptアプリケーションに返却します。ビジネスロジックはサーブレットとして作成します。
詳細は、「3.4.2 ビジネスロジックの作成」を参照してください。
JavaBean(リクエスト用)の取得
ビジネスロジックでは、リクエストの受信後、JavaScriptアプリケーションからの送信データを取り出してJavaBeanに変換します。変換には、サーブレット連携機能が提供するAPIを使用します。変換は、データ型変換機能によって行われます。
データ型変換機能の詳細は、「3.6 データ型変換機能」を参照してください。
業務処理の呼出し
リクエストの内容に従って、適切な業務処理を呼び出します。
JavaBean(レスポンス用)の出力
業務処理の処理結果が格納されているJavaBeanを、JavaScriptアプリケーションで取り扱うことのできる受信データに変換して、レスポンスとして返却します。変換には、サーブレット連携機能が提供するAPIを使用します。変換は、データ型変換機能によって行われます。
データ型変換機能の詳細は、「3.6 データ型変換機能」を参照してください。
コールバック・レスポンスからのオブジェクト取得
ビジネスロジックの実行の処理結果を受け取るコールバック関数です。
レスポンスから受信データを取り出して、JavaScriptのオブジェクトに変換します。
コールバックの詳細は、「3.4.5 ビジネスロジックの実行」を参照してください。
エントリサーブレットとWebアプリケーション環境定義ファイル(web.xml)
JavaScriptアプリケーションとビジネスロジックとの間でデータを送受信するためには、通信フレームワークの提供するcom.fujitsu.interstage.rcf.AcfServletクラスを継承したユーザー定義エントリサーブレットを作成します。また、Webアプリケーション環境定義ファイル(web.xml)にユーザー定義エントリサーブレットのマッピング情報を指定します。
エントリサーブレットとWebアプリケーション環境定義ファイルの詳細は、「3.4.4 エントリサーブレットの作成」を参照してください。
なお、Webアプリケーション環境定義ファイルには、Servletの仕様に従って、ビジネスロジックとして作成したサーブレットなどの定義も記述してください。
Ajaxフレームワーク環境定義ファイル(acf.xml)
JavaScriptとJavaのデータ型変換の変換規則を定義します。
Ajaxフレームワーク環境定義ファイルの詳細は、「3.4.3 Ajaxフレームワーク環境定義ファイルの設定」を参照してください。
JavaScriptアプリケーションとビジネスロジックとの間のデータの送受信方法は、アプリケーションで任意に決めることができます。
以降は、以下の方法でデータを送受信することを前提に説明します。
JavaScriptオブジェクトを文字列に変換してリクエストパラメーター「obj」に設定し、ビジネスロジックに送信します。
業務処理の処理結果であるJavaBeanを文字列に変換してレスポンスのボディに設定し、ビジネスロジックから返却します。