Die erste der beiden erforderlichen JAR-Dateien, die den Namen PSFTCI.jar erhält,
muss manuell durch eine Buildaktion erstellt und anschließend kompiliert werden.
Der PeopleSoft-Connector fragt den PeopleSoft Enterprise-Server in einem bestimmten Intervall
auf Ereignisse ab. Wenn der Connector ein Ereignis erkennt, konvertiert er die Ereignisdaten
in ein Geschäftsobjekt und sendet sie an die Clientanwendung. Um dieses Szenario verwenden zu können, müssen Sie ein angepasstes Ereignisprojekt
in PeopleSoft Enterprise-Server erstellen.
Ereignisspeicher
Der Ereignisspeicher ist eine Tabelle,
die Ereignisse enthält, die Datenänderungen darstellen. Diese werden so lange gespeichert,
bis der abfragende Connector sie verarbeiten kann. Der Connector verwendet den Ereignisspeicher, um
die Ereignisentitäten zu verfolgen. Um die Verarbeitung eingehender Ereignisse zu verwenden, müssen Sie mit PeopleTools Application
Designer ein angepasstes Projekt zur Ereignisbenachrichtigung erstellen. Das angepasste Projekt erstellt den Ereignisspeicher, den der Connector für die
eingehende Verarbeitung benötigt. Jedes Mal, wenn ein Geschäftsobjekt erstellt, aktualisiert oder gelöscht wird,
sorgt die im Projekt verwendete und anschließend der Komponentenschnittstelle
hinzugefügte PeopleCode-Funktion dafür, dass im Ereignisspeicher ein neuer Datensatz mit
dem entsprechenden Objektnamen, Schlüssel und Statuswert eingefügt wird.
Während der eingehenden Verarbeitung fragt der Connector die
Ereignisse vom Ereignisspeicher in konfigurierten Abfrageintervallen ab. In jedem Abfrageaufruf wird eine konfigurierte Anzahl von Ereignissen
vom Connector verarbeitet. Die Reihenfolge der Ereignisverarbeitung basiert auf der aufsteigenden Reihenfolge
der Priorität und der Ereigniszeitmarke. Die Ereignisse mit dem Status
'Bereit für Abfrage (0)' werden in jedem Abfragezyklus beim Polling berücksichtigt.
Der Connector verwendet den Objektnamen und Objektschlüssel, um das
entsprechende Geschäftsobjekt abzurufen. Wenn Ereignisse aus dem Ereignisspeicher
abgerufen und verarbeitet werden, ändert sich der Ereignisstatus entsprechend,
wie aus folgender Tabelle hervorgeht.
Tabelle 1. EreignisstatuswerteKurzname des Status |
Beschreibung |
Ereignistabellenwert |
Fehlerbehandlungsereignis |
Es ist ein Fehler bei der Ereignisverarbeitung aufgetreten. |
-1 |
Bereit für Abfrage |
Das Ereignis ist fertig, um berücksichtigt zu werden. |
0 |
Erfolgreich |
Das Ereignis wurde dem Ereignismanager zugestellt. |
1 |
Gelöscht |
Das Ereignis wurde erfolgreich verarbeitet und
wird aus dem Ereignisspeicher entfernt. |
4 |
I. Gehen Sie wie folgt vor, um die Ereignistabelle zu erstellen:
Stellen Sie sicher, dass die folgenden Schritte für die Konfiguration
und Kompilierung der PeopleSoft-JAR-Dateien ausgeführt werden:
- Erstellen der Ereignistabelle.
- Hinzufügen des Auslösers zur Komponente WBI_CUSTOMER_COMP.
- Erstellen der Java™ API for
Component Interface
- Kopieren Sie das Projekt WBI_CUST_PROJ, das sich im Verzeichnis <Cast
Iron-Installationsverzeichnis>\etc\peoplesoft\scripts befindet, in ein temporäres Verzeichnis
(C:\Projects) auf der Maschine, auf der PeopleTools ausgeführt wird.
- Melden Sie sich bei PeopleSoft Application Designer an und wählen Sie Folgendes aus: Tools >
Projekt kopieren > Von Datei.
- Navigieren Sie zum Verzeichnis C:\Projects. Klicken Sie in der
Projektauswahlliste doppelt auf WBI_CUST_PROJ.
- Klicken Sie im Dialogfenster 'Aus Datei kopieren' auf 'Kopieren'. Warten Sie, bis die Operation vollständig ausgeführt wurde.
- Wählen Sie WBI_CUST_PROJ im linken Teilfenster und dann
Build > Projekt im Hauptmenü aus.
- Wählen Sie in der Anzeige 'Build' die folgenden Kontrollkästchen aus:
- Tabellen erstellen
- Ansichten erstellen
- Auslöser erstellen
- Script ausführen und erstellen
- Klicken Sie auf Build, um den Build des Projekts zu starten.
- Klicken Sie auf Schließen, um das Dialogfenster mit dem Buildfortschritt
zu verlassen.
- Prüfen Sie die Protokollnachrichten in der Ansicht 'Buildprotokoll' von Application Designer,
um sicherzustellen, dass drei Datensätze richtig verarbeitet wurden.
- Wählen Sie Datei > Alle speichern aus, um die Änderungen zu speichern.
- Um die Benutzersicherheit für die Komponentenschnittstellen zu konfigurieren, melden Sie sich bei
PeopleSoft Web Client über folgende URL an: http://localhost/psp/ps/?cmd=login.
- Wechseln Sie zu PeopleTools > Sicherheit > Berechtigungen
& Rollen > Berechtigungslisten.
- Geben Sie PTPT1200 im Bearbeitungsfeld von Beginnt mit
an und klicken Sie auf Suchen.
- Wechseln Sie zur Registerkarte 'Komponentenschnittstellen' und klicken Sie auf '+', um die Komponentenschnittstelle
WBI_CUSTOMER_COMP_INTERFACE hinzuzufügen.
- Klicken Sie für WBI_CUSTOMER_COMP_INTERFACE auf 'Bearbeiten'.
- Wählen Sie "Vollständiger Zugriff für alle Methoden" aus und klicken Sie auf "OK".
- Wechseln Sie zurück zur Registerkarte "Komponentenschnittstellen" und klicken Sie auf das Pluszeichen
(+), um die Komponentenschnittstelle IBM_EVENT_CI hinzuzufügen.
- Klicken Sie für IBM_EVENT_CI auf "Bearbeiten".
- Wählen Sie Vollständiger Zugriff für alle Methoden aus und
klicken Sie auf OK.
- Wechseln Sie zurück zur Registerkarte "Komponentenschnittstellen" und klicken Sie auf Speichern,
um die Änderungen zu speichern.
II. Gehen Sie wie folgt vor, um Auslöser hinzuzufügen:
- Öffnen Sie in PeopleSoft Application Designer das Projekt WBI_CUST_PROJ.
- Klicken Sie in der linken Anzeige mit der rechten Maustaste auf WBI_CUSTOMER_COMP und
wählen Sie View PeopleCode aus.
- Wählen Sie im PeopleCode-Bearbeitungsfenster SavePostChange in der rechten Anzeige aus.
- Geben Sie folgenden PeopleCode im Bearbeitungsfenster ein:
Declare Function IBMPublishEvent PeopleCode IBM_FETCH_ID.IBM_NEXT_EVENT_ID FieldFormula;
Component string &BONAME1; Component string &KEYLIST1;
&BONAME1 = "WbiCustomerCompInterface";
&KEYLIST1 = "WBI_CUSTOMER.WBI_CUSTOMER_ID"; /* Check if Component Changed before calling function*/ If ComponentChanged() And %UserId <> "C" Then /* Publish this event to the IBM WebSphere IBM_EVENT_TBL for polling */ IBMPublishEvent(&BONAME1; &KEYLIST1); End-If;
- Wählen Sie Datei > Alle speichern aus, um die Änderungen zu speichern.
- Um sicherzustellen, dass der Auslöser, den Sie in den oben beschriebenen Schritten erstellt haben,
ordnungsgemäß funktioniert, müssen Sie einige Initialisierungsaktivitäten ausführen. Stellen Sie eine Verbindung zu der Datenbank her, die PeopleTools verwendet, und führen Sie
die folgende SQL-Anweisung aus:
$ insert into PS_IBM_FETCH_ID values(1000);
$ commit;
III. Gehen Sie wie folgt vor, um die Java API for Component Interface zu erstellen:
Die
Komponentenschnittstellen-API ermöglicht den Zugriff auf alle Objekte und PeopleCode-Methoden. Sie können diese API manuell mithilfe von Application Designer generieren und sie anschließend
zu einer Datei
PSFTCI.jar kompilieren.
- Öffnen Sie in PeopleSoft Application Designer die Komponentenschnittstelle IBM_EVENT_CI.
- Wählen Sie Build > PeopleSoft API im Hauptmenü aus.
- Stellen Sie im Dialogfenster "Build PeopleSoft API Bindings" sicher, dass nur das Kontrollkästchen
"Build" unter den Java-Klassen ausgewählt ist. Legen Sie das Zielverzeichnis fest, in dem die generierten Java-Dateien gespeichert werden sollen.
Wählen Sie in der Liste zur Auswahl der API für den Build die folgenden Elemente aus:
- CompIntfc.CompIntfcPropertyInfo
- CompIntfc.CompIntfcPropertyInfoCollection
- All beginning with CompIntfc.IBM_EVENT_CI
- All beginning with CompIntfc.WBI_CUSTOMER_COMP_INTERFACE
- Klicken Sie auf OK. Prüfen Sie das Zielverzeichnis, um sicherzustellen,
dass die Java-Dateien richtig generiert werden.
- Kopieren Sie die generierten Java-Dateien in das Verzeichnis C:\Temp und
kopieren Sie anschließend die Datei psjoa.jar aus dem Verzeichnis <PeopleTools_HOME>\web\psjoa
in das Verzeichnis C:\Temp.
- Geben Sie für das Verzeichnis C:\Temp ein und führen Sie die folgenden Befehle für den
Build der Java-Dateien aus.
$ javac -classpath .\psjoa.jar PeopleSoft\Generated\CompIntfc\*.java
$ jar -cvf PSFTCI.jar PeopleSoft\Generated\CompIntfc\*.class
Die beiden JAR-Dateien psjoa.jar und PSFTCI.jar werden vom
PeopleSoft-Connector für den Zugriff auf die PeopleSoft Enterprise-Anwendung verwendet.