SlideShare uma empresa Scribd logo
JBoss Developer Framework
   Java EE 6 feito do modo certo !


              Rafael Benevides
   Senior Software Engineer – JBoss by Red Hat
              benevides@redhat.com
                Twitter: @rafabene

                                             Globalcode – Open4education
Quem sou eu?
 Goiano com orgulho!
 JBoss Software Engineer
 JDF Core Developer
  Apaixonado por OSS
  Fã de Android
  Fã de Agile
  Obcecado por arquitetura e
 produtividade



                               Globalcode – Open4education
#What #hashtags ?
               #TDC2012

               #JBOSS

               #JDF

                      Globalcode – Open4education
Agenda
 Introdução
 O que é O JDF
 Quickstarts
 JBoss Stacks
 Ticket Monster (use case)
 Contribua / WFK
 Perguntas


                             Globalcode – Open4education
Introdução: Java EE 6
(O apogeu)
A era dos frameworks acabaram
Começa a era das extensões (OCP)
Especificações: 10 atualizadas e 5 novas: Total de 28

      Atualizaçoes:             Novidades:
      EJB 3.1                   DI 1.0
      JPA 2.0                   CDI 1.0
      Interceptos 1.1           Bean Validation 1.0
      Connector 1.1             Managed Beans 1.0
      JAX-WS 2.2                JAX-RS 1.1
      Enterprise Web Services
      Servlet 3.0
      JSP 2.2
      EL 2.2
      Annotations 1.1
                                                 Globalcode – Open4education
Introdução: Como
tudo começou
   Java EE 5 (JSF / EJB / JPA – ciclo de vida independentes)
   Seam 2.x (Facelets / SMPC / Bijeção)




Printscreen de uma
apresentação do Seam
                                                Globalcode – Open4education
Introdução:
Especificação CDI
 O que o CDI fornece:
 Contextos bem definidos
 Injeção de dependências “type-safe”
 Interação via notificação de eventos
 Unificação do conceito de “Beans”
 Integração via EL unificada (nomes dos Beans)
 SPI para criar extensões para a plataforma Java EE
    Arquitetura Java EE -> Flexível, portável, extensível




                                               Globalcode – Open4education
Introdução:
Especificação CDI
 O que o CDI fornece:
 Contextos
 Injeção   dependências
             notificação de eventos



                         para a plataforma Java EE




                                          Globalcode – Open4education
Introdução: Extensões /
Deltaspike
 Deltaspike fecha as lacunas do Java EE 6

                   “Nós acreditamos que a
                    comunidade pode criar
                     excelentes extensões
                       CDI e facilmente
                       compartilha-las”


 http://incubator.apache.org/deltaspike/
                                      Globalcode – Open4education
Desenv. Java EE hoje
 Inconsistências
   Dialeto: A linguagem é Java, mas cada uma programa
   de um jeito
 Integração
   O problema de alto acoplamento ainda existe apesar de
   anos lutando esta “guerra”
 Fragmentação
   Diversos Frameworks




                                          Globalcode – Open4education
Desenvolvedor
    JEE




   Globalcode – Open4education
Resolvendo Integração
 CDI
   Forte tipificação
   Baixo acoplamento
     @Interceptor
     @Decorator
     @Observer




                        Globalcode – Open4education
Resolvendo
inconsistências
 É necessário:
   Experiência, exemplos
   Uma comunidade centralizada para
   compartilhar conhecimento




                                 Globalcode – Open4education
Fragmentação




               Globalcode – Open4education
O que é o JDF ?
 JBoss Developer Framework mostra como
 escrever aplicações usando tecnologias JBoss
   Sabor de Java EE 6 (CDI Everywhere)
   Consistente
   Integrado
   Quickstarts criados pelos times JBoss (richfaces,
   aerogear, picketlink, hibernate)
     Como lidar com diferentes produtos dentro do JAVA EE 6
   Foco em boas práticas e divulgação de conhecimento



                                                 Globalcode – Open4education
