Tema 1
     Visão geral da plataforma e servidores de aplicação

Visão geral da Plataforma Java no presente
        JBoss Application Server 6

                     Edgar Silva
               Manager, Solutions Architects
                       Red Hat Brasil

               edgar@redhat.com


                                                 @jedgarsilva
Agenda

•   Plataforma Java (Passado, Presente e Futuro)
•   Java EE 6.0
•   Em breve final: JBoss 6.0
•   Em breve: M1 do JBoss 7.0
•   Tecnologias Auxiliares
•   Mercado




                                                   3
                                                       3
Plataforma Java EE
                 (Passado, Presente e Futuro)

• Objetivo: Mercado de Componentes
• Players do Passado: HP BlueStone, IPlanet, Oracle,
  WebLogic, Borland, IBM, JBoss e outros,
• Players do Presente: Oracle, IBM, JBoss/RedHat
• Realidade:
   – Primeiras implementações com pouco pragmatismo!
      • Resultado: Contribuições da Comunidade / JCP
      • Spring Framework, Hibernate, Seam
   – Adições de solicitações da comunidade como a
     evolução das Specs.


                                                       4
                                                           4
Java Enterprise Edition 6

• Resultado da JSR316
   – http://jcp.org/en/jsr/detail?id=316
• Principais Novidades:
   – Servlets 3.0
   – JSF 2.0
   – JPA 2.0
   – Bean Validation 1.0
   – EJB 3.1
   – EJB Lite
   – JAX-RS
   – CDI
   – Profiles

                                           5
Servlet 3.0
     JSR-315: http://jcp.org/en/jsr/detail?id=315

• Principais novidades:
   – Uso de Anotações para Definir Servlets, Listeners e
     Filters
   – Fragmentação do web.xml
   – Chamada Assync (Comet), objetivo Ajax




                                                           6
@Servlet(urlMappings={"/MyApp"})
public class MyServlet {
    @GET
    public void handleGet(HttpServletRequest req,
                          HttpServletResponse res) {
                ....
    }

@ServletFilter
@FilterMapping("/foo")
public class MyFilter {
  public void doFilter(HttpServletRequest req,
                       HttpServletResponse res) {
        .....
  }
}

@Servlet(urlMappings={"/MyApp"}, initParams ={@InitParam(name="lang",
value="english")})
public class MyServlet {
    @GET
    public void handleGet(HttpServletRequest req,
                          HttpServletResponse res) {
                ....
    }
}
                                                                        7
JSF 2.0
       JSR-314: http://jcp.org/en/jsr/detail?id=314

• Anotações
• Facelets como parte do padrão
• Expression Language
• ExceptionHandlers
• Escpos de Usuários




                                                      8
@ManagedBean(name="scriptService")
@RequestScoped
public class ScriptServiceBean {

    @ManagedProperty(value = "script")
    private String scriptName;

}




                                         9
JPA 2.0
       JSR-317: http://jcp.org/en/jsr/detail?id=317

• Second-Level Cache
• Criteria
• Muitas adições baseadas no Hibernate dentro do
  padrão JPA.




                                                      10
EJB 3.1
       JSR-318: http://jcp.org/en/jsr/detail?id=318

• Interfaces opcionais
• EJB Lite
• Deploy War




                                                      11
JAX-RS
        JSR-311: http://jcp.org/en/jsr/detail?id=311

• RESTful WebServices
• Anotações
• MediaTypes
• REST
• WOA (se isto existir)




