Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como batch

COBOL para principiantes #10

COBOL es un lenguaje de programación vigente (por necesidad), a pesar de ser creado a finales de los años 50's. Un lenguaje que sigue pagando muy bien. Un lenguaje diseñado para trabajar con la Banca. Un lenguaje que puede procesar millones de filas de datos más rápido que cualquier otro (solo Java le hace competencia, por el momento). Y es que siempre es necesario contar con un programador que sepa COBOL . Quien programa en COBOL no solo escribe código, debe saber por qué y cuál será el costo-beneficio de hacerlo. Hablar de COBOL es hablar de las aplicaciones batch, las cuales tienen un enfoque más lineal, muy parecido a diseñar un flujo de pipeline de Unix. La idea es hacer una cosa con cada programa, y usar el JCL y el programador de trabajos para coordinar un flujo de programas para resolver un problema. En la actualidad no se crean aplicaciones COBOL , se depuran y corrigen errores latentes que pudieran haber en las aplicaciones existentes. En palab...

Introducción a Spring Batch, con Gerardo Lucas - Meetup Presencial CDMX

En esta ocasión, Gerardo (@geezy_lucas) nos dará una Introducción a Spring Batch, en la que nos hablará de su experiencia haciendo batch processing, en qué escenarios lo podemos usar, qué alternativas hay, además de mostrarnos algunos conceptos alrededor de Spring Boot. Gerardo es Software Engineer en Wizeline, ha dado charlas dentro de su empresa y también en algunos otros eventos de tecnología. Enlaces: https://www.javamexico.org/blogs/benek/introduccion_spring_batch_con_gerardo_lucas_meetup_presencial_cdmx

