AEM Forms のアーキテクチャとデプロイメントトポロジー

アーキテクチャ

AEM Formsは、AEMパッケージとしてAEMにデプロイされるアプリケーションです。 このパッケージは、AEM Formsアドオンパッケージと呼ばれます。 AEM Formsのアドオンパッケージには、AEM OSGiコンテナに展開されるサービス(APIプロバイダ)と、AEM Slingフレームワークで管理されるサーブレットまたはJSP(フロントエンドとREST APIの両方の機能を提供)の両方が含まれています。 次の図は、このセットアップを示しています。

アーキテクチャ

AEM Forms のアーキテクチャには、次のコンポーネントが含まれています。

  • AEM のコアサービス: 組み込みアプリケーションに対して提供される AEM の基本サービス。これらのサービスには、JCR準拠のコンテンツリポジトリ、OSGIサービスコンテナ、ワークフローエンジン、Trust Store、キーストアなどが含まれます。 これらのサービスは AEM Forms アプリケーションで使用できますが AEM Forms パッケージには含まれていません。これらのサービスは、AEMスタック全体の不可欠な要素であり、様々なAEM Formsコンポーネントがこれらのサービスを使用します。

  • Forms: PDFドキュメントの作成、アセンブリ、配布、アーカイブなど、フォーム関連の機能を提供したり、電子署名を追加してドキュメントへのアクセスを制限したり、バーコードフォームをデコードしたりします。 これらのサービスは、AEMに組み込まれたカスタムコードでの利用が一般的に可能です。

  • Web レイヤー:​共通のサービスおよびフォームのサービス上に構築された JSP またはサーブレットで、次の機能を提供します。

    • フロントエンドのオーサリング:​フォームのオーサリングと管理に使用されるユーザーインターフェイス。
    • フォームのレンダリングおよび送信のフロントエンド:AEM Forms のエンドユーザー向けユーザーインターフェイス(行政機関の Web サイトにアクセスするユーザー向けのユーザーインターフェイスなど)。これにより、フォームのレンダリング(Webブラウザーでのフォームの表示)と送信機能が提供されます。
    • ​REST API:JSP および サーブレットにより、モバイル SDK フォームなど、HTTP ベースのクライアントによるリモートでの利用向けにフォームサービスのサブセットがエクスポートされます。

OSGi上のAEM Forms: OSGi環境上のAEM Formsは、標準のAEM AuthorまたはAEM PublishとAEM Formsパッケージが展開された状態のAEM Authorです。 You can run AEM Forms on OSGi in a single server environment, Farm, and clustered setups. クラスター設定は、AEM作成者インスタンスでのみ使用できます。

JEE上のAEM Forms: JEE上のAEM Formsは、JEEスタックで実行されているAEM Formsサーバーです。 このページには、AEM Formsアドオンパッケージを含むAEM Authorと、アプリケーションサーバー上で実行される1つのJEEスタックに、追加のAEM FormsJEE機能が共にデプロイされます。 JEE上のAEM Formsは、シングルサーバー設定およびクラスター設定で実行できます。 JEE上のAEM Formsは、ドキュメントセキュリティ、プロセス管理の実行、およびLiveCycleのお客様がAEM Formsにアップグレードする場合にのみ必要です。 JEE上のAEM Formsを使用する別のシナリオを次に示します。

  • HTML workspaceのサポート(HTML Workspaceを使用するお客様向け): JEE上のAEM Formsは、処理インスタンスを使用したシングルサインオンを有効にし、処理インスタンスでレンダリングされる特定のアセットを提供し、HTML Workspace内にレンダリングされるフォームの送信を処理します。
  • 高度なフォーム/インタラクティブ通信データ処理: 高度なプロセス管理機能が必要な複雑な用途では、JEE上のAEM Formsは、フォーム/インタラクティブ通信データの追加処理(および結果を適切なデータストアに保存)に利用できます。

JEE上のAEM Formsは、AEMコンポーネントに次のサポートサービスも提供しています。

  • 統合されたユーザー管理: JEE上のAEM FormsのユーザーをOSGiユーザー上のAEMフォームとして認識でき、OSGiユーザーとJEEユーザーの両方でSSOを有効にできます。 これは、OSGi上のAEM formsとJEE上のAEM Formsとの間でシングルサインオンが必要なシナリオ(例えば、HTML Workspace)で必要になります。
  • アセットのホスティング: JEE上のAEM Formsは、OSGi上のAEM Formsでレンダリングされたアセット(例えば、HTML5フォーム)を提供できます。

