Lectura de estructuras de datos de cobol desde Java

¿Hay una manera de leer los datos de cobol en un progtwig de Java? Más concretamente, estoy confrontado con el siguiente caso:

Tengo un archivo con registros de datos de longitud fija. La definición de datos se realiza como cuadernos de Cobol. Lo que pienso es una biblioteca que teniendo en cuenta los cuadernos podría leer esos registros.

Idealmente, debería ser posible generar clases y estructuras básicas de Java basadas en la información del cuaderno de ejercicios. En un paso posterior, los registros de datos se analizarán y los datos se rellenarán en objetos de esas clases generadas.

¿Conoces una biblioteca que ofrezca este tipo de funcionalidad? ¿O alguna otra técnica para enfrentar el problema de leer datos de Cobol?


Hay algunas herramientas comerciales que proporcionan esta funcionalidad. Son, sin embargo, muy caros. ¿Conoce alguna alternativa de código abierto o una combinación de diferentes herramientas para proporcionar la funcionalidad completa? Por ejemplo, el cb2xml lee las estructuras del cuaderno y las transforma en xml. Un paso posterior sería generar un lector de registros basado en la información cb2xml xml. O para usar un lector de registros que sea configurable. ¿Conoces un lector de discos cobol (decodificador)?

Puede consultar JRecord – http://sourceforge.net/projects/jrecord/ o cb2java http://sourceforge.net/projects/cb2java/, ambos le permiten acceder a los archivos cobol, pero ninguno generará las clases completas.


Actualización ene 2011

Desde la respuesta original:

  • JRecord continúa desarrollándose. Ahora hay un JRecord Code generator disponible como un progtwig independiente o en el Recordeditor . Este Code Generator construirá el código JRecord JRecord de un JRecord JRecord de Cobol. Ver RecordEditor Jrecord CodeGen
  • Desarrollo en cb2java se ha detenido
  • Cobol2j ha sido escrito. No ha habido actualizaciones por un año.
  • También hay Legstar otra vez nada publicado desde hace unos años

Actualización agosto 2017

El RecordEditor tiene una opción Generar para generar código Java / JRecord desde un Cobol Copybook. Vea las notas de Generación de código de RecordEditor para más detalles.

Actualización de enero de 2018

Hay alguna información sobre la generación de código Java ~ JRecord en esta pregunta / respuesta:

¿Cómo se genera el código java ~ jrecord para un cuaderno de Cobol?

Sí. Lo he hecho antes. Utilicé una conexión ODBC a los archivos COBOL, y luego con jdbc: odbc bridge, utilicé información de metadatos para generar clases, leer datos y transferirlos a Oracle.

Aquí hay un buen tutorial sobre cómo acceder a la información de metada con JDBC. Aquí hay otro.

Tenga en cuenta que no necesita el enfoque de puente JDBC: ODBC. Si puede obtener un controlador JDBC nativo para conectarse a su DataSource de Cobol, será mejor. En este sentido, también utilicé un controlador nativo de IBM. Aunque no recuerdo el nombre. Fue hace mucho tiempo.

Parece que hay algunas soluciones comerciales para esto. Alternativamente, puede usar cb2xml para convertir los cuadernos a XML, y luego importar el XML en Java utilizando el mecanismo que necesite.

He utilizado el paquete JRecord de Bruce (de sourceforge) para mi proyecto. Me tomó solo un par de días aprender a usarlo y me ahorró meses de trabajo en el despliegue de una solución mucho menos general por mi cuenta. Lo recomiendo mucho

Microfocus proporciona una forma de llamar a OO COBOL desde Java.

“Puede escribir clases en OO COBOL a las que se puede llamar desde progtwigs Java como si fueran clases de Java. Para ello, proporcione una clase de envoltura de Java, que proporciona una función para cada método en la clase OO COBOL. La Clase Net Express y Los asistentes de método lo hacen más fácil para usted, generando el código de Java al mismo tiempo que el código COBOL “.

También proporcionan una herramienta llamada Enterprise Server que permite a COBOL interactuar con servicios web.

Si tiene un progtwig A de COBOL, la herramienta le permite exponer la sección de interfaz de A como un servicio web.

Por supuesto, como A ahora tiene un servicio web, cualquier otro tipo de progtwig (línea de comandos, aplicación de Windows, Java, ASP, etc.) ahora también puede llamarlo y, por lo tanto, transmitir los datos COBOL a un progtwig Java.

BEA solía tener un producto llamado JAM que se usaba para comunicarse con los progtwigs COBOL de mainframe. Incluía una herramienta que podía leer libros de copia y generar tanto las clases correspondientes de Java POD como el código de conversión de datos.

No sé si esto todavía está disponible, lo perdí cuando salí de BEA.

Rational Application Developer puede leer el código fuente de COBOL y generar clases de Java. Las clases generadas tienen métodos para acceder a varias partes de la estructura de datos COBOL. La clase que se genera es compatible con la architecture del conector J2EE . Para crear una clase en su proyecto, seleccione Archivo, Nuevo, Otro y luego seleccione el asistente CICS / IMS Java Data Binding bajo J2C. Haga clic en Siguiente. Elija COBOL en Java para mapeo. Seleccione su archivo COBOL. Seleccione la estructura que desea generar una clase de Java para luego haga clic en Finalizar y listo. Por supuesto, hay una serie de opciones que puede seleccionar en el camino que no mencioné. Para más información busque Ayuda para J2C.

Echa un vistazo a Javolution Struct .

A continuación, puede utilizar una macro para convertir su datate COBOL en Struct .

    Intereting Posts