COBOL para principiantes (#4)

Párrafos. Son similares a las etiquetas de batch cmd . Debajo se escriben los bloques de código. Ejemplos. PERFORM DISPLAY 'PARRAFO' . END-PERFORM VER-DATOS. DISPLAY DATO. FINALIZAR. STOP RUN . Invocar un párrafo. PERFORM VER-DATOS. PERFORM FINALIZAR. Uso de IF y operadores OR, AND y NOT. *> IF X = Y THEN IF X EQUAL Y THEN *> IF X < Y THEN IF LESS THEN Y THEN *> IF <= Y THEN IF LESS OR EQUAL Y THEN *> IF X > Y THEN IF GREATER THAN OR EQUAL Y THEN *> IF X NOT = Y THEN IF X NOT EQUAL Y THEN *> IF X NOT < Y THEN IF X NOT LESS THAN Y THEN *> IF X NOT > Y THEN IF X NOT GREATER THAN Y THEN *> IF X = Y THEN IF X EQUAL Y THEN *> IF X < Y THEN IF LESS THEN Y THEN *> IF <= Y THEN IF LESS OR EQUAL Y THEN *> IF X > Y THEN IF GREATER THAN OR ...

COBOL para principiantes(#3)

¿Conviene estudiar/aprender COBOL ? Los programadores experimentados no mienten (o no deberían hacerlo). COBOL es el lenguaje de los bancos y empresas que procesan enormes cantidades de datos. Ya sean archivos o bases de datos. Spring Batch le pisa los talones, pero difícilmente lo suplirá. Muchos programadores de la vieja escuela aún no se jubilan, sólo la muerte los desaparecerá. Mientras tanto los programadores imberbes e inexpertos en COBOL tiene un mundo por recorrer. ¿Cual es el paradigma que usa COBOL?  Entendamos una cosa, existen muchos compiladores en la red y algunos prometen la orientación a objetos y otras cosas más. Pero su esencia fundamental es la programación estructurada . Las bases de este paradigma son tres: Sentencias secuenciales. Sentencias selectivas. Sentencias iterativas. Siempre hay que tener presente estos conceptos. COBOL es un lenguaje fácil de entender. Existe mucha, demasiada, documentación hoy en día. No hay excusa para quien...

COBOL para principiantes(#2)

En esta serie de post estaremos hablando de tips, ejemplos y cosas sobre el lenguaje COBOL. Recordar: Existen tres tipos de variables en COBOL. Alfabéticas: PIC A Numéricas: PIC 9 Alfanuméricas: PIC X Uso de MOVE . Empleamos esta palabra reservada para "mover" valores/datos a una variable previamente definida. *> Variable 01 NUMERO PIC 9(3)V99 . *> Uso de MOVE MOVE 3 . 5 TO NUMERO. *> HORA NUMERO VALE 003.5 MOVE 0 . 32 TO NUMERO. *> HORA NUMERO VALE 000.32 Uso de PERFORM . Es similar al CALL de los archivos bat de Windows. Sirve para transferir el control del programa a un párrafo definido . En este ejemplo el párrafo es 'MiFuncion'. Existen formatos que podemos seguir, en este caso es el más simple. *> DESDE EL 'MAIN' DEL PROGRAMA PERFORM MiFuncion. *> Función MiFuncion. DISPLAY "ESTO ES UN MENSAJE" Ejemplo. Definir dos variables, la primera de tipo numérico (PIC 9). La segunda...

Spring Batch: Alternativas a Spring Batch

Un Job es una tarea, un proceso, un programa específico que cumple un objetivo. En Spring Batch cada Job contiene uno o más Steps, y cada Step contiene tres componentes: ItemReader, ItemProcessor y un ItemWriter . Sin embargo,   Spring Batch no es un programador de tareas, pero puede trabajar en conjunto con alguno como: Cron Control M Quartz sheduler Spring Sheduler Cron y Control M puden usar CommandLineJobRunner , mientras que Quartz y Spring Sheduler pueden iniciar el Job desde la aplicación programáticamente. Las alternativas más importantes a Spring Batch son: JSR-352: Batch Applications for the Java Platform Quartz Sheduler Quartz Sheduler Quartz es una biblioteca de programación de trabajos de código abierto con muchas funciones que se puede integrar en prácticamente cualquier aplicación Java, desde la aplicación independiente más pequeña hasta el sistema de comercio electrónico más grande. Se puede utilizar para crear programas simples o compl...

Spring Batch: Spring Cloud Data Flow

Spring Cloud Data Flow es un kit de herramientas nativo de la nube para construir canalizaciones de datos en tiempo real y procesos por lotes. Se encarga de administrar aplicaciones ETL (Extract-Transform-Load) de Spring Batch . Spring Cloud Data Flow proporciona herramientas para crear topologías complejas para transmisión y canalizaciones de datos por lotes. Características El servidor Spring Cloud Data Flow utiliza Spring Cloud Deployer , para implementar canalizaciones de datos hechas de aplicaciones Spring Cloud Stream o Spring Cloud Task en plataformas modernas como Cloud Foundry y Kubernetes . Una selección de aplicaciones preestablecidas de flujo y de inicio de tareas / lotes para diversos escenarios de integración y procesamiento de datos facilitan el aprendizaje y la experimentación. Se pueden crear aplicaciones de flujo y tareas personalizadas, dirigidas a diferentes servicios de datos o middleware, utilizando el conocido modelo de programación de estilo Spring...

Spring Batch: Un simple hola, mundo!!!

Spring Batch es una alternativa para el procesamiento por lotes y nos provee lo necesario para crear aplicaciones robustas. Existen diversas formas para lanzar un proceso batch: Desde la línea de comandos. Programando un Job. Desde un programa Java. Desde una aplicación Web. Para crear una aplicación Spring Batch es necesario tener este artifact: spring-boot-starter-batch Usando Maven: <! -- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-batch --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-batch</artifactId> < version > 2 . 1 . 8 .RELEASE</ version > </dependency> Usando Gradle: compile group : 'org.springframework.boot' , name: 'spring-boot-starter-batch' , version : '2.1.8.RELEASE' Nosotros emplearemos Maven. Nuestro pom.xml se verá de este modo: <?xml version = "1...

Spring Batch -Tablas

Spring Batch emplea una técnica llamada 'procesamiento chunk' para la ejecución de un proceso. El reader lee una porción de datos y los convierte en chunk (una entidad/objeto). Si existe un processor , ese chunk pasa al processor para que lo trate. Después el writer se encargará de guardar la información tratada. En el anterios post vimos los componentes principales del Batch Domain Language . El JobRepository se encargará de la persistencia de los datos (de alguna fuente como archivos TXT, CSV, BD, etc.). El JobLauncher lanzará procesos suministrando los parámetros de entrada deseados. El Job servirá de proceso, un contenedor de Steps . Cada Step es un elemento independiente dentro de un Job . Además cada Step se compone de tres elementos: ItemReader : responsable de leer los datos de una fuente. ItemProcessor : encargado de procesar la información. ItemWriter : encargado de guardar la información leída por el writer y procesada por el processor . Si hay...

Spring Batch

El procesamiento por lotes es un tema recurrente en el mundo de la informática y la programación. Lenguajes como COBOL fueron hechos específicamente para cubrir esos temas. Lenguajes como Java y Python le han pisado los talones por años aunque no siempre han obtenido el rendimiento deseado. Con Spring Framework, específicamente Spring Batch, se ha paliado esa desventaja con respecto a COBOL. La documentación oficial nos dice que Spring Batch es: Un marco de trabajo por lotes liviano e integral diseñado para permitir el desarrollo de aplicaciones por lotes sólidas vitales para las operaciones diarias de los sistemas empresariales. Spring Batch proporciona funciones reutilizables que son esenciales en el procesamiento de grandes volúmenes de registros, incluidos el registro / rastreo, la gestión de transacciones, las estadísticas de procesamiento de trabajos, el reinicio de trabajos, la omisión y la gestión de recursos. También proporciona servicios técnicos más avanzados y ca...