                                                       12
@Provider
@Path("/")

public class RootService implements java.io.Serializable {



@GET
@Path("/")
@Produces("text/plain")
public String homePlain(){

    return "Welcome to RestEasy running on Google App - Client Plain/Text";
}

@GET
@Path("/")
@Produces("text/html")
public String homeHTML(){

     return "<h1><font face='Verdanda'>Welcome to RestEasy running on Google App -
Client HTML</font></h1>";
}

@GET
@Path("/{name}/{vars:.*}")
@Produces("application/xml")
public String executeWithGetXML(@PathParam("name") String serviceName, @PathParam("vars")
String vars){
                                                                                     13
Bean Validation
       JSR-303: http://jcp.org/en/jsr/detail?id=303

• Lembra do Hibernate Validator
• Agora isto é padrão JEE




                                                      14
public class Address {
      @NotNull @Size(max = 50)
      private String street1;

        @NotNull @ZipCode
        private String zipcode;

        @NotNull @Size(max = 30)
        private String city;


Leitura recomendada:

http://musingsofaprogrammingaddict.blogspot.com/2009/02/getting-started-with-jsr-303-bean.html




                                                                                                 15
CDI 1.0
        JSR-299: http://jcp.org/en/jsr/detail?id=299

• Context Dependency Injection
  –   Uso de Factories
  –   Interceptors
  –   Injeção de Dependências
  –   Agora isto também é padrão




                                                       16
Profiles
• Um perfil para cada propósito:
   – Full
   – Web
• No futuro, quem sabe outros profiles:
   – Teste
   – Telco (SIP)
   – SOA



                                          17
JBoss Application Server 6.0
   http://www.jboss.org/jbossas




                                  18
JBoss AS 6.0 e a Comunidade
                      Influencia direta


•   JSR 299 – CDI for the      •    JSR 314 – Java Server
    Java EE Platform                Faces 2.0
     –   Gavin King            •    JSR 316 – JavaEE 6
•   JSR 303 – Bean             •    JSR 317 – JPA 2.0
    Validation
                               •    JSR 318 – EJB 3.1
     –   Emanuel Bernard
                               •    JSR 330 – Dependency
•   JSR 311 – JAX-RS                Injection
Novidades

•   Otimizações do desempenho
•   J2EE6, OSGi
•   Novos projetos
•   Novo modelo de releases
•   Projeto totalmente “mavenizado”
Otimizando o servidor

•   Uma série de esforços realizados nesse sentido
•   VFS 3.0
     –   Nova API
     –   Montagem explícita + ciclo de vida associado aos
         Structure Deployers
     –   Sincronizado com o sistema de arquivos
     –   Otimização no acesso a arquivos zipados
Otimizando o servidor
                    •     JBoss Microcontainer
                             –       Diversas otimizações realizadas no
                                     kernel
                                        •    Busca de dependências
                                        •    Máquina de estados
                             –       Em desenvolvimento
                                        •    JBoss Reflection: substituição de
                                             reflexão por Javassist com cache
                                             de bytecodes, sem carga de
                                             classes necessária
                                                 –    Manipulação direta de
Flavia Rainone                                        bytecodes através do
Core Developer JBoss MC, JBoss AOP                    Javassist
HornetQ
                                        •   Novo JMS Provider do
                                            JBoss AS 6.0 M3
                                        •   Arquitetura baseada em
                                            POJOs
                                        •   APIS:
                                              –     JMS 1.1 API
                                              –     APIs próprias: core
Clebert Suconic,                                    client API, RESTful
Project Lead, HonetQ                                API, e outros
já participou do JBoss Cache, JBoss
Serialization, JRUnit, JBoss Profiler   •   Pode ser utilizado em
                                            outros ambientes
HornetQ

•   Desempenho
     –   IO nativo para Linux
     –   quebrou o recorde da SPECjms2007 em 307%
•   Integrado aos deployers do AS
     –   Isso significa que você pode incluir os seus
         arquivos config nos próprios archives da sua
         aplicação
•   Integração com o JBoss Admin console
JBoss Embedded AS

•   Trabalho em desenvolvimento
     –   Versão 1.0.Alpha3
     –   jboss-as-depchain
           •    Módulo que referencia todo o classpath
                necessário para usar o JBoss Embedded
     –   Provê um ambiente de testes para aplicações em
         uma máquina virtual standalone
     –   Pode ser usado com o ShrinkWrap
Weld

•   Implementação de referência da JSR 299 - CDI
•   Parte do projeto Seam 3
•   Integrado ao JBoss AS 6 M1
     –   Projeto de integração em desenvolvimento
RichFaces

•   Component library para JSF
•   Framework para integração de AJAX em aplicações
•   Versão 3.3.3.Final
     –   Suporte básico a JSF 2.0
     –   JBoss AS 6.0. M3
RichFaces

•   Versão 4.0
     –   Suporte completo a JSF 2.0
     –   Em desenvolvimento
     –   Estender os horizontes da especificação, assim
         como foi feito com JSF 1.2
     –   CDK (Component Development Kit) com templates
         avançados, anotações, extensões faces-config, etc
     –   Melhorias no AJAX framework
Infinispan

•   Irá substituir o JBoss Cache
•   Avançada plataforma de dados em grade
     –   Avançados algoritmos de concorrência
     –   Perfeito para a última tecnologia de processadores
         multi core
•   Compatibilidade com JTA
•   Algoritmos eficientes de eviction
•   Expõe uma Cache interface
Hibernate Core

•       Versão
    –      atual: 3.5.1
    –     no JBoss AS 6.0 M3: 3.5.0.CR1
•       Implementa JPA 2 (JSR 317)
•       Adicionou Infinispan como cache nível 2
•       Suporte a JDBC4
Hibernate Validator
•   Versão 4.0.2.GA
     –   Incluída no JBoss
         AS 6.0.M3
•   Implementação de
    referência da JSR 303
    – Bean Validation        Emmanuel Bernard,
                             JBoss HIbernate
Clustering
•   Novo httpd-based
    load balancer:
    mod_cluster
     –   Configuração dinâmica
         dos nós httpd
     –   Cálculo do fator do
         balanceamento de
         carga dos servidores
     –   Granularidade fina do
         ciclo de vida das
         aplicações web
     –   Distinção entre
         shutdown e crash
JBoss Marshalling

•   Alternativa à API de Serialization
     –   aproximadamente 2x mais rápida!
•   Suporte plugável a
     –   Class resolvers
     –   Substituição de objetos
     –   Tabelas pré-definidas de classes e de objetos
     –   Externalizers
RESTeasy

•       Implementação certificada da JSR JAX-RS
•       Permite acesso a serviços providos por resource
        methods de forma facilitada
    –     Anotações
•       Versão 2.0-beta-2
RESTeasy

•       Mais:
    –     implementação embeddable para
          ambientes de teste
    –     Framework para criar clientes HTTP, com
          anotações
    –     Integrado nos projetos EJB, Seam, Guice,
          Spring e Spring MVC
RESTeasy

•   Cache:
     –   Client “browser” cache
     –   Server in-memory cache
•   Abstrações de HTTP assíncronas
•   Modelo rico de interceptadores
•   Rico conjunto de providers (XML, Atom, etc)
JBoss OSGi

•   Container OSGi
•   Diferentes perfis:
     –   minimal, default, web e all
•   Camada de integração com uma framework OSGi:
     –   Felix, Equinox ou Microcontainer
JBoss OSGi

•   JBoss Microcontainer + OSGi
     –   Em desenvolvimento
     –   Ao final, permitirá que bundles se comuniquem
         com outros componentes de outros modelos de
         programação:
           •   Bundle -> EJB
           •   MC bean -> bundle
           •   etc.
JBoss OSGi

•   Services
     –   JBoss Microcontainer
           •   Como serviço, permite que os bundles utilizem
               injeção, dependências e outros recursos do
               Microcontainer
     –   Blueprint service (RFC-124)
           •   Controle de ciclo de vida, extenders, service
               listeners, etc.
           •   Configurado através do MANIFEST ou de arquivos
               xml em OSGI-INF/blueprint
Outras alterações

•   Nomenclatura dos projetos
     –   Compatível com OSGi
     –   Duas opções:
           •   Alpha e beta:
                  –     major.minor.micro.Alpha/Beta/CR[n]
                  –     major.minor.micro.Final
           •   Milestones:
                  –     major.minor.micro.TIMESTAMP-Mn
                  –     major.minor.micro.Final
•   Maven: integração levada ao próximo nível
• Aspectos de Segurança
                                                                no JBoss AS:
                                                                   – IDM : LDAP, DB,
                                                                     Grupos/Papéis/Usuários
                                                                   –    Federated Identity: Suporte
                                                                       SAMLv2, WS-Trust e OpenID.
                                                                   – AuthZ: Developer friendly
                                                                     authorization framework
                                                                   – XACML: Implementação Oasis
                                                                     XACMLv2
                                                                   –    Negotiation: Provide
                                                                       SPNego/Kerberos based Desktop
                                        Marcus Moyses                  SSO.
    Stefan Guilhen                  –   Core Developer, Security
                                                              •
–   (Security Token Service Lead)
Road Map

•   JBoss AS 6.0 Final
     –   Certificado em JavaEE 6, TCK 100%


•   JBoss AS 7
     –   Maior performance ainda
     –   Ferramentas de gerenciamento
     –   Facilidades de configuração
JBoss AS 7 + KVM
• KVM: Kernel Virtual Machine
   – Tecnologia de Virtualização já dentro do Kernel do
     Linux.
• Conceitos Novos do JBoss AS7:
   – Exposição de APIs de Gerenciamento:
      • REST, CLI etc
   – Servidores
      • Domain
      • ServerGroup
      • Cluster (HA Server Group)
Demo
Demo
Clouds:
Ambiente Elástico Computacional
JBoss PaaS
O Jeito que você programa hoje, pode ser
          o mesmo de amanha?
QA
                  (Dev e Prod)




                         c

Servidor Local

                 Servidores Produção
Apache
 Web Server
+ Mod_Cluster
QA
                                                    (Dev e Prod)


                    Red Hat PaaS
Servidor Local                                             c


                 Servidor Cloud   Servidor Cloud

                                                   Servidores Produção
Apache
 Web Server
+ Mod_Cluster
Referências
• Slides JbossInBossa 2010:
  http://flaviarainone.blogspot.com/
• JBoss.ORG
  http://www.jboss.org/jbossas
• Blog Edgar Silva
  http://www.edgarsilva.com.br
Edgar Silva
edgar@redhat.com

Java EE 6 e JBoss 6.0

  • 2.
    Tema 1 Visão geral da plataforma e servidores de aplicação Visão geral da Plataforma Java no presente JBoss Application Server 6 Edgar Silva Manager, Solutions Architects Red Hat Brasil edgar@redhat.com @jedgarsilva
  • 3.
    Agenda • Plataforma Java (Passado, Presente e Futuro) • Java EE 6.0 • Em breve final: JBoss 6.0 • Em breve: M1 do JBoss 7.0 • Tecnologias Auxiliares • Mercado 3 3
  • 4.
    Plataforma Java EE (Passado, Presente e Futuro) • Objetivo: Mercado de Componentes • Players do Passado: HP BlueStone, IPlanet, Oracle, WebLogic, Borland, IBM, JBoss e outros, • Players do Presente: Oracle, IBM, JBoss/RedHat • Realidade: – Primeiras implementações com pouco pragmatismo! • Resultado: Contribuições da Comunidade / JCP • Spring Framework, Hibernate, Seam – Adições de solicitações da comunidade como a evolução das Specs. 4 4
  • 5.
    Java Enterprise Edition6 • Resultado da JSR316 – http://jcp.org/en/jsr/detail?id=316 • Principais Novidades: – Servlets 3.0 – JSF 2.0 – JPA 2.0 – Bean Validation 1.0 – EJB 3.1 – EJB Lite – JAX-RS – CDI – Profiles 5
  • 6.
    Servlet 3.0 JSR-315: http://jcp.org/en/jsr/detail?id=315 • Principais novidades: – Uso de Anotações para Definir Servlets, Listeners e Filters – Fragmentação do web.xml – Chamada Assync (Comet), objetivo Ajax 6
  • 7.
    @Servlet(urlMappings={"/MyApp"}) public class MyServlet{ @GET public void handleGet(HttpServletRequest req, HttpServletResponse res) { .... } @ServletFilter @FilterMapping("/foo") public class MyFilter { public void doFilter(HttpServletRequest req, HttpServletResponse res) { ..... } } @Servlet(urlMappings={"/MyApp"}, initParams ={@InitParam(name="lang", value="english")}) public class MyServlet { @GET public void handleGet(HttpServletRequest req, HttpServletResponse res) { .... } } 7
  • 8.
    JSF 2.0 JSR-314: http://jcp.org/en/jsr/detail?id=314 • Anotações • Facelets como parte do padrão • Expression Language • ExceptionHandlers • Escpos de Usuários 8
  • 9.
    @ManagedBean(name="scriptService") @RequestScoped public class ScriptServiceBean{ @ManagedProperty(value = "script") private String scriptName; } 9
  • 10.
    JPA 2.0 JSR-317: http://jcp.org/en/jsr/detail?id=317 • Second-Level Cache • Criteria • Muitas adições baseadas no Hibernate dentro do padrão JPA. 10
  • 11.
    EJB 3.1 JSR-318: http://jcp.org/en/jsr/detail?id=318 • Interfaces opcionais • EJB Lite • Deploy War 11
  • 12.
    JAX-RS JSR-311: http://jcp.org/en/jsr/detail?id=311 • RESTful WebServices • Anotações • MediaTypes • REST • WOA (se isto existir) 12
  • 13.
    @Provider @Path("/") public class RootServiceimplements java.io.Serializable { @GET @Path("/") @Produces("text/plain") public String homePlain(){ return "Welcome to RestEasy running on Google App - Client Plain/Text"; } @GET @Path("/") @Produces("text/html") public String homeHTML(){ return "<h1><font face='Verdanda'>Welcome to RestEasy running on Google App - Client HTML</font></h1>"; } @GET @Path("/{name}/{vars:.*}") @Produces("application/xml") public String executeWithGetXML(@PathParam("name") String serviceName, @PathParam("vars") String vars){ 13
  • 14.
    Bean Validation JSR-303: http://jcp.org/en/jsr/detail?id=303 • Lembra do Hibernate Validator • Agora isto é padrão JEE 14
  • 15.
    public class Address{ @NotNull @Size(max = 50) private String street1; @NotNull @ZipCode private String zipcode; @NotNull @Size(max = 30) private String city; Leitura recomendada: http://musingsofaprogrammingaddict.blogspot.com/2009/02/getting-started-with-jsr-303-bean.html 15
  • 16.
    CDI 1.0 JSR-299: http://jcp.org/en/jsr/detail?id=299 • Context Dependency Injection – Uso de Factories – Interceptors – Injeção de Dependências – Agora isto também é padrão 16
  • 17.
    Profiles • Um perfilpara cada propósito: – Full – Web • No futuro, quem sabe outros profiles: – Teste – Telco (SIP) – SOA 17
  • 18.
    JBoss Application Server6.0 http://www.jboss.org/jbossas 18
  • 19.
    JBoss AS 6.0e a Comunidade Influencia direta • JSR 299 – CDI for the • JSR 314 – Java Server Java EE Platform Faces 2.0 – Gavin King • JSR 316 – JavaEE 6 • JSR 303 – Bean • JSR 317 – JPA 2.0 Validation • JSR 318 – EJB 3.1 – Emanuel Bernard • JSR 330 – Dependency • JSR 311 – JAX-RS Injection
  • 20.
    Novidades • Otimizações do desempenho • J2EE6, OSGi • Novos projetos • Novo modelo de releases • Projeto totalmente “mavenizado”
  • 21.
    Otimizando o servidor • Uma série de esforços realizados nesse sentido • VFS 3.0 – Nova API – Montagem explícita + ciclo de vida associado aos Structure Deployers – Sincronizado com o sistema de arquivos – Otimização no acesso a arquivos zipados
  • 22.
    Otimizando o servidor • JBoss Microcontainer – Diversas otimizações realizadas no kernel • Busca de dependências • Máquina de estados – Em desenvolvimento • JBoss Reflection: substituição de reflexão por Javassist com cache de bytecodes, sem carga de classes necessária – Manipulação direta de Flavia Rainone bytecodes através do Core Developer JBoss MC, JBoss AOP Javassist
  • 23.
    HornetQ • Novo JMS Provider do JBoss AS 6.0 M3 • Arquitetura baseada em POJOs • APIS: – JMS 1.1 API – APIs próprias: core Clebert Suconic, client API, RESTful Project Lead, HonetQ API, e outros já participou do JBoss Cache, JBoss Serialization, JRUnit, JBoss Profiler • Pode ser utilizado em outros ambientes
  • 24.
    HornetQ • Desempenho – IO nativo para Linux – quebrou o recorde da SPECjms2007 em 307% • Integrado aos deployers do AS – Isso significa que você pode incluir os seus arquivos config nos próprios archives da sua aplicação • Integração com o JBoss Admin console
  • 25.
    JBoss Embedded AS • Trabalho em desenvolvimento – Versão 1.0.Alpha3 – jboss-as-depchain • Módulo que referencia todo o classpath necessário para usar o JBoss Embedded – Provê um ambiente de testes para aplicações em uma máquina virtual standalone – Pode ser usado com o ShrinkWrap
  • 26.
    Weld • Implementação de referência da JSR 299 - CDI • Parte do projeto Seam 3 • Integrado ao JBoss AS 6 M1 – Projeto de integração em desenvolvimento
  • 27.
    RichFaces • Component library para JSF • Framework para integração de AJAX em aplicações • Versão 3.3.3.Final – Suporte básico a JSF 2.0 – JBoss AS 6.0. M3
  • 28.
    RichFaces • Versão 4.0 – Suporte completo a JSF 2.0 – Em desenvolvimento – Estender os horizontes da especificação, assim como foi feito com JSF 1.2 – CDK (Component Development Kit) com templates avançados, anotações, extensões faces-config, etc – Melhorias no AJAX framework
  • 29.
    Infinispan • Irá substituir o JBoss Cache • Avançada plataforma de dados em grade – Avançados algoritmos de concorrência – Perfeito para a última tecnologia de processadores multi core • Compatibilidade com JTA • Algoritmos eficientes de eviction • Expõe uma Cache interface
  • 30.
    Hibernate Core • Versão – atual: 3.5.1 – no JBoss AS 6.0 M3: 3.5.0.CR1 • Implementa JPA 2 (JSR 317) • Adicionou Infinispan como cache nível 2 • Suporte a JDBC4
  • 31.
    Hibernate Validator • Versão 4.0.2.GA – Incluída no JBoss AS 6.0.M3 • Implementação de referência da JSR 303 – Bean Validation Emmanuel Bernard, JBoss HIbernate
  • 32.
    Clustering • Novo httpd-based load balancer: mod_cluster – Configuração dinâmica dos nós httpd – Cálculo do fator do balanceamento de carga dos servidores – Granularidade fina do ciclo de vida das aplicações web – Distinção entre shutdown e crash
  • 33.
    JBoss Marshalling • Alternativa à API de Serialization – aproximadamente 2x mais rápida! • Suporte plugável a – Class resolvers – Substituição de objetos – Tabelas pré-definidas de classes e de objetos – Externalizers
  • 34.
    RESTeasy • Implementação certificada da JSR JAX-RS • Permite acesso a serviços providos por resource methods de forma facilitada – Anotações • Versão 2.0-beta-2
  • 35.
    RESTeasy • Mais: – implementação embeddable para ambientes de teste – Framework para criar clientes HTTP, com anotações – Integrado nos projetos EJB, Seam, Guice, Spring e Spring MVC
  • 36.
    RESTeasy • Cache: – Client “browser” cache – Server in-memory cache • Abstrações de HTTP assíncronas • Modelo rico de interceptadores • Rico conjunto de providers (XML, Atom, etc)
  • 37.
    JBoss OSGi • Container OSGi • Diferentes perfis: – minimal, default, web e all • Camada de integração com uma framework OSGi: – Felix, Equinox ou Microcontainer
  • 38.
    JBoss OSGi • JBoss Microcontainer + OSGi – Em desenvolvimento – Ao final, permitirá que bundles se comuniquem com outros componentes de outros modelos de programação: • Bundle -> EJB • MC bean -> bundle • etc.
  • 39.
    JBoss OSGi • Services – JBoss Microcontainer • Como serviço, permite que os bundles utilizem injeção, dependências e outros recursos do Microcontainer – Blueprint service (RFC-124) • Controle de ciclo de vida, extenders, service listeners, etc. • Configurado através do MANIFEST ou de arquivos xml em OSGI-INF/blueprint
  • 40.
    Outras alterações • Nomenclatura dos projetos – Compatível com OSGi – Duas opções: • Alpha e beta: – major.minor.micro.Alpha/Beta/CR[n] – major.minor.micro.Final • Milestones: – major.minor.micro.TIMESTAMP-Mn – major.minor.micro.Final • Maven: integração levada ao próximo nível
  • 41.
    • Aspectos deSegurança no JBoss AS: – IDM : LDAP, DB, Grupos/Papéis/Usuários – Federated Identity: Suporte SAMLv2, WS-Trust e OpenID. – AuthZ: Developer friendly authorization framework – XACML: Implementação Oasis XACMLv2 – Negotiation: Provide SPNego/Kerberos based Desktop Marcus Moyses SSO. Stefan Guilhen – Core Developer, Security • – (Security Token Service Lead)
  • 42.
    Road Map • JBoss AS 6.0 Final – Certificado em JavaEE 6, TCK 100% • JBoss AS 7 – Maior performance ainda – Ferramentas de gerenciamento – Facilidades de configuração
  • 43.
    JBoss AS 7+ KVM • KVM: Kernel Virtual Machine – Tecnologia de Virtualização já dentro do Kernel do Linux. • Conceitos Novos do JBoss AS7: – Exposição de APIs de Gerenciamento: • REST, CLI etc – Servidores • Domain • ServerGroup • Cluster (HA Server Group)
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
    O Jeito quevocê programa hoje, pode ser o mesmo de amanha?
  • 49.
    QA (Dev e Prod) c Servidor Local Servidores Produção
  • 50.
  • 51.
    QA (Dev e Prod) Red Hat PaaS Servidor Local c Servidor Cloud Servidor Cloud Servidores Produção
  • 52.
  • 53.
    Referências • Slides JbossInBossa2010: http://flaviarainone.blogspot.com/ • JBoss.ORG http://www.jboss.org/jbossas • Blog Edgar Silva http://www.edgarsilva.com.br
  • 54.