Java EE 6 no JBoss AS 6


       Paulo Jerônimo @ Lado Servidor

  Festival Latino-Americano de Software Livre
                   (FLISOL)

                 Goiânia/GO
                 24/Abr/2010
Paulo Jerônimo

   http://paulojeronimo.com
   Especialista em Sistemas Distribuídos e OO (UnB/2002)
   Consultor em servidores de aplicações
        Trabalhando com JBoss AS desde 2002
                        Certified JBoss Administrator (CJA) (2007)
                        Certified JBoss Developer (CJD) (2007)
   Vasta experiência em:
        Ensino p/ equipes corporativas
        Arquitetura e desenvolvimento de aplicações Java
                        Vários projetos desenvolvidos para órgãos do governo, empresas de
                           telecomunicações e istituições financeiras
                        SCJP, SCBCD, SCBCD
        Suporte a ambientes com carga balanceada, clusterizados e tolerante a falhas
Lado Servidor

   http://ladoservidor.com
   Notícias, idéias, soluções e serviços:
       Instalação, configuração, administração,
        monitoramento, resolução de problemas e ajustes
        de performance
                   Para produtos de virtualização
                   Para servidores de aplicações (principalmente os
                     baseados na plataforma Java)
   Foco em software livre!
       Mas sem deixar de veicular as notícias do lado
        negro da força ;-)
Agenda

   Um pouco de Java EE 6
       Motivação, Adoção, Evolução
       Objetivos, APIs
   Um pouco de JBoss AS 6
       Histórico
       Status atual
       Baixa dos fontes, compilação e instalação ;-)
       Execução de um projeto Weld
Java EE - Motivação

   Requisitos não funcionais
       Escalabilidade, processamento em paralelo de
        grande número de requisições
       Segurança
       Transações
   No passado: cada aplicação implementava tais
    requisitos
       Desfocava a aplicação das regras do negócio
   Hoje (a algum tempinho ;-): tais requisitos são
    implementados por um servidor de aplicações
Java EE - Adoção
Java EE - Evolução
Java EE – Implementações (EE 5)
Java EE 6 – Implementação de
Referência
   GlassFish v3
Java EE 6 no JBoss AS 6

   Em desenvolvimento, mas já com várias
    funcionalidades prontas... Testaremos algumas
    mais a frente!
Java EE 6 - Objetivos

   Right-sizing
       Adaptar-se a aplicações de diferentes tamanhos
       Simplificação de tecnologias
       Implementação de profiles
   Extensibilidade
       Facilidades p/ plugar frameworks e bibiliotecas
   Produtividade
       Aprimoramento de facilidades conquistadas no
        Java EE 5 (com o uso de anotações)
Java EE 6 (JSR 316) - APIs

   Novidades:                            Atualizações:
                                               EJB 3.1
       DI 1.0 (JSR 330)
                                               JPA 2.0
       CDI 1.0 (JSR 299) Spec                 Servlet 3.0
        Leads: Gavin King, Pete Muir
                                               JSF 2.0
       Bean Validation 1.0
        (JSR 303) Spec Lead:                   Interceptors 1.1
        Emmanuel Bernard                       Connectors 1.6
       Managed Beans 1.0                      JAX-WS 2.2
        (JSR 316)                              Enterprise Web Services
       JAX-RS 1.1 (RESTful                    JSP 2.2/EL 2.2
        services)                              Annotations 1.1
Java EE 6 – Dependency Injection
(DI) - JSR 330
   Líderes: Bob Lee (Google Guice), Rod Johnson
    (Spring)
   Objetivo: definir uma semântica básica para
    injeção de dependências em Java EE
   Anotações:
       @Inject, @Named, @Qualifier, @Scope,
        @Singleton
Java EE 6 – Context and Dependency
Injection (CDI) - JSR 330
   Líderes: Gavin King, Pete Muir (JBoss)
   Conhecida anteriormente por WebBeans
   Implementação de referência: Weld
   Define um conjunto de serviços E permite
    injeção de dependências
   Integra componentes. Ex.: JSF e EJB
   Trata todos os componentes como Managed
    Beans
