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

アーキテクチャ

AEM Formsは、AEM as a 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 Formsパッケージがデプロイされた標準のAEMオーサーまたはAEMパブリッシュです。AEM Formsは、単一のサーバー環境、ファーム、クラスター設定でOSGi上で実行できます。 クラスター設定は、AEMオーサーインスタンスでのみ使用できます。

JEE上のAEM Forms: JEE上のAEM Formsは、JEEスタック上で動作するAEM Formsサーバーです。AEM Formsアドオンパッケージを持つAEMオーサーと、アプリケーションサーバー上で動作する単一のJEEスタックにデプロイされる追加のAEM Forms JEE機能が含まれています。 JEE上のAEM Formsは、シングルサーバー設定およびクラスター設定で実行できます。 JEE上のAEM Formsは、Document Security、プロセス管理、および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の両方にワークフロー機能があります。 JEE上のAEM Formsの本格的なProcess Management機能をインストールする必要なく、OSGi上のAEM formsで様々なタスクの基本ワークフローを迅速に構築し、デプロイできます。 OSGi上のAEM Forms上のForms中心のワークフローの機能と、JEE上のAEM FormsのProcess Management機能には、いくつかの違いがあります。 OSGi上のAEM Forms上でのフォーム中心のワークフローの開発と管理では、使い慣れたAEM WorkflowとAEM Inboxの機能を使用します。

用語

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

aem_forms_-_recommendedtopology

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

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

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

  • エンドユーザー用のフォームのレンダリングと送信を行う機能。
  • 送信済みフォームの未加工データを処理インスタンスに転送してさらに処理を行い、最終的な記録システムに保存する機能。この機能は、AEM Forms に付属するデフォルトの実装で AEM の逆複製機能を使用して実行されます。代替処理として、最初にフォームデータをローカルに保存するのではなく、フォームデータを処理インスタンスに直接プッシュすることもできます(逆複製を行うには、最初にフォームデータをローカルに保存しておく必要があります)。処理インスタンスは通常、より安全なゾーンにあるので、パブリッシュインスタンス上の機密データの保存が懸念されるお客様は、この代替実装に移行できます。
  • インタラクティブ通信とレターのレンダリングと送信:インタラクティブ通信とレターはパブリッシュインスタンス上でレンダリングされ、対応するデータがストレージと後処理のために処理インスタンスに送信されます。 このデータをパブリッシュインスタンス上のローカルの場所に保存して、処理インスタンスに対してこのデータを逆複製することも、このデータをパブリッシュインスタンスに保存することなく、処理インスタンスに直接プッシュすることもできます(デフォルトのオプションは逆複製です)。セキュリティを意識している顧客の場合は、処理インスタンスに直接プッシュするオプションを使用することをお勧めします。

処理: Forms-Managerグループにユーザーが割り当てられていない、オーサー実行モードで実行されるAEM Formsのインスタンス。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の新規インストールでは、Document SecurityおよびProcess Management機能の使用のみをお勧めします。

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

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

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

basic-features

AEM Forms Process Managementを使用するためのトポロジ

AEM Formsのお客様は、AEM Formsのプロセス管理機能(例:HTML Workspace)を使用する予定で、以下に示すようなトポロジーを使用できます。 JEE上のAEM Formsサーバーは、単一のサーバーまたはクラスター構成にすることができます。

LiveCycleES4からアップグレードする場合、このトポロジは、JEE上のAEM FormsにAEMオーサーの組み込みが追加される点を除き、LiveCycle内の既存のものと密接にミラーリングされます。 また、アップグレードを実行する場合も、クラスタリング要件は変わりません。クラスター環境でAEM Formsを使用していた場合、AEM 6.5 Formsでも引き続き同じ操作を行うことができます。 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に組み込まれたAEM forms iインスタンスは、OSGiおよび監視フォルダー上でForms中心のワークフローを実行することもできます。

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

データキャプチャ、インタラクティブ通信、OSGi上のフォーム中心のワークフロー機能のトポロジー

アダプティブフォーム、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ベースの処理

このページ