Получение данных из PeopleSoft

У нас есть установка PeopleSoft, и я создаю отдельное веб-приложение, которое должно извлекать данные из базы данных PeopleSoft. Веб-приложение будет находиться на другом сервере, чем PeopleSoft, но в той же внутренней сети.

Каковы мои варианты?


person bmw0128    schedule 12.06.2009    source источник
comment
Я использую Glassfish, можно ли настроить источник данных с URL-адресом базы данных PeopleSoft?   -  person bmw0128    schedule 12.06.2009


Ответы (6)


Да. Integration Broker — это собственная реализация механизма публикации/подписки от Peoplesoft, говорящая на xml. Конечно, вы можете просто написать код, который будет работать с вашей базой данных, используя JDBC или OLE/ODBC. Ничто не мешает вам сделать это. Однако вы должны понимать схему базы данных Peoplesoft, чтобы извлекать или вставлять/обновлять/удалять все нужные данные. Peoplesoft позаботится об этом за вас.

Кроме того, проверьте интерфейсы компонентов — они представлены как API для Java или C/C++.

person Epictetus    schedule 21.06.2009

Это старое, но все еще может представлять интерес.

У PeopleSoft есть собственная схема в базе данных хоста (Oracle, SQL Server, DB2 и т. д.), которая представляет собой таблицы PSxxx, например: PSRECDEFN является эквивалентом Oracle DBA_TABLES. Эти таблицы не должны затрагиваться каким-либо внешним кодом. Таблицы приложений хранятся в таблицах PS_xxx, например: PS_JOB. Эти таблицы могут быть прочитаны и обновлены любым кодом SQL.

Многие пакетные программы в PeopleSoft (например, Application Engine, COBOL или SQR) обращаются к таблицам напрямую, и это самый быстрый способ получить данные в базе данных или из нее. Однако PeopleSoft имеет довольно богатый прикладной уровень, который игнорируется при выполнении прямого SQL. Этот прикладной уровень должен быть реплицирован в прямом коде SQL, особенно для вставок или обновлений. Могут быть обновления других таблиц, расчетов или приращений счетчиков, хранящихся в базе данных.

Чтобы определить, как это сделать, необходимо просмотреть PeopleCode (интерпретируемый язык, подобный VB6), дизайн страницы (через Application Designer) и использовать инструменты PeopleCode и трассировки SQL. В наши дни прикладной уровень огромен, так что это может быть длительной задачей для нетривиальных страниц. PeopleSoft группирует связанные страницы в «Компоненты», и все страницы компонента сохраняются одновременно.

Компонентные интерфейсы были представлены в PeopleTools 8 как средство избежать всего этого. Используя генератор в конструкторе приложений PeopleSoft, интерфейс компонента создается на основе компонента. Для многих компонентов их можно использовать для доступа к страницам, как это сделал бы пользователь, и доступ к ним можно получить через программы PeopleCode и, следовательно, через программы App Engine и через Integration Broker. Они также могут быть заключены в код Java и доступны напрямую через код, способный выполняться на сервере приложений с помощью оболочки веб-службы. Этот метод лучше всего подходит для транзакций с небольшим объемом: тяжелые извлечения лучше работают с собственным SQL.

Онлайн-инструменты разработки и отслеживания в PeopleSoft довольно хороши, а документация превосходна (хотя и довольно обширна) и доступна по адресу: http://download.oracle.com/docs/cd/E17566_01/epm91pbr0/eng./psbooks/psft_homepage.htm

Если вы просто хотите вывести данные из данного компонента, самым простым способом будет включить трассировку SQL (в меню утилит в PeopleSoft) и вывести некоторые записи для компонента. Просмотр файла трассировки даст вам хорошее представление о том, что делать, и большая часть SQL может быть вырезана и вставлена. Другой способ — найти существующий отчет, похожий на то, что вы пытаетесь сделать, и вырезать SQL.

Также не помешает иметь под рукой бизнес-аналитика PeopleSoft, который поможет вам разработать требования.

person ardochhigh    schedule 05.11.2011

Я думаю, это зависит от ваших требований и от того, какую версию PeopleSoft вы используете.

Вы хотите поиск в реальном времени? Если это так, вам следует взглянуть на Web Services/Integration Broker.

Если вам нужен пакетный/массовый экспорт, вам подойдет запланированный App Engine.

person PeopleSoftTipster    schedule 12.06.2009
comment
я еще не знаком с PS, вы говорите, что у PS есть что-то, где я могу предоставлять данные через веб-сервисы? И видите ли вы какие-либо негативные последствия в простой настройке источника данных, который идет непосредственно в базу данных PS? - person bmw0128; 12.06.2009

Лучше всего использовать службы Integration Broker (IB) для предоставления данных базы данных PeopleSoft внешним приложениям. Внешнее приложение сможет получить доступ к службам PeopleSoft IB в виде XML через HTTP, что позволит вам использовать для этой цели любые широко используемые анализаторы XML.

Проблема с интерфейсами компонентов, в отличие от Integration Broker, заключается в том, что интерфейсы компонентов, как правило, намного медленнее, чем прямой доступ к БД из службы IB PeopleCode. Кроме того, будущие дополнения к компоненту, прикрепленному к интерфейсу компонента, иногда имеют тенденцию «сломать» интерфейс.

Дополнительные сведения о брокере интеграции PeopleSoft см. в онлайн-документации по адресу http://docs.oracle.com/cd/E26239_01/pt851h3/eng/psbooks/tibr/book.htm

person momentsnapper    schedule 26.08.2013

Переход непосредственно к базе данных означает, что вам нужно воссоздать логику представления... см. мой более длинный ответ выше. Вы можете сделать это для простых страниц, но в противном случае лучше использовать компонентный интерфейс.

person ardochhigh    schedule 07.05.2012

Вы также можете написать процесс sqr для массового извлечения данных. SQR создаст выходной файл, который может выбрать другое приложение. SQR будет быстрее, чем программы ядра приложений, поскольку он выполняет большинство операций в памяти.

person rajat tewari    schedule 17.05.2017