SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

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
Letticia 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 Azure
tdc-globalcode
 
Arquitetura Limpa em .NET Core
Arquitetura Limpa em .NET CoreArquitetura Limpa em .NET Core
Arquitetura Limpa em .NET Core
Gabriel Schade Cardoso
 
Machine Learning Black Boxes
Machine Learning Black BoxesMachine Learning Black Boxes
Machine Learning Black Boxes
Denis Wilson Souza Rosa
 
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 opensource
CDS
 
Boas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento ÁgilBoas práticas de desenvolvimento Ágil
Boas práticas de desenvolvimento Ágil
Sthanley Carlos De Lima Junior
 
Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014Refatorar é preciso. Palestra TDC 2014
Refatorar é preciso. Palestra TDC 2014
Daniel Archer Marques Cramer
 
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
tdc-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 real
Henrique 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 real
Willy 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 2011
Luí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ços
Samanta 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 MANUTENIBILIDADE
Alexsander 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.0
Caliel Costa
 
Introducao
IntroducaoIntroducao
WTM - Entrega Contínua
WTM - Entrega ContínuaWTM - Entrega Contínua
WTM - Entrega Contínua
Samanta Cicilia
 

Mais procurados (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
 

Destaque

Restful APIs com Spring 3
Restful APIs com Spring 3Restful APIs com Spring 3
Restful APIs com Spring 3
Alex Miranda
 
Refatorando o software corporativo
Refatorando o software corporativoRefatorando o software corporativo
Refatorando o software corporativo
Rafael Chaves
 
Cloudfier business pitch deck
Cloudfier business pitch deckCloudfier business pitch deck
Cloudfier business pitch deck
Rafael 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ão
Rafael Chaves
 
Code generation
Code generationCode generation
Code generation
Rafael 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ão
Rafael Chaves
 
11 Dogmas of model driven development
11 Dogmas of model driven development11 Dogmas of model driven development
11 Dogmas of model driven development
Rafael Chaves
 
AlphaSimple product pitch
AlphaSimple product pitchAlphaSimple product pitch
AlphaSimple product pitch
Rafael Chaves
 
MDD with Executable UML Models
MDD with Executable UML ModelsMDD with Executable UML Models
MDD with Executable UML Models
Rafael Chaves
 
TextUML Toolkit
TextUML ToolkitTextUML Toolkit
TextUML Toolkit
Rafael Chaves
 
Model Driven Prototyping
Model Driven PrototypingModel Driven Prototyping
Model Driven Prototyping
Rafael Chaves
 

Destaque (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
 

Semelhante a TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos

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
Rafael 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 appium
Maximiliano Alves
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
munosai
 
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
Norberto 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 trilhos
Felipe Gadelha Ruoso
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
Marcio 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 Duro
tdc-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
 
Aula 1a.ppt
Aula 1a.pptAula 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
Tiago 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
 
Fundamentos Java - 01
Fundamentos Java - 01Fundamentos Java - 01
Fundamentos Java - 01
Daniel Gustavo Bernardo
 
Apresentacao dev ops
Apresentacao dev opsApresentacao dev ops
Apresentacao dev ops
Carlos Wagner Costa
 
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
Rodrigo 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 escala
Cleber Dantas
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013
André Borgonovo
 
Visao geraldorup 20slides
Visao geraldorup 20slidesVisao geraldorup 20slides
Visao geraldorup 20slides
horaciosila
 
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
Lorival 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 Ferramentas
Wagner 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 2014
Giovanni Bassi
 

Semelhante a TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos (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
 

TDC SP 2016 - Construindo um microserviço Java 100% funcional em 30 minutos