Java EE 6 – Servlets 3.0

   Mapeamento das servlets e filtros via
    anotações
       web.xml opcional
   Suporte a servlets assíncronos
       Evita o bloqueio de requisições enquanto ainda é
        produzido algum resultado para o cliente
   Fácil integração de componentes de terceiros
       Basta plugar a uma biblioteca em WEB-INF/lib, que
        já contenha um arquivo META-INF/web-
        fragments.xml
Java EE 6 – Servlet 3.0 (2)
Java EE 6 – EJB 3.1

   Avanços na facilidade de uso
   Um código fonte por Bean (interface
    desnecessária)
   EJBs podem ser implantados em Web Archives
    (wars)
       Sem ejb-jar
       Dentro de WEB-INF/classes
       Compartilhando informações de ambiente
   JNDI portável e global
Java EE 6 – EJB 3.1
Java EE 6 – EJB 3.1

   Singletons EJBs
       @Singleton
       Uma instância por Bean por JVM
       Segurança gerenciada pelo container ou pelo Bean
        @ConcurrencyManagement
   Uso Embeddable/Standalone
       Possibilidade de se utilizar EJB's em um Java SE
   Timer Service aprimorado com @Schedule
   Invocações assíncronas através de
    @Asynchronous
Java EE 6 – EJB 3.1

   EJB Lite – subconjunto das principais
    funcionalidades da versão EJB completa
Java EE 6 – JPA 2.0 – JSR 317

   Desacoplada de EJBs
   Inclusão da API criteria (inspirada no
    Hibernate)
   Suporte a mapeamento de coleções e tipos
    primitivos
   Lock pessimista
   API de cache
   Melhor suporte a mapas
Java EE 6 – JSF 2.0

   Utilização da anotação @ManagedBean p/ o
    registro de componentes
       faces-config.xml opcional
   Melhorias na navegação
   Suporte a AJAX
   Componentes compostos
Java EE 6 – Bean Validation 1.0

   Idéias trazidas do Hibernate Validation
   Possibilita a inclusão de regras de validação
    em um JavaBean
   Todas as camadas da aplicação entendem
    uma mesma linguagem que expressa as regras
    de validação
   Integrado a JSF e JPA
   Extensível
Java EE 6 - Profiles

   Segmentam a plataforma Java EE (e
    servidores de aplicações) em categorias de
    aplicações
       Permitem o uso de um subconjunto das APIs, com
        garantias de compatibilidade
   Exemplo de profile: Web Profile
Java EE 6 – Web Profile

   Apresentação                   Frameworks p/
       Servlet 3.0                 componentes
                     JSP 2.2          EJB 3.1 Lite
                     EL 2.0           CDI
       JSTL 1.2                   Persistência
       JSF 2.0                        JPA 2.0
   Common Annotations                 JTA 1.1
    1.1
   DI 1.0
JBoss AS 6

   Servidor de aplicações Java EE 6
   Suporte atual para diversas APIs Java EE:
       Servlet 3.0
       Web Profile
       EJB 3.1
       Mensageria (HornetQ)
   Interface de gerenciamento aprimorada
   Performance aprimorada
   Microcontainer baseado POJOs e AOP
Java EE 6 no Jboss AS 6 -
Tecnologias
   JBoss Web 3.0 (Servlet 3.0, JSP 2.2, EL 2.2)
   Weld 1.0 (Impl. Ref. P/ CDI 1.0)
   EJB 3.1
   Hibernate 3.5 (JPA 2.0)
   Hibernate Validator 4.0.2 (Impl. Ref. P/ Bean
    Validation 1.0
   JBoss Web Services 3.3.0 (JAX-WS 2.2)
   JSF 2.0
JBoss AS 6 – Instalação a partir dos
fontes
   Do que você irá precisar:
       Subversion: para baixar os fontes do repositório
       JDK e Maven: para construir o projeto
   Demonstrações!
       Construção (build) do JBoss AS
       Inicialização e parada
       Interface de gerenciamento
       Construção, implantação e execução de um projeto
        Weld (CDI 1.0)
Fim ;-) Obrigado por vir!

             Contatos:

          @paulojeronimo
          @ladoservidor
                (Twitter)



  paulojeronimo@ladoservidor.com

Mais conteúdo relacionado

