Frage

Wir haben eine PeopleSoft-Installation und ich erstelle eine separate Webanwendung, die Daten aus der PeopleSoft-Datenbank abrufen muss.Die Webanwendung befindet sich auf einem anderen Server als PeopleSoft, aber im selben internen Netzwerk.

Welche Möglichkeiten habe ich?

War es hilfreich?

Lösung

Ja - Integration Broker ist PeopleSofts proprietäre Implementierung eines Veröffentlichung/Abonnement -Mechanismus mit XML. Sie können natürlich nur Code schreiben, der mit JDBC oder OLE/ODBC gegen Ihre Datenbank verstößt. Nichts hält dich davon ab. Sie müssen jedoch das PeopleSoft -Datenbankschema verstehen, damit Sie alle richtigen Daten aus oder einfügen/aktualisieren/löschen. PeopleSoft kümmert sich um Sie.

Schauen Sie sich auch Komponentenschnittstellen an - und sie werden als API Java oder C/C ++ ausgesetzt.

Andere Tipps

Dies ist ein Oldie, aber es mag immer noch von Interesse sein.

PeopleSoft hat sein eigenes Schema in der Host -Datenbank (Oracle, SQL Server, DB2 usw.), die die PSXXX -Tabellen sind, z. Diese Tabellen sollten von keinem externen Code berührt werden. Die Anwendungstabellen sind in PS_XXX -Tabellen, z. B. PS_JOB, gespeichert. Diese Tabellen können von jedem SQL -Code gelesen und aktualisiert werden.

Viele Batch -Programme in PeopleSoft (z. B. Anwendungsmotoren, COBOL oder SQRS) greifen direkt auf die Tabellen zu, und dies ist der schnellste Weg, um Daten in oder aus der Datenbank herauszuholen. PeopleSoft hat jedoch eine ziemlich reichhaltige Anwendungsebene, die bei direkter SQL umgangen wird. Diese Anwendungsebene muss in direktem SQL -Code repliziert werden, insbesondere für Einfügungen oder Aktualisierungen. Es können Aktualisierungen anderer Tabellen, Berechnungen oder Inkremente von datenbankspeicherten Zählern geben.

Um festzustellen, wie dies zu tun ist, muss man durch die PeopleCode (eine VB6-ähnliche interpretierte Sprache), das Seitendesign (über Anwendungsdesigner) schauen und die Tools PeopleCode und SQL Trace verwenden. Heutzutage ist die Anwendungsschicht riesig, daher kann dies eine lange Aufgabe für nicht triviale Seiten sein. PeopleSoft -Gruppen verwandten Seiten in "Komponenten", und alle Seiten der Komponente werden gleichzeitig gespeichert.

Komponentenschnittstellen wurden mit PeopleTools 8 eingeführt, um all dies zu vermeiden. Unter Verwendung eines Generators im PeopleSoft App Designer wird eine Komponentenschnittstelle basierend auf der Komponente generiert. Für viele Komponenten können diese verwendet werden, um auf die Seiten zugreifen zu können, wie es ein Benutzer tun würde, und können über PeopleCode -Programme und daher über App Engine -Programme und über den Integration Broker zugegriffen werden. Sie können auch in Java -Code und direkt über den Code aufgenommen werden, der mit einem Webdienst -Wrapper gegen den App -Server ausgeführt werden kann. Diese Methode eignet sich am besten für Transaktionen mit niedrigem Volumen: Schwere Extrakte funktionieren besser mit nativem SQL.

Die Online -Entwicklungs- und Verfolgungsinstrumente in PeopleSoft sind ziemlich gut, und die Dokumentation ist ausgezeichnet (wenn auch ziemlich umfangreich) und erhältlich auf: http://download.oracle.com/docs/cd/e17566_01/epm91pbr0/eng/psbooks/psft_homepage.htm

Wenn Sie nur versuchen, Daten aus einer bestimmten Komponente herauszubringen, wäre es am einfachsten, die SQL -Trace (unter dem Menü der Dienstprogramme in PeopleSoft) einzuschalten und einige Datensätze für die Komponente aufzurufen. Wenn Sie durch die Trace -Datei waten, erhalten Sie eine gute Vorstellung davon, was zu tun ist, und ein Großteil des SQL könnte geschnitten und eingefügt werden. Eine andere Methode wäre, einen vorhandenen Bericht zu finden, der dem ähnlich ist, was Sie versuchen zu tun, und das SQL auszuschneiden.

Haben Sie einen PeopleSoft Business Analyst zur Hand, damit Sie auch nicht die Anforderungen entwickeln können.

Ich denke, es hängt von Ihrer Anforderung und von der Version von PeopleSoft ab, auf der Sie sich befinden.

Möchten Sie in Echtzeit suchen? Wenn dies der Fall ist, möchten Sie sich Web Services/Integration Broker ansehen.

Wenn Sie einen Stapel-/Bulk -Export wünschen, würde eine geplante App -Engine den Trick machen.

Der beste Weg ist es, Integration Broker -Dienste (IB) zu nutzen, um die PeopleSoft -Datenbankdaten externer Anwendungen auszusetzen. Die externe Anwendung kann als XML über HTTP auf die PeopleSoft IB -Dienste zugreifen, sodass Sie zu diesem Zweck häufig verwendete XML -Parsers verwenden können.

Das Problem mit Komponentenschnittstellen im Gegensatz zum Integrationsbroker besteht darin, dass Komponentenschnittstellen in der Regel viel langsamer sind als den direkten DB -Zugriff innerhalb des IB Service PeopleCode. Auch zukünftige Ergänzungen der an der Komponentenschnittstelle angeschlossenen Komponente neigen manchmal dazu, die Schnittstelle zu „brechen“.

Weitere Informationen zu PeopleSoft Integration Broker erhalten Sie auf die Online -Dokumentation unter http://docs.oracle.com/cd/e26239_01/pt851h3/eng/psbooks/tibr/book.htm

Wenn Sie direkt zur Datenbank gehen, müssen Sie die Präsentationslogik neu erstellen ... siehe meine längere Antwort oben. Sie können dies für einfache Seiten tun, aber ansonsten ist die Verwendung einer Komponentenschnittstelle der richtige Weg.

Sie können auch einen SQL-Prozess für die Massendatenextraktion schreiben.SQR erstellt die Ausgabedatei, die die andere Anwendung auswählen kann.SQR wäre schneller als die Programme der Anwendungs-Engine, da es die meisten Vorgänge im Speicher ausführt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top