SlideShare una empresa de Scribd logo
1 de 21
Criando módulos em Java
dividir é multiplicar?
Módulo?
Módulo
Library
Framework
Módulo?
Quando criar um módulo?
GERIR
Vale a pena?
● Vale a pena separar do código original?
● Vai custar muito? (+tempo, + dinheiro, + fácil)
● Vai ajudar a equipe/comunidade (-tempo, -
dinheiro, + fácil)
● Gerir (configuração) será simples?
Problema
Jersey
Got it!
Exemplo Jersey
Exemplo Jersey
Seu código depende disto!
Exemplo Jersey
Você retorna um stream. Isto é, o controller será responsável por renderizar a saída
(responsabilidade da view)
Exemplo Jersey
Qual template é usado? É usado Template? (aplicar um template é responsabilidade da View)
Exemplo Jersey
O método renderiza, faz a ligação com a view/model, trata exceções de renderização?
Exemplo Jersey
Novatos deverão saber o que é renderizar PDF, Jersey (@GET) como funciona o sistema de
template, como tratar exceções, etc...
Solução
Templates do Jersey
Como começar?
Maven!
Como começar?
Maven!
Usando
JasperModel
Lista de elementos
Mapa de propriedades
E depois
Implemente!
Dados de Entrada
Preenche o template
Renderiza o PDF
E depois
UsandoUsando
Dúvidas?

Más contenido relacionado

Similar a Criando módulos em java

Similar a Criando módulos em java (14)

PHPZEIRO: Adote um framework
PHPZEIRO: Adote um frameworkPHPZEIRO: Adote um framework
PHPZEIRO: Adote um framework
 
Boas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de softwareBoas práticas no desenvolvimento de software
Boas práticas no desenvolvimento de software
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
Cs 2
Cs 2Cs 2
Cs 2
 
Django - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com PythonDjango - Desenvolvimento web ágil com Python
Django - Desenvolvimento web ágil com Python
 
POO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdfPOO2-Pre-32-PadroesProjetos_.pdf
POO2-Pre-32-PadroesProjetos_.pdf
 
Java Primeiros Passos - Cap 7
Java Primeiros Passos - Cap 7Java Primeiros Passos - Cap 7
Java Primeiros Passos - Cap 7
 
DDD – Domain Driven Design
DDD – Domain Driven DesignDDD – Domain Driven Design
DDD – Domain Driven Design
 
Java - Introdução a banco de dados
Java - Introdução a banco de dadosJava - Introdução a banco de dados
Java - Introdução a banco de dados
 
Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0Minicurso de Lógica e Linguagem Java 6.0
Minicurso de Lógica e Linguagem Java 6.0
 
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ..."Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
 
Boas Práticas de programação WordPress
Boas Práticas de programação WordPressBoas Práticas de programação WordPress
Boas Práticas de programação WordPress
 
Java aula 2
Java aula 2Java aula 2
Java aula 2
 
Melhorias na interface do Management Studio
Melhorias na interface do Management StudioMelhorias na interface do Management Studio
Melhorias na interface do Management Studio
 

Criando módulos em java

Notas del editor

  1. Módulo: um conjunto de código único que pode ser reusado Biblioteca: Módulo que realiza tarefa(s) e oferece uma interface para uso. Normalmente precisa de uma aplicação hospedeira para executar. Framework: Uma biblioteca especializada em determinado domínio de aplicação, capaz de executar independentemente que permite ser customizado por plugins
  2. Quando é mais vantajoso gerí-lo independente da aplicação que o usa Ele não deve mudar com a aplicação? Ele será usado por outros? Não será muito difícil geri lo? Você tem tempo para isto?
  3. Problema: Como gerar PDF a partir de uma aplicação WEB
  4. https://jersey.java.net/documentation/latest/mvc.html Veja que só com o @Template o Jersey é a capaz de detectar qual o formato de saíde (‘ooo’) e selecionar o renderizador adequado
  5. https://github.com/marcosvpcortes/jersey-mvc-jasper/blob/master/pom.xml
  6. https://github.com/marcosvpcortes/jersey-mvc-jasper/blob/master/pom.xml
  7. O Jasper para renderizar um pdf usa duas informações: Uma é a lista de elementos, constituída por elementos do mesmo tipo que serão renderizados em uma parte do pdf que repete para cada um deles; Outra é o mapa de propriedades, contituído por chave=>valor, que pode ser resgatado pelo jasper e renderizado em qualquer ponto do PDF. Por isto a entrada de um arquivo jasper não pode ser um elemento qualquer, como numa saída normal do jersey
  8. O exemplo foi muito simplificado, pois não é foco da apresentação explicar a library, mas sim qual seu impacto no desenvolvimento de software