ODP
JBoss5 @ FISL
PPT
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
PDF
Apresentação hotspot
PDF
PDF
GlassFish, Maven, Cloud e o futuro do Java EE
PDF
Java ee 5
PDF
Java EE 6 e JBoss 6.0
PDF
MC - Java Enterprise Edition 6 (Java EE)
JBoss5 @ FISL
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
Apresentação hotspot
GlassFish, Maven, Cloud e o futuro do Java EE
Java ee 5
Java EE 6 e JBoss 6.0
MC - Java Enterprise Edition 6 (Java EE)

Mais procurados (20)

PPTX
JEE6 - Introdução
PDF
GUJavaSC - Unit Testing com Java EE
PPTX
Cluster e Alta Disponibilidade na Prática com JBoss AS 7
PPTX
Palestra FISL 14 JBoss Cluster
PDF
JBUG Brasil - Desvendando as features do WildFly.
PDF
Introducao EJB 3
PPTX
WildFly Avançado - TDC Floripa 2015
PPT
GUJavaSC - Desenvolvendo uma Aplicação com Java EE
PDF
Maratona JBoss 2010 - JBoss-ESB
PDF
GlassFish, Maven, Cloud e Java EE
ODP
GlassFish e Maven: Java EE sem dor!
ODP
JUDCon Brazil 2013
PPT
Enterprise JavaBeans simples e descomplicado, na prática
PDF
Tutorial EJB 3.0 (2009)
PDF
Spring 3: Uma Plataforma além do Framework
PPTX
JBoss-WildFly - Avançado
PPS
ApresentaçãO Ejb (Enterprise Java Beans)
PDF
GUJavaSC - Mini-curso Java EE
PDF
Java OO Middleware - JEE / EJB / RMI
JEE6 - Introdução
GUJavaSC - Unit Testing com Java EE
Cluster e Alta Disponibilidade na Prática com JBoss AS 7
Palestra FISL 14 JBoss Cluster
JBUG Brasil - Desvendando as features do WildFly.
Introducao EJB 3
WildFly Avançado - TDC Floripa 2015
GUJavaSC - Desenvolvendo uma Aplicação com Java EE
Maratona JBoss 2010 - JBoss-ESB
GlassFish, Maven, Cloud e Java EE
GlassFish e Maven: Java EE sem dor!
JUDCon Brazil 2013
Enterprise JavaBeans simples e descomplicado, na prática
Tutorial EJB 3.0 (2009)
Spring 3: Uma Plataforma além do Framework
JBoss-WildFly - Avançado
ApresentaçãO Ejb (Enterprise Java Beans)
GUJavaSC - Mini-curso Java EE
Java OO Middleware - JEE / EJB / RMI
Anúncio

Semelhante a Flisolgo2010 (20)

PDF
Jboss7
PDF
Novidades de Java EE 7
PDF
Começando com Java EE 6
PDF
Repensando padrões e boas práticas java ee
PDF
Serra StarTec 2013 - Java EE
PPT
Apresentação servidores de aplicação
PDF
Apostilava Java EE 5 - 2007
PPT
Enterprise Java Beans
PPT
Web Sphere
PDF
Navegando em um mar de siglas do mundo java
PDF
Java Platform, Enterprise Edition
PPTX
Aula 1 apresentação
PDF
Nos Batidores do FLISOL2010 Salvador com JEE6
PDF
GUJavaSC - Java EE 7 In Action
PDF
Uma abordagem ao Java EE 6
PDF
Sistemas Distribuídos - Comunicação Distribuída - EJB
PPTX
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
PDF
Jboss eap 6
PPT
Como Sobreviver Com Java2
PPTX
Apresentação jsf 2.0
Jboss7
Novidades de Java EE 7
Começando com Java EE 6
Repensando padrões e boas práticas java ee
Serra StarTec 2013 - Java EE
Apresentação servidores de aplicação
Apostilava Java EE 5 - 2007
Enterprise Java Beans
Web Sphere
Navegando em um mar de siglas do mundo java
Java Platform, Enterprise Edition
Aula 1 apresentação
Nos Batidores do FLISOL2010 Salvador com JEE6
GUJavaSC - Java EE 7 In Action
Uma abordagem ao Java EE 6
Sistemas Distribuídos - Comunicação Distribuída - EJB
Sistemas Distribuídos - Comunicação Distribuída - EJB (JBoss 7)
Jboss eap 6
Como Sobreviver Com Java2
Apresentação jsf 2.0
Anúncio