Quickstarts
 54 Quickstarts, focados em um único caso de uso
 ou API
 64 Quickstarts para o JDF 2.0 (foco em Mobile)




                                     Globalcode – Open4education
Ticket Monster

 Show case JDF
 Pronto para mobile
 Pronto para Cloud
 Aprenda
 Customize
 Fork no github: https://github.com/jboss-jdf/ticket-monster
 Cloud: http://ticketmonster-jdf.rhcloud.com/

                                                    Globalcode – Open4education
Globalcode – Open4education
JBoss Stacks
 BOMs
   Java EE com GWT
   Java EE 6 com Richfaces
   Java EE 6 com Segurança
   Java EE 6 com Infinispan

 Archetypes
   Webapp
   EAR
   Richfaces

 Runtimes
   JBoss AS
   EDG
   BRMS

                              Globalcode – Open4education
JBoss Stacks
 Em mais 1 ou 2 semanas:
   JDF 2.0.0.Final
   Web page
   Forge Plugin (jdf use-stack –runtime –bom ...)
   JBoss Tools 4 (download runtime, new project, etc)
   Stacks Client (use você mesmo)




                                            Globalcode – Open4education
Roadmap
JDF 2.0
  Outubro de 2012
  Mobile Hibrido
JDF 2.1
  Janeiro 2013 (tentativa)
  Segurança (Picketlink)
  Deltaspike




                             Globalcode – Open4education
É suportado ?




                Globalcode – Open4education
Contribua
 Website: http://www.jboss.org/jdf/
 Github: https://github.com/jboss-jdf
 IRC: #jboss-jdf / irc.freenode.net




                     Perguntas ?

                                        Globalcode – Open4education

Mais conteúdo relacionado

PDF
Java 9 – Produtividade, Performance e Competitividade, mais do que uma nova v...
PDF
Spring Roo
PDF
Introducao Spring ROO
PDF
REST com JSF 2 e HTML 5
PDF
Criando microsserviços em PHP
PDF
O que esperar do framework Laminas
PDF
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
PDF
Implementando aplicativos Web com JSF
Java 9 – Produtividade, Performance e Competitividade, mais do que uma nova v...
Spring Roo
Introducao Spring ROO
REST com JSF 2 e HTML 5
Criando microsserviços em PHP
O que esperar do framework Laminas
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Implementando aplicativos Web com JSF

Mais procurados (20)

PDF
Código limpo php
PDF
Desenvolvimento RIA com GWT e Spring
PPT
Open closed principle - SOLID
PPT
Django: Uso de frameworks ágeis para desenvolvimento web
PPTX
Criação de vídeos nas redes educativas
PPTX
Criação de vídeos nas redes educativas
ODP
Segurança em aplicações php
PDF
Java não é tão difícil quanto parece
PDF
#1 - Git - Introdução
PDF
Jenkins
PDF
MVC com Zend Framework
PDF
Contribuindo e criando software livre
PDF
JSF 2 - Java "Super" Faces
PPT
Motores de jogos
PDF
Jenkins - livre-se da parte chata do Java
PDF
Introdução ao LiveOak
ODP
Desenvolvimento web simples com Python e DJango
PDF
Conectando jBPM com o mundo - TDC 2014 SP
PPTX
Dev ops integração contínua com jenkins
PDF
JavaFX: A nova biblioteca gráfica da plataforma Java
Código limpo php
Desenvolvimento RIA com GWT e Spring
Open closed principle - SOLID
Django: Uso de frameworks ágeis para desenvolvimento web
Criação de vídeos nas redes educativas
Criação de vídeos nas redes educativas
Segurança em aplicações php
Java não é tão difícil quanto parece
#1 - Git - Introdução
Jenkins
MVC com Zend Framework
Contribuindo e criando software livre
JSF 2 - Java "Super" Faces
Motores de jogos
Jenkins - livre-se da parte chata do Java
Introdução ao LiveOak
Desenvolvimento web simples com Python e DJango
Conectando jBPM com o mundo - TDC 2014 SP
Dev ops integração contínua com jenkins
JavaFX: A nova biblioteca gráfica da plataforma Java
Anúncio

