AEM Forms のアーキテクチャとデプロイメントトポロジー architecture-and-deployment-topologies-for-aem-forms

CAUTION
AEM 6.4 の拡張サポートは終了し、このドキュメントは更新されなくなりました。 詳細は、 技術サポート期間. サポートされているバージョンを見つける ここ.

アーキテクチャ architecture

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

アーキテクチャ

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

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

  • Forms サービス: PDF ドキュメントの作成、アセンブリ、配布、アーカイブなどのフォーム関連の機能を提供し、デジタル署名を追加してドキュメントへのアクセスを制限し、バーコードフォームをデコードします。これらのサービスは、AEM にカスタムコードを組み込んで利用する形で公開されています。

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

    • フロントエンドのオーサリング:フォームのオーサリングと管理を行うためのフォームのオーサリングと管理のユーザーインターフェイス。
    • フォームのレンディションと送信のフロントエンド:AEM Formsのエンドユーザーが使用する、エンドユーザー向けのインターフェイス(例えば、政府の Web サイトにアクセスする市民)。 これにより、フォームのレンディション(web ブラウザーでのフォームの表示)と送信を行うことができます。
    • REST API:JSP および サーブレットにより、モバイル SDK フォームなど、HTTP ベースのクライアントによるリモートでの利用向けにフォームサービスのサブセットがエクスポートされます。

AEM Forms on OSGi: OSGi 環境上の AEM Forms は、AEM Forms パッケージがデプロイされた標準の AEM オーサーまたは AEM パブリッシュです。OSGi 上の AEM Forms は、単一サーバー環境、ファーム設定、クラスター設定で実行できます。クラスターを設定できるのは、AEM オーサーインスタンスの場合だけです。

AEM Forms on JEE: AEM Forms on JEE は、JEE スタック上で稼働する AEM Forms サーバーです。この環境には、AEM Forms アドオンパッケージを持つ AEM オーサーと、アプリケーションサーバー上で動作する 1 つの JEE スタックに共同でデプロイされる追加の AEM Forms JEE 機能が含まれています。JEE 上の AEM Forms は、単一サーバー環境とクラスター設定で実行することができます。JEE 上の AEM Forms は、ドキュメントセキュリティおよびプロセス管理を実行する場合、ならびに AEM Forms にアップグレードする LiveCycle のお客様に対してのみ必要となります。JEE 上の AEM Forms を使用するシナリオをさらにいくつか示します。

  • HTML Workspace のサポート(HTML Workspace を使用しているユーザー用): JEE 上の AEM Forms により、処理インスタンスでシングルサインオンを使用できるようになります。処理インスタンスでレンダリングされた特定のアセットを提供し、HTML Workspace 内でレンダリングされたフォームを送信することができます。
  • 高度な追加のフォーム / インタラクティブ通信のデータ処理:JEE 上の AEM Forms を使用すると、高度なプロセス管理機能が必要になる複雑なユースケースで、フォーム / インタラクティブ通信データの詳細な処理を行い、その結果を適切なデータストアに保存することができます。

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

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

AEM Forms オーサリングユーザーインターフェイスは、レコードのドキュメント(DOR)、PDF forms、HTML5 Forms の作成をサポートしていません。このようなアセットは、スタンドアロンの Forms Designer アプリケーションを使用して設計され、AEM Forms Manager に個別にアップロードされます。また JEE 上の AEM Forms では、AEM Forms Workbench 上で実行するアプリケーションのアセットとして設計することにより、JEE 上の AEM Forms サーバーにデプロイすることもできます。

OSGi 上の AEM Forms および JEE 上の AEM Forms には、いずれもワークフローの機能があります。OSGi 上の AEM Forms では、JEE 上の AEM Forms に本格的なプロセス管理機能をインストールすることなく、様々なタスクに対する基本的なワークフローを作成し、デプロイすることができます。OSGi 上の AEM Forms 上のフォームベースのワークフローと JEE 上の AEM Forms 上のプロセス管理機能には機能上、多少の違いがあります。OSGi 上の AEM Forms 上のフォームベースのワークフローの開発、および管理では、使い慣れた AEM ワークフローおよび AEM インボックスの機能を使用します。

用語 terminologies

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

aem_forms_-_recommendedtopology