Flisolgo2010

  • 1. Java EE 6 no JBoss AS 6 Paulo Jerônimo @ Lado Servidor Festival Latino-Americano de Software Livre (FLISOL) Goiânia/GO 24/Abr/2010
  • 2. Paulo Jerônimo  http://paulojeronimo.com  Especialista em Sistemas Distribuídos e OO (UnB/2002)  Consultor em servidores de aplicações  Trabalhando com JBoss AS desde 2002  Certified JBoss Administrator (CJA) (2007)  Certified JBoss Developer (CJD) (2007)  Vasta experiência em:  Ensino p/ equipes corporativas  Arquitetura e desenvolvimento de aplicações Java  Vários projetos desenvolvidos para órgãos do governo, empresas de telecomunicações e istituições financeiras  SCJP, SCBCD, SCBCD  Suporte a ambientes com carga balanceada, clusterizados e tolerante a falhas
  • 3. Lado Servidor  http://ladoservidor.com  Notícias, idéias, soluções e serviços:  Instalação, configuração, administração, monitoramento, resolução de problemas e ajustes de performance  Para produtos de virtualização  Para servidores de aplicações (principalmente os baseados na plataforma Java)  Foco em software livre!  Mas sem deixar de veicular as notícias do lado negro da força ;-)
  • 4. Agenda  Um pouco de Java EE 6  Motivação, Adoção, Evolução  Objetivos, APIs  Um pouco de JBoss AS 6  Histórico  Status atual  Baixa dos fontes, compilação e instalação ;-)  Execução de um projeto Weld
  • 5. Java EE - Motivação  Requisitos não funcionais  Escalabilidade, processamento em paralelo de grande número de requisições  Segurança  Transações  No passado: cada aplicação implementava tais requisitos  Desfocava a aplicação das regras do negócio  Hoje (a algum tempinho ;-): tais requisitos são implementados por um servidor de aplicações
  • 6. Java EE - Adoção
  • 7. Java EE - Evolução
  • 8. Java EE – Implementações (EE 5)
  • 9. Java EE 6 – Implementação de Referência  GlassFish v3
  • 10. Java EE 6 no JBoss AS 6  Em desenvolvimento, mas já com várias funcionalidades prontas... Testaremos algumas mais a frente!
  • 11. Java EE 6 - Objetivos  Right-sizing  Adaptar-se a aplicações de diferentes tamanhos  Simplificação de tecnologias  Implementação de profiles  Extensibilidade  Facilidades p/ plugar frameworks e bibiliotecas  Produtividade  Aprimoramento de facilidades conquistadas no Java EE 5 (com o uso de anotações)
  • 12. Java EE 6 (JSR 316) - APIs  Novidades:  Atualizações:  EJB 3.1  DI 1.0 (JSR 330)  JPA 2.0  CDI 1.0 (JSR 299) Spec  Servlet 3.0 Leads: Gavin King, Pete Muir  JSF 2.0  Bean Validation 1.0 (JSR 303) Spec Lead:  Interceptors 1.1 Emmanuel Bernard  Connectors 1.6  Managed Beans 1.0  JAX-WS 2.2 (JSR 316)  Enterprise Web Services  JAX-RS 1.1 (RESTful  JSP 2.2/EL 2.2 services)  Annotations 1.1
  • 13. Java EE 6 – Dependency Injection (DI) - JSR 330  Líderes: Bob Lee (Google Guice), Rod Johnson (Spring)  Objetivo: definir uma semântica básica para injeção de dependências em Java EE  Anotações:  @Inject, @Named, @Qualifier, @Scope, @Singleton
  • 14. Java EE 6 – Context and Dependency Injection (CDI) - JSR 330  Líderes: Gavin King, Pete Muir (JBoss)  Conhecida anteriormente por WebBeans  Implementação de referência: Weld  Define um conjunto de serviços E permite injeção de dependências  Integra componentes. Ex.: JSF e EJB  Trata todos os componentes como Managed Beans
  • 15. Java EE 6 – Servlets 3.0  Mapeamento das servlets e filtros via anotações  web.xml opcional  Suporte a servlets assíncronos  Evita o bloqueio de requisições enquanto ainda é produzido algum resultado para o cliente  Fácil integração de componentes de terceiros  Basta plugar a uma biblioteca em WEB-INF/lib, que já contenha um arquivo META-INF/web- fragments.xml
  • 16. Java EE 6 – Servlet 3.0 (2)
  • 17. Java EE 6 – EJB 3.1  Avanços na facilidade de uso  Um código fonte por Bean (interface desnecessária)  EJBs podem ser implantados em Web Archives (wars)  Sem ejb-jar  Dentro de WEB-INF/classes  Compartilhando informações de ambiente  JNDI portável e global
  • 18. Java EE 6 – EJB 3.1
  • 19. Java EE 6 – EJB 3.1  Singletons EJBs  @Singleton  Uma instância por Bean por JVM  Segurança gerenciada pelo container ou pelo Bean @ConcurrencyManagement  Uso Embeddable/Standalone  Possibilidade de se utilizar EJB's em um Java SE  Timer Service aprimorado com @Schedule  Invocações assíncronas através de @Asynchronous
  • 20. Java EE 6 – EJB 3.1  EJB Lite – subconjunto das principais funcionalidades da versão EJB completa
  • 21. Java EE 6 – JPA 2.0 – JSR 317  Desacoplada de EJBs  Inclusão da API criteria (inspirada no Hibernate)  Suporte a mapeamento de coleções e tipos primitivos  Lock pessimista  API de cache  Melhor suporte a mapas
  • 22. Java EE 6 – JSF 2.0  Utilização da anotação @ManagedBean p/ o registro de componentes  faces-config.xml opcional  Melhorias na navegação  Suporte a AJAX  Componentes compostos
  • 23. Java EE 6 – Bean Validation 1.0  Idéias trazidas do Hibernate Validation  Possibilita a inclusão de regras de validação em um JavaBean  Todas as camadas da aplicação entendem uma mesma linguagem que expressa as regras de validação  Integrado a JSF e JPA  Extensível
  • 24. Java EE 6 - Profiles  Segmentam a plataforma Java EE (e servidores de aplicações) em categorias de aplicações  Permitem o uso de um subconjunto das APIs, com garantias de compatibilidade  Exemplo de profile: Web Profile
  • 25. Java EE 6 – Web Profile  Apresentação  Frameworks p/  Servlet 3.0 componentes  JSP 2.2  EJB 3.1 Lite  EL 2.0  CDI  JSTL 1.2  Persistência  JSF 2.0  JPA 2.0  Common Annotations  JTA 1.1 1.1  DI 1.0
  • 26. JBoss AS 6  Servidor de aplicações Java EE 6  Suporte atual para diversas APIs Java EE:  Servlet 3.0  Web Profile  EJB 3.1  Mensageria (HornetQ)  Interface de gerenciamento aprimorada  Performance aprimorada  Microcontainer baseado POJOs e AOP
  • 27. Java EE 6 no Jboss AS 6 - Tecnologias  JBoss Web 3.0 (Servlet 3.0, JSP 2.2, EL 2.2)  Weld 1.0 (Impl. Ref. P/ CDI 1.0)  EJB 3.1  Hibernate 3.5 (JPA 2.0)  Hibernate Validator 4.0.2 (Impl. Ref. P/ Bean Validation 1.0  JBoss Web Services 3.3.0 (JAX-WS 2.2)  JSF 2.0
  • 28. JBoss AS 6 – Instalação a partir dos fontes  Do que você irá precisar:  Subversion: para baixar os fontes do repositório  JDK e Maven: para construir o projeto  Demonstrações!  Construção (build) do JBoss AS  Inicialização e parada  Interface de gerenciamento  Construção, implantação e execução de um projeto Weld (CDI 1.0)
  • 29. Fim ;-) Obrigado por vir! Contatos: @paulojeronimo @ladoservidor (Twitter) paulojeronimo@ladoservidor.com