JSR 352 - Processamento Batch na Plataforma Java - JustJava 2013

1,397 views
1,241 views

Published on

Apresentação feita no JustJava 2013 sobre a especificação resultante da JSR 352, que padroniza mecanismos para o desenvolvimento de processos batch dentro da plataforma Java. Esta especificação faz parte do Java EE 7 e foi acompanhada pelo palestrante dentro do programa de Adopt a JSR.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,397
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JSR 352 - Processamento Batch na Plataforma Java - JustJava 2013

  1. 1. JSR 352 - Processamento Batch na Plataforma JavaDanival T. Calegari
  2. 2. Danival Taffarel Calegari● Mestre em Ciência da Computação pela Unicamp● Atua a mais de 10 anos em desenvolvimento de aplicaçõesJava EE● Vários projetos com batch (billing para telecom e elétrica, aplicaçõespara mercado financeiro).● Líder técnico na MATERA Systems● Instrutor da Globalcode a mais de 8 anos● Palestras em vários eventos: JavaOne, JustJava, TDC● Certificações: SCJP, SCWCD, SCBCD
  3. 3. Agenda● Motivação da JSR 352● Conceitos● Características da especificação● Jobs e Steps● Chunck● Batchlet● Referências
  4. 4. Motivação da JSR● Processamento em batch é muito comum em aplicações.● Várias soluções “personalizadas”.● Produtos começaram a surgir● Spring Batch● WebSphere Compute Grid● Objetivo● Permitir a implementação de aplicações em batch usando um modelo deprogramação padronizado● Participantes
  5. 5. Conceitos● Processamento em batch é definido por uma execuçãoorientada a massa de dados não interativa que executa embackground.● Requisitos comuns● Logging● Estabelecimento de checkpoints● Paralelização● Controle de operações
  6. 6. Conceitoshttp://static.springsource.org/spring-batch/reference/html/JSR 352
  7. 7. Conceitoshttp://static.springsource.org/spring-batch/reference/html/
  8. 8. Conceitoshttp://static.springsource.org/spring-batch/reference/html/
  9. 9. Conceitoshttp://static.springsource.org/spring-batch/reference/html/
  10. 10. Características da Especificação● Java SE e Java EE● Configuração orientada a XML● Interfaces e classes abstratas para estabelecimento decontratos● Possui suporte próprio para injeção de dependências● Parâmetros, contextos● O mecanismo fica a cargo da implementação da especificação● Comunicação entre os elementos através de contextos● JobContext● StepContext● Configurações do mecanismo por XML● META-INF/batch.xml
  11. 11. Jobs e Steps● A configuração dos Jobs é feita em arquivos XML● META-INF/batch-jobs● WEB-INF/classes/META-INF/batch-jobs● JSL – Job Specification Language<job id="myJob" version="1.0" xmlns="http://xmlns.jcp.org/xml/ns/javaee"><step id="myStep" ><!-- chunck / batchlet --></step></job>
  12. 12. Chunck● Processamento de um bloco de dados● Periodicamente é feito um checkpoint dos dados processados● Cada chunck é processado em uma transação separada● É feita uma única chamada ao ItemWriter por chunck● Permite reinínio a partir do último checkpoint em caso de falhas.<job id="myJob" version="1.0"xmlns="http://xmlns.jcp.org/xml/ns/javaee"><step id="myStep" ><chunk item-count="3"><reader ref="myItemReader"></reader><processor ref="myItemProcessor"></processor><writer ref="myItemWriter"></writer></chunk></step></job>
  13. 13. Chunck● Classes e interfaces envolvidas● ItemReader● AbstractItemReader● ItemWriter● AbstractItemWriter● ItemProcessor● Outras configurações● Mecanismo de checkpoint● Particionamento de processamento● Tratamento de exceções
  14. 14. Batchlet● Processamento orientado a tarefa● É executado apenas uma vez pela tarefa● Permite maior liberdade na forma como vai ser implementado● javax.batch.api.Batchlet<job id="myJob" version="1.0" xmlns="http://xmlns.jcp.org/xml/ns/javaee"><step id="myStep" ><batchlet ref="myBatchlet"/></step></job>
  15. 15. Referências● https://java.net/projects/jbatch● http://static.springsource.org/spring-batch/reference/html● http://www.infoq.com/presentations/JSR-352-Java-Batch
  16. 16. Obrigado!@danivaltcdanivaltc@gmail.com

×