Destaque (19)

PDF
Apostilava Java EE 5 - 2007
PDF
TDC2016POA | Trilha Ruby - 5 Boas práticas para se aplicar em Testes de Aceit...
PDF
Reunião SouJava BSB - 2005 - Java a favor do consumidor brasileiro
PDF
Docker for (Java) Developers
PPTX
Cloud - The Backbone of IoT
ODP
TDC 2014 SP - E o DeltaSpike ?
PDF
CDI Extensions e DeltaSpike
PDF
Using OpenContrail with Kubernetes
PDF
JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...
PDF
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
PDF
TDC2016POA | Trilha Empreendedorismo - Faça mais, reclame menos.
PDF
Microservices with Kubernetes, Docker, and Jenkins
PPTX
Application Deployment and Management at Scale at 1&1
PPTX
ElasticKube, a Container Management Platform for Kubernetes
PPTX
2016 - Continuously Delivering Microservices in Kubernetes using Jenkins
PDF
TDC2016POA | Trilha Empreendedorismo - Mulheres Empreendedoras: Porque a Igua...
PPTX
DevOps with Kubernetes
PDF
Continuous Deployment with Jenkins on Kubernetes
PDF
Running Production-Grade Kubernetes on AWS
Apostilava Java EE 5 - 2007
TDC2016POA | Trilha Ruby - 5 Boas práticas para se aplicar em Testes de Aceit...
Reunião SouJava BSB - 2005 - Java a favor do consumidor brasileiro
Docker for (Java) Developers
Cloud - The Backbone of IoT
TDC 2014 SP - E o DeltaSpike ?
CDI Extensions e DeltaSpike
Using OpenContrail with Kubernetes
JavaOne 2016: The Deploy Master: From Basic to Zero Downtime, Blue/Green, A/B...
TDC2016POA | Trilha Ruby - Testes de contrato em um contexto de services e mi...
TDC2016POA | Trilha Empreendedorismo - Faça mais, reclame menos.
Microservices with Kubernetes, Docker, and Jenkins
Application Deployment and Management at Scale at 1&1
ElasticKube, a Container Management Platform for Kubernetes
2016 - Continuously Delivering Microservices in Kubernetes using Jenkins
TDC2016POA | Trilha Empreendedorismo - Mulheres Empreendedoras: Porque a Igua...
DevOps with Kubernetes
Continuous Deployment with Jenkins on Kubernetes
Running Production-Grade Kubernetes on AWS
Anúncio

Semelhante a TDC 2012 - JDF (20)

PDF
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
PPT
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
ODP
JBoss Forge TDC - 2012 Florianópolis
PDF
JSF 2 Components JustJava2011
PDF
TDC2010 - Turbinando sua Aplicação com CDI
PDF
JSF 2.0: Uma Evolução nas Interfaces Web com Java
PDF
Richfaces 4 - Desenvolvimento JSF mais rico
PPTX
WildFly Avançado - TDC Floripa 2015
PPT
Guia para o Profissional Java
PDF
Introdução a Plataforma Java EE
PDF
WildFly Swarm: Criando Microservices com Java EE 7
PDF
Criando uma Aplicação Web com Spring Roo em 5 minutos!
PDF
Arquiteturas Java EE no Google App Engine
ODP
Netbeans Slides Fy2009 Portugues
PPTX
ASP.NET vNext no .NET Architects Days 2014
PDF
JSF 2.0 e ScrumToys
PPTX
TDC2016POA | Trilha .NET - .NET Entity Core 1.0
PDF
TDC Floripa - Trilha iOS - Debate sobre o futuro da plataforma
PDF
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
PDF
MC - Java Enterprise Edition 6 (Java EE)
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
JBoss Forge TDC - 2012 Florianópolis
JSF 2 Components JustJava2011
TDC2010 - Turbinando sua Aplicação com CDI
JSF 2.0: Uma Evolução nas Interfaces Web com Java
Richfaces 4 - Desenvolvimento JSF mais rico
WildFly Avançado - TDC Floripa 2015
Guia para o Profissional Java
Introdução a Plataforma Java EE
WildFly Swarm: Criando Microservices com Java EE 7
Criando uma Aplicação Web com Spring Roo em 5 minutos!
Arquiteturas Java EE no Google App Engine
Netbeans Slides Fy2009 Portugues
ASP.NET vNext no .NET Architects Days 2014
JSF 2.0 e ScrumToys
TDC2016POA | Trilha .NET - .NET Entity Core 1.0
TDC Floripa - Trilha iOS - Debate sobre o futuro da plataforma
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
MC - Java Enterprise Edition 6 (Java EE)

