Question

Nous avons une installation PeopleSoft et je construis une application Web distincte qui doit retirer les données de la base de données PeopleSoft. L'application Web sera sur un serveur différent de PeopleSoft, mais le même réseau interne.

Quelles sont mes options?

Était-ce utile?

La solution

Oui - Le courtier d'intégration est la mise en œuvre propriétaire par Peopleft d'un mécanisme de publication / souscript, parlant XML. Vous pouvez bien sûr écrire du code qui va à l'encontre de votre base de données à l'aide de JDBC ou OLE / ODBC. Rien ne vous empêche de faire cela. Cependant, vous devez comprendre le schéma de la base de données PeopleSoft, afin que vous tirez ou insérez / mettant à jour / supprime toutes les données appropriées. PeopleSoft s'en occupe pour vous.

Consultez également les interfaces des composants - et ils sont exposés sous forme d'API à Java ou C / C ++.

Autres conseils

Celui-ci est un oldie mais cela peut encore être intéressant.

PeopleSoft a son propre schéma dans la base de données hôte (Oracle, SQL Server, DB2 etc) qui sont les tables PSXXX, par exemple: PSRECDEFN est l'équivalent de DBA_TABLES d'Oracle. Ces tableaux ne doivent être touchés par aucun code externe. Les tables d'application sont stockées dans des tables PS_XXX, par exemple: PS_JOB. Ces tableaux peuvent être lus et mis à jour par n'importe quel code SQL.

De nombreux programmes de lots dans PeopleSoft (par exemple: les moteurs d'application, COBOL ou SQRS) accèdent directement aux tables, et c'est le moyen le plus rapide d'obtenir des données dans ou hors de la base de données. Cependant, PeopleSoft a une couche d'application assez riche qui est contournée lors de la SQL directe. Cette couche d'application doit être répliquée dans le code SQL direct, en particulier pour les inserts ou les mises à jour. Il peut y avoir des mises à jour sur d'autres tables, calculs ou incréments des compteurs stockés de base de données.

Pour déterminer comment faire celui-ci, il faut examiner le PeopleCode (un langage interprété de type VB6), la conception de pages (via des concepteurs d'applications) et utiliser les outils de trace PeopleCode et SQL. De nos jours, la couche d'application est énorme, donc cela peut être une longue tâche pour les pages non triviales. Les groupes PeopleSoft liés aux pages en "composants", et toutes les pages du composant sont enregistrées en même temps.

Les interfaces de composants ont été introduites avec PeopleTools 8 comme moyen d'éviter de faire tout cela. À l'aide d'un générateur au sein du concepteur d'applications PeopleSoft, une interface de composant est générée en fonction du composant. Pour de nombreux composants, ceux-ci peuvent être utilisés pour accéder aux pages comme le feraient un utilisateur, et peuvent être accessibles via des programmes PeopleCode, et donc via des programmes d'applications et via le courtier d'intégration. Ils peuvent également être enveloppés dans le code Java et accéder directement par le code capable de s'exécuter par rapport au serveur d'applications avec un wrapper de service Web. Cette méthode est la meilleure pour les transactions à faible volume: les extraits lourds fonctionnent mieux avec SQL natif.

Les outils de développement et de traçage en ligne dans PeopleSoft sont assez bons, et la documentation est excellente (bien que assez étendue) et disponible sur: http://download.oracle.com/docs/cd/e17566_01/epm91pbr0/eng/psbooks/psft_homepage.htm

Si vous envisagez simplement de faire ressortir des données d'un composant donné, le moyen le plus simple serait d'allumer la trace SQL (dans le menu Utilitaires dans PeopleSoft) et d'apporter des enregistrements pour le composant. Tirant le fichier de trace vous donnera une bonne idée de ce qu'il faut faire, et une grande partie de la SQL pourrait être coupée et collée. Une autre méthode serait de trouver un rapport existant qui est similaire à ce que vous essayez de faire et de découper le SQL.

Ayez un analyste commercial PeopleSoft à portée de main pour vous aider à développer les exigences ne ferait pas non plus mal.

Je suppose que cela dépend de votre exigence et de la version de PeopleSoft sur laquelle vous vous trouvez.

Voulez-vous une recherche en temps réel? Si tel est le cas, vous voudrez consulter les services Web / courtier d'intégration.

Si vous voulez une exportation par lots / masse, un moteur d'application planifié ferait l'affaire.

La meilleure façon est d'utiliser des services d'intégration (IB) pour exposer les données de la base de données PeopleSoft vers des applications externes. L'application externe pourra accéder aux services IB PeopleSoft sous le nom de XML via HTTP, vous permettant ainsi d'utiliser des analyseurs XML largement utilisés à cet effet.

Le problème avec les interfaces de composants par opposition au courtier d'intégration est que les interfaces des composants ont tendance à être beaucoup plus lentes que l'accès DB direct à partir de l'intérieur du service IB PeopleCode. De plus, les ajouts futurs au composant attaché à l'interface du composant ont parfois tendance à «casser» l'interface.

Pour plus de détails sur le courtier d'intégration PeopleSoft, vous pouvez accéder à la documentation en ligne à http://docs.oracle.com/cd/e26239_01/pt851h3/eng/psbooks/tibr/book.htm

Aller directement à la base de données signifie que vous devez recréer la logique de présentation ... voir ma réponse plus longue ci-dessus. Vous pouvez le faire pour des pages simples, mais sinon, l'utilisation d'une interface de composant est la voie à suivre.

Vous pouvez également écrire un processus SQR pour l'extraction de données en vrac. SQR créera le fichier de sortie que l'autre application peut choisir. SQR serait plus rapide que les programmes de moteur d'application car il effectue la plupart des opérations en mémoire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top