AEM Formsオーサリングユーザーインターフェイスは、レコードドキュメント(DOR)、PDF forms、およびHTML5Formsの作成をサポートしていません。 このようなアセットは、スタンドアロンのFormsデザイナアプリケーションを使用して設計され、AEM Formsマネージャに個別にアップロードされます。 または、JEE上のAEM Formsの場合、フォームを(AEM Formsワークベンチ内の)アセットとしてデザインし、JEEサーバー上のAEM Formsにデプロイすることもできます。

OSGi上のAEM FormsとJEE上のAEM Formsは共にワークフロー機能を持っています。 JEE上のAEM Formsの本格的なプロセス管理機能をインストールする必要なく、OSGi上のAEM formsの様々なタスク用の基本的なワークフローを迅速に構築してデプロイできます。 OSGi上のAEM Formsでのフォーム中心ワークフローの 機能と、JEE上のAEM Formsのプロセス管理機能に多少の違いがあります。 OSGi上のAEM Formsでのフォーム中心のワークフローの開発と管理では、使い慣れたAEMワークフローとAEMインボックスの機能を使用します。

用語

以下の図は、AEM Forms の一般的なデプロイメント環境で使用される AEM Forms サーバーの様々な設定とそのコンポーネントを示しています。

aem_forms_-_recommendedトポロジー

オーサーインスタンス:​オーサーインスタンスは、標準の作成者実行モードで稼働する AEM Forms サーバーです。オーサーインスタンスは、OSGi 環境内の JEE 上の AEM Forms にすることも、OSGi 環境内の AEM Forms にすることもできます。このインスタンスは、内部ユーザー、フォームとインタラクティブ通信の設計者、開発者が使用するためのインスタンスです。このインスタンスでは、次の機能を使用することができます。

  • フォームとインタラクティブ通信の作成機能と管理機能:​設計者と開発者は、アダプティブフォームとインタラクティブ通信の作成と編集を行うことができます。また、外部で作成されたフォーム(Adobe Forms Designer で作成されたフォームなど)をアップロードしたり、こうしたアセットを Forms Manager コンソールを使用して管理したりすることができます。
  • フォームとインタラクティブ通信の発行機能:​オーサーインスタンス上でホストされるアセットをパブリッシュインスタンスに発行して、ランタイム操作を実行することができます。AEM の複製機能を使用して、アセットが発行されます。すべてのオーサーインスタンス上で、発行済みフォームを処理インスタンスに手動でプッシュするための複製エージェントを設定し、受信したフォームをパブリッシュインスタンスに対して自動的に複製するための、「受信時」トリガーが有効になっている複製エージェントを処理インスタンス上で設定することをお勧めします。

公開: 発行インスタンスは、標準の発行実行モードで実行されるAEM Formsサーバです。 パブリッシュインスタンスは、フォームベースのアプリケーションを使用するエンドユーザー向けのインスタンスです。例えば、公開されている Web サイトにアクセスしてフォームを送信するユーザーなどが、このインスタンスを使用します。このインスタンスでは、次の機能を使用することができます。

  • エンドユーザー用のフォームのレンダリングと送信を行う機能。
  • 送信済みフォームの未加工データを処理インスタンスに転送してさらに処理を行い、最終的な記録システムに保存する機能。この機能は、AEM Forms に付属するデフォルトの実装で AEM の逆複製機能を使用して実行されます。代替処理として、最初にフォームデータをローカルに保存するのではなく、フォームデータを処理インスタンスに直接プッシュすることもできます(逆複製を行うには、最初にフォームデータをローカルに保存しておく必要があります)。Customers having concerns about storage of potentially sensitive data on publish instances can go in for this alternative implementation, since processing instances typically lie in a more secure zone.
  • インタラクティブな通信とレターのレンダリングと送信: インタラクティブな通信とレターはパブリッシュインスタンスでレンダリングされ、対応するデータはストレージおよび後処理のために処理インスタンスに送信されます。 このデータをパブリッシュインスタンス上のローカルの場所に保存して、処理インスタンスに対してこのデータを逆複製することも、このデータをパブリッシュインスタンスに保存することなく、処理インスタンスに直接プッシュすることもできます(デフォルトのオプションは逆複製です)。セキュリティを意識している顧客の場合は、処理インスタンスに直接プッシュするオプションを使用することをお勧めします。