Último (20)

PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PPTX
Aula sobre desenvolvimento de aplicativos
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PPTX
Émile Durkheim slide elaborado muito bom
PPTX
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Aula sobre desenvolvimento de aplicativos
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Aula 18 - Manipulacao De Arquivos python
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Apple Pippin Uma breve introdução. - David Glotz
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Processos na gestão de transportes, TM100 Col18
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Curso de Java 9 - (Threads) Multitarefas.pptx
Émile Durkheim slide elaborado muito bom
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e liquidação no SAP Transportation Management, TM130 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx

TDC 2012 - JDF

  • 1. JBoss Developer Framework Java EE 6 feito do modo certo ! Rafael Benevides Senior Software Engineer – JBoss by Red Hat benevides@redhat.com Twitter: @rafabene Globalcode – Open4education
  • 2. Quem sou eu? Goiano com orgulho! JBoss Software Engineer JDF Core Developer Apaixonado por OSS Fã de Android Fã de Agile Obcecado por arquitetura e produtividade Globalcode – Open4education
  • 3. #What #hashtags ? #TDC2012 #JBOSS #JDF Globalcode – Open4education
  • 4. Agenda Introdução O que é O JDF Quickstarts JBoss Stacks Ticket Monster (use case) Contribua / WFK Perguntas Globalcode – Open4education
  • 5. Introdução: Java EE 6 (O apogeu) A era dos frameworks acabaram Começa a era das extensões (OCP) Especificações: 10 atualizadas e 5 novas: Total de 28 Atualizaçoes: Novidades: EJB 3.1 DI 1.0 JPA 2.0 CDI 1.0 Interceptos 1.1 Bean Validation 1.0 Connector 1.1 Managed Beans 1.0 JAX-WS 2.2 JAX-RS 1.1 Enterprise Web Services Servlet 3.0 JSP 2.2 EL 2.2 Annotations 1.1 Globalcode – Open4education
  • 6. Introdução: Como tudo começou Java EE 5 (JSF / EJB / JPA – ciclo de vida independentes) Seam 2.x (Facelets / SMPC / Bijeção) Printscreen de uma apresentação do Seam Globalcode – Open4education
  • 7. Introdução: Especificação CDI O que o CDI fornece: Contextos bem definidos Injeção de dependências “type-safe” Interação via notificação de eventos Unificação do conceito de “Beans” Integração via EL unificada (nomes dos Beans) SPI para criar extensões para a plataforma Java EE Arquitetura Java EE -> Flexível, portável, extensível Globalcode – Open4education
  • 8. Introdução: Especificação CDI O que o CDI fornece: Contextos Injeção dependências notificação de eventos para a plataforma Java EE Globalcode – Open4education
  • 9. Introdução: Extensões / Deltaspike Deltaspike fecha as lacunas do Java EE 6 “Nós acreditamos que a comunidade pode criar excelentes extensões CDI e facilmente compartilha-las” http://incubator.apache.org/deltaspike/ Globalcode – Open4education
  • 10. Desenv. Java EE hoje Inconsistências Dialeto: A linguagem é Java, mas cada uma programa de um jeito Integração O problema de alto acoplamento ainda existe apesar de anos lutando esta “guerra” Fragmentação Diversos Frameworks Globalcode – Open4education
  • 11. Desenvolvedor JEE Globalcode – Open4education
  • 12. Resolvendo Integração CDI Forte tipificação Baixo acoplamento @Interceptor @Decorator @Observer Globalcode – Open4education
  • 13. Resolvendo inconsistências É necessário: Experiência, exemplos Uma comunidade centralizada para compartilhar conhecimento Globalcode – Open4education
  • 14. Fragmentação Globalcode – Open4education
  • 15. O que é o JDF ? JBoss Developer Framework mostra como escrever aplicações usando tecnologias JBoss Sabor de Java EE 6 (CDI Everywhere) Consistente Integrado Quickstarts criados pelos times JBoss (richfaces, aerogear, picketlink, hibernate) Como lidar com diferentes produtos dentro do JAVA EE 6 Foco em boas práticas e divulgação de conhecimento Globalcode – Open4education
  • 16. Quickstarts 54 Quickstarts, focados em um único caso de uso ou API 64 Quickstarts para o JDF 2.0 (foco em Mobile) Globalcode – Open4education
  • 17. Ticket Monster Show case JDF Pronto para mobile Pronto para Cloud Aprenda Customize Fork no github: https://github.com/jboss-jdf/ticket-monster Cloud: http://ticketmonster-jdf.rhcloud.com/ Globalcode – Open4education
  • 19. JBoss Stacks BOMs Java EE com GWT Java EE 6 com Richfaces Java EE 6 com Segurança Java EE 6 com Infinispan Archetypes Webapp EAR Richfaces Runtimes JBoss AS EDG BRMS Globalcode – Open4education
  • 20. JBoss Stacks Em mais 1 ou 2 semanas: JDF 2.0.0.Final Web page Forge Plugin (jdf use-stack –runtime –bom ...) JBoss Tools 4 (download runtime, new project, etc) Stacks Client (use você mesmo) Globalcode – Open4education
  • 21. Roadmap JDF 2.0 Outubro de 2012 Mobile Hibrido JDF 2.1 Janeiro 2013 (tentativa) Segurança (Picketlink) Deltaspike Globalcode – Open4education
  • 22. É suportado ? Globalcode – Open4education
  • 23. Contribua Website: http://www.jboss.org/jdf/ Github: https://github.com/jboss-jdf IRC: #jboss-jdf / irc.freenode.net Perguntas ? Globalcode – Open4education