作成者: オーサーインスタンスは、標準のオーサー実行モードで動作するAEM Formsサーバーです。 JEE 上のAEM Formsまたは OSGi 環境上のAEM Formsにすることができます。 このサービスは、内部のユーザー、フォーム、インタラクティブ通信の設計者、開発者を対象としています。 次の機能が有効になります。

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

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

  • エンドユーザー向けにFormsをレンダリングおよび送信する。
  • 送信された生のフォームデータを処理インスタンスに転送し、最終的な記録システムにさらに処理および保存する。 AEM Formsで提供されるデフォルトの実装は、AEMの逆複製機能を使用してこれを実現します。 また、フォームデータをローカルに最初に保存する代わりに、直接処理サーバーにプッシュする代わりの実装も使用できます(後者は、逆複製を有効にするための前提条件です)。 通常、処理インスタンスはパブリッシュインスタンスよりも安全な場所に配置されるため、顧客が機密データをパブリッシュインスタンスに保存することに不安を感じている場合は、上記の代替実装を実行してもかまいません。
  • インタラクティブ通信とレターのレンダリングと送信:インタラクティブ通信とレターはパブリッシュインスタンス上でレンダリングされ、対応するデータがストレージと後処理用に処理インスタンスに送信されます。このデータは、パブリッシュインスタンスにローカルで保存して、処理インスタンスに逆複製すること(デフォルトのオプション)も、処理インスタンスに直接プッシュして、パブリッシュインスタンスには保存しないこともできます。セキュリティを意識している顧客の場合は、後者の実装をお勧めします。

処理: forms-manager グループにユーザーが割り当てられていない状態の作成者実行モードで実行される AEM Forms のインスタンスです。AEM Forms on JEE または AEM Forms on OSGi を処理インスタンスとしてデプロイできます。ユーザーが割り当てられていない場合、フォームのオーサリングと管理のアクティビティは、処理インスタンスで実行されることはなく、オーサーインスタンスでのみ実行されます。処理インスタンスでは、次の機能が有効になります。

  • パブリッシュインスタンスから送信された未加工のフォームデータの処理: ​この機能は、データの到着時にトリガーされる AEM ワークフロー経由の処理インスタンスで主に実現されます。このワークフローでは、標準搭載の「フォームデータモデル」の手順を使用して、データまたはドキュメントを適切なデータストアにアーカイブできます。

  • フォームデータの安全な保存:処理インスタンスには、ファイアウォールの背後に配置されたリポジトリが用意されています。未加工のフォームデータは、このリポジトリに保存することにより、ユーザーから隔離できます。オーサーインスタンス上の設計者も、パブリッシュインスタンス上のエンドユーザーも、このリポジトリにアクセスすることはできません。

    note note
    NOTE
    アドビは、AEM リポジトリを使用する代わりに、サードパーティのデータストアを使用して、最終的に処理されたデータを保存することをお勧めします。
  • パブリッシュインスタンスから送信された通信データの保存と後処理: AEM ワークフローは、対応するレター定義の後処理をオプションで実行します。これらのワークフローで、最終的な処理済みデータを、適切な外部データストアに保存することができます。

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

次の理由から、処理インスタンスは、オーサー実行モードで稼働するように設定されています。

  • パブリッシュインスタンスから未加工のフォームデータを逆複製できます。デフォルトのデータストレージハンドラーを使用するには、逆複製機能が必要になります。
  • AEM ワークフローは、パブリッシュインスタンスから送信される未加工のフォームデータの主要な処理手段であるため、オーサースタイルのシステムで AEM ワークフローを実行することをお勧めします。

AEM Forms on JEE の物理的なトポロジーの例 sample-physical-topologies-for-aem-forms-on-jee

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

Document Services または Document Security 機能を使用するためのトポロジ topology-for-using-document-services-or-document-security-capabilities

AEM Formsのお客様は、Document Services 機能または Document Security 機能のみを使用する予定で、次に示すトポロジーと同様のトポロジーを使用できます。 このトポロジでは、AEM Forms の 1 つのインスタンスを使用することをお勧めします。必要に応じて、AEM Forms サーバーのクラスターまたはファームを作成することもできます。多くのユーザーがプログラムで AEM Forms サーバーの機能にアクセスし、ユーザーインターフェイス上ではほとんど操作を実行しない場合は、このトポロジーを構成することをお勧めします。ドキュメントサービスの操作を一括して処理する場合は、このトポロジーを使用すると効率的です。例えば、出力サービスを使用して、編集不可の PDF ドキュメントを毎日数百件作成するような場合は、このトポロジーを構成することをお勧めします。

