AEM Forms是部署在AEM中的應用程式,為AEM套件。 此套件稱為AEM Forms附加套件。 AEM Forms附加元件套件包含部署在AEM OSGi容器中的兩項服務(API提供者),以及由AEM Sling架構管理的servlets或JSP(提供前端和REST API功能)。 下圖描述了此設定:
AEM Forms的架構包含下列元件:
核心AEM服務:AEM 為已部署應用程式提供的基本服務。這些服務包括JCR相容內容儲存庫、OSGI服務容器、工作流程引擎、信任存放區、金鑰存放區等。 這些服務可供AEM Forms應用程式使用,但AEM Forms套件不提供。 這些服務是整個AEM堆疊中不可或缺的一部份,而各種AEM Forms元件都會使用這些服務。
表單服務: 提供表單相關功能,例如建立、組合、分發和封存PDF檔案、新增數位簽章以限制檔案存取,以及解碼條形碼表單。這些服務可公開供AEM中共同部署的自訂程式碼使用。
Web層: JSP或servlet,以常見和表單服務為基礎,提供下列功能:
OSGi上的AEM Forms:OSGi環境上的 AEM Forms是標準AEM Author或AEM Publish with AEM Forms套件,已部署在其上。您可以在單一伺服器環境、群組和叢集設定中,在OSGi上執行AEM Forms。 叢集設定僅適用於AEM Author例項。
JEE上的AEM Forms:JEE上的 AEM Forms是在JEE堆疊上執行的AEM Forms伺服器。它有AEM Author與AEM Forms附加套件,以及其他AEM Forms JEE功能,可共同部署在應用程式伺服器上執行的單一JEE堆疊上。 您可以在單一伺服器和叢集設定中,在JEE上執行AEM Forms。 JEE上的AEM Forms僅需執行檔案安全性、流程管理,以及LiveCycle客戶升級至AEM Forms。 以下是在JEE上使用AEM Forms的一些其他案例:
AEM Forms on JEE也包含下列AEM元件支援服務:
AEM Forms製作使用者介面不支援建立記錄檔案(DOR)、PDF表單和HTML5表單。 這些資產是使用單機版Forms Designer應用程式設計,並個別上傳至AEM Forms Manager。 或者,對於JEE上的AEM Forms,表單可設計為應用程式(在AEM Forms Workbench中)資產,並部署至JEE伺服器上的AEM Forms。
OSGi上的AEM Forms和JEE上的AEM Forms都具備工作流程功能。 您可以針對OSGi上的AEM表單快速建立和部署各種工作的基本工作流程,而不需在JEE上安裝AEM Forms的完整流程管理功能。 OSGi上的AEM Forms上以表單為中心的工作流程的功能與JEE上的AEM Forms的「流程管理」功能有一些不同。 在OSGi的AEM Forms上開發和管理以表單為中心的工作流程時,會使用熟悉的AEM Workflow和AEM Inbox功能。
下列影像顯示各種AEM Form伺服器組態及其元件,這些元件用於典型的AEM Forms部署:
作者: 作者例項是在標準「作者」執行模式中執行的AEM Forms伺服器。它可以是JEE上的AEM Forms或OSGi環境上的AEM Forms。 它適用於內部使用者、表單和互動式通訊設計人員和開發人員。 它提供下列功能:
發佈:發 布例項是在標準「發佈」執行模式中執行的AEM Forms伺服器。發佈例項適用於表單型應用程式的使用者,例如存取公開網站和送出表單的使用者。 它提供下列功能:
處理:在「 作者」執行模式中執行的AEM Forms例項,未指派任何使用者至表單管理員群組。您可以將AEM Forms部署在JEE上,或將AEM Forms部署在OSGi上,做為處理例項。 不會指派使用者來確保表單製作和管理活動不會在「處理」例項上執行,而且只會在「作者」例項上執行。 處理實例啟用以下功能:
處理來自發佈例項的原始表單資料:這主要是 透過AEM工作流程在資料送達時觸發的處理例項來實現。工作流程可使用現成可用的「表單資料模型」步驟,將資料或檔案封存至適當的資料儲存。
表單資料的安全儲存:處理提供防火牆後的原始表單資料存放庫,與使用者隔離。作者實例和發佈實例的最終用戶都不能訪問此儲存庫。
Adobe建議使用協力廠商資料存放區來儲存最終處理的資料,而不要使用AEM儲存庫。
儲存和後處理從「發佈」例項到達的對應資料: AEM工作流程會對對應的信件定義執行選擇性後處理。這些工作流程可將最終處理的資料儲存至適當的外部資料儲存區。
HTML工作區代管:處理例項會代管HTML工作區的前端。HTML工作區為相關的任務/群組指派提供UI,以供審核和核准程式使用。
處理實例配置為在「作者」運行模式下運行,因為:
以下建議的AEM Forms on JEE拓撲主要適用於從LiveCycle或舊版AEM Forms on JEE升級的客戶。 Adobe建議在OSGi上使用AEM Forms進行最新安裝。 建議在JEE上新安裝AEM Forms,但僅適用於使用Document Security和Process Management功能。
AEM Forms客戶計畫只使用檔案服務或檔案安全性功能,其拓撲可能與下方顯示的拓撲類似。 此拓撲建議使用單一AEM Forms例項。 您也可以視需要建立AEM Forms伺服器的叢集或群組。 當大部分使用者以程式設計方式存取AEM Forms伺服器的功能,且透過使用者介面的干預最少時,建議使用此拓撲。 該拓撲結構有助於文檔服務的批處理操作。 例如,使用輸出服務每天建立數百份不可編輯的PDF檔案。
雖然AEM Forms可讓您從單一伺服器設定並執行所有功能,但您仍應進行容量規劃、負載平衡,並針對生產環境中的特定功能設定專屬伺服器。 例如,若是使用PDF Generator服務的環境,每天可轉換數千頁並新增數位簽章以限制檔案存取權,請針對PDF Generator服務和數位簽章功能設定個別的AEM Forms伺服器。 它有助於提供最佳效能,並可獨立擴展伺服器。
AEM Forms客戶計畫使用AEM Forms流程管理功能,例如,HTML Workspace的拓撲可能類似於下方顯示的拓撲。 JEE伺服器上的AEM Forms可以是單一伺服器或叢集組態。
如果您要從LiveCycle ES4升級,除了在JEE上新增AEM Author內建至AEM Forms外,此拓撲會與您在LiveCycle中已有的功能緊密相映。 此外,執行升級的客戶的叢集需求並無改變。 如果您在叢集環境中使用AEM Forms,您可以在AEM 6.4 Forms中繼續使用相同的功能。 若要重新安裝AEM Forms of JEE以使用HTML Workspace,則另需執行內建至JEE環境的AEM作者例項。
表單資料儲存是第三方資料儲存,用於儲存表單的最終處理資料和互動式通訊。 這是拓撲中的可選元素。 您也可以選擇設定處理實例,並視需要將其儲存庫用作最終的記錄系統。
建議客戶使用拓撲,以便在JEE伺服器上使用AEM Forms來提供流程管理功能(HTML工作區),而不需使用任何後處理、最適化表單、HTML5表單和互動式通訊功能。
AEM Forms客戶計畫使用AEM Forms資料擷取功能,例如最適化表單、HTML5表單、PDF表單,其拓撲可能類似於下方顯示的拓撲。 此拓撲也建議您使用AEM Forms的互動式通訊功能。
您可以對上述建議的拓撲進行以下更改/自定義:
AEM Forms客戶計畫使用AEM Forms資料擷取功能,例如最適化表單、HTML5表單、PDF表單,其拓撲可能類似於下方顯示的拓撲。 此拓撲也建議您針對OSGi功能使用互動式通訊和表單導向工作流程,例如,針對商業程式工作流程使用AEM Inbox和AEM Forms App。
AEM Forms客戶計畫使用「監看的檔案夾」進行批次處理,其拓撲可能與下方顯示的拓撲類似。 拓撲會顯示叢集環境,但您會根據負載決定使用單一執行個體或AEM Forms伺服器群組。 第三方資料來源是您自己的記錄系統。 它用作「監視的資料夾」的輸入源。 拓撲還以打印檔案的形式顯示輸出。 您也可以將輸出內容儲存至檔案系統、透過電子郵件傳送,以及使用其他自訂方法來使用輸出。
AEM Forms客戶計畫只使用檔案服務功能,其拓撲可能類似於下方顯示的拓撲。 此拓撲建議在OSGi伺服器上使用AEM Forms叢集。 當大部分使用者以程式設計方式(使用API)存取AEM Forms伺服器的功能,並透過使用者介面進行干預時,建議使用此拓撲。 該拓撲在多種軟體客戶端場景中非常有用。 例如,多位客戶使用PDF Generator服務,隨選建立PDF檔案。
雖然AEM Forms可讓您從單一伺服器設定並執行所有功能,但您應進行容量規劃、負載平衡,並針對生產環境中的特定功能設定專屬伺服器。 例如,對於使用PDF Generator服務每天轉換數千頁的環境,以及擷取資料的多個調適性表單,請針對PDF Generator服務和最適化表單功能設定個別的AEM Forms伺服器。 它有助於提供最佳效能,並可獨立擴展伺服器。