処理: 作成者実行モードで実行されるAEM Formsのインスタンスで、forms-managerグループにユーザーが割り当てられていません。 JEE上のAEM FormsまたはOSGi上のAEM Formsを処理インスタンスとしてデプロイできます。 フォームの作成と管理のアクティビティが処理インスタンスで実行されず、作成者インスタンスでのみ発生するように、ユーザーは割り当てられません。 処理インスタンスでは、次の機能を使用することができます。

  • 発行インスタンスから到着する生のフォームデータの処理: これは、主に、データの受信時にトリガーされるAEMワークフローを介して処理インスタンスで実行されます。 ワークフローは、そのまま使用できる「フォームデータモデル」の手順を使用して、データまたはドキュメントを適切なデータストアにアーカイブできます。

  • フォームデータを安全な場所に保存する機能:​処理インスタンスには、ファイアウォールの背後に配置されたリポジトリが用意されています。このリポジトリを使用して、ユーザーから隔離された未加工のフォームデータが保存されます。作成者インスタンス上のフォームデザイナーも、発行インスタンス上のエンドユーザーも、このリポジトリにアクセスできません。

    メモ

    Adobeでは、AEMリポジトリを使用する代わりに、最終処理データを保存する場合は、サードパーティのデータストアを使用することをお勧めします。

  • 発行インスタンスから到着する通信データのストレージと後処理: AEMワークフローは、対応するレター定義のオプションの後処理を実行します。 AEM ワークフローで、最終的な処理済みデータを、適切な外部データストアに保存することができます。

  • HTML Workspaceホスティング: 処理インスタンスは、HTML Workspaceのフロントエンドをホストします。 HTML workspaceは、レビュープロセスと承認プロセスに関連付けられたタスク/グループ割り当てのUIを提供します。

処理インスタンスは、次の理由で、作成者実行モードで実行するように設定されます。

  • 作成者実行モードの場合、パブリッシュインスタンスの未加工のフォームデータを逆複製することができます。デフォルトのデータストレージハンドラには逆複製機能が必要です。
  • 発行インスタンスから到着する生のフォームデータを処理する主な方法であるAEMワークフローは、作成者スタイルのシステムで実行することをお勧めします。

JEE 上の AEM Forms の物理的なトポロジーの例

次に推奨するJEE上のAEM Formsトポロジは、主にLiveCycleまたはJEE上のAEM Formsの以前のバージョンからアップグレードしたお客様向けです。 Adobeでは、新規インストールの場合はOSGiでAEM Formsを使用することをお勧めします。 JEEにAEM Formsを新規インストールする場合は、ドキュメントのセキュリティ機能とプロセス管理機能の使用のみを推奨します。

ドキュメントサービスまたはドキュメントセキュリティ機能を使用するためのトポロジー

ドキュメントサービスまたはドキュメントセキュリティ機能だけを使用する場合は、以下のようなトポロジーを構成することをお勧めします。このトポロジでは、AEM Formsの単一のインスタンスを使用することをお勧めします。 必要に応じて、AEM Formsサーバーのクラスターまたはファームを作成することもできます。 このトポロジは、ほとんどのユーザーがプログラムでAEM Formsサーバーの機能にアクセスし、ユーザーインターフェイスを介した介入が最小限の場合に推奨されます。 トポロジは、ドキュメントサービスのバッチ処理操作で役立ちます。 例えば、出力サービスを使用して、編集不可の PDF ドキュメントを毎日数百件作成するような場合に、このトポロジーを構成することをお勧めします。

ただし、AEM Formsでは、1台のサーバからすべての機能をセットアップして実行できます。ただし、実稼働環境では、キャパシティ・プランニング、ロード・バランシングを実行し、特定の機能向けに専用のサーバを設定する必要があります。 例えば、PDF Generatorサービスを使用して1日に何千ページものページを変換し、電子署名を追加してドキュメントへのアクセスを制限する環境の場合、PDF Generatorサービスと電子署名機能用に別々のAEM Formsサーバーを設定します。 これにより、パフォーマンスが最適化され、各サーバーを個別にスケーリングできるようになります。

基本機能

Topology for using AEM Forms process management

例えば、AEM Formsのプロセス管理機能の使用を計画しているAEM Formsのお客様は、次に示すトポロジーと同じトポロジーを持つことができます。 JEEサーバー上のAEM Formsは、単一のサーバー構成またはクラスター構成にすることができます。

LiveCycleES4からアップグレードする場合、このトポロジは、JEE上のAEM Formsに組み込みのAEM Authorを追加することを除き、LiveCycleに既に存在するものと密接に反映されます。 また、アップグレードを実行する場合も、クラスタリング要件は変わりません。クラスター環境でAEM Formsを使用していた場合、AEM 6.4Formsでも同じことを実行できます。 HTML Workspaceを使用するためにJEEのAEM Formsを新規インストールする場合は、JEE環境に組み込まれているAEMオーサーインスタンスを実行する必要があります。