Notas do Editor

  • #7: Seam estendia o Java EE 5 Integrava Web (JSF) com Business (EJB) Ciclo de vida único Conceito unificado de componente Contextos (Conversation) Bijeção
  • #8: CDI é a especificação do Java EE 6 que cuida da parte de injeção de dependências. E, além de ser oficial e estar incluída em todos os servidores de aplicação, é tão boa e produtiva que já tem gente questionando o papel do Spring nos dias de hoje.
  • #9: Resumo do CDI
  • #10: Deltaspike é uma coleção de componentes CDI (esforço semelhante de toda comunidade) - fragmentação / trabalho duplicado / localização? Contribuição das equipes do Seam, Apache MyFaces CODI, CDISource e comunidade Java EE We will also ensure true portability! We are testing DeltaSpike on different CDI implementations like Apache OpenWebBeans and JBoss Weld, and also on different Java EE servers like Apache Tomcat and TomEE, JBoss-AS7, Oracle GlassFish 3.1+, IBM Websphere 8.x, Oracle Weblogic Server 12c, Jetty, and others.
  • #15: Fragmentação é um problema Não é todo ruim Liberdade Evolução É uma onda que não se pode parar
  • #16: A própria equipe (time) do produto criar o exemplo de como usar as features dentro do Java EE 6 Começou com Java EE 6 Apesar do nome framework, não possui entregável
  • #18: Exemplo que abrange diversas tecnologias e como elas se integram
  • #20: Explicar os conceitos Explicar também que estas informações estão disponíveis para diversos clientes