AEM Formsは、AEM as a AEMパッケージにデプロイされるアプリケーションです。 このパッケージは、AEM Formsアドオンパッケージと呼ばれます。 AEM Formsアドオンパッケージには、AEM OSGi コンテナにデプロイされるサービス(API プロバイダー)と、AEM Sling フレームワークで管理されるサーブレットまたは JSP(フロントエンドと REST API の両方の機能を提供)の両方が含まれます。 次の図は、このセットアップを示しています。
AEM Forms のアーキテクチャには、次のコンポーネントが含まれています。
AEM のコアサービス: 組み込みアプリケーションに対して提供される AEM の基本サービス。これらのサービスには、JCR 準拠のコンテンツリポジトリ、OSGi サービスコンテナ、ワークフローエンジン、トラストストア、キーストアなどが含まれます。 これらのサービスは AEM Forms アプリケーションで使用できますが AEM Forms パッケージには含まれていません。これらのサービスは、AEMスタック全体の不可欠な要素であり、様々なAEM Formsコンポーネントがこれらのサービスを使用します。
Formsサービス: PDFドキュメントの作成、アセンブリ、配布、アーカイブなど、フォーム関連の機能を提供し、電子署名を追加してドキュメントへのアクセスを制限し、バーコードフォームをデコードします。 これらのサービスは、AEMにコデプロイされたカスタムコードで一般に使用できます。
Web レイヤー:共通のサービスおよびフォームのサービス上に構築された JSP またはサーブレットで、次の機能を提供します。
AEM Forms on OSGi: OSGi 環境上のAEM Formsは、AEM Formsパッケージがデプロイされた標準の AEM オーサーまたは AEM パブリッシュです。 AEM Formsは、 単一サーバー環境、ファームおよびクラスター化された設定. クラスター設定は、AEM オーサーインスタンスでのみ使用できます。
JEE 上のAEM Forms: JEE 上のAEM Formsは、JEE スタック上で動作するAEM Formsサーバーです。 この環境には、AEM Formsアドオンパッケージを持つ AEM オーサーと、アプリケーションサーバー上で動作する 1 つの JEE スタックに共同でデプロイされる追加のAEM Forms JEE 機能が含まれています。 JEE 上のAEM Formsは、単一サーバー設定およびクラスター設定で実行できます。 AEM Forms on JEE は、Document Security、プロセス管理、およびAEM FormsにアップグレードするLiveCycleのお客様に対してのみ実行する必要があります。 JEE 上のAEM Formsを使用するシナリオを以下に示します。
JEE 上のAEM Formsは、AEMコンポーネントに次のサポートサービスも提供しています。
AEM Formsオーサリングユーザーインターフェイスは、レコードのドキュメント (DOR)、PDF forms、HTML5 Formsの作成をサポートしていません。 このようなアセットは、スタンドアロンのForms Designer アプリケーションを使用して設計され、AEM Forms Manager に個別にアップロードされます。 また、JEE 上のAEM Formsの場合、フォームを (AEM Forms Workbench の ) アセットとして設計し、JEE サーバー上のAEM Formsにデプロイすることもできます。
AEM Forms on OSGi とAEM Forms on JEE の両方にワークフロー機能があります。 JEE 上のAEM Formsの本格的な Process Management 機能をインストールしなくても、OSGi 上のAEM forms で様々なタスクに対する基本ワークフローを迅速に構築してデプロイできます。 ~には多少の違いがある OSGi 上のAEM Forms上の Forms 中心のワークフローの機能と、JEE 上のAEM Formsの Process Management 機能. OSGi 上のAEM Forms上での Forms 中心のワークフローの開発と管理では、使い慣れたAEM Workflow とAEM Inbox の機能を使用します。
以下の図は、AEM Forms の一般的なデプロイメント環境で使用される AEM Forms サーバーの様々な設定とそのコンポーネントを示しています。
オーサーインスタンス:オーサーインスタンスは、標準の作成者実行モードで稼働する AEM Forms サーバーです。オーサーインスタンスは、OSGi 環境内の JEE 上の AEM Forms にすることも、OSGi 環境内の AEM Forms にすることもできます。このインスタンスは、内部ユーザー、フォームとインタラクティブ通信の設計者、開発者が使用するためのインスタンスです。このインスタンスでは、次の機能を使用することができます。
公開: パブリッシュインスタンスは、標準のパブリッシュ実行モードで動作するAEM Formsサーバーです。 パブリッシュインスタンスは、フォームベースのアプリケーションを使用するエンドユーザー向けのインスタンスです。例えば、公開されている Web サイトにアクセスしてフォームを送信するユーザーなどが、このインスタンスを使用します。このインスタンスでは、次の機能を使用することができます。
処理中: 作成者実行モードで実行され、ユーザーが forms-manager グループに割り当てられていないAEM Formsのインスタンス。 JEE 上のAEM Formsまたは OSGi 上のAEM Formsを処理インスタンスとしてデプロイできます。 フォームのオーサリングおよび管理アクティビティが処理インスタンスで実行されず、オーサーインスタンスでのみ発生するように、ユーザーは割り当てられません。 処理インスタンスでは、次の機能を使用することができます。
発行インスタンスから到着した生のフォームデータの処理: これは、主に、データが届く際にトリガーするAEMワークフローを介して処理インスタンスで実行されます。 このワークフローでは、標準搭載の「フォームデータモデル」ステップを使用して、データまたはドキュメントを適切なデータストアにアーカイブできます。
フォームデータを安全な場所に保存する機能:処理インスタンスには、ファイアウォールの背後に配置されたリポジトリが用意されています。このリポジトリを使用して、ユーザーから隔離された未加工のフォームデータが保存されます。オーサーインスタンス上のフォームデザイナーも、パブリッシュインスタンス上のエンドユーザーも、このリポジトリにアクセスできません。
Adobeでは、AEMリポジトリを使用する代わりに、サードパーティのデータストアを使用して、最終的に処理されたデータを保存することをお勧めします。
パブリッシュインスタンスから到着した通信データの保存と後処理: AEMワークフローは、対応するレター定義のオプションの後処理を実行します。 AEM ワークフローで、最終的な処理済みデータを、適切な外部データストアに保存することができます。
HTMLワークスペースのホスティング:処理インスタンスは、HTMLWorkspace のフロントエンドをホストします。 HTMLワークスペースは、レビューおよび承認プロセスに関連付けられたタスク/グループ割り当ての UI を提供します。
処理インスタンスは、次の理由で、オーサー実行モードで実行するように設定されています。
以下に推奨するAEM Forms on JEE トポロジは、主にLiveCycleまたは JEE 上のAEM Formsの以前のバージョンからアップグレードするお客様向けです。 Adobeでは、新規インストールに OSGi でAEM Formsを使用することをお勧めします。 JEE 上のAEM Formsの新規インストールでは、Document Security および Process Management 機能の使用のみお勧めします。
ドキュメントサービスまたはドキュメントセキュリティ機能だけを使用する場合は、以下のようなトポロジーを構成することをお勧めします。このトポロジでは、AEM Formsの 1 つのインスタンスを使用することをお勧めします。 必要に応じて、AEM Formsサーバーのクラスターまたはファームを作成することもできます。 ほとんどのユーザーがAEM Formsサーバーの機能にプログラムでアクセスし、ユーザーインターフェイスを介した操作が最小限の場合は、このトポロジをお勧めします。 このトポロジは、Document Services のバッチ処理操作で役立ちます。 例えば、出力サービスを使用して、編集不可の PDF ドキュメントを毎日数百件作成するような場合に、このトポロジーを構成することをお勧めします。
AEM Formsでは、1 台のサーバーからすべての機能を設定して実行できますが、容量計画、ロードバランシングを実行し、実稼動環境で特定の機能用に専用のサーバーを設定する必要があります。 例えば、PDFジェネレーターサービスを使用して 1 日に数千ページを変換し、電子署名を追加してドキュメントへのアクセスを制限する場合、PDFジェネレーターサービスと電子署名機能用に別のAEM Formsサーバーを設定します。 これにより、パフォーマンスが最適化され、各サーバーを個別にスケーリングできるようになります。
AEM Formsのお客様は、AEM Formsのプロセス管理機能(例:Workspace)の使用を計画している場合、次に示すトポロジと似たトポロジを使用できます。 JEE 上のAEM Formsサーバーは、1 つのサーバーまたはクラスター設定に含めることができます。
LiveCycleES4 からアップグレードする場合、このトポロジは、JEE 上のAEM Formsに組み込まれた AEM オーサーが追加される以外は、LiveCycle内に既に存在するものと密接に一致します。 また、アップグレードを実行する場合も、クラスタリング要件は変わりません。クラスター環境でAEM Formsを使用していた場合、AEM 6.4 Formsでも引き続き同じ操作を行うことができます。 HTMLWorkspace を使用するための JEE のAEM Formsの新規インストールの場合、JEE 環境に組み込まれたAEMオーサーインスタンスを実行することが追加の要件になります。
フォームデータストアは、フォームとインタラクティブ通信の最終処理データを保存するためのサードパーティのデータストアです。 このデータストアは、このトポロジーにおけるオプションの構成要素です。また、必要に応じて、処理インスタンスを設定し、そのリポジトリを最終的な記録システムとして使用することもできます。
このトポロジは、後処理、アダプティブフォーム、HTML5 フォーム、インタラクティブ通信の各機能を使用せずに、JEE 上のAEM Formsサーバーをプロセス管理機能 (HTMLWorkspace) で使用する場合に推奨されます。
アダプティブフォーム、HTML5 フォーム、PDF フォームなど、AEM Forms のデータ取得機能を使用する場合は、以下のようなトポロジーを構成することをお勧めします。このトポロジは、AEM Formsのインタラクティブ通信機能を使用する場合にも推奨されます。
上記の推奨トポロジに対して、次の変更やカスタマイズを行うことができます。
アダプティブフォーム、HTML5 フォーム、PDF フォームなど、AEM Forms のデータ取得機能を使用する場合は、以下のようなトポロジーを構成することをお勧めします。インタラクティブ通信機能と OSGi 上のフォームベースワークフロー機能を使用する場合も、このトポロジーを構成することをお勧めします。例えば、ビジネスプロセスワークフローで AEM インボックスと AEM Forms アプリケーションを使用する場合などです。
バッチ処理で監視フォルダーを使用する場合は、以下のようなトポロジーを構成することをお勧めします。トポロジにはクラスター環境が表示されますが、負荷に応じて、1 つのインスタンスを使用するか、AEM Formsサーバーのファームを使用するかを決定します。 このトポロジーの場合、サードパーティ製のデータソースを、専用の記録システムとして使用することになります。このデータソースが、監視フォルダーの入力元になります。以下の図では、出力が印刷ファイル形式になっていますが、出力内容をファイルシステムに保存することも、電子メールで送信することもできます。また、別の方法で出力を使用することもできます。
ドキュメントサービス機能だけを使用する場合は、以下のようなトポロジーを構成することをお勧めします。このトポロジーでは、OSGi サーバー上で AEM Forms のクラスターを使用することをお勧めします。多くのユーザーが API を使用して AEM Forms サーバーの機能にアクセスし、ユーザーインターフェイス上ではほとんど操作を実行しない場合は、このトポロジーを構成することをお勧めします。複数のソフトウェアクライアントを使用する場合は、このトポロジーを構成すると非常に便利です。例えば、PDF Generator サービスを使用する複数のクライアントにより、オンデマンドで PDF ドキュメントを作成するような場合です。
AEM Forms では、設定されたすべての機能を 1 台のサーバーで実行できますが、運用規模の計画、負荷分散、特定の機能を実行するための専用サーバーのセットアップを、実稼働環境で行う必要があります。例えば、PDF Generator サービスを使用して、1 日に数千のページと複数のアダプティブフォームをデータ取得用に変換する環境の場合、PDF Generator サービスとアダプティブフォームの機能を実行するための AEM Forms サーバーを個別にセットアップする必要があります。これにより、パフォーマンスが最適化され、各サーバーを個別にスケーリングできるようになります。