サービスコンテナ service-container
このドキュメントのサンプルと例は、JEE 環境の AEM Forms のみを対象としています。
サービスコンテナに配置された AEM Forms サービス(暗号化サービス、長期間有効なプロセス、短時間有効なプロセスなどの標準サービスを含む)は、EJB プロバイダーなどの様々なプロバイダーを使用して呼び出すことができます。EJB プロバイダーを使用すると、RMI/IIOP 経由で AEM Forms サービスを呼び出すことができます。Web サービスプロバイダーは、SOAP/HTTP や SOAP/JMS などの標準規格を使用して、web サービス(WSDL Generation)としてサービスを公開します。
次の表に、AEM Forms サービスをプログラムで呼び出す様々な方法を示します。
AEM Forms は、SOAP/HTTP などの web サービス標準規格をサポートしています。W3C で定義された web サービス標準規格に準拠した WSDL を使用して、サービスを web サービスとして公開できます。
サービスは、.NET Framework や Sun™ Web Services SDK など、任意の web サービススタックから呼び出すことができます。(Web サービスを使用した AEM Forms の呼び出しを参照。)
次の図は、AEM Forms サービスをプログラムで呼び出す様々な方法を視覚的に示しています。
com.adobe.idp.BankAccount
のようなデータタイプを作成できます。次に、クライアントアプリケーションで com.adobe.idp.BankAccount
インスタンスを作成します。サービスコンテナには次の機能が用意されています。
-
異なるメソッドを使用して AEM Forms サービスを呼び出すことを許可します。サービスを設定するには、エンドポイントを設定して、すべてのメソッド(Remoting、Java API、web サービスおよび REST)で呼び出せるようにします。(プログラムによるエンドポイントの管理を参照)。
-
メッセージを呼び出しリクエストと呼ばれる正規化された形式に変換します。呼び出しリクエストは、クライアントアプリケーション(または他のサービス)から、サービスコンテナ内のサービスに送信されます。呼び出しリクエストには、呼び出すサービスの名前や、操作の実行に必要なデータ値などの情報が含まれます。多くのサービスでは、操作を実行するためにドキュメントが必要です。したがって、呼び出しリクエストには通常、PDF データ、XDP データ、XML データなどのドキュメントが含まれます。
-
呼び出しリクエストを適切なサービスにルーティングします(呼び出すサービスの名前は呼び出しリクエストの一部です)。
-
呼び出し元が、指定されたサービス操作を呼び出す権限を持っているかどうかを判断するなどのタスクを実行します。呼び出しリクエストには、有効な AEM Forms のユーザー名とパスワードが含まれている必要があります。
呼び出しリクエストをサービスに送信する方法は異なります。また、必要な入力値をサービスに送信する方法は異なります。例えば、Java API を使用して、PDF ドキュメントを必要とするサービスを呼び出すと仮定します。対応する Java メソッドには、PDF ドキュメントを受け入れるパラメーターが含まれています。この場合、パラメーターのデータタイプは
com.adobe.idp.Document
です。(Java API を使用した AEM Forms サービスへのデータの引き渡しを参照)。監視フォルダーを使用してサービスを呼び出すと、設定済みの監視フォルダーにファイルを配置すると、呼び出しリクエストが送信されます。メールを使用してサービスを呼び出す場合、メールメッセージが設定済みのインボックスに届くと、呼び出しリクエストがサービスに送信されます。
サービスコンテナは、操作の実行後に呼び出し応答を返します。呼び出し応答には、操作の結果などの情報が含まれます。例えば、操作によって PDF ドキュメントが変更された場合、呼び出し応答には変更された PDF ドキュメントが含まれます。操作が失敗した場合、呼び出し応答にはエラーメッセージが含まれます。
呼び出し応答は、呼び出し要求が送信されるのと同じ方法で取得できます。つまり、呼び出し要求が Java API を使用して送信された場合、呼び出し応答も Java API を使用して取得できます。例えば、操作によって PDF ドキュメントが変更されたとします。サービスを呼び出した Java メソッドの戻り値を取得することで、変更された PDF ドキュメントを取得できます。
長期間有効なプロセスが呼び出されると、呼び出し応答には呼び出し要求に関連付けられた識別子の値が含まれます。この識別子の値を使用して、後でプロセスのステータスを確認できます。例えば、長期間有効なサービス MortgageLoan を考えてみましょう。識別子の値を使用して、プロセスが正常に完了したかどうかを確認できます。(人間中心の長期間有効なプロセスの呼び出しを参照してください)。
次の図は、サービスを呼び出すクライアントアプリケーション(Java API を使用)を示しています。
クライアントアプリケーションがサービスを呼び出すと、次の 3 つのイベントが発生します。
- クライアントアプリケーションが呼び出し要求をサービスに送信します。
- サービスは、呼び出し要求で指定された操作を実行します。
- サービスコンテナは、クライアントアプリケーションに呼び出し応答を返します。
関連トピック
(AEM Forms では非推奨 )AEM Forms Remoting を使用した AEM Forms の呼び出し
Java API を使用した AEM Forms の呼び出し
REST リクエストを使用した AEM Forms の呼び出し