SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
Globalcode – Open4education
Construindo um microserviço
JavaEE 100% funcional em 30
minutos
Rafael Chaves
rafael@abstratt.com - @abstratt
Globalcode – Open4education
Palestrante
Formação: bacharel (2000) e mestre (2004) em Computação pela UFSC
Passado:
• OTI/IBM Canada: Eclipse (2002-2005), Jazz/Team Concert (2005-2006)
• Genologics: Desenvolvedor Senior/Arquiteto (2008-2012)
Recente:
• Desenvolvendo Cloudfier (2012-)
• EasyAlpha: serviço de desenvolvimento expresso de MVPs (2016-)
Globalcode – Open4education
Objetivo
Construir um back-end / micro-serviço / “self-contained-system”
simples com JavaEE
• API REST usando JAX-RS
• Persistência em BD relacional usando JPA
• Lógica de negócios em Java/JPA
• Testes em JUnit
• Bônus: GUI “admin” em Angular
Globalcode – Open4education
Arquitetura-alvo
Globalcode – Open4education
A aplicação exemplo:
Tarefas do time
1. Tarefas e Colaboradores✔
2. Colaboradores podem completar tarefas✔
3. Colaboradores podem repassar tarefas✔
4. Detalhes (opcionais) na tarefa
5. Permitir reabrir tarefa
6. Apenas colaborador pode completar tarefa
Globalcode – Open4education
DEMO 1
Aplicação exemplo
Globalcode – Open4education
Como?
Usando uma linguagem de mais alto nível que Java (ou Ruby,
Python, Scala, Javascript...)
Separando solucão conceitual e arquitetura
Sem escrever nenhuma linha de código Java (ou JavaScript) “no
braço”
Implementação JavaEE 100% obtida via tradução automática
Globalcode – Open4education
Por quê?
Abstração mais alta ⇒ melhor compreensão do negócio do
cliente
Separação negócio/tecnologia ⇒ reuso, especialização
Automação ⇒ produtividade, custo, qualidade
100% geração ⇒ impacto permanente no desenvolvimento
Globalcode – Open4education
Completando a aplicação exemplo
1. Tarefas e Colaboradores✔
2. Colaboradores podem completar tarefas✔
3. Colaboradores podem repassar tarefas✔
4. Detalhes (opcionais) na tarefa
5. Permitir reabrir tarefa
6. Apenas colaborador pode completar tarefa
Globalcode – Open4education
Tempo de desenvolvimento vs.
tempo de implantação
• Nem sempre podemos escolher a plataforma de
implementação
• Mas deveríamos ter liberdade sobre a linguagem usada em
tempo de desenvolvimento
• A melhor plataforma de implementação hoje não será a
mesma em um ano
Globalcode – Open4education
Em busca de uma linguagem
para aplicações de negócios
Que forneça mecanismos que permitam modelar o domínio do
problema de forma mais natural
Que permita criar soluções independentes de arquitetura
Que ofereça boa usabilidade para programadores
Globalcode – Open4education
Que linguagem suporta...
• Classes, atributos, operações?
• Comportamento imperativo?
• Eventos, comunicação por mensagens?
• Relacionamentos?
• Atributos derivados?
• Restrições: pré-condições, invariantes?
• Máquinas de estado?
Globalcode – Open4education
Java?
Globalcode – Open4education
Java
• Classes, atributos, operações? ✔
• Comportamento imperativo? ✔
• Eventos, comunicação por mensagens? ✘
• Relacionamentos? ✘
• Atributos derivados? ✘
• Restrições: pré-condições, invariantes? ✘
• Máquinas de estado? ✘
Globalcode – Open4education
Python?
Globalcode – Open4education
Ruby?
Globalcode – Open4education
Scala?
Globalcode – Open4education
C#?
Globalcode – Open4education
UML!
Globalcode – Open4education
UML?!
“Mas UML não é aquela linguagem gráfica que o analista de
negócios e a arquiteta vivem insistindo para que a gente use
mas que eu sei que é uma grande perda de tempo?!”
- um Programador Pragmático
Globalcode – Open4education
UML
• Classes, atributos, operações ✔
• Comportamento imperativo ✔
• Eventos, comunicação por mensagens ✔
• Relacionamentos ✔
• Atributos derivados ✔
• Restrições: pré-condições, invariantes ✔
• Máquinas de estado ✔
Globalcode – Open4education
UML: uma linguagem superior para
aplicações de negócios?
Que forneça mecanismos que permitam modelar o domínio do
problema de forma mais natural ✔
Que permita criar soluções independentes de arquitetura ✔
Que ofereça boa usabilidade para programadores ✘
Diagramas são insuficientes para especificar comportamento
Globalcode – Open4education
Para “visão geral”
Texto < Diagramas
Globalcode – Open4education
Para detalhes
Texto > Diagramas
Globalcode – Open4education
Para programadores
Texto > Diagramas
Globalcode – Open4education
UML e múltiplas notações
Sintaxe abstrata
Semântica
Sintaxe
concreta A
Sintaxe
concreta B
Sintaxe
concreta C
Sintaxe
concreta Z
...
Globalcode – Open4education
TextUML: sintaxe UML para
programadores
Por que textual? Texto é a melhor notação para modelar
comportamento (ok para outras áreas)
Mesmo nível de abstração que a notação gráfica (mesma
semântica/sintaxe abstrata)
Apenas elementos úteis para construção de software (classes,
máquinas de estado, atividades)
Globalcode – Open4education
Geração de código JavaEE
Globalcode – Open4education
Gerando a aplicação: entidades
• Entidade -> entidade JPA (elementos de instância)
• Entidade -> serviço JPA (CRUD e elementos de classe)
• Entidade -> resource JAX-RS
• Entidade -> serializador entidade JPA como Map/JSON
Globalcode – Open4education
Atributos
Globalcode – Open4education
Atributos em entidades JPA
Globalcode – Open4education
Relacionamentos
Globalcode – Open4education
Relacionamentos em entidades JPA
Globalcode – Open4education
Ações
Globalcode – Open4education
Ações em entidades JPA
Globalcode – Open4education
Ações em resources JAX-RS
Globalcode – Open4education
Consultas
Globalcode – Open4education
Consultas em serviços JPA
Globalcode – Open4education
Consultas em resources JAX-RS
Globalcode – Open4education
Consultas em resources JAX-RS
Globalcode – Open4education
Máquinas de estado
Globalcode – Open4education
Máquinas de estado
Globalcode – Open4education
Máquinas de estado em entidade JPA
Globalcode – Open4education
Permissões
Globalcode – Open4education
Permissões em entidade JPA
Globalcode – Open4education
Permissões em resource JAX-RS
Globalcode – Open4education
Casos de teste
Globalcode – Open4education
Casos de teste em JUnit
Globalcode – Open4education
Bônus: documentação para analistas de negócio
Globalcode – Open4education
Bônus: documentação para analistas de negócio
Globalcode – Open4education
Cloudfier
• Ambiente de modelagem (Text)UML na web
• Prototipação, testes, geração de código
http://github.com/abstratt/cloudfier
http://cloudfier.com
Globalcode – Open4education
Xtend
• Linguagem para JVM
• Excelente para implementar geradores de código
https://www.eclipse.org/xtend/
Globalcode – Open4education
kirra-angular
• Biblioteca Javascript standalone
• GUI dinâmica para APIs REST
http://github.com/abstratt/kirra-angular
Globalcode – Open4education
Construindo um microserviço
JavaEE 100% funcional em 30
minutos
Rafael Chaves
rafael@abstratt.com - @abstratt

