🧐 QUE PIENSAS SOBRE LA OPCIÓN DE MIGRAR DE COBOL A JAVA 🐌👇👇 👉 Existen varias formas de conectar COBOL con Java, útiles para migrar aplicaciones: 1. Java Native Interface (JNI): Permite a Java llamar funciones COBOL compiladas como librerías. Es útil para migraciones parciales, aunque complejo de mantener y con posible impacto en el rendimiento. 2. Exposición como servicios web (SOA): Encapsula COBOL en servicios REST/SOAP que Java puede consumir. Es ideal para arquitecturas modernas y migración gradual. 3. Herramientas de conversión: Soluciones como Micro Focus COBOL convierten código COBOL en Java. Útil para migraciones rápidas, aunque el código generado puede ser difícil de mantener. 4. Reescritura manual: Se reescribe la lógica COBOL en Java desde cero. Es costosa pero genera código Java optimizado y fácil de mantener. 5. Java Connector Architecture (JCA): Facilita la integración de Java con sistemas COBOL legados en entornos de mainframe. Adecuado para transacciones de alta disponibilidad. Cada opción depende de factores como tiempo, presupuesto y la criticidad del sistema. Estoy preparando un artículo, sobre el tema en profundidad. Tenemos nuevas opciones a partir de la versión de COBOL 6.4, y lo comentado sobre el tema en el IBM X Day de este 2024.
Primero es analizar lo que se quiere migrar. Las aplicaciones Cobol de los mainframe tienen una arquitectura que hacen que, casi siempre sea una mala idea. La arquitectura que deben tener las aplicaciones en distribuido requieren construir de otra forma, y por lo tanto migrar código sin cambiar su arquitectura suele ser un pasaporte al fracaso. Es decir, siempre hay que transformar, lo que implica un análisis previo y una refactorizacion (que suele ser lo más complicado): migrar de forma directa no tiene sentido. Y si la aplicación en Cobol está bien hecha…porque hacerlo?….hay muchas posibilidades para modernizar y hay que revisarlas todas.
Aquí hay varias consideraciones, si bien es cierto que el costo por MIP de un mainframe es alto, también es cierto que los sistemas basados en cobol que viven en los mainframes tienen el potencial de direccionar millones de registros en un tiempo relativamente corto comparados con soluciones en plataformas distribuidas. Por otra parte la necesidad de tener los datos actualizados en línea supone para el sector financiero una prioridad para la atención de los clientes, de ahí que algunos bancos, en la búsqueda de la reducción de costos por consumo de MIPS se han dado a la tarea de migrar si, algunas operaciones a plataformas distribuidas sobre bases de datos como Mongo o elasticsearch, operaciones que no requieren un dato actualizado al momento, como son las consultas de movimientos de días anteriores, pero desde mi punto de vista, deberán mantener cobol y los mainframes mientras no exista una alternativa con la potencia suficiente para acceder de forma simultanea y veloz a bases de datos de millones de registros como lo son las bases de datos del sector financiero.
Migrar COBOL a JAVA sí o sí representa un costo significativo para el sector financiero, por ejemplo, si una empresa decide migrar COBOL a JAVA, deberá contratar a más personal, desarrolladores expertos en COBOL, desarrolladores especializados en Java y profesionales que dominen ambos lenguajes. Lo que implica un aumento considerable en los gastos de nómina, no únicamente en cuestiones de nóminas, la empresa debe ser consciente de que mantener a ambos equipos de desarrollo durante un tiempo prolongado generará pérdidas económicas, ya que Java no ofrecerá beneficios inmediatos a la empresa. Viéndolo del lado de la seguridad seamos sinceros, COBOL se destaca por su robustez en términos de seguridad a diferencia de JAVA que presenta ciertas vulnerabilidad que requieren una atención especial. Excelente aporte Jesús Márquez Racero. Pd: bueno esta es mi opinión probablemente alguien que este leyendo esto no estará de acuerdo y es válido, siempre es bueno aportar.
Nada puede destronar a COBOL para aplicaciones core para sectores financieros, bancarios, gobierno y sectores publicos. Si que lo pueden integrar con esos lenguajes modernos, la única desventaja que veo es que no se dicta como tal en universidades e IBM no ha podido llegar a las universidades para colaborar en el aprendizaje para nosotros los jovenes.
Lo siento, pero desde que vi JAVA por primera vez en la universidad, y para ejecutar un programa "Hola Mundo" se tenia que levantar una JVM que empezaba a paginar a disco para poder coger todos los recursos de la máquina para luego escribir una linea de texto en la linea de comandos que tardo 15 segundos en escribir, tache de la lista a JAVA como lenguaje eficiente y de alto rendimiento. Esto es asi y al que le pique, ajos come.
Yo quisiera entender 2 cosas a partir de la siguiente premisa: Va quedando en claro que los "web services" no son un reemplazo de los Mainframe. ¿De donde surge la necesidad de quitar a COBOL del medio para ser reemplazado por otro lenguaje siendo este tan eficaz? ¿Es JAVA la única opción lógica?
50 años casi, dándole vida a los sistemas corporativos, bancarios, de retail, casinos, aerolíneas, etc, desde Mainframe, AS/400 (Power IBM i) y el viejo D.O.S (Windows también ahora). Insuperable COBOL.
migrar de COBOL a JAVA pienso que es dar un paso hacia atrás incluso… què hay de GoLang o Rust? estamos en 2024, no en los 90 o principios de los 2000
En versiones de Cobol como Acu Cobol existen llamadas a Java con la libreria C$java, para acceder a aplicaciones Java.
Directeur administratif et financier / IBM Champion 2024 / IBM Champion 2023 / IBM Champion 2022 / IBM Champion 2021 / IBM Master the Mainframe 2019 Regional winner
1 mesPara "migrar" se debe tener alguna razón, luego desde que a qué. Porque en el Mainframe de algunas empresas (35%?) el lenguaje principal es ya Java. Si la razón es porque está de "moda", es una idea muy cara! Si la razón es el ahorro, este es a largo plazo (mínimo 2 años) Si la razón es por la falta de recursos humanos, eso es simplemente mentira (es porque un programador Java se paga más barato!) Etc... Y al final no somos los "de a pie" los que tenemos capacidad para decidir nada🙈