2009-06-12 10 views
5

Tenemos una instalación de PeopleSoft y estoy construyendo una aplicación web separada que necesita extraer datos de la base de datos de PeopleSoft. La aplicación web estará en un servidor diferente de PeopleSoft, pero la misma red interna.Obtener datos de PeopleSoft

¿Cuáles son mis opciones?

+0

Uso Glassfish, ¿está bien configurar una fuente de datos que tenga la URL de la base de datos PeopleSoft? – bmw0128

Respuesta

4

Sí - Integration Broker es la implementación propia de Peoplesoft de un mecanismo de publicación/suscripción, que habla xml. Por supuesto, puede escribir código que vaya en contra de su base de datos usando JDBC u OLE/ODBC. Nada te impide hacer esto. Sin embargo, debe comprender el esquema de base de datos de Peoplesoft, de modo que esté extrayendo o insertando/actualizando/eliminando todos los datos adecuados. Peoplesoft se ocupa de esto por ti.

Además, consulte Interfaces de componentes, que están expuestas como API a Java o C/C++.

1

Supongo que depende de sus requisitos y de qué versión de PeopleSoft esté.

¿Desea buscar en tiempo real? Si ese es el caso, entonces deberá consultar Servicios web/Broker de integración.

Si desea una exportación por lotes/a granel, un App Engine programado sería el truco.

+1

todavía no estoy familiarizado con la PS, ¿estás diciendo que la PS tiene algo en que puedo exponer los datos a través de servicios web? Y, ¿ve alguna consecuencia negativa en simplemente configurar una fuente de datos que vaya directamente a la base de datos de PS? – bmw0128

5

Este es un viejo pero todavía puede ser de su interés.

PeopleSoft tiene su propio esquema dentro de la base de datos (Oracle, SQL Server, DB2, etc.) que son las tablas PSxxx, por ejemplo: PSRECDEFN es el equivalente de DBA_TABLES de Oracle. Estas tablas no deben ser tocadas por ningún código externo. Las tablas de aplicaciones se almacenan en tablas PS_xxx, por ejemplo: PS_JOB. Estas tablas se pueden leer y actualizar mediante cualquier código SQL.

Muchos programas por lotes en PeopleSoft (por ejemplo: Application Engines, COBOL o SQR) acceden directamente a las tablas, y esta es la forma más rápida de ingresar o eliminar datos de la base de datos. Sin embargo, PeopleSoft tiene una capa de aplicaciones bastante rica que se pasa por alto al hacer SQL directo. Esta capa de aplicación debe replicarse en código SQL directo, especialmente para inserciones o actualizaciones. Puede haber actualizaciones de otras tablas, cálculos o incrementos de contadores almacenados en la base de datos.

Para determinar cómo hacerlo, debe mirar a través del PeopleCode (un lenguaje interpretado como VB6), el diseño de página (a través del Diseñador de aplicaciones) y usar las herramientas de rastreo PeopleCode y SQL. En estos días, la capa de aplicación es enorme, por lo que puede ser una tarea larga para páginas no triviales. PeopleSoft agrupa las páginas relacionadas en "Componentes" y todas las páginas del componente se guardan al mismo tiempo.

Las interfaces de componentes se introdujeron con PeopleTools 8 como un medio para evitar hacer todo esto. Al usar un generador dentro del diseñador de la aplicación PeopleSoft, se genera una Interfaz de componente basada en el componente. Para muchos componentes, estos se pueden usar para acceder a las páginas como lo haría un usuario, y se puede acceder a través de los programas PeopleCode y, por lo tanto, a través de los programas de App Engine y a través de Integration Broker. También se pueden envolver en código Java y acceder directamente mediante código capaz de ejecutarse contra el servidor de aplicaciones con un contenedor de servicios web. Este método es mejor para transacciones de bajo volumen: los extractos pesados ​​funcionan mejor con SQL nativo.

El desarrollo en línea y herramientas de seguimiento de PeopleSoft son bastante buenos, y la documentación es excelente (aunque bastante extensa) y disponible en: http://download.oracle.com/docs/cd/E17566_01/epm91pbr0/eng/psbooks/psft_homepage.htm

Si estás en busca realzar de datos de un determinado componente, el La manera más fácil sería activar el rastreo SQL (en el menú de utilidades en PeopleSoft) y mostrar algunos registros para el Componente.Recorrer el archivo de rastreo le dará una buena idea de qué hacer, y gran parte del SQL podría ser cortado y pegado. Otro método sería encontrar un informe existente que sea similar a lo que está tratando de hacer y cortar el SQL.

Tener un analista de negocios de PeopleSoft a mano para ayudarlo a desarrollar los requisitos tampoco le haría daño.

0

Ir directamente a la base de datos significa que debe volver a crear la lógica de presentación ... vea mi respuesta más larga más arriba. Puede hacer esto para páginas simples, pero de lo contrario, el uso de una interfaz de componentes es el camino a seguir.

1

La mejor manera es utilizar los servicios de Integration Broker (IB) para exponer los datos de la base de datos de PeopleSoft a aplicaciones externas. La aplicación externa podrá acceder a los servicios PeopleSoft IB como XML a través de HTTP, lo que le permitirá utilizar cualquier analizador XML ampliamente utilizado para este fin.

El problema con las interfaces de componentes a diferencia de Integration Broker es que las interfaces de los componentes tienden a ser mucho más lentas que el acceso directo a las bases de datos desde el servicio IB PeopleCode. También las adiciones futuras al componente conectado a la interfaz del componente a veces tienden a 'romper' la interfaz.

Para más detalles sobre PeopleSoft corredor de integración, puede acceder a la documentación en línea en http://docs.oracle.com/cd/E26239_01/pt851h3/eng/psbooks/tibr/book.htm

0

También puede escribir un proceso SQR para la extracción de datos a granel. SQR creará el archivo de salida que la otra aplicación puede elegir. SQR sería más rápido que los programas del motor de aplicación, ya que realiza la mayoría de las operaciones en la memoria.