Más contenido relacionado

La actualidad más candente

Conheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live ShareConheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live ShareLetticia Nicoli
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azuretdc-globalcode
 
O Software Livre e o Mercado de Trabalho: Certificações Profissionais - Vande...
O Software Livre e o Mercado de Trabalho: Certificações Profissionais - Vande...O Software Livre e o Mercado de Trabalho: Certificações Profissionais - Vande...
O Software Livre e o Mercado de Trabalho: Certificações Profissionais - Vande...Tchelinux
 
Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Paulo Cesar Ortins Brito
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensourceCDS
 
TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC2016POA | Trilha .NET - .NET Entity Core 1.0TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC2016POA | Trilha .NET - .NET Entity Core 1.0tdc-globalcode
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realHenrique Schmidt
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo realWilly Salazar
 
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...Vinicius Campos Silva
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Luís Cobucci
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosSamanta Cicilia
 
Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.Vinta Software
 
REFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADE
REFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADEREFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADE
REFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADEAlexsander Camargo
 
Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Caliel Costa
 

La actualidad más candente (20)

Conheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live ShareConheça Visual Studio IntelliCode e Visual Studio Live Share
Conheça Visual Studio IntelliCode e Visual Studio Live Share
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Arquitetura Limpa em .NET Core
Arquitetura Limpa em .NET CoreArquitetura Limpa em .NET Core
Arquitetura Limpa em .NET Core
 
Machine Learning Black Boxes
Machine Learning Black BoxesMachine Learning Black Boxes
Machine Learning Black Boxes
 
O Software Livre e o Mercado de Trabalho: Certificações Profissionais - Vande...
O Software Livre e o Mercado de Trabalho: Certificações Profissionais - Vande...O Software Livre e o Mercado de Trabalho: Certificações Profissionais - Vande...
O Software Livre e o Mercado de Trabalho: Certificações Profissionais - Vande...
 
Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#
 
Microsoft opensource
Microsoft opensourceMicrosoft opensource
Microsoft opensource
 
Boas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento ÁgilBoas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento Ágil
 
Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014
 
TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC2016POA | Trilha .NET - .NET Entity Core 1.0TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC2016POA | Trilha .NET - .NET Entity Core 1.0
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo real
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo real
 
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
[TDCPOA2018] Desmistificando a eXtreme Programming para desenvolvedores "não ...
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a ServiçosContinuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
Continuous Delivery & APIs - Evoluindo uma Arquitetura Orientada a Serviços
 
Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.Conheça como a Vinta trabalha.
Conheça como a Vinta trabalha.
 
REFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADE
REFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADEREFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADE
REFATORAÇÃO DE CÓDIGO LEGADO: DETALHAMENTO DE UMA ESTRUTURA DE MANUTENIBILIDADE
 
Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0Entity Framework 7.0 a.k.a Entity Core 1.0
Entity Framework 7.0 a.k.a Entity Core 1.0
 
Introducao
IntroducaoIntroducao
Introducao
 
WTM - Entrega Contínua
WTM - Entrega ContínuaWTM - Entrega Contínua
WTM - Entrega Contínua
 

Destacado

Restful APIs com Spring 3
Restful APIs com Spring 3Restful APIs com Spring 3
Restful APIs com Spring 3Alex Miranda
 
Refatorando o software corporativo
Refatorando o software corporativoRefatorando o software corporativo
Refatorando o software corporativoRafael Chaves
 
Cloudfier business pitch deck
Cloudfier business pitch deckCloudfier business pitch deck
Cloudfier business pitch deckRafael Chaves
 
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...Rafael Chaves
 
Modernização de Sistemas de Gestão
Modernização de Sistemas de GestãoModernização de Sistemas de Gestão
Modernização de Sistemas de GestãoRafael Chaves
 
Separando arquitetura e negócios em sistemas de gestão
Separando arquitetura e negócios em sistemas de gestãoSeparando arquitetura e negócios em sistemas de gestão
Separando arquitetura e negócios em sistemas de gestãoRafael Chaves
 
11 Dogmas of model driven development
11 Dogmas of model driven development11 Dogmas of model driven development
11 Dogmas of model driven developmentRafael Chaves
 
AlphaSimple product pitch
AlphaSimple product pitchAlphaSimple product pitch
AlphaSimple product pitchRafael Chaves
 
MDD with Executable UML Models
MDD with Executable UML ModelsMDD with Executable UML Models
MDD with Executable UML ModelsRafael Chaves
 
Model Driven Prototyping
Model Driven PrototypingModel Driven Prototyping
Model Driven PrototypingRafael Chaves
 

Destacado (12)

Restful APIs com Spring 3
Restful APIs com Spring 3Restful APIs com Spring 3
Restful APIs com Spring 3
 
Refatorando o software corporativo
Refatorando o software corporativoRefatorando o software corporativo
Refatorando o software corporativo
 
Cloudfier business pitch deck
Cloudfier business pitch deckCloudfier business pitch deck
Cloudfier business pitch deck
 
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
 
Modernização de Sistemas de Gestão
Modernização de Sistemas de GestãoModernização de Sistemas de Gestão
Modernização de Sistemas de Gestão
 
Code generation
Code generationCode generation
Code generation
 
Separando arquitetura e negócios em sistemas de gestão
Separando arquitetura e negócios em sistemas de gestãoSeparando arquitetura e negócios em sistemas de gestão
Separando arquitetura e negócios em sistemas de gestão
 
11 Dogmas of model driven development
11 Dogmas of model driven development11 Dogmas of model driven development
11 Dogmas of model driven development
 
AlphaSimple product pitch
AlphaSimple product pitchAlphaSimple product pitch
AlphaSimple product pitch
 
MDD with Executable UML Models
MDD with Executable UML ModelsMDD with Executable UML Models
MDD with Executable UML Models
 
TextUML Toolkit
TextUML ToolkitTextUML Toolkit
TextUML Toolkit
 
Model Driven Prototyping
Model Driven PrototypingModel Driven Prototyping
Model Driven Prototyping
 

Similar a Microserviço JavaEE em 30min

Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosRafael Chaves
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumMaximiliano Alves
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosFelipe Gadelha Ruoso
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos JavaMarcio Marinho
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Durotdc-globalcode
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoÉberli Cabistani Riella
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwareTiago Barros
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#tdc-globalcode
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesRodrigo Cândido da Silva
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaCleber Dantas
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013André Borgonovo
 
Visao geraldorup 20slides
Visao geraldorup 20slidesVisao geraldorup 20slides
Visao geraldorup 20slideshoraciosila
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoLorival Smolski Chapuis
 
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e FerramentasWagner Roberto dos Santos
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014Giovanni Bassi
 

Similar a Microserviço JavaEE em 30min (20)

Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutos
 
Cross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appiumCross testing mobile com ruby, cucumber e appium
Cross testing mobile com ruby, cucumber e appium
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
RubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhosRubyConf 17 - Colocando sua aplicação vue nos trilhos
RubyConf 17 - Colocando sua aplicação vue nos trilhos
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho DuroTDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
TDC2016SP - Machine Learning Black Boxes - Terceirizando o Trabalho Duro
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
 
Aula 1a.ppt
Aula 1a.pptAula 1a.ppt
Aula 1a.ppt
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de Software
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
Fundamentos Java - 01
Fundamentos Java - 01Fundamentos Java - 01
Fundamentos Java - 01
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013
 
Visao geraldorup 20slides
Visao geraldorup 20slidesVisao geraldorup 20slides
Visao geraldorup 20slides
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
 
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
 
ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014ASP.NET vNext no .NET Architects Days 2014
ASP.NET vNext no .NET Architects Days 2014
 

Microserviço JavaEE em 30min