Pregunta

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

¿Cuáles son mis opciones?

¿Fue útil?

Solución

Sí: Integration Broker es la implementación patentada de PeopleSoft de un mecanismo de publicación/suscripción, Speaking XML. Por supuesto, podría escribir un código que va en contra de su base de datos utilizando JDBC o OLE/ODBC. Nada te impide hacer esto. Sin embargo, debe comprender el esquema de la base de datos PeopleSoft, para que esté extrayendo o insertar/actualizar/eliminar todos los datos adecuados. PeopleSoft se encarga de esto por ti.

Además, consulte las interfaces de componentes, y están expuestos como API a Java o C/C ++.

Otros consejos

Éste es antiguo pero aún puede ser de interés.

PeopleSoft tiene su propio esquema dentro de la base de datos del host (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 verse afectadas por ningún código externo.Las tablas de la aplicación 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:Los motores de aplicación, COBOL o SQR) acceden a las tablas directamente, y esta es la forma más rápida de introducir o sacar datos de la base de datos.Sin embargo, PeopleSoft tiene una capa de aplicación bastante rica que se omite al realizar 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 hacer esto, se debe consultar PeopleCode (un lenguaje interpretado similar a VB6), el diseño de página (a través del Diseñador de aplicaciones) y utilizar las herramientas de seguimiento PeopleCode y SQL.Hoy en día, 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 una forma de evitar hacer todo esto.Utilizando un generador dentro del diseñador de aplicaciones 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 ellos a través de programas PeopleCode y, por lo tanto, a través de programas App Engine y a través del Integration Broker.También se pueden empaquetar en código Java y acceder directamente mediante un código capaz de ejecutarse en 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.

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

Si solo desea obtener datos de un componente determinado, la forma más sencilla sería activar el seguimiento SQL (en el menú de utilidades de PeopleSoft) y mostrar algunos registros para el componente.Examinar el archivo de seguimiento le dará una buena idea de qué hacer, y gran parte del SQL se puede cortar y pegar.Otro método sería encontrar un informe existente que sea similar a lo que está intentando hacer y eliminar el SQL.

Tener a mano un analista de negocios de PeopleSoft para ayudarlo a desarrollar los requisitos tampoco estaría de más.

Supongo que depende de su requisito y de qué versión de PeopleSoft se encuentre.

¿Quieres una búsqueda en tiempo real? Si ese es el caso, entonces querrá ver los servicios web/corredor de integración.

Si desea una exportación por lotes/a granel, entonces un motor de aplicaciones programado haría el truco.

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

El problema con las interfaces de componentes en oposición al corredor de integración es que las interfaces de componentes tienden a ser mucho más lentas que el acceso directo a DB desde el servicio IB PeopleCode. Además, las adiciones futuras al componente conectado a la interfaz de componente a veces tienden a 'romper' la interfaz.

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

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

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 de motor de aplicaciones, ya que realiza la mayoría de las operaciones en la memoria.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top