Grundlegende Informationen zu Unica Plan Integration Services

Mithilfe von Unica Plan Integration Services erstellen Sie benutzerdefinierte Prozeduren. Durch diese Prozeduren können Sie externe Ereignisse auslösen, wenn bestimmte Ereignisse innerhalb von Unica Plan auftreten. Mit diesen Prozeduren können Sie Unica Plan-Funktionen aus externen Systemen oder Programmen ausführen.

Die API-Schnittstelle interagiert mit Unica Plan auf Programmebene wie die Benutzeroberfläche von Unica Plan auf Benutzerebene interagiert. Das Erstellen von Prozeduren erfolgt unter Verwendung der API. Mithilfe dieser Prozeduren ermöglichen Sie die Kommunikation zwischen Unica Plan und externen Systemen. Der Web-Service Unica Plan ist ein Containerobjekt für Prozeduren, API und Trigger.

Die Architektur der Unica Plan Integration Services wird hier dargestellt.


Integration Services kommunizieren miteinander und mit externen Systemen

Die folgenden sind Schlüsselkomponenten der Integration Services.

  • Unica Plan Prozedurmanager: erweitert die Geschäftslogik durch Interaktion mit Unica Plan über die API.
  • Unica Plan Trigger-Manager: ordnet eine Bedingung (zum Beispiel die Statusänderung eines Marketingobjekts) einer Aktion zu (eine Prozedur, die ausgeführt wird, wenn die Bedingung für den Trigger erfüllt ist).

Methoden

Die Komponenten von Unica Plan Integration Services werden, wie im folgenden Diagramm dargestellt, zur Entwicklung von benutzerdefinierten Prozeduren verwendet.


Programmierer verwendet das Unica Plan-Installationsprogramm, Java-Extras und den Anwendungsserver

Führen Sie nach der Installation des Development-Kits die folgenden grundlegenden Schritte aus:

  1. Geben Sie den Code für die benutzerdefinierte Prozedur ein.
  2. Aktualisieren Sie die Plug-in-Definition in der XML-Definitionsdatei.
  3. Erstellen Sie das Plug-in:
    1. Kompilieren Sie die erforderlichen Klassen.
    2. Wenn Sie eine Bibliothek von Fremdanbietern verwenden, die nicht im Unica Plan-Archiv vorhanden ist, müssen Sie die Bibliothek in der Datei plan.war bündeln und die Bereitstellung erneut ausführen.
  4. Starten Sie Unica Plan erneut. Änderungen an den Prozedurklassen werden angewendet, wenn Sie den Anwendungsserver erneut starten.
    Anmerkung: Wenn Sie die Datei plan.war ändern, müssen Sie die Bereitstellung von Unica Plan zurücknehmen und die Bereitstellung mit der neuen Datei plan.war erneut ausführen. Wenn Sie eine Bibliothek von Fremdanbietern verwenden, die sich nicht im Unica Plan-Archiv befindet, und Sie die Datei plan.war ändern, müssen Sie die Bereitstellung von Unica Plan zurücknehmen und die Bereitstellung erneut ausführen.

Einfaches Beispiel für die Kommunikation zwischen Unica Plan und der API

Im folgenden einfachen Beispiel wird die Einrichtung der Kommunikation zwischen API und Unica Plan beschrieben. Die Kommunikation in diesem Beispiel erfüllt keinen sinnvollen Zweck, es findet lediglich ein Umlauf zwischen Unica Plan und den Integration Services statt.

In diesem Beispiel werden Teile der Beispielprozeduren verwendet, die im Development-Kit für Unica Plan Integration Services enthalten sind. Sie finden die hier genannten Codebeispiele in den folgenden Dateien.

  • PlanClientFacade.java
  • PlanWSNOOPTestCase.java

Die noop-Methode ist ein Web-Service-Aufruf an Unica Plan. Sie ist in der PlanClientFacade-Klasse definiert, und übergibt Nullwerte in einem Array.

public ProcedureResponse noop(String jobId) 
  throws RemoteException, ServiceException {
  NameValueArrays parameters =
    new NameValueArrays(null, null, null, null, null, null, null, null); 
  return _serviceBinding.executeProcedure("uapNOOPProcedure", jobId, parameters);
}

Die Prozedur „testExecuteProcedure“ ruft die noop-Methode aus „PlanClientFacade“ auf, um einen Umlauf mit der Anwendung Unica Plan einzurichten.

public void testExecuteProcedure() throws Exception {
  // Time out after a minute
  int timeout = 60000;
  PlanClientFacade clientFacade = new PlanClientFacade(urlWebService, timeout);
  System.out.println("noop w/no parameters");
  long startTime = new Date().getTime();
  ProcedureResponse response = clientFacade.noop("junit-jobid");
  long duration = new Date().getTime() - startTime;

  // zero or positive status => success
  System.out.println("Status: " + response.getStatus());
  System.out.println("Duration: " + duration + " ms");
  assertTrue(response.getStatus() >= 0);
  System.out.println("Done.");
}

Ausführliche Informationen zu NameValueArrays, ProcedureResponse und anderen aufgelisteten Methoden und Datentypen finden Sie im Handbuch Unica PlanIntegration Module und in den JavaDocs.