Das AE Application Interface verwenden
Die Klassen und Methoden der AE.ApplicationInterface können genutzt werden, sobald die Bibliothek in Ihr Programm integriert wurde.
Der Datenaustausch zwischen dem Programm und dem AE-System findet über sogenannte Anfragen (Requests) statt. Damit diese gesendet und empfangen werden können, müssen Sie zuerst eine Verbindung zum AE-System aufbauen und anschießend eine Anmeldung an einen Mandanten durchführen.
Diese Seite beinhaltet Folgendes:
Ablauf
Egal welchem Zweck Ihr Programm dient, folgende Schritte sind immer zu durchlaufen:
-
Stellen Sie eine Verbindung zum AE-System her. Sie haben dafür zwei Möglichkeiten:
-
Sie müssen entweder die Zertifikate im Java-Truststore installiert oder den Pfad zum Ordner definiert haben, in dem die vertrauenswürdigen Zertifikate unter Verwendung des Parameters TrustedCertFolderPath gespeichert sind, bevor Sie die Verbindung herstellen (siehe Verbindungen zur AE sichern (TLS/SSL)):
setTrustedCertFolderPath(C:\Data\Certs);
Connection uc4 = Connection.open(PC01, 8443);
-
Sie können den Pfad zum Ordner definieren, in dem die vertrauenswürdigen Zertifikate unter Verwendung des Parameters TrustedCertFolderPath gespeichert werden, während die Verbindung hergestellt wird:
Connection uc4 = Connection.open(PC01, 8443, null, null, C:\Data\Certs);
-
-
Melden Sie sich als Benutzer beim AE-System an.
uc4.login(98,SMITH,UC4,null,D);
-
Einige Anforderungen, z. B. die Suche nach einem Objekt, können jetzt gesendet werden. Diese Anfragen werden mit den Methoden sendRequestAndWait und sendRequest entweder synchron oder asynchron gesendet.
uc4.sendRequestAndWait(WinJobs);
uc4.sendRequest(WinJobs, Handle);
Greifen Sie jetzt auf das Anforderungsergebnis zu, z. B. das Suchergebnis.
-
Beenden Sie anschließend die Verbindung.
uc4.close();
Hinweis: Anfragen kommen immer dann zur Anwendung, wenn Sie Informationen aus dem AE-System anfordern wollen oder wenn eine Aktion darin durchgeführt werden soll. In der Auslieferung sind einige Beispiele enthalten, die Ihnen die Verwendung des AE.ApplicationInterface näher bringen. Zusätzlich haben wir in den folgenden Dokumenten die wichtigsten Klassen herausgegriffen.
AE.ApplicationInterface verwenden
Das AE.ApplicationInterface ist in erster Linie dazu gedacht, Benutzer-Interaktionen zu automatisieren.
Beim Review von Anwendungen ist höchstes Augenmerk auf häufig wiederkehrende Abläufe, speziell in Verarbeitungsschleifen, zu legen, da hier die größten Performancegewinne zu erwarten sind.
Bei Highvolume-Verarbeitungen, ist immer abzuwägen, ob eine rasche Durchlaufzeit oder die Nicht-Beeinträchtigung der Performance des Produktionssystems wichtiger ist. Steht die Performance des Produktivsystems im Vordergrund, ist das AE.ApplicationInterface. so zu verwenden, dass die Verarbeitung über einen längeren Zeitraum gleichmäßig verteilt wird, z. B. unter Verwendung von Queues.
Sie möchten so wenige Abfragen wie möglich an die Automation Engine senden. Die Methoden Connection.sendRequest und Connection.sendRequestAndWait sollten nicht unnötig oft aufgerufen werden.
Wenn Sie das AE.Application Interface verwenden, beachten Sie Folgendes:
-
Anmelden, alle Aktionen durchführen, abmelden
-
Objekte im schreibgeschützten Modus öffnen, wenn keine Modifikation durchgeführt wird
-
Ändern statt löschen und neu anlegen
-
Nichts verwenden, was nicht unbedingt benötigt wird
-
Verwenden Sie Massenfunktionen anstelle vieler einzelner Aktionen (falls zutreffend).
Wenn keine Massenfunktionen verfügbar sind, kontaktieren Sie bitte unseren Support-Center. Weitere Informationen finden Sie unter Dateien, die dem technischen Support helfen.
-
Aufwändige Massenänderungen zunächst mittels AE.ApplicationInterface einer nicht produktiven AE-Umgebung durchführen und dann über Dienstprogramme in das Produktionssystem überführen
-
Erstellen Sie keine Schleifen ohne Wartezeit, besonders für Statusabfragen.
-
Erstellen/ändern Sie ein Objekt nicht, und speichern Sie es nicht wiederholt.
-
Führen Sie keine großen und mehrfachen Suchvorgänge mit der Klasse SearchObject durch
Überprüfung der Antwort auf Fehler
Wenn Sie eine Anfrage mit der Funktion sendRequestAndWait() senden, müssen Sie immer das Meldungsfeld der Antwort auf Fehler überprüfen, bevor Sie mit der Bearbeitung der Antwort beginnen. Fahren Sie mit der Antwortverarbeitung nur fort, wenn das Meldungsfeld leer ist.
Beispiel
//Einen Unix-Job mit dem Namen JOBS.UNIX.API_TEST im Root-Ordner erstellen UC4ObjectName jobName = new UC4ObjectName("JOBS.UNIX.API_TEST"); CreateObject create = new CreateObject(jobName, Template.JOBS_UNIX, tree.root()); uc4.sendRequestAndWait(create); //Testen, ob der Job erfolgreich erstellt wurde if (create.getMessageBox() != null) { System.err.println(create.getMessageBox().getText()); uc4.close(); return; }
Negative Effekte von schlecht ausgelegten Anwendungen
Dialog-Benutzer werden ausgebremst, weil das AE.ApplicationInterface ebenfalls die Dialogprozesse verwendet.
Die Performance des gesamten AE-Systems wird negativ beeinflusst, da jeder Aufruf des AE.ApplicationInterface ein Schreibzugriff auf die AE-Datenbank ist -> daraus resultiert ein hohes I/O-Aufkommen für die Datenbank.
Siehe auch: