SlideShare una empresa de Scribd logo
1 de 50
Descargar para leer sin conexión
Java EE 5 - EJB 3.0, JSF 1.2 e NetBeans 5.5   Jul 23, 2012   Page 1
Java EE 5 – EJB 3.0, JSF 1.2, NetBeans
IDE 5.5 – Case Site Disponibilização
 O novo Java Enterprise Edition – EJB 3.0, JSF 1.2 e NetBeans
 IDE 5.5 – Juarez Barbosa – Systems Architect




                                       Java EE 5 - EJB 3.0, JSF 1.2 e NetBeans 5.5   Jul 23, 2012   Page 2
Objetivos



• Apresentar a nova versão da plataforma Java
  Enterprise Edition – Java EE 5
• Apresentar a API Enterprise JavaBeans – EJB 3.0 –
  JSR - 220
• Apresentar a API Java ServerFaces – JSF 1.2 – JSR -
  252
• Apresentar a IDE NetBeans 5.5 e o Visual Web Pack

                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
Agenda

• Introdução Java EE 5 - Overview
• EJB 3.0
• JSF 1.2
• NetBeans 5.5
• Case Site Disponibilização e apresentação de exemplos
  de código




                                                         Pa
            Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                    5.5 ge
Java EE 5

• “Java EE 5 significantly reduces the cost and
  complexity of developing and deploying multi-tier
  solutions, resulting in services that can be rapidly
  deployed and easily enhanced.”
• Especificação Java EE 5 (umbrella)
  – Java Platform, Enterprise Edition 5 (Java EE 5)
     • JSR-244




                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
Java EE 5 - Especificações

• Web Services Technologies
  – Implementing Enterprise Web Services
     • JSR-109
  – Java API for XML-Based Web Services (JAX-WS) 2.0
     • JSR-224
  – Java API for XML-Based RPC (JAX-RPC) 1.1
     • JSR-101
  – Java Architecture for XML Binding (JAXB) 2.0
     • JSR-222
  – SOAP with Attachments API for Java (SAAJ)
     • JSR-67
  – Streaming API for XML
     • JSR-173
  – Web Service Metadata for the Java Platform
     • JSR-181




                                                        Pa
           Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                   5.5 ge
Java EE 5 - Especificações

• Web Application Technologies
  – Java Servlet 2.5
     • JSR-154
  – JavaServer Faces 1.2
     • JSR-252
  – JavaServer Pages 2.1
     • JSR-245
  – JavaServer Pages Standard Tag Library
     • JSR-52




                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
Java EE 5 - Especificações

• Enterprise Technologies
   – Enterprise JavaBeans 3.0
       •   JSR-220
   – J2EE Connector Architecture 1.5
       •   JSR-112
   – Common Annotations for the Java Platform
       •   JSR-250
   – Java Message Service API
       •   JSR-914
   – Java Persistence API
       •   JSR-220
   – Java Transaction API (JTA)
       •   JSR-907
   – JavaBeans Activation Framework (JAF) 1.1
       •   JSR-925
   – JavaMail
       •   JSR-919




                                                           Pa
              Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                      5.5 ge
Java EE 5 - Especificações



• Management and Security Technologies
  – J2EE Application Deployment
     • JSR-88
  – J2EE Management
     • JSR-77
  – Java Authorization Contract for Containers
     • JSR-115




                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
Java EE 5 x J2EE - Diferenças

• J2EE, poderoso mas complexo
  – Java EE 5 mantêm as características mas de forma muito
    mais simples e produtiva, foco principal da JSR-244

• Características do Java EE 5
  – Annotations
     • Não afeta a semântica diretamente, mas afeta a forma como as
       bibliotecas e as ferramentas tratam o código
  – Conventions (or container defaults)
     • o desenvolvedor deixa a maioria do trabalho de configuração
       para os containers, que fornecem um conjunto bem definido de
       valores default, considerando os casos mais comuns.
       Desenvolvedor usa "Configuration by Exception“.

                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
Java EE 5 x J2EE - Diferenças

• Características do Java EE 5
  – Dependency Injection
     • “Do not call me, I will call you”. As dependências são injetadas
       automaticamente nos componentes pelo container, com ajuda
       das annotations. Não é preciso buscar os recursos
       explicitamente;
  – “boilerplate code” ficou obsoleto e os deployment descriptors
    são opcionais;




                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
Java EE 5 x J2EE - Diferenças

• Características do Java EE 5
  – Lightweight Persistence
    • JPA - Modelo de persistência unificado, não limitado a EJBs.
      As classes podem ser usadas em outros componentes,
      inclusive fora do servidor de aplicação. As Entities agora são
      classes POJO, suportando herança e polimorfismo;
  – Entity Manager API
    • principal API do Java EE 5 para interação com banco de
      dados. O EM gerencia o ciclo de vida e estado das entities,
      suportando CRUD, pesquisa, execução de queries (inclusive
      dinâmicas), mecanismo de vinculação, liberação e unificação
      (attach/detach/merge);



                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
Java EE 5 x J2EE - Diferenças

• Características do Java EE 5
  – JP-QL – Java Persistence QL
     • O antigo EJB-QL 2.1 foi melhorado e agora suporta: named
       queries, queries com named parameters, dynamic queries, bulk
       updates e deletes. O JP-QL também suporta queries SQL
       nativas.
     • Características herdadas dos “concorrentes” – JBoss
       Hibernate, Oracle Toplink, JDO.




                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
Java EE 5 x J2EE - Diferenças

• Características do Java EE 5
  – JavaServer Faces
     • O JSF permite a construção e controle de GUIs geradas
       dinamicamente pelo servidor através de componentes
       reutilizáveis. O JSF trabalha integrado com a tecnologia JSP e
       ambos possuem uma Expression Language unificada (EL). O
       JSF fornece tratamento de eventos facilitado, validação,
       navegação, suporte I18N e acessibilidade.




                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
Java EE 5 x J2EE - Diferenças

• Características do Java EE 5
  – Web Services
     • O suporte ficou mais abrangente, porém mais simples, através
       do JAX-WS e JAXB. Utilização de annotations e defaults,
       dispensando deployment descriptors. Suporte nativo SOAP 1.1,
       SOAP 1.2, XML Schema e extensões para outros protocolos e
       encodings;




                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
EJB 3.0 x EJB 2.x

• EJB 2.1
  – Apesar de poderoso (mas incompleto),
    é muito complexo
    •   Muitas classes, interfaces
    •   JNDI lookups
    •   Uso de interfaces do pacote javax.ejb
    •   Modelo de programação confuso
    •   Deployment Descriptors
    •   Anti-patterns - Entity Beans




                                                        Pa
           Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                   5.5 ge
EJB 3.0 x EJB 2.x

• EJB 2.1
  – Limitações
     • Para criar um EJB simples você precisar criar
       vários DDs;
     • Um conjunto de três arquivos fonte (pelo
       menos) deve ser criado;
     • Múltiplos métodos callback devem ser
       implementados e alguns possivelmente nem
       serão usados;
     • Você tem que arremesar e tratar vários tipos
       de exceções, desnecessariamente;
     • Os EJBs não podem ser testados fora do
       container;
     • EJB-QL é limitada e difícil de usar, forçando a
       utilização de JDBC e SQL ou outro
       mecanismo de persistência




                                                         Pa
            Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                    5.5 ge
EJB 3.0
• EJB 3.0 - características

  – Facilidade no desenvolvimento, simplicidade
     •   Poucas classes e interfaces
     •   Dependency Injection (sem JNDI lookups)
     •   Não requer implementação de interfaces
     •   Não requer deployment descriptors (opcional)
     •   Mecanismo de persistência simplificado
     •   Mapeamento O/R robusto (herança, polimorfismo, etc)




                                                        Pa
           Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                   5.5 ge
EJB 3.0
• JSR-000220 Enterprise JavaBeans 3.0 – FR - Specs

  – Desenvolvedores de aplicações que desejam usar EJB 3.0
    • Enterprise JavaBeans 3.0 Final Release (ejbcore)
       – ejb-3_0-fr-spec-ejbcore.pdf
    • Enterprise JavaBeans 3.0 Final Release (persistence)
       – ejb-3_0-fr-spec-persistence.pdf
    • Enterprise JavaBeans 3.0 Final Release (simplified)
       – ejb-3_0-fr-spec-simplified.pdf
  – Desenvolvedores que desejam construir uma implementação
    de EJB 3.0




                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
EJB 3.0
• DI – Dependency Injection

  – Os recursos são injetados quando a instância é construída.
    Referências para:

     •   EJBContext
     •   DataSources
     •   UserTransaction
     •   Environment Entries
     •   EntityManager
     •   TimerService
     •   Outros EJBs




                                                        Pa
           Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                   5.5 ge
EJB 3.0
• Client View Simplificada


  – Session beans agora usam interfaces Java simples
     • Não requer EJB(Local)Home interfaces
     • Não requer EJB(Local)Object interfaces

  – A Bean class é uma classe Java simples, portanto:
     • É uma classe Java plana (POJO)
     • Implementa interfaces Java comuns (POJI)




                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
EJB 3.0 - Client View
...
@EJB
ShoppingCart myCart;
...
Collection widgets = myCart.startToShop(“widgets”);...


OBS: A versão atual do JBoss (4.0.5) ainda não suporta a annotation
 @EJB. Portanto, ainda é necessário o JNDI lookup (utilizar um
 Service Locator).




                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
EJB 3.0
• Persistence API – Objetivos


  – Simplifica o modelo de programação de entities
  – Suporte para modelagem, incluindo herança e polimorfismo
  – Endereça as limitações anteriores que existiam para as
    queries
  – Suporta mapeamento O/R de forma robusta
  – As entidades podem ser usadas (e testadas) fora do
    container
  – Remove a necessidade de VOs/DTOs e outros anti-patterns




                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
EJB 3.0
• Entity Manager


  – O EntityManager serve como uma “home” genérica, para
    operações que envolvem entities;
  – Possui métodos para gerenciamento do ciclo de vida
    • Persist, remove, merge, flush, refresh, etc
  – Funcionalidade similar ao Hibernate Session, JDO
    PersistenceManager, etcc




                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
EJB 3.0
• Foco – Mapeamento O/R

  – Facilidade para que os desenvolvedores Java executem o
    mapeamento de um modelo de objetos para um banco
    relacional
  – O desenvolvedor fica seguro sobre o mapeamento entre o DB
    Schema e o modelo de domínio dos objetos
    • O desenvolvedor controla o mapeamento
    • O desenvolvedor pode confiar no mapeamento e semântica do
      mesmo
  – Os mapeamentos podem ser expressos usando annotations
    ou XML
    • Mapeametos default são fornecidos



                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
EJB 3.0
• Interoperabilidade com EJB 2.X


  – Aplicações escritas usando a API EJB 2.1 e anteriores
    funcionam sem alterações nos containers EJB 3.0
  – Caminho para migração
    • Novas aplicações usando EJB 3.0 podem ser clientes de EJBs
      antigos (specs anteriores), sem mudanças na cliente view pré-
      existente




                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
EJB 3.0 - SLSB
...
@Stateless
public class ServidorFacade implements ServidorFacadeLocal {


      @PersistenceContext
      private EntityManager em;


      /** Creates a new instance of ServidorFacade */
      public ServidorFacade() {
      }


      public void create(Servidor servidor) {
          em.persist(servidor);
      }


      public void edit(Servidor servidor) {
          em.merge(servidor);
      }
...
                                                                   Pa
                      Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                              5.5 ge
EJB 3.0 - SLSB
...
@Local
public interface ServidorFacadeLocal {


      void create(Servidor servidor);


      void edit(Servidor servidor);


      void destroy(Servidor servidor);


      Servidor find(Object pk);


      List findAll();


      List findAllIds();


}
...


                                                                     Pa
                        Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                                5.5 ge
EJB 3.0 - Entities
...
@Entity
@Table(name = "servidor")
@NamedQueries( {
      @NamedQuery(name = "Servidor.findAllIds", query = "SELECT s.codServidor FROM Servidor s ORDER
      BY s.codServidor DESC"),
      @NamedQuery(name = "Servidor.findByCodServidor", query = "SELECT s FROM Servidor s WHERE
      s.codServidor = :codServidor"),... })
public class Servidor implements Serializable {
        @Id
        @Column(name = "COD_SERVIDOR", nullable = false)
        private BigDecimal codServidor;
        @Column(name = "NOM_SERVIDOR", nullable = false)
        private String nomServidor;...
@OneToMany(cascade = CascadeType.ALL, mappedBy = "servidor")
       private java.util.Collection <com.unisys.ciwebview.model.PerfilConfiguracao>
      perfilConfiguracaoCollection;
        /** Creates a new instance of Servidor */
        public Servidor() {
        }
                                                                 Pa
                    Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                            5.5 ge
JSF 1.2
• Características
  – Arquitetura MVC Model 2

  – Framework de componentes de interface (GUI), server side, para
    aplicações web baseadas em tecnologia Java

  – Permite construir uma aplicação utilizando drag-and-drop a
    composição visual

  – Modelo de componentes de interface bem extensível

  – Modelo de renderização flexível

  – Modelo de tratamento de eventos


                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
JSF 1.2
• Características
  – Framework de validação (mais simples que Struts Validator)

  – Suporte ao controle de fluxo (navegação) entre páginas

  – Internacionalização

  – Acessibilidade

  – Suportado por IDEs e ferramentas que possibilitam o
    aumento de produtividade
  – Flexibilidade - Independente do dispositivo cliente


                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
JSF 1.2
• Características
  – Framework de validação (mais simples que Struts Validator)


  – Suporte ao controle de fluxo (navegação) entre páginas


  – Internacionalização


  – Acessibilidade


  – Suportado por IDEs e ferramentas que possibilitam o
    aumento de produtividade



                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
JSF - Arquitetura




                                                   Pa
      Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                              5.5 ge
JSF - Componentes
• Uma página JavaServer Faces é representada por uma
  árvore de componentes, chamada de view
  – Uma view é uma árvore de componentes
  – Conceito familiar considerando o design de interfaces
  – Mapeia bem para o XML
  – Componentes Faces são JavaBeans, eles têm propriedades,
    métodos e eventos/ouvintes
• Os componentes de apoio são anexados aos
  componentes JSF
  – Validators, Converters, Listeners




                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
JSF – Componentes GUI




                                                  Pa
     Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                             5.5 ge
JSF – Passos para desenvolvimento
• Passos para o desenvolvimento de uma aplicação JSF
  – 1) Desenvolver as classes do modelo (managed beans) que
    possuem os dados associados ao componente JSF;
  – 2) Adicionar as declarações dos managed beans ao arquivo
    faces-config.xml (elementos <managed-bean>);
  – 3) Criar as páginas JSF (JSP) utilizando os componentes GUI
    e as tag libraries do JSF (JSF Core Tags, JSF HTML Tags);
  – 4) Definir o fluxo de navegação utilizando o arquivo faces-
    config.xml (elementos <navigation-rule>);
  – 5) Configurar o arquivo web.xml da aplicação (configurar
    Faces Servlet, etc).




                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
JSF – Passos 1
• Passo 1: Desenvolver os Managed Beans
  – Representa o modelo (M) no MVC
  – O Managed Bean é um componente JavaBean comum com
    um conjunto de métdos get e set para todos os atributos
  – Ele pode conter métodos action (similar Struts
    DispatchAction) e manipuladores de eventos
  – Utilizado para armazenar os dados enviados por uma página
    UI (JSP)
  – A criação e o ciclo de vida são gerenciados pelo JSF runtime
     • application, session, request, etc
  – O JSF runtime mantém os dados do bean sincronizados com
    os dados da interface


                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
JSF – Passos 1
• Passo 1: Desenvolver os Managed Beans
  – Representa o modelo (M) no MVC
  – O Managed Bean é um componente JavaBean comum com
    um conjunto de métdos get e set para todos os atributos
  – Ele pode conter métodos action (similar Struts
    DispatchAction) e manipuladores de eventos
  – Utilizado para armazenar os dados enviados por uma página
    UI (JSP)
  – A criação e o ciclo de vida são gerenciados pelo JSF runtime
     • application, session, request, etc
  – O JSF runtime mantém os dados do bean sincronizados com
    os dados da interface


                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
MB - ServidorHelper.java
public class ServidorHelper { //POJO
  private boolean mode;
  private Servidor servidor = new Servidor();


  public ServidorHelper() { //NO-ARG CONSTRUCTOR
  }
      public String incluirServidor(){ //ACTION METHOD
      ServidorFacadeLocal local = (ServidorFacadeLocal) serviceLocator.lookupFacade(servidorFacade);
      List IDs = local.findAllIds();
      BigDecimal novoID = null;
      if(IDs.isEmpty()){
          novoID = new BigDecimal(0);
      } else{
          novoID = (BigDecimal) IDs.get(0);
      }
      novoID = novoID.add(new BigDecimal(1));
      servidor.setCodServidor(novoID);
      local.create(servidor);
      return NavigationUtils.SUCCESS;
  }
  //SETTERS AND GETTERS
  public Servidor getServidor() {
      return servidor;
  }
  public void setServidor(Servidor servidor) {
      this.servidor = servidor;
  }

                                                                        Pa
                           Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                                   5.5 ge
JSF - Passo 2 - Adicionar MBs > faces-
config.xml
• Adicionar as declarações dos managed beans ao arquivo
  faces-config.xml (elementos <managed-bean>)
   <managed-bean>
   <description>Backing bean for Servidor</description>
   <managed-bean-name>ServidorBean</managed-bean-name>
    <managed-bean-
 class>com.unisys.ciwebview.control.ServidorHelper</managed-bean-
 class>
   <managed-bean-scope>session</managed-bean-scope>
 </managed-bean>




                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
JSF - Passo 3 - Criar as páginas JSF
(JSPs)
• Criar as páginas JSF (JSP) utilizando os componentes GUI
  e as tag libraries do JSF (JSF Core Tags, JSF HTML Tags)


  – É obrigatório incluir as tag libraries JSF utilizadas
     • HTML e Core Tags
  – Todas as tags JSF devem estar entre um par de view -
    <f:view> - tags
  – Utilizar os componentes GUI da JSF
     • <h:input_text> e não <input type=”text”>
     • <h:command_button> e não <input type=”submit”>
  – Validators e Event Listeners podem ser definidos para
    qualquer componente JSF


                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
UI Binding – servidor.jsp >
ServidorBean
Arquivo JSP:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
 <f:view>
    <h:form id="servidorForm">
       <h1><h:outputText value="Servidor"/></h1>
       <h:panelGrid columns="3" columnClasses="section">
         <h:outputLabel value="Nome Servidor: " for="nomServidor" />
         <h:inputText id="nomServidor" value="#{ServidorBean.servidor.nomServidor}" required="true" />
         <h:message for="nomServidor" />


      </h:panelGrid>
      <h:panelGroup>
         <h:commandButton id="submitIncluirServidor" action="#{ServidorBean.incluirServidor}" value="Incluir"
   styleClass="inputfonte" rendered="#{not ServidorBean.mode}" />
         <h:commandButton id="submitAtualizarServidor" action="#{ServidorBean.atualizarServidor}"
   value="Atualizar" styleClass="inputfonte" rendered="#{ServidorBean.mode}" />
       </h:panelGroup>
    </h:form>
 </f:view>


                                                               Pa
                  Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                          5.5 ge
JSF - Passo 4 – Regras de Navegação
• Definir o fluxo de navegação utilizando o arquivo faces-
  config.xml (elementos <navigation-rule>)
  – As regras de navegação são configuradas no arquivo faces-
    config.xml

  – O NavigationHandler (default) controla o fluxo baseado em:
     • Qual component tree (ex, página) está sendo processada no
       momento?
     • Originária da página/view (from-view);
     • Qual resultado retornado pela ação?
     • Originária do resultado de uma action (from-outcome);
     • Qual a próxima página a ser exibida (to-view).




                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
JSF - Passo 4 – Regras de Navegação
•   Definir o fluxo de navegação utilizando o arquivo faces-config.xml
<!-- main page -->
    <navigation-rule>
      <from-view-id>/main.jsp</from-view-id>
      <navigation-case>
            <from-outcome>adm_servidores</from-outcome>
            <to-view-id>/adm_servidores.jsp</to-view-id>
      </navigation-case>
    </navigation-rule>
    ...
          <!-- lista servidores -->
    <navigation-rule>
      <from-view-id>/adm_servidores.jsp</from-view-id>
      <navigation-case>
            <from-outcome>success</from-outcome>
            <to-view-id>/lista_servidores.jsp</to-view-id>
      </navigation-case>
    </navigation-rule>


                                                                   Pa
                      Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                              5.5 ge
JSF - Passo 5 – configurar web.xml
•     Configurar o arquivo web.xml da aplicação (Faces Servlet, Context Parameters, etc)


<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" ...>...
      <context-param>
        <param-name>com.sun.faces.validateXml</param-name>
        <param-value>true</param-value>
      </context-param>
...
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
      </servlet-mapping>
      ...
</web-app>

                                                                    Pa
                       Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                               5.5 ge
JSF – Componentes (WAR)
• Quais componentes e recursos fazem parte de uma aplicação JSF? Arquivo
  WAR com:
your.jpg
your.jsp
WEB-INF/web.xml
WEB-INF/faces-config.xml
WEB-INF/classes/your.class
WEB-INF/lib/your.jar
(if not running in Java WSDP)
WEB-INF/lib/jsf-api.jar
WEB-INF/lib/jsf-ri.jar
WEB-INF/lib/jstl.jar
WEB-INF/lib/jsf-el.jar
WEB-INF/lib/standard.jar
WEB-INF/lib/commons-beanutils.jar
WEB-INF/lib/commons-digester.jar
WEB-INF/lib/commons-collections.jar
WEB-INF/lib/commons-logging.jar




                                                                Pa
                   Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                           5.5 ge
JSF – Componentes
• Exemplos de componentes JSF comerciais e
  open-source (free):
 – https://javaserverfaces.dev.java.net/
 – https://facelets.dev.java.net/
 – http://myfaces.apache.org/
 – http://component-showcase.icefaces.org/component-show
 – http://livedemo.exadel.com/richfaces-demo/




                                                     Pa
        Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                5.5 ge
NetBeans 5.5
• Características
  – Primeira IDE open-source, free, com suporte a Java 5
  – Suporte desenvolvimento nas três plataformas – JSE, JEE, JME
    (mobile, desktop, web e enterprise)
  – Ambiente open-source, multi-plataforma, 100% Java
  – Fácil instalação, descomplicada e sem a necessidade de plug-ins
    (apenas se utilizado algum framework ou produto específico)
  – Swing GUI Builder, Web Application Development, Enterprise
    Development,
  – Web Services and Application Servers Integration, Developer
    Collaboration, Advanced Source Code Editor, Java Mobility (Java
    ME), Visual Web Development, Service-Oriented Architecture (SOA),
    C/C++ development.
  – Screenshots
     • http://www.netbeans.org/products/ide/screenshots.html



                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge
Case – Site Disponibilização GCI
• Em desenvolvimento, proposta para visualização de
  informações considerando os ambientes do GCI


• Boa oportunidade para uma prova de conceito
  – JSF 1.1, EJB 3.0
  – NetBeans 5.5, Visual Web Pack
  – JBoss 4.0.4, MySQL (dev only)




                                                      Pa
         Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                 5.5 ge
Referências
• JSR 220: Enterprise JavaBeansTM 3.0
  – http://jcp.org/en/jsr/detail?id=220
• JSR 252: JavaServer Faces 1.2
  – http://jcp.org/en/jsr/detail?id=252
• NetBeans 5.5
  – http://www.netbeans.org/
• NetBeans Visual Web Pack 5.5
  – http://www.netbeans.org/products/visualweb/
• JCP – Java Community Process
  – http://jcp.org/en/home/index


                                                       Pa
          Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012
                                                  5.5 ge

Más contenido relacionado

La actualidad más candente

JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividade
Rafael Ponte
 
JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.java
Eduardo Bregaida
 

La actualidad más candente (20)

MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)MC - Java Enterprise Edition 6 (Java EE)
MC - Java Enterprise Edition 6 (Java EE)
 
A arquitetura modular do Java 9
A arquitetura modular do Java 9A arquitetura modular do Java 9
A arquitetura modular do Java 9
 
ApresentaçãO Ejb (Enterprise Java Beans)
ApresentaçãO Ejb (Enterprise Java Beans)ApresentaçãO Ejb (Enterprise Java Beans)
ApresentaçãO Ejb (Enterprise Java Beans)
 
Flisolgo2010
Flisolgo2010Flisolgo2010
Flisolgo2010
 
Tutorial EJB 3.0 (2009)
Tutorial EJB 3.0 (2009)Tutorial EJB 3.0 (2009)
Tutorial EJB 3.0 (2009)
 
Apresentação JSF
Apresentação JSFApresentação JSF
Apresentação JSF
 
EJB
EJBEJB
EJB
 
Introdução a jsf
Introdução a jsfIntrodução a jsf
Introdução a jsf
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer Faces
 
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
Curso de Enterprise JavaBeans (EJB) (JavaEE 7)
 
JavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em DesenvolvimentoJavaServer Faces Produtividade em Desenvolvimento
JavaServer Faces Produtividade em Desenvolvimento
 
Visão Geral de EJB 3.0
Visão Geral de EJB 3.0Visão Geral de EJB 3.0
Visão Geral de EJB 3.0
 
JSF - JavaServer Faces
JSF - JavaServer FacesJSF - JavaServer Faces
JSF - JavaServer Faces
 
JUDCon Brazil 2013
JUDCon Brazil 2013JUDCon Brazil 2013
JUDCon Brazil 2013
 
Serra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EESerra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EE
 
JavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividadeJavaServer Faces - Desenvolvendo aplicações web com produtividade
JavaServer Faces - Desenvolvendo aplicações web com produtividade
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Tutorial Java EE
Tutorial Java EETutorial Java EE
Tutorial Java EE
 
JSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.javaJSF e outras tecnologias Java Web - IMES.java
JSF e outras tecnologias Java Web - IMES.java
 
Java 8 - A Evolução da Linguagem
Java 8 - A Evolução da LinguagemJava 8 - A Evolução da Linguagem
Java 8 - A Evolução da Linguagem
 

Destacado

Seminario estrategias de busqueda
Seminario estrategias de busquedaSeminario estrategias de busqueda
Seminario estrategias de busqueda
Gonzalo Leiva
 
Ontario Hydro Substation Program
Ontario Hydro Substation ProgramOntario Hydro Substation Program
Ontario Hydro Substation Program
Ahmed (TRANSCO)
 
Capa - Revista Kambas da Paz
Capa - Revista Kambas da PazCapa - Revista Kambas da Paz
Capa - Revista Kambas da Paz
Helder Mequima
 
Creacion slideshare
Creacion slideshareCreacion slideshare
Creacion slideshare
krissacosta
 
Dsc0728
 Dsc0728 Dsc0728
Dsc0728
cprt34
 
AKI investimneto 100M duplicar rede lojas 10 mar 2016
AKI investimneto 100M duplicar rede lojas 10 mar 2016AKI investimneto 100M duplicar rede lojas 10 mar 2016
AKI investimneto 100M duplicar rede lojas 10 mar 2016
Osto Andres
 

Destacado (20)

resume
resumeresume
resume
 
presentaciones
presentacionespresentaciones
presentaciones
 
B. Inggris - Vocabulary
B. Inggris - VocabularyB. Inggris - Vocabulary
B. Inggris - Vocabulary
 
Seminario estrategias de busqueda
Seminario estrategias de busquedaSeminario estrategias de busqueda
Seminario estrategias de busqueda
 
Tendencias Pedagógicas
Tendencias Pedagógicas Tendencias Pedagógicas
Tendencias Pedagógicas
 
Relatorio final da Comissão de Estudos da Zona Azul 2009
Relatorio final da Comissão de Estudos da Zona Azul 2009Relatorio final da Comissão de Estudos da Zona Azul 2009
Relatorio final da Comissão de Estudos da Zona Azul 2009
 
Portaria 42
Portaria 42Portaria 42
Portaria 42
 
Yohana alejandra murillo
Yohana alejandra murilloYohana alejandra murillo
Yohana alejandra murillo
 
Convite
ConviteConvite
Convite
 
Ontario Hydro Substation Program
Ontario Hydro Substation ProgramOntario Hydro Substation Program
Ontario Hydro Substation Program
 
Imagen
ImagenImagen
Imagen
 
Capa - Revista Kambas da Paz
Capa - Revista Kambas da PazCapa - Revista Kambas da Paz
Capa - Revista Kambas da Paz
 
Creacion slideshare
Creacion slideshareCreacion slideshare
Creacion slideshare
 
Mainmap 2
Mainmap 2Mainmap 2
Mainmap 2
 
Dsc0728
 Dsc0728 Dsc0728
Dsc0728
 
20160503150350561
2016050315035056120160503150350561
20160503150350561
 
Barreira acústica viária contra ruidos urbanos
Barreira acústica viária contra ruidos urbanosBarreira acústica viária contra ruidos urbanos
Barreira acústica viária contra ruidos urbanos
 
Carña
CarñaCarña
Carña
 
AKI investimneto 100M duplicar rede lojas 10 mar 2016
AKI investimneto 100M duplicar rede lojas 10 mar 2016AKI investimneto 100M duplicar rede lojas 10 mar 2016
AKI investimneto 100M duplicar rede lojas 10 mar 2016
 
Afiche1
Afiche1Afiche1
Afiche1
 

Similar a Java ee 5

TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA  TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
Rodrigo Cândido da Silva
 
O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?
Bruno Borges
 
Arquitetura jee bp_overview
Arquitetura jee bp_overviewArquitetura jee bp_overview
Arquitetura jee bp_overview
Juarez Junior
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFX
jesuinoPower
 

Similar a Java ee 5 (20)

Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Faces
 
Apresentação
ApresentaçãoApresentação
Apresentação
 
Repensando padrões e boas práticas java ee
Repensando padrões e boas práticas java eeRepensando padrões e boas práticas java ee
Repensando padrões e boas práticas java ee
 
Java EE 6 e JBoss 6.0
Java EE 6 e JBoss 6.0Java EE 6 e JBoss 6.0
Java EE 6 e JBoss 6.0
 
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA  TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
TDC2012 - Implementando aplicativos Web com JSF, CDI e JPA
 
Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2Novidades do JSF: Um tour completo no JSF 2.2
Novidades do JSF: Um tour completo no JSF 2.2
 
GUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EEGUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EE
 
Novidades de Java EE 7
Novidades de Java EE 7Novidades de Java EE 7
Novidades de Java EE 7
 
Introdução a Plataforma Java EE
Introdução a Plataforma Java EEIntrodução a Plataforma Java EE
Introdução a Plataforma Java EE
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Apresentação hotspot
Apresentação hotspotApresentação hotspot
Apresentação hotspot
 
O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?O que ganhamos com Java e Cloud Computing?
O que ganhamos com Java e Cloud Computing?
 
Como Sobreviver Com Java2
Como Sobreviver Com Java2Como Sobreviver Com Java2
Como Sobreviver Com Java2
 
Java v1.1
Java v1.1Java v1.1
Java v1.1
 
Material da palestra sobre Queue Java na InfoQ - Por Yara Senger
Material da palestra sobre Queue Java na InfoQ - Por Yara SengerMaterial da palestra sobre Queue Java na InfoQ - Por Yara Senger
Material da palestra sobre Queue Java na InfoQ - Por Yara Senger
 
Arquitetura jee bp_overview
Arquitetura jee bp_overviewArquitetura jee bp_overview
Arquitetura jee bp_overview
 
Desenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFXDesenvolvimento rápido de aplicações com JEE e JavaFX
Desenvolvimento rápido de aplicações com JEE e JavaFX
 
Java basico
Java basicoJava basico
Java basico
 
JEE6 - Introdução
JEE6 - IntroduçãoJEE6 - Introdução
JEE6 - Introdução
 
As Novidades do JMS 2.0
As Novidades do JMS 2.0As Novidades do JMS 2.0
As Novidades do JMS 2.0
 

Más de Juarez Junior

Más de Juarez Junior (20)

Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADBOracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
Oracle CloudWorld 2023 - How to hook up Telegram with Spring Boot and ADB
 
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
Oracle CloudWorld 2023 - A Practical Guide to Implementing DevOps with IaC fo...
 
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
Oracle CloudWorld 2023 - A High-Speed Data Ingestion Service in Java Using MQ...
 
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
Oracle CloudWorld 2023 - Multi-cloud App Dev for Java Devs with Microsoft Azu...
 
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
GeeCon Prague 2023 - Unleash the power of your applications with Micronaut®, ...
 
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
jPrime 2023 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ...
 
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
Porto Tech Hub Conference 2023 - Revolutionize Java DB AppDev with Reactive S...
 
SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM...
SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM...SevillaJUG - Unleash the power of your applications with Micronaut®  ,GraalVM...
SevillaJUG - Unleash the power of your applications with Micronaut® ,GraalVM...
 
SKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for DatabasesSKILup Days Container Orchestration - Kubernetes Operators for Databases
SKILup Days Container Orchestration - Kubernetes Operators for Databases
 
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
TDC Connections 2023 - Revolutionize Java DB AppDev with Reactive Streams and...
 
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
TDC Connections 2023 - A High-Speed Data Ingestion Service in Java Using MQTT...
 
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
DTU Global Azure 2023 Bootcamp - Multi-cloud App Dev for Java Developers with...
 
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
Melee Numerique 2022 - Revolutionize Java DB App Dev with Reactive Streams an...
 
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
JCON OpenBlend Slovenia 2023 - A High-Speed Data Ingestion Service in Java Us...
 
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual ThreadsDWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
DWX23 - Revolutionize Java DB AppDev with Reactive Streams and Virtual Threads
 
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
DWX23 - A High-Speed Data Ingestion Service in Java Using MQTT, AMQP, and STO...
 
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
DeveloperWeek Latin America 2023 - A High-Speed Data Ingestion Service in Jav...
 
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for DatabasesDeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
DeveloperWeekEnterprise2023 - Introduction to Kubernetes Operators for Databases
 
DevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for DatabasesDevConf.cz - Introduction to Kubernetes Operators for Databases
DevConf.cz - Introduction to Kubernetes Operators for Databases
 
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
CloudTalks - Revolutionize Java DB AppDev with Reactive Streams and Virtual T...
 

Java ee 5

  • 1. Java EE 5 - EJB 3.0, JSF 1.2 e NetBeans 5.5 Jul 23, 2012 Page 1
  • 2. Java EE 5 – EJB 3.0, JSF 1.2, NetBeans IDE 5.5 – Case Site Disponibilização O novo Java Enterprise Edition – EJB 3.0, JSF 1.2 e NetBeans IDE 5.5 – Juarez Barbosa – Systems Architect Java EE 5 - EJB 3.0, JSF 1.2 e NetBeans 5.5 Jul 23, 2012 Page 2
  • 3. Objetivos • Apresentar a nova versão da plataforma Java Enterprise Edition – Java EE 5 • Apresentar a API Enterprise JavaBeans – EJB 3.0 – JSR - 220 • Apresentar a API Java ServerFaces – JSF 1.2 – JSR - 252 • Apresentar a IDE NetBeans 5.5 e o Visual Web Pack Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 4. Agenda • Introdução Java EE 5 - Overview • EJB 3.0 • JSF 1.2 • NetBeans 5.5 • Case Site Disponibilização e apresentação de exemplos de código Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 5. Java EE 5 • “Java EE 5 significantly reduces the cost and complexity of developing and deploying multi-tier solutions, resulting in services that can be rapidly deployed and easily enhanced.” • Especificação Java EE 5 (umbrella) – Java Platform, Enterprise Edition 5 (Java EE 5) • JSR-244 Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 6. Java EE 5 - Especificações • Web Services Technologies – Implementing Enterprise Web Services • JSR-109 – Java API for XML-Based Web Services (JAX-WS) 2.0 • JSR-224 – Java API for XML-Based RPC (JAX-RPC) 1.1 • JSR-101 – Java Architecture for XML Binding (JAXB) 2.0 • JSR-222 – SOAP with Attachments API for Java (SAAJ) • JSR-67 – Streaming API for XML • JSR-173 – Web Service Metadata for the Java Platform • JSR-181 Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 7. Java EE 5 - Especificações • Web Application Technologies – Java Servlet 2.5 • JSR-154 – JavaServer Faces 1.2 • JSR-252 – JavaServer Pages 2.1 • JSR-245 – JavaServer Pages Standard Tag Library • JSR-52 Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 8. Java EE 5 - Especificações • Enterprise Technologies – Enterprise JavaBeans 3.0 • JSR-220 – J2EE Connector Architecture 1.5 • JSR-112 – Common Annotations for the Java Platform • JSR-250 – Java Message Service API • JSR-914 – Java Persistence API • JSR-220 – Java Transaction API (JTA) • JSR-907 – JavaBeans Activation Framework (JAF) 1.1 • JSR-925 – JavaMail • JSR-919 Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 9. Java EE 5 - Especificações • Management and Security Technologies – J2EE Application Deployment • JSR-88 – J2EE Management • JSR-77 – Java Authorization Contract for Containers • JSR-115 Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 10. Java EE 5 x J2EE - Diferenças • J2EE, poderoso mas complexo – Java EE 5 mantêm as características mas de forma muito mais simples e produtiva, foco principal da JSR-244 • Características do Java EE 5 – Annotations • Não afeta a semântica diretamente, mas afeta a forma como as bibliotecas e as ferramentas tratam o código – Conventions (or container defaults) • o desenvolvedor deixa a maioria do trabalho de configuração para os containers, que fornecem um conjunto bem definido de valores default, considerando os casos mais comuns. Desenvolvedor usa "Configuration by Exception“. Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 11. Java EE 5 x J2EE - Diferenças • Características do Java EE 5 – Dependency Injection • “Do not call me, I will call you”. As dependências são injetadas automaticamente nos componentes pelo container, com ajuda das annotations. Não é preciso buscar os recursos explicitamente; – “boilerplate code” ficou obsoleto e os deployment descriptors são opcionais; Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 12. Java EE 5 x J2EE - Diferenças • Características do Java EE 5 – Lightweight Persistence • JPA - Modelo de persistência unificado, não limitado a EJBs. As classes podem ser usadas em outros componentes, inclusive fora do servidor de aplicação. As Entities agora são classes POJO, suportando herança e polimorfismo; – Entity Manager API • principal API do Java EE 5 para interação com banco de dados. O EM gerencia o ciclo de vida e estado das entities, suportando CRUD, pesquisa, execução de queries (inclusive dinâmicas), mecanismo de vinculação, liberação e unificação (attach/detach/merge); Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 13. Java EE 5 x J2EE - Diferenças • Características do Java EE 5 – JP-QL – Java Persistence QL • O antigo EJB-QL 2.1 foi melhorado e agora suporta: named queries, queries com named parameters, dynamic queries, bulk updates e deletes. O JP-QL também suporta queries SQL nativas. • Características herdadas dos “concorrentes” – JBoss Hibernate, Oracle Toplink, JDO. Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 14. Java EE 5 x J2EE - Diferenças • Características do Java EE 5 – JavaServer Faces • O JSF permite a construção e controle de GUIs geradas dinamicamente pelo servidor através de componentes reutilizáveis. O JSF trabalha integrado com a tecnologia JSP e ambos possuem uma Expression Language unificada (EL). O JSF fornece tratamento de eventos facilitado, validação, navegação, suporte I18N e acessibilidade. Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 15. Java EE 5 x J2EE - Diferenças • Características do Java EE 5 – Web Services • O suporte ficou mais abrangente, porém mais simples, através do JAX-WS e JAXB. Utilização de annotations e defaults, dispensando deployment descriptors. Suporte nativo SOAP 1.1, SOAP 1.2, XML Schema e extensões para outros protocolos e encodings; Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 16. EJB 3.0 x EJB 2.x • EJB 2.1 – Apesar de poderoso (mas incompleto), é muito complexo • Muitas classes, interfaces • JNDI lookups • Uso de interfaces do pacote javax.ejb • Modelo de programação confuso • Deployment Descriptors • Anti-patterns - Entity Beans Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 17. EJB 3.0 x EJB 2.x • EJB 2.1 – Limitações • Para criar um EJB simples você precisar criar vários DDs; • Um conjunto de três arquivos fonte (pelo menos) deve ser criado; • Múltiplos métodos callback devem ser implementados e alguns possivelmente nem serão usados; • Você tem que arremesar e tratar vários tipos de exceções, desnecessariamente; • Os EJBs não podem ser testados fora do container; • EJB-QL é limitada e difícil de usar, forçando a utilização de JDBC e SQL ou outro mecanismo de persistência Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 18. EJB 3.0 • EJB 3.0 - características – Facilidade no desenvolvimento, simplicidade • Poucas classes e interfaces • Dependency Injection (sem JNDI lookups) • Não requer implementação de interfaces • Não requer deployment descriptors (opcional) • Mecanismo de persistência simplificado • Mapeamento O/R robusto (herança, polimorfismo, etc) Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 19. EJB 3.0 • JSR-000220 Enterprise JavaBeans 3.0 – FR - Specs – Desenvolvedores de aplicações que desejam usar EJB 3.0 • Enterprise JavaBeans 3.0 Final Release (ejbcore) – ejb-3_0-fr-spec-ejbcore.pdf • Enterprise JavaBeans 3.0 Final Release (persistence) – ejb-3_0-fr-spec-persistence.pdf • Enterprise JavaBeans 3.0 Final Release (simplified) – ejb-3_0-fr-spec-simplified.pdf – Desenvolvedores que desejam construir uma implementação de EJB 3.0 Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 20. EJB 3.0 • DI – Dependency Injection – Os recursos são injetados quando a instância é construída. Referências para: • EJBContext • DataSources • UserTransaction • Environment Entries • EntityManager • TimerService • Outros EJBs Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 21. EJB 3.0 • Client View Simplificada – Session beans agora usam interfaces Java simples • Não requer EJB(Local)Home interfaces • Não requer EJB(Local)Object interfaces – A Bean class é uma classe Java simples, portanto: • É uma classe Java plana (POJO) • Implementa interfaces Java comuns (POJI) Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 22. EJB 3.0 - Client View ... @EJB ShoppingCart myCart; ... Collection widgets = myCart.startToShop(“widgets”);... OBS: A versão atual do JBoss (4.0.5) ainda não suporta a annotation @EJB. Portanto, ainda é necessário o JNDI lookup (utilizar um Service Locator). Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 23. EJB 3.0 • Persistence API – Objetivos – Simplifica o modelo de programação de entities – Suporte para modelagem, incluindo herança e polimorfismo – Endereça as limitações anteriores que existiam para as queries – Suporta mapeamento O/R de forma robusta – As entidades podem ser usadas (e testadas) fora do container – Remove a necessidade de VOs/DTOs e outros anti-patterns Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 24. EJB 3.0 • Entity Manager – O EntityManager serve como uma “home” genérica, para operações que envolvem entities; – Possui métodos para gerenciamento do ciclo de vida • Persist, remove, merge, flush, refresh, etc – Funcionalidade similar ao Hibernate Session, JDO PersistenceManager, etcc Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 25. EJB 3.0 • Foco – Mapeamento O/R – Facilidade para que os desenvolvedores Java executem o mapeamento de um modelo de objetos para um banco relacional – O desenvolvedor fica seguro sobre o mapeamento entre o DB Schema e o modelo de domínio dos objetos • O desenvolvedor controla o mapeamento • O desenvolvedor pode confiar no mapeamento e semântica do mesmo – Os mapeamentos podem ser expressos usando annotations ou XML • Mapeametos default são fornecidos Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 26. EJB 3.0 • Interoperabilidade com EJB 2.X – Aplicações escritas usando a API EJB 2.1 e anteriores funcionam sem alterações nos containers EJB 3.0 – Caminho para migração • Novas aplicações usando EJB 3.0 podem ser clientes de EJBs antigos (specs anteriores), sem mudanças na cliente view pré- existente Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 27. EJB 3.0 - SLSB ... @Stateless public class ServidorFacade implements ServidorFacadeLocal { @PersistenceContext private EntityManager em; /** Creates a new instance of ServidorFacade */ public ServidorFacade() { } public void create(Servidor servidor) { em.persist(servidor); } public void edit(Servidor servidor) { em.merge(servidor); } ... Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 28. EJB 3.0 - SLSB ... @Local public interface ServidorFacadeLocal { void create(Servidor servidor); void edit(Servidor servidor); void destroy(Servidor servidor); Servidor find(Object pk); List findAll(); List findAllIds(); } ... Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 29. EJB 3.0 - Entities ... @Entity @Table(name = "servidor") @NamedQueries( { @NamedQuery(name = "Servidor.findAllIds", query = "SELECT s.codServidor FROM Servidor s ORDER BY s.codServidor DESC"), @NamedQuery(name = "Servidor.findByCodServidor", query = "SELECT s FROM Servidor s WHERE s.codServidor = :codServidor"),... }) public class Servidor implements Serializable { @Id @Column(name = "COD_SERVIDOR", nullable = false) private BigDecimal codServidor; @Column(name = "NOM_SERVIDOR", nullable = false) private String nomServidor;... @OneToMany(cascade = CascadeType.ALL, mappedBy = "servidor") private java.util.Collection <com.unisys.ciwebview.model.PerfilConfiguracao> perfilConfiguracaoCollection; /** Creates a new instance of Servidor */ public Servidor() { } Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 30. JSF 1.2 • Características – Arquitetura MVC Model 2 – Framework de componentes de interface (GUI), server side, para aplicações web baseadas em tecnologia Java – Permite construir uma aplicação utilizando drag-and-drop a composição visual – Modelo de componentes de interface bem extensível – Modelo de renderização flexível – Modelo de tratamento de eventos Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 31. JSF 1.2 • Características – Framework de validação (mais simples que Struts Validator) – Suporte ao controle de fluxo (navegação) entre páginas – Internacionalização – Acessibilidade – Suportado por IDEs e ferramentas que possibilitam o aumento de produtividade – Flexibilidade - Independente do dispositivo cliente Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 32. JSF 1.2 • Características – Framework de validação (mais simples que Struts Validator) – Suporte ao controle de fluxo (navegação) entre páginas – Internacionalização – Acessibilidade – Suportado por IDEs e ferramentas que possibilitam o aumento de produtividade Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 33. JSF - Arquitetura Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 34. JSF - Componentes • Uma página JavaServer Faces é representada por uma árvore de componentes, chamada de view – Uma view é uma árvore de componentes – Conceito familiar considerando o design de interfaces – Mapeia bem para o XML – Componentes Faces são JavaBeans, eles têm propriedades, métodos e eventos/ouvintes • Os componentes de apoio são anexados aos componentes JSF – Validators, Converters, Listeners Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 35. JSF – Componentes GUI Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 36. JSF – Passos para desenvolvimento • Passos para o desenvolvimento de uma aplicação JSF – 1) Desenvolver as classes do modelo (managed beans) que possuem os dados associados ao componente JSF; – 2) Adicionar as declarações dos managed beans ao arquivo faces-config.xml (elementos <managed-bean>); – 3) Criar as páginas JSF (JSP) utilizando os componentes GUI e as tag libraries do JSF (JSF Core Tags, JSF HTML Tags); – 4) Definir o fluxo de navegação utilizando o arquivo faces- config.xml (elementos <navigation-rule>); – 5) Configurar o arquivo web.xml da aplicação (configurar Faces Servlet, etc). Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 37. JSF – Passos 1 • Passo 1: Desenvolver os Managed Beans – Representa o modelo (M) no MVC – O Managed Bean é um componente JavaBean comum com um conjunto de métdos get e set para todos os atributos – Ele pode conter métodos action (similar Struts DispatchAction) e manipuladores de eventos – Utilizado para armazenar os dados enviados por uma página UI (JSP) – A criação e o ciclo de vida são gerenciados pelo JSF runtime • application, session, request, etc – O JSF runtime mantém os dados do bean sincronizados com os dados da interface Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 38. JSF – Passos 1 • Passo 1: Desenvolver os Managed Beans – Representa o modelo (M) no MVC – O Managed Bean é um componente JavaBean comum com um conjunto de métdos get e set para todos os atributos – Ele pode conter métodos action (similar Struts DispatchAction) e manipuladores de eventos – Utilizado para armazenar os dados enviados por uma página UI (JSP) – A criação e o ciclo de vida são gerenciados pelo JSF runtime • application, session, request, etc – O JSF runtime mantém os dados do bean sincronizados com os dados da interface Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 39. MB - ServidorHelper.java public class ServidorHelper { //POJO private boolean mode; private Servidor servidor = new Servidor(); public ServidorHelper() { //NO-ARG CONSTRUCTOR } public String incluirServidor(){ //ACTION METHOD ServidorFacadeLocal local = (ServidorFacadeLocal) serviceLocator.lookupFacade(servidorFacade); List IDs = local.findAllIds(); BigDecimal novoID = null; if(IDs.isEmpty()){ novoID = new BigDecimal(0); } else{ novoID = (BigDecimal) IDs.get(0); } novoID = novoID.add(new BigDecimal(1)); servidor.setCodServidor(novoID); local.create(servidor); return NavigationUtils.SUCCESS; } //SETTERS AND GETTERS public Servidor getServidor() { return servidor; } public void setServidor(Servidor servidor) { this.servidor = servidor; } Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 40. JSF - Passo 2 - Adicionar MBs > faces- config.xml • Adicionar as declarações dos managed beans ao arquivo faces-config.xml (elementos <managed-bean>) <managed-bean> <description>Backing bean for Servidor</description> <managed-bean-name>ServidorBean</managed-bean-name> <managed-bean- class>com.unisys.ciwebview.control.ServidorHelper</managed-bean- class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 41. JSF - Passo 3 - Criar as páginas JSF (JSPs) • Criar as páginas JSF (JSP) utilizando os componentes GUI e as tag libraries do JSF (JSF Core Tags, JSF HTML Tags) – É obrigatório incluir as tag libraries JSF utilizadas • HTML e Core Tags – Todas as tags JSF devem estar entre um par de view - <f:view> - tags – Utilizar os componentes GUI da JSF • <h:input_text> e não <input type=”text”> • <h:command_button> e não <input type=”submit”> – Validators e Event Listeners podem ser definidos para qualquer componente JSF Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 42. UI Binding – servidor.jsp > ServidorBean Arquivo JSP: <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <f:view> <h:form id="servidorForm"> <h1><h:outputText value="Servidor"/></h1> <h:panelGrid columns="3" columnClasses="section"> <h:outputLabel value="Nome Servidor: " for="nomServidor" /> <h:inputText id="nomServidor" value="#{ServidorBean.servidor.nomServidor}" required="true" /> <h:message for="nomServidor" /> </h:panelGrid> <h:panelGroup> <h:commandButton id="submitIncluirServidor" action="#{ServidorBean.incluirServidor}" value="Incluir" styleClass="inputfonte" rendered="#{not ServidorBean.mode}" /> <h:commandButton id="submitAtualizarServidor" action="#{ServidorBean.atualizarServidor}" value="Atualizar" styleClass="inputfonte" rendered="#{ServidorBean.mode}" /> </h:panelGroup> </h:form> </f:view> Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 43. JSF - Passo 4 – Regras de Navegação • Definir o fluxo de navegação utilizando o arquivo faces- config.xml (elementos <navigation-rule>) – As regras de navegação são configuradas no arquivo faces- config.xml – O NavigationHandler (default) controla o fluxo baseado em: • Qual component tree (ex, página) está sendo processada no momento? • Originária da página/view (from-view); • Qual resultado retornado pela ação? • Originária do resultado de uma action (from-outcome); • Qual a próxima página a ser exibida (to-view). Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 44. JSF - Passo 4 – Regras de Navegação • Definir o fluxo de navegação utilizando o arquivo faces-config.xml <!-- main page --> <navigation-rule> <from-view-id>/main.jsp</from-view-id> <navigation-case> <from-outcome>adm_servidores</from-outcome> <to-view-id>/adm_servidores.jsp</to-view-id> </navigation-case> </navigation-rule> ... <!-- lista servidores --> <navigation-rule> <from-view-id>/adm_servidores.jsp</from-view-id> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/lista_servidores.jsp</to-view-id> </navigation-case> </navigation-rule> Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 45. JSF - Passo 5 – configurar web.xml • Configurar o arquivo web.xml da aplicação (Faces Servlet, Context Parameters, etc) <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" ...>... <context-param> <param-name>com.sun.faces.validateXml</param-name> <param-value>true</param-value> </context-param> ... <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> ... </web-app> Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 46. JSF – Componentes (WAR) • Quais componentes e recursos fazem parte de uma aplicação JSF? Arquivo WAR com: your.jpg your.jsp WEB-INF/web.xml WEB-INF/faces-config.xml WEB-INF/classes/your.class WEB-INF/lib/your.jar (if not running in Java WSDP) WEB-INF/lib/jsf-api.jar WEB-INF/lib/jsf-ri.jar WEB-INF/lib/jstl.jar WEB-INF/lib/jsf-el.jar WEB-INF/lib/standard.jar WEB-INF/lib/commons-beanutils.jar WEB-INF/lib/commons-digester.jar WEB-INF/lib/commons-collections.jar WEB-INF/lib/commons-logging.jar Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 47. JSF – Componentes • Exemplos de componentes JSF comerciais e open-source (free): – https://javaserverfaces.dev.java.net/ – https://facelets.dev.java.net/ – http://myfaces.apache.org/ – http://component-showcase.icefaces.org/component-show – http://livedemo.exadel.com/richfaces-demo/ Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 48. NetBeans 5.5 • Características – Primeira IDE open-source, free, com suporte a Java 5 – Suporte desenvolvimento nas três plataformas – JSE, JEE, JME (mobile, desktop, web e enterprise) – Ambiente open-source, multi-plataforma, 100% Java – Fácil instalação, descomplicada e sem a necessidade de plug-ins (apenas se utilizado algum framework ou produto específico) – Swing GUI Builder, Web Application Development, Enterprise Development, – Web Services and Application Servers Integration, Developer Collaboration, Advanced Source Code Editor, Java Mobility (Java ME), Visual Web Development, Service-Oriented Architecture (SOA), C/C++ development. – Screenshots • http://www.netbeans.org/products/ide/screenshots.html Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 49. Case – Site Disponibilização GCI • Em desenvolvimento, proposta para visualização de informações considerando os ambientes do GCI • Boa oportunidade para uma prova de conceito – JSF 1.1, EJB 3.0 – NetBeans 5.5, Visual Web Pack – JBoss 4.0.4, MySQL (dev only) Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge
  • 50. Referências • JSR 220: Enterprise JavaBeansTM 3.0 – http://jcp.org/en/jsr/detail?id=220 • JSR 252: JavaServer Faces 1.2 – http://jcp.org/en/jsr/detail?id=252 • NetBeans 5.5 – http://www.netbeans.org/ • NetBeans Visual Web Pack 5.5 – http://www.netbeans.org/products/visualweb/ • JCP – Java Community Process – http://jcp.org/en/home/index Pa Java EE 5 - EJB 3.0, JSF 1.2 e NetBeansJul 23, 2012 5.5 ge