2009-06-12 17 views
5

Abbiamo un'installazione di PeopleSoft e sto creando un'applicazione Web separata che deve estrarre i dati dal database PeopleSoft. L'applicazione Web si troverà su un server diverso da PeopleSoft, ma con la stessa rete interna.Come ottenere dati da PeopleSoft

Quali sono le mie opzioni?

+0

Sto usando Glassfish, è sufficiente impostare un'origine dati con l'URL del database PeopleSoft? – bmw0128

risposta

4

Sì - Integration Broker è un'implementazione proprietaria di Peoplesoft di un meccanismo publish/subscribe, xml parlando. Ovviamente potresti semplicemente scrivere codice che va contro il tuo database usando JDBC o OLE/ODBC. Niente ti impedisce di farlo. Tuttavia, è necessario comprendere lo schema del database di Peoplesoft, in modo da estrarre o inserire/aggiornare/eliminare tutti i dati corretti. Peoplesoft si prende cura di questo per te.

Inoltre, controllare interfacce componente - e sono esposti come API per Java o C/C++.

1

Immagino che dipenda dal vostro requisito e da quale versione di PeopleSoft siete attivi.

Vuoi una ricerca in tempo reale? In questo caso, ti consigliamo di consultare Servizi Web/Integration Broker.

Se si desidera esportare in blocco/in blocco, un App Engine pianificato farebbe il trucco.

+1

Non ho ancora familiarità con PS, stai dicendo che PS ha qualcosa in cui posso esporre i dati tramite i servizi web? E, vedi qualche conseguenza negativa solo nell'impostare un'origine dati che va direttamente al database PS? – bmw0128

5

Questo è un vecchio, ma potrebbe essere ancora interessante.

PeopleSoft ha il proprio schema all'interno del database host (Oracle, SQL Server, DB2 ecc.) Che sono le tabelle PSxxx, ad esempio: PSRECDEFN è l'equivalente di DBA_TABLES di Oracle. Queste tabelle non dovrebbero essere toccate da alcun codice esterno. Le tabelle dell'applicazione sono memorizzate nelle tabelle PS_xxx, ad es .: PS_JOB. Queste tabelle possono essere lette e aggiornate da qualsiasi codice SQL.

Molti programmi batch in PeopleSoft (ad esempio: Application Engine, COBOL o SQR) accedono direttamente alle tabelle e questo è il modo più rapido per accedere o uscire dal database. Tuttavia, PeopleSoft ha un livello di applicazione piuttosto ricco che viene bypassato quando si esegue l'SQL diretto. Questo livello applicazione deve essere replicato nel codice SQL diretto, in particolare per inserti o aggiornamenti. Ci possono essere aggiornamenti ad altre tabelle, calcoli o incrementi di contatori memorizzati nel database.

Per determinare come eseguire questa operazione è necessario esaminare il PeopleCode (un linguaggio interpretato come VB6), il design della pagina (tramite Application Designer) e utilizzare gli strumenti di tracciamento di PeopleCode e SQL. In questi giorni il livello dell'applicazione è enorme, quindi questo può essere un compito lungo per pagine non banali. PeopleSoft raggruppa le pagine correlate in "Componenti" e tutte le pagine nel componente vengono salvate nello stesso momento.

interfacce componente sono stati introdotti con PeopleTools 8 come un mezzo per evitare di fare tutto questo. Utilizzando un generatore all'interno della finestra di progettazione dell'app PeopleSoft, viene generata un'interfaccia componente in base al componente. Per molti componenti questi possono essere utilizzati per accedere alle pagine come farebbe un utente e possono essere accessibili tramite i programmi PeopleCode, e quindi tramite i programmi App Engine e tramite Integration Broker. Possono anche essere racchiusi in codice Java e accedere direttamente tramite codice in grado di eseguire contro il server delle app con un wrapper del servizio Web. Questo metodo è il migliore per le transazioni a basso volume: gli estratti pesanti funzionano meglio con l'SQL nativo.

Lo sviluppo on-line e strumenti di tracciamento in PeopleSoft sono piuttosto buone, e la documentazione è eccellente (anche se piuttosto esteso) e disponibile sul: http://download.oracle.com/docs/cd/E17566_01/epm91pbr0/eng/psbooks/psft_homepage.htm

Se siete solo in cerca a far emergere i dati di un determinato componente, il il modo più semplice sarebbe quello di attivare la traccia SQL (sotto il menu delle utility in PeopleSoft) e richiamare alcuni record per il componente.Guadare il file di traccia ti darà una buona idea di cosa fare, e gran parte di SQL potrebbe essere tagliata e incollata. Un altro metodo sarebbe quello di trovare un report esistente che sia simile a quello che stai cercando di fare e ritagliare l'SQL.

Avere un analista di affari PeopleSoft a disposizione per aiutarvi a sviluppare i requisiti non farebbe del male a nessuno.

0

Passare direttamente al database significa che è necessario ricreare la logica di presentazione ... vedere la mia risposta più lunga sopra. Puoi farlo per pagine semplici, ma altrimenti usare l'interfaccia di un componente è la strada da percorrere.

1

Il modo migliore è utilizzare i servizi di Integration Broker (IB) per esporre i dati del database PeopleSoft a applicazioni esterne. L'applicazione esterna sarà in grado di accedere ai servizi PeopleSoft IB come XML su HTTP, consentendo così di utilizzare qualsiasi parser XML ampiamente utilizzato per questo scopo.

Il problema con le interfacce dei componenti rispetto a Integration Broker è che le interfacce dei componenti tendono ad essere molto più lente dell'accesso diretto ai DB dal servizio PeopleCode di IB. Anche le future aggiunte al componente collegato all'interfaccia del componente a volte tendono a "rompere" l'interfaccia.

Per maggiori dettagli su PeopleSoft Integration Broker, è possibile accedere alla documentazione on-line su http://docs.oracle.com/cd/E26239_01/pt851h3/eng/psbooks/tibr/book.htm

0

Si può anche scrivere un processo sqr per l'estrazione dei dati di massa. SQR creerà il file di output che l'altra applicazione può scegliere. SQR sarebbe più veloce dei programmi del motore applicativo poiché esegue la maggior parte delle operazioni in memoria.

Problemi correlati