PI (Portable Interface)
PI (Portable Interface), es un framework para el desarrollo y despliegue de aplicaciones java altamente modular y configurable diseñada para ser escalable y responder a las necesidades cambiantes y exigentes de las empresas que necesitan transferir, trasformar y procesar información importante del negocio de manera oportuna y confiable.
Portable a varias plataformas permitiendo así un crecimiento balanceado de acuerdo a las necesidades de la empresa.
Su finalidad es proveer una infraestructura a base de plugins para el desarrollo e integración de soluciones enfocadas al manejo, transporte y transformación de información hacia y desde los diferentes sistemas que pueda tener la empresa.
Arquitectura
- Core: Componente principal, encargado de gestionar el ciclo de vida de cada componente del framework.
- Shells: Componentes que permiten comunicarse con el framework y ejecutar comandos. Actualmente se tienen Shells para ejecución vía consola, TCP.
- Comandos: Son los componentes encargados de realizar la lógica de negocio.
Teniendo en cuenta estos tipos de componentes es posible implementar diferentes tipos de arquitecturas, funcionalidades y modos de ejecución, como por ejemplo:
- Cliente servidor
- Distribuida
- Monolítica
Interacción
Actualmente el framework para PI (portable interface) cuenta con 2 shell’s estándar:
- SocketShell: Trabaja basado en peticiones por socket, se debe enviar la instrucción a ejecutar a un socket definido por el cliente.
- ConsoleShells: Trabaja en base a peticiones en línea de comandos; se ejecuta la tarea a través de una instrucción ingresada manualmente o a través de un menú.
Comandos
- FLOWCOMMAND: Comando para llevar a cabo la ejecución de flujos de tipo entrada procesamiento y salida de datos adecuados a las estructuras requeridas por el proceso de negocio. Estos flujos se llevan a cabo a través de la definición de una fuente de datos, las transformaciones que se requieran y la salida de los mismos en una base de datos, archivo plano, keyed o cualquier fuente de almacenamiento.
- Reader: Plugin que se encarga de leer una fuente de datos.
- Proceso: Se encarga de dar formato a los datos obtenidos por el reader.
- Writer: Se encarga de almacenar los datos según el formato establecido por el Process.
- FTPCOMMAND: Comando para llevar a cabo la transferencia de archivos a través del protocolo FTP.
- TCPCOMMAND: Comando para la ejecución de flujos o procesos configurados en un portable interface remoto a través del protocolo TCP/IP.
- SPCOMMAND: Comando para ejecutar stored procedures creados en una base de datos específica que puede estar local o en un equipo remoto.
- EXECUTEPROCESS: Comando para la ejecución de procesos de negocio configurados en forma secuencial en un archivo de configuración llamado process file.
- COMPRESSFILE: Comando para comprimir o descomprimir archivos en el sistema de archivos local.