Preguntas frecuentes
Infinite ha realizado miles de migraciones exitosas de AS/400 desde su fundación. Desde entonces, Infinite ha desarrollado y lanzado numerosos productos y paquetes de servicios diseñados para migrar aplicaciones AS/400 escritas en RPG y COBOL.
¿Qué es Infinite i?
Infinite i migra aplicaciones heredadas RPG y COBOL desarrolladas para IBM i/AS400 para que puedan ejecutarse en otros sistemas operativos, específicamente Windows, Linux y UNIX (AIX, HPUX y Solaris)Windows y Linux. Para poder utilizar Infinite i debes tener un conjunto completo de código fuente. Desafortunadamente, no tener el código fuente no nos permitirá recompilar el código AS/400 y ejecutarlo en una plataforma alternativa. Las aplicaciones se ejecutan en la nueva plataforma de forma muy similar a como se ejecutan en el AS/400. Infinite i admite archivos físicos y lógicos, subarchivos, lenguaje de comandos, procedimientos almacenados, etc.
¿Qué idiomas admite Infinite i?
Infinite i tiene compiladores para soportar RPG/400, ILE RPG, SQL RPG/400, COBOL/400, SQL COBOL/400, COBOL ILE, CL/400, CMD/400, DDS/400 (pf, lf, dspf, prtf).
¿Infinite convierto mi código fuente a otro idioma?
No. Creemos que mantener la integridad del software inicial es importante. Su código fuente COBOL o RPG nativo permanece intacto y se vuelve a compilar en código objeto que se ejecuta de forma nativa en Windows, UNIX o LinuxWindows o UNIX. Su inversión en personal de desarrollo y soporte, documentación y capacitación permanece segura.
¿Es posible continuar con el desarrollo una vez que se ha realojado una aplicación?
Infinite i ofrece al desarrollador opciones para desarrollo futuro. Si un ISV planea ofrecer la misma aplicación en múltiples plataformas, es posible que prefiera desarrollar en el AS/400, donde se siente más cómodo, y recompilar en Infinite i. Infinite i incluye herramientas de desarrollo para permitir realizar, construir y probar cambios. El SEU, el PDM y los compiladores de lenguaje implementan una validación completa del código fuente. O el desarrollador puede optar por utilizar otros conjuntos de herramientas para el desarrollo en Java o .NET. Infinite tiene un conjunto de middleware complementario para usar con herramientas de desarrollo de la familia WebSphere, la familia WebLogic, la familia JBoss o la familia de productos Microsoft. Una vez migradas, las aplicaciones RPG o COBOL se pueden ejecutar en la nube utilizando la familia de productos Infinite Cloud que están integrados con Infinite i. La familia Infinite Cloud se conecta a JBoss, WebSphere y Web Logic. Por lo tanto, puede desarrollar en RPG, COBOL o utilizar otras herramientas estándar de la industria en Java o .NET e integrar fácilmente nuevos programas o módulos en sus programas RPG o COBOL recién rehospedados.
¿Infinite i requiere un host AS/400 en alguna etapa (aparte de la migración del origen)?
No, una vez que se migran la aplicación y los datos, Infinite i proporciona una plataforma para el código fuente del lenguaje de alto nivel y es completamente independiente del AS/400. Durante la migración inicial, todo el contenido de las bibliotecas se descarga del AS/400 a Infinite i, incluidos los objetos (programas compilados, archivos, etc.) que proporcionan información adicional sobre la migración.
¿Es posible transferir fuente RPG desde Infinite i al host AS/400? En caso afirmativo, ¿la fuente será compatible en el AS/400?
Sí, el código fuente permanece en formato AS/400. Cuando un ISV o un usuario final planea ofrecer la misma aplicación en múltiples plataformas, algunos desarrolladores prefieren desarrollar en el AS/400 donde se sienten más cómodos y recompilar en Infinite i. Toda la transferencia de fuentes y datos entre el AS/400 y el Infinite i se logra mediante simples archivos guardados y transferencias FTP.
¿Qué debe proporcionar un usuario final o ISV a Infinite para poder comenzar a migrar el código AS/400?
El Infinite Project Manager enviará instrucciones al cliente sobre cómo crear un archivo guardado (SAVF) en el AS/400. Luego, el equipo de Infinite lo trasladará al nuevo sistema y comenzará a recompilarlo en ejecutables nativos para la plataforma de destino. Los compiladores y conjuntos de herramientas de Infinite i manejan la mayor parte de la migración por sí mismos. La solución proviene de pruebas y gestión interactiva de proyectos entre el equipo de Infinite y el equipo del cliente.
¿Cómo depura un desarrollador una aplicación que encuentra un error en la plataforma de destino pero que funciona en el AS/400?
La depuración se gestiona de forma similar a la depuración en el AS/400. Los listados compilados incluyen los mismos códigos de error que los compiladores del AS/400, incluidas referencias a objetos dependientes faltantes, errores de sintaxis, errores de tipo de datos, etc. En caso de fallas que no sean errores de programación, se debe contactar al soporte de Infinite Software para determinar si existe un error en el producto.
¿Las licencias del compilador incluyen la posibilidad de volver a ejecutar la conversión en cualquier momento?
Sí, las licencias del compilador permitirán volver a ejecutar las conversiones en cualquier momento.
¿Cómo es su rendimiento frente al AS/400?
Los clientes que han realizado pruebas y evaluaciones comparativas patentadas en un sistema comparable (velocidad del procesador, memoria, tiempo de respuesta del disco) encontraron un rendimiento tan bueno o mejor que el de su aplicación ejecutada en un AS/400. Obviamente, el rendimiento de Infinite no puede aislarse de otros factores: sistema, rendimiento de la red y arquitectura de la aplicación.
¿Qué versión de Linux es compatible con Infinite i?
Infinite i ha sido probado y certificado en los siguientes sistemas operativos: Windows Enterprise Server 2016 y Linux Red Hat Enterprise Linux 7.2
¿Qué versión de Oracle admite Infinite i Deployment Environment?
Infinite i ha sido probado y certificado en las siguientes bases de datos: Oracle: 11g MS SQL: 2008. Infinite i (Versión 9.2) también es totalmente compatible con Oracle Exadata Database Machine, Oracle Exalogic elastic Cloud, SPARC SuperCluster, Oracle Database11g R2, Oracle Solaris 11, Oracle Web logic Server 11g R1 y SPARC SuperCluster.
¿Infinite i admite las API de OS/400?
Infinite i soporta la mayoría de las API de OS/400. En el ciclo de venta típico, el cliente potencial nos contratará para realizar una migración de muestra. Tomamos un módulo representativo de su software con datos de prueba y lo migramos a su plataforma de destino (Windows, UNIX o LinuxWindows o Linux). Podrás ver cualquier excepción y trabajaremos contigo para resolver cada una de ellas.
¿Existe alguna limitación para el compilador RPG?
Infinite i admite los comandos más utilizados y, por lo general, existen soluciones para los menos utilizados. La mayoría de los problemas surgen debido a referencias de hardware AS/400 que ya no existen. Por ejemplo, los comandos de comunicación que hacen referencia a controladores y descripciones de línea no son compatibles; sin embargo, los protocolos de comunicación en la nueva plataforma suelen proporcionar una solución.
¿Existe alguna limitación para el compilador COBOL/400?
El compilador COBOL/400 en Infinite i es consistente con el compilador IBM COBOL/400 en términos de características y funcionalidad. La única limitación es la compatibilidad parcial con MOSTRAR/ACEPTAR con FILA/COLUMNA.
¿Se puede utilizar la definición de PIC X (250000) para solucionar las limitaciones de tamaño de campo de OPM COBOL?
Es posible utilizar esta definición en los programas COBOL. Sin embargo, no es posible definir la misma longitud de campo en un archivo.
¿Existe alguna limitación para el compilador ILE COBOL?
El compilador COBOL/ILE en Infinite i es consistente con el compilador IBM COBOL/ILE en términos de características y funcionalidad.
¿Hay soporte en Infinite i para 'C'?
Infinite i proporciona C-API que permiten una interfaz con el entorno al escribir programas C estándar. Estos programas C se compilan utilizando el comando CRTCPGM para crear un programa C en el entorno desde donde luego se puede llamar al programa C desde un programa COBOL, RPG o CL o viceversa.
¿Cuánto tiempo lleva migrar una aplicación?
El tiempo puede variar según la cantidad de código que se va a convertir. Una migración típica que consta de 12.000 objetos (3.000 programas combinados con archivos físicos y lógicos, archivos de visualización y lenguaje de comandos) puede tardar menos de cuatro semanas en completarse, incluida la migración, el análisis, las pruebas y la validación. En promedio, el proceso de realojamiento y modernización demora unos 90 días.
¿Cómo migra, almacena y accede Infinite i a los datos de DB2/400?
Los componentes de realojamiento de Infinite i incluyen una replicación completa de la base de datos AS/400 DB2/400. Esta base de datos reside en el nuevo host y funciona igual que la base de datos a la que está acostumbrado. El usuario final puede optar por utilizar Oracle o SQL Server en lugar de la base de datos interna. Las tres opciones incluyen soporte para características específicas de DB2/400 como archivos físicos, archivos lógicos, archivos unidos, activadores, integridad referencial, control de compromiso y registro en diario.
¿Puede Infinite i funcionar junto con/soportar otras herramientas o software, por ejemplo MQSERIES (MSMQ)?
Infinite puedo interactuar con MQSERIES o MSMQ a través de llamadas API de C. El soporte de tiempo de ejecución subyacente dentro de Infinite i permite que cualquier programa HLL (escrito en ILE RPG, RPG/400 o COBOL/400) invoque programas C externos. Este mecanismo genérico permite también llamar a funciones API MQSERIES o MSMQ para enviar o recibir mensajes transaccionales y comunicarse con cualquier tipo de host que ejecute estos productos.
¿Infinite i admite el registro en diario y el control de compromisos?
Sí.
Nuestra fuente para los programas RPG y CL está en git. Cada vez que actualizamos/recompilamos, ¿tendríamos que transferir la fuente al sistema operativo Linux y luego ejecutar el proceso de conversión?
Infinite i admite la integración con Git. Si se va a realizar un nuevo desarrollo y/o mantenimiento en IBM i, cada vez que se envíen cambios o adiciones de código a Git, se puede extraer al entorno Infinite i y recompilar utilizando los compiladores nativos de Infinite i. Este proceso se puede realizar manualmente o se puede automatizar mediante una canalización de CI/CD.
¿Cómo transferiríamos los perfiles de usuario?
El comando DSPUSRPRF USRPRF(*ALL) TYPE(*BASIC) OUTPUT(*OUTFILE) OUTFILE(LIBRARY/ALLUSRPRFS) se utiliza en IBM i para capturar toda la información sobre los perfiles de usuario (excepto las contraseñas). Luego, este archivo se transfiere al servidor Infinite i y se procesa con un script bash que crea los mismos perfiles de usuario en el nuevo entorno. Habría que restablecer las contraseñas.
¿Cómo transferiríamos configuraciones personalizadas del sistema en bibliotecas, comandos, etc.?
Infinite i admite valores del sistema como IBM i. Los comandos del sistema se pueden cambiar para alterar los valores predeterminados. Los comandos del usuario se volverán a compilar en Infinite i con los mismos valores que tienen en el entorno original.
¿Es compatible con las opciones de iNavigator (administración de IFS a través de iNetserver y varios servidores/servicios TCP)?
IBM i Navigator no es compatible y no es necesario. IFS es compatible con el sistema de archivos Linux subyacente y cualquier ruta en cualquier sistema de archivos se puede utilizar como ubicación de IFS. Los servidores y servicios TCP (HTTPD, DNS, DHCP, VPN, etc.) son compatibles con el sistema operativo Linux subyacente.
¿Admite servicios integrados como DCM y WAS?
DCM y WAS se manejan junto con el sistema operativo Linux. En el caso de WAS, Apache Tomcat o WAS para Linux se pueden integrar con aplicaciones que se ejecutan en Infinite i.
¿Admite todas las funciones de archivos en spool, incluido IPDS?
Sí, todas las funciones de IBM i Spool File son compatibles con Infinite i, incluido IPDS.
¿Es posible el cifrado de datos en reposo para bases de datos SQL locales y externas?
El cifrado de datos en reposo no es posible para la base de datos interna, pero es posible cuando Infinite i está configurado para usar una base de datos externa.
Nuestra tabla más grande tiene casi 80 millones de registros y una longitud de registro de 405 caracteres. ¿Es eso un problema? ¿Cómo dimensionaríamos el servidor SQL para mitigar cualquier problema de rendimiento?
Con el tamaño adecuado del sistema, Infinite i y la base de datos externa pueden manejar archivos muy grandes. Los archivos se migran primero a la base de datos interna de Infinite y luego se convierten a la base de datos externa. Después de esto, las aplicaciones (por lotes e interactivas) se ejecutan y el sistema se ajusta para lograr un rendimiento óptimo (es decir, crear índices adicionales, aumentar la memoria del servidor, etc.).
Con una base de datos externa/sql, ¿cómo maneja el cambio de nombre o la eliminación de las bibliotecas?
El tiempo de ejecución de Infinite i realiza un seguimiento automático de la creación de bibliotecas y archivos (PF/LF) y de la sincronización con una base de datos externa.
Con una base de datos externa/sql, ¿cómo manejamos la seguridad/el acceso?
La seguridad se puede manejar a nivel global, con 1 conjunto de parámetros de conexión (host/usuario/contraseña/permisos) para todos los usuarios, o a nivel de usuario con parámetros de conexión para cada usuario. En este caso, la información de conexión se almacena en el perfil del usuario y está cifrada.
Con una base de datos externa/sql, ¿cómo manejaríamos múltiples bibliotecas con tablas del mismo nombre?
Cuando los PF y LF se convierten en tablas y vistas (respectivamente), si existe un PF o LF con el mismo nombre en más de una biblioteca, al nombre de la tabla o vista creada en la base de datos externa se le agregará un sufijo numérico (es decir, nombre de archivo_1, nombre de archivo_2).
Actualmente tenemos una biblioteca de datos centralizada que tiene lógicas que hacen referencia a datos de otras bibliotecas de datos, ¿cómo podría manejarse eso en una base de datos SQL?
Cuando se utiliza Infinite i con una base de datos externa, los archivos físicos se crean como tablas y los archivos lógicos como vistas. Si un LF hace referencia a PF de varias bibliotecas, cuando se convierte a una base de datos externa, la vista hará referencia a tablas que corresponden a los PF originales.