フォームデータストアは、フォームおよびインタラクティブ通信の最終処理データを保存するためのサードパーティのデータストアです。 このデータストアは、このトポロジーにおけるオプションの構成要素です。また、処理インスタンスを設定し、必要に応じて、そのインスタンスのリポジトリを最終的な記録システムとして使用することもできます。

topology_for_usinghtmlworkspaceandformsapp

このトポロジは、後処理、アダプティブフォーム、HTML5フォーム、およびインタラクティブな通信機能を使用せずに、JEEサーバー上のAEM Formsをプロセス管理機能(HTML Workspace)に使用することを計画しているお客様にお勧めします。

アダプティブフォーム、HTML5フォーム、インタラクティブ通信機能を使用するためのトポロジー

アダプティブフォーム、HTML5 フォーム、PDF フォームなど、AEM Forms のデータ取得機能を使用する場合は、以下のようなトポロジーを構成することをお勧めします。このトポロジは、AEM Formsの対話型通信機能を使用する場合にも推奨されます。

topology-for-using-forms-osgi-modules

上述の推奨トポロジに対して、次の変更/カスタマイズを行うことができます。

  • HTML WorkspaceとAEM Formsアプリを使用するには、AEMの作成者または処理インスタンスが必要です。 外部の AEM オーサーサーバーを追加でセットアップする代わりに、JEE サーバー上の AEM Forms に組み込まれた AEM オーサーインスタンスを使用することができます。
  • AEM作成者または処理インスタンスは、OSGi上のForms中心のワークフロー、アダプティブフォーム、フォームポータル、およびインタラクティブな通信に対してのみ必要です。
  • 対話型通信エージェントUIは、通常、組織内で実行されます。 したがって、エージェントUI用のパブリッシュサーバをプライベートネットワーク内に保持できます。
  • JEEサーバー上のAEM Formsに組み込まれたOSGiインスタンス上のAEM formsでは、OSGiおよび監視フォルダー上でForms中心のワークフローを実行することもできます。

OSGi 上の AEM Forms を使用する場合の物理的なトポロジーの例

Topology for data capture, interactive communication, Form-Centric Workflow on OSGi capabilities

アダプティブフォーム、HTML5 フォーム、PDF フォームなど、AEM Forms のデータ取得機能を使用する場合は、以下のようなトポロジーを構成することをお勧めします。インタラクティブ通信機能と OSGi 上のフォームベースワークフロー機能を使用する場合も、このトポロジーを構成することをお勧めします。例えば、ビジネスプロセスワークフローで AEM インボックスと AEM Forms アプリケーションを使用する場合などです。

interactive-use-cases-af-cm-osgi-workflow

オフラインのバッチ処理で監視フォルダー機能を使用する場合のトポロジー

バッチ処理で監視フォルダーを使用する場合は、以下のようなトポロジーを構成することをお勧めします。トポロジでは、クラスター環境が表示されますが、単一のインスタンスまたはAEM Formsサーバーのファームを使用するかは負荷に応じて決定します。 このトポロジーの場合、サードパーティ製のデータソースを、専用の記録システムとして使用することになります。このデータソースが、監視フォルダーの入力元になります。以下の図では、出力が印刷ファイル形式になっていますが、出力内容をファイルシステムに保存することも、電子メールで送信することもできます。また、別の方法で出力を使用することもできます。

offline-batch-processing-via-watched-folders

API ベースのオフライン処理でドキュメントサービス機能を使用する場合のトポロジー

ドキュメントサービス機能だけを使用する場合は、以下のようなトポロジーを構成することをお勧めします。このトポロジーでは、OSGi サーバー上で AEM Forms のクラスターを使用することをお勧めします。多くのユーザーが API を使用して AEM Forms サーバーの機能にアクセスし、ユーザーインターフェイス上ではほとんど操作を実行しない場合は、このトポロジーを構成することをお勧めします。複数のソフトウェアクライアントを使用する場合は、このトポロジーを構成すると非常に便利です。例えば、PDF Generator サービスを使用する複数のクライアントにより、オンデマンドで PDF ドキュメントを作成するような場合です。

AEM Forms では、設定されたすべての機能を 1 台のサーバーで実行できますが、運用規模の計画、負荷分散、特定の機能を実行するための専用サーバーのセットアップを、実稼働環境で行う必要があります。例えば、PDF Generator サービスを使用して、1 日に数千のページと複数のアダプティブフォームをデータ取得用に変換する環境の場合、PDF Generator サービスとアダプティブフォームの機能を実行するための AEM Forms サーバーを個別にセットアップする必要があります。これにより、パフォーマンスが最適化され、各サーバーを個別にスケーリングできるようになります。

オフラインAPIベースの処理

このページ