AEM Forms では、設定されたすべての機能を 1 台のサーバーで実行できますが、実稼働環境では処理能力の計画や負荷分散を行う必要があり、特定の機能ごとに複数のサーバーをセットアップする必要があります。例えば、PDF Generator サービスを使用して、1 日に数千ページを変換し、デジタル署名を追加してドキュメントへのアクセスを制限しているような環境の場合、PDF Generator サービスとデジタル署名機能用に別々の AEM Forms サーバーをセットアップします。これにより、パフォーマンスが最適化され、各サーバーを別々にスケーリングできるようになります。

basic-features

AEM Forms のプロセス管理機能を使用する場合のトポロジ topology-for-using-aem-forms-process-management

HTML ワークスペースなど、AEM Forms のプロセス管理機能の使用を計画している AEM Forms のお客様には、以下のようなトポロジを構成することをお勧めします。AEM Forms on JEE サーバーは、1 つのサーバーまたはクラスター構成にすることができます。

LiveCycle ES4 からアップグレードする場合、AEM Forms on JEE に組み込みの AEM オーサーを追加する場合を除き、このトポロジは LiveCycle で既に構成されているトポロジと同じになります。また、アップグレードを実行するお客様のクラスタリング要件に変更はありません。クラスター環境で AEM Forms を使用していた場合は、AEM 6.4 Forms でも引き続きその環境を使用することができます。HTML Workspace を使用するために AEM Forms on JEE を新たにインストールする場合、JEE 環境に組み込まれた AEM オーサーインスタンスを実行する必要もあります。

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

topology_for_usinghtmlworkspaceandformsapp

AEM Forms on JEE サーバーを使用して、後処理、アダプティブフォーム、HTML5 フォーム、インタラクティブ通信などの機能を実行することなく、プロセス管理機能(HTML Workspace )を実行する場合は、このトポロジーを構成することをお勧めします。

アダプティブフォーム、HTML5 フォーム、インタラクティブ通信などの機能を使用するためのトポロジー topology-for-using-adaptive-forms-html-forms-interactive-communication-capabilities

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

topology-for-using-forms-osgi-modules

前述のトポロジーでは、次の変更やカスタマイズを行うことができます。

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

OSGi 上の AEM Forms を使用する場合の物理的なトポロジーの例 sample-physical-topologies-for-using-aem-forms-on-osgi

データ取得機能、インタラクティブ通信機能、OSGi 上のフォーム中心ワークフロー機能を使用する場合のトポロジー 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

オフラインのバッチ処理に監視フォルダー機能を使用するためのトポロジ topology-for-using-watched-folder-capabilities-for-offline-batch-processing

AEM Formsのお客様は、監視フォルダーをバッチ処理に使用する予定で、次に示すようなトポロジを使用できます。 このトポロジーではクラスター環境が構成されていますが、AEM Forms サーバーを 1 つのインスタンスで使用するか、ファームで使用するかは、負荷に応じて決定します。サードパーティのデータソースは、独自の記録システムです。 監視フォルダーの入力ソースとしての役割を果たします。 また、出力は印刷ファイルの形式で表示されます。 また、出力コンテンツをファイルシステムに保存し、電子メールで送信し、他のカスタム方法を使用して出力を使用することもできます。

offline-batch-processing-via-watched-folders

オフライン API ベースの処理にドキュメントサービス機能を使用するためのトポロジ topology-for-using-document-services-capabilities-for-offline-api-based-processing

AEM Formsのお客様がドキュメントサービス機能のみを使用することを計画している場合は、次に示すトポロジと同じトポロジを使用できます。 このトポロジでは、OSGi サーバー上でAEM Formsのクラスターを使用することをお勧めします。 ほとんどのユーザーが(API を使用して)AEM Formsサーバーの機能にプログラムでアクセスし、ユーザーインターフェイスを介して操作する必要が最小限の場合は、このトポロジをお勧めします。 このトポロジは、複数のソフトウェアクライアントシナリオで非常に役立ちます。 例えば、PDF Generator サービスを使用する複数のクライアントにより、オンデマンドで PDF ドキュメントを作成するような場合です。

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

offline-api-based-processing

recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da