Show Menu
THEMEN×

Dienstcontainer

AEM Forms-Dienste, die sich im Dienstcontainer befinden (einschließlich Standarddiensten wie dem Encryption-Dienst, Prozessen mit langer Lebensdauer und Prozessen mit kurzer Lebensdauer), können mit verschiedenen Anbietern wie einem EJB-Anbieter aufgerufen werden. Ein EJB-Anbieter ermöglicht das Aufrufen von AEM Forms-Diensten über RMI/IIOP. Ein Webdienstanbieter stellt Dienste als Webdienste (WSDL Generation) unter Verwendung von Standards wie SOAP/HTTP und SOAP/JMS bereit.
In der folgenden Tabelle werden die verschiedenen Möglichkeiten beschrieben, wie Sie AEM Forms-Dienste programmgesteuert aufrufen können.
Aufrufmethode
Beschreibung
Remote-Integration
Die Remote-Integration bietet Flex-Clients die Möglichkeit, Dienstvorgänge aufzurufen. (Siehe Aufrufen von AEM Forms mithilfe von (für AEM Forms nicht mehr unterstützt) AEM Forms Remoting .)
Java API
Eine Java-API kann einen AEM Forms-Dienst aufrufen. Die Java-API ist in Client-Bibliotheken und die Java-Aufrufungs-API organisiert. (See Invoking AEM Forms using the Java API .)
Webdienste
AEM Forms unterstützt Webdienststandards wie SOAP/HTTP. Ein Dienst kann als Webdienst bereitgestellt werden, wobei die WSDL den vom W3C definierten Webdienststandards entspricht.
Ein Dienst kann von jedem Webdienststapel aufgerufen werden, einschließlich .NET Framework und Sun™ Web Services SDK. (See Invoking AEM Forms using Web Services .)
REST-Anforderungen
AEM Forms unterstützt REST-Anfragen. Ein Dienst kann direkt von einer HTML-Seite aufgerufen werden. (Siehe Aufrufen von AEM Forms mithilfe von REST-Anforderungen .)
Die folgende Abbildung zeigt, wie AEM Forms-Dienste programmgesteuert aufgerufen werden können.
Zusätzlich zur Verwendung des AEM Forms-SDK zum Erstellen von Clientanwendungen, die AEM Forms-Dienste aufrufen können, können Sie auch Komponenten erstellen, die im Dienstcontainer bereitgestellt werden können. Sie können beispielsweise eine Bankkomponente erstellen, die benutzerdefinierte Datentypen enthält, die in Prozessen verwendet werden können. Das heißt, Sie können einen Datentyp wie com.adobe.idp.BankAccount z. B. Anschließend können Sie com.adobe.idp.BankAccount Instanzen in Ihren Clientanwendungen erstellen.
Der Dienstcontainer bietet folgende Funktionen:
  • Ermöglicht das Aufrufen von AEM Forms-Diensten mit verschiedenen Methoden. Sie können einen Dienst konfigurieren, indem Sie Endpunkte festlegen, damit er mit allen folgenden Methoden aufgerufen werden kann: Remoting, die Java-API, Webdienste und REST. (See Programmatically Managing Endpoints .)
  • Konvertiert eine Nachricht in ein normalisiertes Format, das als Aufrufanforderung bezeichnet wird. Eine Aufrufanforderung wird von einer Clientanwendung (oder einem anderen Dienst) an einen Dienst gesendet, der sich im Dienstcontainer befindet. Eine Aufrufanforderung enthält Informationen wie den Namen des aufzurufenden Dienstes und Datenwerte, die für die Durchführung des Vorgangs erforderlich sind. Viele Dienste benötigen ein Dokument, um einen Vorgang auszuführen. Daher enthält eine Aufrufanforderung normalerweise ein Dokument, bei dem es sich um PDF-Daten, XDP-Daten, XML-Daten usw. handeln kann.
  • Sendet Aufrufanforderungen an geeignete Dienste (der Name des aufzurufenden Dienstes ist Teil der Aufrufanforderung).
  • Führt Aufgaben wie die Feststellung durch, ob der Aufrufer über die Berechtigung zum Aufrufen des angegebenen Dienstvorgangs verfügt. Die Aufrufanforderung muss einen gültigen Benutzernamen und ein gültiges Kennwort für AEM Forms enthalten.
    Es gibt verschiedene Möglichkeiten, eine Aufrufanforderung an einen Dienst zu senden. Außerdem gibt es verschiedene Möglichkeiten, erforderliche Eingabewerte an den Dienst zu senden. Angenommen, Sie verwenden die Java-API zum Aufrufen eines Dienstes, für den ein PDF-Dokument erforderlich ist. Die entsprechende Java-Methode enthält einen Parameter, der ein PDF-Dokument akzeptiert. In diesem Fall lautet der Datentyp des Parameters com.adobe.idp.Document . (See Passing data to AEM Forms services using the Java API .)
    Wenn Sie einen Dienst mit überwachten Ordnern aufrufen, wird eine Aufrufanforderung gesendet, wenn Sie eine Datei in einem konfigurierten überwachten Ordner ablegen. Wenn Sie einen Dienst per E-Mail aufrufen, wird eine Aufrufanforderung an einen Dienst gesendet, wenn eine E-Mail in einem konfigurierten Posteingang eingeht.
    Der Dienstcontainer sendet eine Aufrufantwort zurück, sobald der Vorgang ausgeführt wird. Eine Aufrufantwort enthält Informationen wie die Ergebnisse des Vorgangs. Wenn der Vorgang beispielsweise ein PDF-Dokument ändert, enthält die Aufrufantwort das geänderte PDF-Dokument. Wenn der Vorgang nicht erfolgreich war, enthält die Aufrufantwort eine Fehlermeldung.
    Eine Aufrufantwort kann auf dieselbe Weise abgerufen werden, wie eine Aufrufanforderung gesendet wird. Das heißt, wenn die Aufrufanforderung mit der Java-API gesendet wird, kann eine Aufrufantwort mit der Java-API abgerufen werden. Angenommen, ein Vorgang ändert ein PDF-Dokument. Sie können das geänderte PDF-Dokument abrufen, indem Sie den Rückgabewert der Java-Methode abrufen, die den Dienst aufgerufen hat.
    Wenn ein Prozess mit langer Lebensdauer aufgerufen wird, enthält eine Aufrufantwort einen ID-Wert, der mit der Aufrufanforderung verknüpft ist. Mit diesem Bezeichnerwert können Sie den Status des Prozesses zu einem späteren Zeitpunkt überprüfen. Betrachten Sie zum Beispiel den Dienst Hypothekendarlehen mit langer Lebensdauer. Mithilfe des ID-Werts können Sie prüfen, ob der Prozess erfolgreich abgeschlossen wurde. (Siehe An Menschen orientierte langlebige Prozesse aufrufen .)
    Das folgende Diagramm zeigt eine Clientanwendung (die die Java-API verwendet), die einen Dienst aufruft.
    Wenn eine Clientanwendung einen Dienst aufruft, treten drei Ereignisse auf:
    1. Eine Clientanwendung sendet eine Aufrufanforderung an einen Dienst.
    2. Der Dienst führt den in der Aufrufanforderung angegebenen Vorgang aus.
    3. Der Dienstcontainer gibt eine Aufrufantwort auf die Clientanwendung zurück.
Siehe auch