SlideShare uma empresa Scribd logo
1 de 74
Baixar para ler offline
Mini-curso Gratuito




Globalcode             Slide 1
Mini-curso Gratuito


             Tutorial Java Enterprise
                Edition (Java EE)

                Rodrigo Cândido da Silva
                Instrutor VOffice / Globalcode




Globalcode                                       Slide 2
Objetivo


             Conhecer a plataforma Java Enterprise Edition 5
             e entender as principais diferenças desta versão
                    em relação as versões anteriores




Globalcode                                                      Slide 3
Agenda
             Plataforma Java
             Java Enterprise Edition
             Principais Tecnologias (APIs)
                 Java Servlet
                 JSP
                 JSF
                 EJB
                 JPA
                 Injeção de Dependência
                 Segurança
             Servidores de Aplicação
             Comparativo de Versões
             Demo
             Perguntas e Respostas

Globalcode                                   Slide 4
Palestrante

     Rodrigo Cândido da Silva – rcandidosilva@gmail.com

             Trabalha: Arquiteto Java / Instrutor

             Experiência: 8 anos na área de desenvolvimento de
             sistemas, trabalhando com Java desde 2001;

             Certificações: SCJA, SCJP, SCWCD, SCBCD, SCEA




Globalcode                                                       Slide 5
Agenda
             Plataforma Java
             Java Enterprise Edition
             Principais Tecnologias (APIs)
                 Java Servlet
                 JSP
                 JSF
                 EJB
                 JPA
                 Injeção de Dependência
                 Segurança
             Servidores de Aplicação
             Comparativo de Versões
             Demo
             Perguntas e Respostas

Globalcode                                   Slide 6
Plataforma Java
  • Desenvolvimento de software robusto para diferentes tipos de
    dispositivos
        PC, celular, palmtop, robôs, etc.

  • Software Multiplataforma
        “Escreva uma vez e execute em qualquer lugar...”
        Código não precisa ser recompilado para executar em outro sistema
        operacional

  • Máquina Virtual (Java Virtual Machine - JVM)
       Responsável por oferecer a flexibilidade de sistema operacional para
       um software Java

  • Mantida pela comunidade de desenvolvedores por meio do JCP (Java
    Community Process)

Globalcode                                                              Slide 7
Java Community Process (JCP)




Globalcode                     Slide 8
Plataforma Java
  • A plataforma é dividida em três partes:

             Java Standard Edition (Java SE)
               Base do Java que contém as principais APIs


             Java Enterprise Editon (Java EE)
               Versão de Java para desenvolvimento de aplicações Web e enterprise
               que rodam em servidores padronizados


             Java Micro Edition (Java ME)
               Redução da plataforma Standard para dispositivos móveis como PDA e
               celulares




Globalcode                                                                      Slide 9
Agenda
             Plataforma Java
             Java Enterprise Edition
             Principais Tecnologias (APIs)
                 Java Servlet
                 JSP
                 JSF
                 EJB
                 JPA
                 Injeção de Dependência
                 Segurança
             Servidores de Aplicação
             Comparativo de Versões
             Demo
             Perguntas e Respostas

Globalcode                                   Slide 10
Java Enterprise Edition
  • Suporte ao desenvolvimento de aplicações
    “enterprise”
             Aplicações distribuídas, seguras, escaláveis, de alta
             disponibilidade e com baixo custo de manutenção


  • Plataforma para desenvolvimento de software de
    pequeno, médio e grande porte em múltiplas
    camadas de componentes
             Componentes “rodam” em um servidor Java EE




Globalcode                                                           Slide 11
Arquitetura Java EE




Globalcode            Slide 12
Arquitetura Java EE




Globalcode            Slide 13
Agenda
             Plataforma Java
             Java Enterprise Edition
             Principais Tecnologias (APIs)
                 Java Servlet
                 JSP
                 JSF
                 EJB
                 JPA
                 Injeção de Dependência
                 Segurança
             Servidores de Aplicação
             Comparativo de Versões
             Demo
             Perguntas e Respostas

Globalcode                                   Slide 14
Java Servlet
  • Aplicações que rodam no servidor e respondem requisições de
    clientes Web




Globalcode                                                        Slide 15
Java Servlet




Globalcode     Slide 16
Java Servlet
  • Responsável pela geração de conteúdo dinâmico

  • É uma classe Java que estende HttpServlet;

  • Tecnologia “mãe” do JSP;

  • Deve ser declarado e configurado no web.xml;

  • Usado como controladores no padrão MVC

  • Servlet vs. JSP:
       Servet = mais utilizado para recepção e controle de requisições Web;
       JSP = mais utilizado para geração de conteúdo;



Globalcode                                                             Slide 17
Java Servlet
             package xpto;
             import java.io.*;
             import javax.servlet.*;
             import javax.servlet.http.*;

             public class OlaMundo extends HttpServlet {
                 public void doGet(HttpServletRequest request,
             HttpServletResponse   response) throws IOException,
             ServletException
                 {
                     response.setContentType("text/html");
                     PrintWriter out = response.getWriter();
                     out.println("<html>");
                     out.println("<body>");
                     out.println("<head>");
                     out.println("<title>Hello World!</title>");
                     out.println("</head>");
                     out.println("<body>");
                     out.println("<h1>Hello World!</h1>");
                     out.println("</body>");
                     out.println("</html>");
                 }
             }



Globalcode                                                         Slide 18
Java Servlet
   • Exemplo de configuração no arquivo web.xml

             <servlet>
                 <servlet-name>OlaMundo</servlet-name>
                 <servlet-class>exemplo01.OlaMundo</servlet-class>
             </servlet>
             <servlet-mapping>
                 <servlet-name>OlaMundo</servlet-name>
                 <url-pattern>/OlaMundo</url-pattern>
             </servlet-mapping>




Globalcode                                                      Slide 19
Agenda
             Plataforma Java
             Java Enterprise Edition
             Principais Tecnologias (APIs)
                 Java Servlet
                 JSP
                 JSF
                 EJB
                 JPA
                 Injeção de Dependência
                 Segurança
             Servidores de Aplicação
             Comparativo de Versões
             Demo
             Perguntas e Respostas

Globalcode                                   Slide 20
JavaServer Pages (JSP)
  • É uma tecnologia Java para geração de conteúdo Web
    dinâmico (estático + banco de dados, por exemplo)
    mesclando código HTML com código Java:

             <html>
               <head>
                 <title>Olá Mundo</title>
               </head>
               <body>
                   Código HTML puro <br>
                   <% for(int x=0;x<100;x++) {   %>
                     <p>Olá Mundo com laço: <%= x %></p>
                   <%}%>
               </body>
             </html>


Globalcode                                                 Slide 21
JavaServer Pages (JSP)
  • Parecido com ASP, porém no lugar de Basic utilizamos
    Java;

  • Robusto, flexível e componentizável;

  • Permite a criação de aplicativos simples, inteiramente
    escritos dentro dos JSP’s (model one);

  • Permite a criação de aplicativos profissionais, utilizando
    técnicas avançadas de modelagem como M.V.C.;

  • Rápido ;

  • É transformado em Servlet antes da sua execução;


Globalcode                                                   Slide 22
Agenda
             Plataforma Java
             Java Enterprise Edition
             Principais Tecnologias (APIs)
                 Java Servlet
                 JSP
                 JSF
                 EJB
                 JPA
                 Injeção de Dependência
                 Segurança
             Servidores de Aplicação
             Comparativo de Versões
             Demo
             Perguntas e Respostas

Globalcode                                   Slide 23
JavaServer Faces (JSF)
  • Framework para a implementação de interfaces gráficas das
    aplicações Web baseadas no modelo Swing

  • Incorpora características de um framework MVC para WEB e de um
    modelo de interfaces gráficas baseado em eventos
        Separação entre visualização e regras de negócio
        Visualização pode ser feita por diferentes renderizadores

  • Padrão de Componentes de User Interface
       Especificação Java EE, portante exige uma implementação

  • Amplo suporte de IDEs (Eclipse, Netbeans,DreamWeaver)
      “Toolability = Ferramentabilidade”

  • Diversas bibliotecas de componentes de UI de terceiros
Globalcode                                                       Slide 24
JavaServer Faces (JSF)

  J2EE Web Container                          J2EE EJB
                                              Container


     JavaServer Faces




   Controller   View              Model

    Servlet     Java     Custom   JavaBeans     EJB
                Server   Tag
                Pages




Globalcode                                            Slide 25
JavaServer Faces (JSF)




Globalcode               Slide 26
JavaServer Faces (JSF)
   Página JSF
   faces-config.xml




                      Managed Bean




Globalcode                           Slide 27
JavaServer Faces (JSF)

     Componentes para JavaServer Faces

     • DataGrid;
     • Tabbed Panel;
     • PanelGrid;
     • SelectOneMenu, SelectOneRadio, SelectOneListBox;
     • SelectManyMenu, SelectManyRadio, SelectManyListBox;
     • FileUpload;
     • Auto-complete AJAX;
     • Muitos outros…



Globalcode                                                   Slide 28
Agenda
             Plataforma Java
             Java Enterprise Edition
             Principais Tecnologias (APIs)
                 Java Servlet
                 JSP
                 JSF
                 EJB
                 JPA
                 Injeção de Dependência
                 Segurança
             Servidores de Aplicação
             Comparativo de Versões
             Demo
             Perguntas e Respostas

Globalcode                                   Slide 29
Enterprise JavaBeans (EJB)
  • Componentes de regras de negócio que podem ser acessados
    remotamente
             Podem ser utilizados em aplicações Web e não Web


  • Tem contexto transacional
       Servidor pode cuidar processo de commit / rollback automaticamente

  • Classificados em:
        Session Beans
        Message-driven beans




Globalcode                                                           Slide 30
Enterprise JavaBeans (EJB)

    Componentes Negócio Compartilhados

        Cliente WS
                                       EJB
                                   Session Bean


                       Swing

       Web Browser                   Java Web

                                  JVM + Container EE
                     Rede Local



Globalcode                                             Slide 31
Enterprise JavaBeans (EJB)

     Infra Estrutura do Container

                         Controle Transacional                                             EJB

                                                 Escalabilidade
             Segurança




                                                                                EJB
                                                                            Session Bean




                                                                  Queues                  Data
                                                                  Topics                 Sources
                                                                           Environment
                                                                             Entries

Globalcode                                                                                         Slide 32
EJB Session Bean
  • Representa um processo de negócio (regra de negócio);
  • Pode ser do tipo Stateless ou Stateful;
  • Stateless
             Não mantém estado de conversão com o cliente;
             Não tem compromisso de manter uma sessão;
             Não devemos utilizar atributos de negócio, somente atributos técnicos
             em cache;
             É um EJB econômico;
  • Stateful
             Mantém estado de conversão com o cliente;
             Cada cliente terá uma instancia do EJB exclusiva, desde a criação até
             a remoção;
             Podemos ter atributos de negócio com métodos getters e setters;


Globalcode                                                                   Slide 33
EJB Session Bean
  • Stateless (sem estado)




                             Período que uma instancia do
                             EJB fica “preso” a um cliente




Globalcode                                                   Slide 34
EJB Session Bean
  • Stateless (sem estado)




Globalcode                   Slide 35
EJB Session Bean
  • Stateful (com estado)




                              Período que uma
                            instancia do EJB fica
                            “preso” a um cliente



Globalcode                                     Slide 36
EJB Session Bean
  • Stateful (com estado)




Globalcode                  Slide 37
EJB Session Bean
  • Clientes acessam o Session Bean através de uma
    interface Java simples (POJI);
  • Métodos (serviços) são publicados através desta
    interface;
  • A interface deve ser implementada pela classe do Bean;
  • Tipos de Interfaces
             Local (@Local)
                Somente acesso local (mesma JVM);
                Cliente pode ser um componente Web ou outro EJB;
                Localização não é transparente (não suporta clusterização).
             Remota (@Remote)
                Suporta acesso remoto (fora da JVM);
                Cliente pode ser um componente Web, outro EJB ou aplicação desktop;
                Transparência de localização (suporta clusterização).



Globalcode                                                                            Slide 38
EJB Session Bean
  • Local Interface




  • Remote Interface




Globalcode             Slide 39
EJB Message-Driven Bean (MDB)
  • EJB que é acionado de forma assíncrona;

  • Trabalha totalmente vinculado ao conceito de utilização
    de um serviço de mensagens;

  • Utiliza a API do Java Message Service (JMS) em conjunto
    com Session Beans;

  • Facilita a quebra de acoplamento entre o cliente e o
    destino;




Globalcode                                                 Slide 40
EJB Message-Driven Bean (MDB)
  • Vejamos o comparativo de uma chamada síncrona, e uma
    chamada assíncrona utilizando um serviço de mensagens


             Síncrono             Assíncrono




Globalcode                                              Slide 41
EJB Message-Driven Bean (MDB)

  • Existem dois tipos de destinos JMS
             Point-to-point (queue): uma mensagem enviada para a fila será
             consumida apenas por um cliente;
             Publish-subscriber (topic): uma mensagem pode ser recepcionada por
             múltiplos clientes;




Globalcode                                                                Slide 42
EJB Message-Driven Bean (MDB)
  • Exemplo de um MDB




Globalcode                      Slide 43
Agenda
             Plataforma Java
             Java Enterprise Edition
             Principais Tecnologias (APIs)
                 Java Servlet
                 JSP
                 JSF
                 EJB
                 JPA
                 Injeção de Dependência
                 Segurança
             Servidores de Aplicação
             Comparativo de Versões
             Demo
             Perguntas e Respostas

Globalcode                                   Slide 44
Java Persistence API (JPA)

  • Primeira especificação (padrão) de mapeamento de
    objetos Java para base de dados relacional
             Integração com outros frameworks
                Hibernate é uma implementação de JPA
                TopLink Essencials é uma implementação de JPA (RI)


  • POJO (Plain Old Java Objects)                       Entidades
             Mapeamento via metadados (annotation Java 5)

  • Pode ser utilizado fora de containeres EJBs (ligthweigth
    container)

  • Uso de injeção de dependência ao invés de lookups JNDI


Globalcode                                                           Slide 45
Java Persistence API (JPA)




Globalcode                   Slide 46
Entidade JPA




Globalcode     Slide 47
Java Persistence API (JPA)
  • EntityManager           (javax.persistence)
             Gerencia o ciclo de vida das entidades


                                                  (B) find / query
                                                  (C) persist
                                                  (D) clear / serialização
                                                  (E) merge
                                                  (F) remove




Globalcode                                                              Slide 48
Java Persistence API (JPA)
  • PersistenceContext
             Conjunto de objetos “managed” associados a um
             EntityManager




         EntityManager           PersistenceContext


                 obj5
                                 obj1     obj2    obj3      obj4
               NEW / DETACHED
                                MANAGED   MANAGED MANAGED   MANAGED




Globalcode                                                            Slide 49
Java Persistence API (JPA)
  • Persistence Unit
             Uma unidade de persistência define um contexto de
             funcionamento para os EntityManagers




Globalcode                                                       Slide 50
Utilizando JPA




Globalcode       Slide 51
Agenda
             Plataforma Java
             Java Enterprise Edition
             Principais Tecnologias (APIs)
                 Java Servlet
                 JSP
                 JSF
                 EJB
                 JPA
                 Injeção de Dependência
                 Segurança
             Servidores de Aplicação
             Comparativo de Versões
             Demo
             Perguntas e Respostas

Globalcode                                   Slide 52
Injeção de Dependência
  • Mecanismo de “injeção” de recursos necessários
    a um componente de forma automática
             Sem a presença de instruções explícitas para acessar o
             recurso
  • Exemplo:
             O componente de negócios A depende do componente de
             negócios B e do pool de conexões C.

                                           B
                            A
                                           C

Globalcode                                                       Slide 53
Injeção de Dependência
  • Sem injeção de dependência:
             Código fonte do componente A contém instruções para
             “buscar” o componente B e o recurso C.



                                    lookups
         Serviço de Nomes
                                               A
              “ejb/componenteB”
             “jdbc/dataSourceC”


                                                    B
                                       C

Globalcode                                                     Slide 54
Injeção de Dependência
  • Com injeção de dependência
             Código do componente A não busca recursos e outros
             componentes

             Devemos declarar as dependências de componentes e
             recursos nos atributos ou métodos setters do componente
             A

             Container (Java EE) interpreta as dependências
             declaradas no componente A e “injeta” os recursos e
             componentes necessários



Globalcode                                                         Slide 55
Injeção de Dependência

     class ComponenteA {
             @EJB(name=“ejb/componenteB”) InterfaceB b;
             @Resource(name=“jdbc/dataSourceC”) DataSource c;
     }

                                     injeção
             Serviço de Nomes
                                               A
                “ejb/componenteB”
               “jdbc/dataSourceC”


                                                    B
                                        C
Globalcode                                                      Slide 56
Injeção de Dependência
  • Exemplo de Utilização




Globalcode                  Slide 57
Injeção de Dependência
             Quem pode receber injeção ?
               EJB, Interceptor
               Servlet, Filter, *Listener, JSP Tag Handler
               JSF Managed Beans
               Endpoints JAX-WS e Handlers


             O que pode ser injetado ?
               Referências a EJBs e a Web Services
               DataSource JDBC
               Destination e ConnectionFactory JMS
               UserTransaction
               EntityManager (JPA)




Globalcode                                                   Slide 58
Agenda
             Plataforma Java
             Java Enterprise Edition
             Principais Tecnologias (APIs)
                 Java Servlet
                 JSP
                 JSF
                 EJB
                 JPA
                 Injeção de Dependência
                 Segurança
             Servidores de Aplicação
             Comparativo de Versões
             Demo
             Perguntas e Respostas

Globalcode                                   Slide 59
Segurança
  • Java EE suporta todos os níveis de segurança;
  • Utiliza o Java Authentication and Autorization Service (JAAS);
  • Consiste no mecanismo de autenticação e autorização de usuários,
    baseado em uma identidade e roles (perfil de acesso) associados.




Globalcode                                                       Slide 60
Segurança
  • Exemplo de Verificações de Segurança Declarativa




Globalcode                                             Slide 61
Segurança
  • Exemplo de Verificações de Segurança Programática




Globalcode                                              Slide 62
Java Enterprise Edition
  • Outras APIs:
             JCA (Java Conector Architecture)
             JTA (Java Transaction API)
             JNDI, RMI-IIOP
             JDBC
             JMS (Java Messaging Service)
             JAXP, JAX-RPC,
             JMX
             …




Globalcode                                      Slide 63
Agenda
             Plataforma Java
             Java Enterprise Edition
             Principais Tecnologias (APIs)
                 Java Servlet
                 JSP
                 JSF
                 EJB
                 JPA
                 Injeção de Dependência
                 Segurança
             Servidores de Aplicação
             Comparativo de Versões
             Demo
             Perguntas e Respostas

Globalcode                                   Slide 64
Servidores de Aplicação




                          Fonte: Tutorial Java EE da Sun


Globalcode                                          Slide 65
Servidores de Aplicação
  • Web Container
             Trabalha em conjunto com um Servidor HTTP para
             oferecer suporte aos componentes da camada Web
                Tomcat (Apache)
                Jetty
                JRun (Adobe)



  • EJB Container
             É o servidor de componentes transacionais EJB
                OpenEJB (Apache) *
             Containeres específicos dos fabricantes de servidores de
             aplicação


Globalcode                                                        Slide 66
Servidores de Aplicação
  • Serviços oferecidos pelos containeres Java EE:
             Gestão de memória, ciclo de vida de objetos e estado de
             objetos
             Conexões, Transações, Serviço de nomes
             Segurança
             Tolerância a falhas
             Integração
             WebServices
             Clustering
             Alta disponibilidade
             Confiabilidade...


Globalcode                                                       Slide 67
Servidores de Aplicação
  • Servidores de aplicação Java EE (* gratuitos)
       JBoss Application Server (RedHat) *
       GlassFish (RI) (Sun) *
       Gerônimo (Apache) *
       Websphere Application Server (IBM)
       WebLogic Server (BEA)
       Oracle application Server – OC4J (Oracle)

  • A escolha do servidor deve considerar se a versão
    escolhida é compatível com o Java EE utilizado (1.4 ou 5)
       Servidores certificados são listados em:
       http://java.sun.com/javaee/overview/compatibility.jsp

Globalcode                                                Slide 68
Agenda
             Plataforma Java
             Java Enterprise Edition
             Principais Tecnologias (APIs)
                 Java Servlet
                 JSP
                 JSF
                 EJB
                 JPA
                 Injeção de Dependência
                 Segurança
             Servidores de Aplicação
             Comparativo de Versões
             Demo
             Perguntas e Respostas

Globalcode                                   Slide 69
Comparativo de Versões
  •   Java EE 1.4
             Novembro de 2003
             EJB 2.1, Servlet 2.4 e JSP 2.0
             Principais problemas
                  Deployment descriptor
                  Interfaces
                  Entity beans
                  Complexidade de aprendizado e desenvolvimento

  •   Java EE 5
          Maio de 2006
          Aumentar a produtividade e facilitar o desenvolvimento
          Principais mudanças
               Anotações
               Enterprise JavaBeans 3.0
               Java Persistence API (JPA)
               Injeção de dependência
               Inclusão de JSF 1.2
               Novas versões das APIs existentes

Globalcode                                                         Slide 70
Comparativo de Versões
  • Java EE 6 (O que vem por aí !!!)
             Previsão da final specification no 1Q2009;
             Futuras mudanças
                Java Servlet 3.0;
                EJB 3.1;
                JPA 2.0;
                JSF 2.0;
                Web Beans;
                Profiles (deployment);
                Novas versões das APIs existentes.




Globalcode                                                Slide 71
Demo




Globalcode   Slide 72
Perguntas & Respostas




Globalcode               Slide 73
Mini-curso Gratuito


             Agradecemos a presença!




             http://sites.google.com/site/vofficejava/



Globalcode                                               Slide 74

Mais conteúdo relacionado

Mais procurados

Programação em java linguagem, ap is, boas práticas e eclipse
Programação em java   linguagem, ap is, boas práticas e eclipseProgramação em java   linguagem, ap is, boas práticas e eclipse
Programação em java linguagem, ap is, boas práticas e eclipseFilipe Bezerra Sousa
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Luis Borges Gouveia
 
Apresentação java
Apresentação javaApresentação java
Apresentação javamunosai
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem JavaUFPA
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java BasicoJoel Lobo
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesRodrigo Cândido da Silva
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVAMoises Omena
 
Construindo aplicações web java com netbeans
Construindo aplicações web java com netbeansConstruindo aplicações web java com netbeans
Construindo aplicações web java com netbeansSliedesharessbarbosa
 
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Adriano Teixeira de Souza
 
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaTutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaPaulo César M Jeveaux
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)Mario Sergio
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Eduardo Carvalho
 

Mais procurados (20)

Programação em java linguagem, ap is, boas práticas e eclipse
Programação em java   linguagem, ap is, boas práticas e eclipseProgramação em java   linguagem, ap is, boas práticas e eclipse
Programação em java linguagem, ap is, boas práticas e eclipse
 
Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)Introdução ao JAVA (linguagem de programação WEB)
Introdução ao JAVA (linguagem de programação WEB)
 
Introdução ao Java
Introdução ao JavaIntrodução ao Java
Introdução ao Java
 
Apresentação java
Apresentação javaApresentação java
Apresentação java
 
Introdução a Linguagem Java
Introdução a Linguagem JavaIntrodução a Linguagem Java
Introdução a Linguagem Java
 
Java modulo 01 - Introdução
Java modulo 01 - IntroduçãoJava modulo 01 - Introdução
Java modulo 01 - Introdução
 
Java Seminar
Java SeminarJava Seminar
Java Seminar
 
Manual
ManualManual
Manual
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Teste Driven Development
Teste Driven DevelopmentTeste Driven Development
Teste Driven Development
 
Educação e certificação na Plataforma .NET
Educação e certificação na Plataforma .NETEducação e certificação na Plataforma .NET
Educação e certificação na Plataforma .NET
 
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrõesMC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
MC31 - Desenvolvimento um Aplicativo completo usando JSF, EJB e padrões
 
Java Web, o Tutorial
Java Web, o TutorialJava Web, o Tutorial
Java Web, o Tutorial
 
Aula de Introdução - JAVA
Aula de Introdução  - JAVAAula de Introdução  - JAVA
Aula de Introdução - JAVA
 
Construindo aplicações web java com netbeans
Construindo aplicações web java com netbeansConstruindo aplicações web java com netbeans
Construindo aplicações web java com netbeans
 
ApresentaçãO De Java
ApresentaçãO De JavaApresentaçãO De Java
ApresentaçãO De Java
 
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
 
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com JavaTutorial: Desenvolvimento de aplicacoes moveis com Java
Tutorial: Desenvolvimento de aplicacoes moveis com Java
 
Curso de Java (Parte 5)
Curso de Java (Parte 5)Curso de Java (Parte 5)
Curso de Java (Parte 5)
 
Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections Classes Java , JDBC / Swing / Collections
Classes Java , JDBC / Swing / Collections
 

Destaque

Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...eneck
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicaçãoHelen Picoli
 
4 sistemas digitais logica de computação
4 sistemas digitais   logica de computação4 sistemas digitais   logica de computação
4 sistemas digitais logica de computaçãoWilsonkentura
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04thomasdacosta
 
Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01thomasdacosta
 
Livro iniciação à lógica matemática - alencar edgar filho
Livro   iniciação à lógica matemática - alencar edgar filhoLivro   iniciação à lógica matemática - alencar edgar filho
Livro iniciação à lógica matemática - alencar edgar filhoRenan Muzi
 
Aplicações HTML5 com Java EE 7 e NetBeans
Aplicações HTML5 com Java EE 7 e NetBeansAplicações HTML5 com Java EE 7 e NetBeans
Aplicações HTML5 com Java EE 7 e NetBeansBruno Borges
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...
Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...
Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...Namics – A Merkle Company
 
Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...
Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...
Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...Paul Weder
 
Tangible E Business Short
Tangible E Business ShortTangible E Business Short
Tangible E Business ShortWolfgang Maass
 
Mexican Cession - Clara
Mexican Cession - ClaraMexican Cession - Clara
Mexican Cession - Clarajmu101211
 
Mexican Cession - Charles
Mexican Cession - CharlesMexican Cession - Charles
Mexican Cession - Charlesjmu101211
 
Konfigurationsleitfaden Adventskalender
Konfigurationsleitfaden AdventskalenderKonfigurationsleitfaden Adventskalender
Konfigurationsleitfaden AdventskalenderApparena
 
Ppt Testing The Constitution
Ppt   Testing The ConstitutionPpt   Testing The Constitution
Ppt Testing The Constitutionericafischer
 
Webasto Airtop 200 Instructions
Webasto Airtop 200 InstructionsWebasto Airtop 200 Instructions
Webasto Airtop 200 InstructionsButler Technik
 

Destaque (20)

Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
Desenvolvimento de Sistemas Cliente/Servidor - Estrutura de sistemas cliente ...
 
Apresentação servidores de aplicação
Apresentação   servidores de aplicaçãoApresentação   servidores de aplicação
Apresentação servidores de aplicação
 
4 sistemas digitais logica de computação
4 sistemas digitais   logica de computação4 sistemas digitais   logica de computação
4 sistemas digitais logica de computação
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04
 
Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01Lógica e Matemática Computacional - Aula 01
Lógica e Matemática Computacional - Aula 01
 
Livro iniciação à lógica matemática - alencar edgar filho
Livro   iniciação à lógica matemática - alencar edgar filhoLivro   iniciação à lógica matemática - alencar edgar filho
Livro iniciação à lógica matemática - alencar edgar filho
 
Aplicações HTML5 com Java EE 7 e NetBeans
Aplicações HTML5 com Java EE 7 e NetBeansAplicações HTML5 com Java EE 7 e NetBeans
Aplicações HTML5 com Java EE 7 e NetBeans
 
Curso de Java #03 - Instalando JDK Java
Curso de Java #03 - Instalando JDK JavaCurso de Java #03 - Instalando JDK Java
Curso de Java #03 - Instalando JDK Java
 
Curso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFXCurso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFX
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...
Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...
Designkantine Nur 3 Sekunden - Haben Sie in dieser Zeit Ihre Zielgruppe überz...
 
Entourage
EntourageEntourage
Entourage
 
Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...
Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...
Das geheime Buch Audebar. Der Sonnenstaat - Umrisse einer neuen Gesellschafts...
 
Tangible E Business Short
Tangible E Business ShortTangible E Business Short
Tangible E Business Short
 
Mexican Cession - Clara
Mexican Cession - ClaraMexican Cession - Clara
Mexican Cession - Clara
 
Mexican Cession - Charles
Mexican Cession - CharlesMexican Cession - Charles
Mexican Cession - Charles
 
Konfigurationsleitfaden Adventskalender
Konfigurationsleitfaden AdventskalenderKonfigurationsleitfaden Adventskalender
Konfigurationsleitfaden Adventskalender
 
Ppt Testing The Constitution
Ppt   Testing The ConstitutionPpt   Testing The Constitution
Ppt Testing The Constitution
 
Webasto Airtop 200 Instructions
Webasto Airtop 200 InstructionsWebasto Airtop 200 Instructions
Webasto Airtop 200 Instructions
 
Urlaubskatalog Teutoburger Wald
Urlaubskatalog Teutoburger WaldUrlaubskatalog Teutoburger Wald
Urlaubskatalog Teutoburger Wald
 

Semelhante a Java EE Mini-curso Gratuito Tutorial

Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesRafael Ponte
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Aécio Costa
 
Palestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao JavafxPalestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao Javafxalfredofurtado
 
Como Sobreviver Com Java2
Como Sobreviver Com Java2Como Sobreviver Com Java2
Como Sobreviver Com Java2Saulo Arruda
 
Spring roo produtividade no java
Spring roo produtividade no javaSpring roo produtividade no java
Spring roo produtividade no javaPedro Cavalero
 
Capacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitosCapacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitosEliete Regina Souza
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves PagesAmanda Luz
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebElenilson Vieira
 
Navegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaNavegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaAndrei Tognolo
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com GrailsWanderson Oliveira
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Facescejug
 

Semelhante a Java EE Mini-curso Gratuito Tutorial (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)
 
Anatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer FacesAnatomia do JSF, JavaServer Faces
Anatomia do JSF, JavaServer Faces
 
GUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EEGUJavaSC - Mini-curso Java EE
GUJavaSC - Mini-curso Java EE
 
Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!Java: Muito mais que uma linguagem!
Java: Muito mais que uma linguagem!
 
Palestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao JavafxPalestra Sepai Alfredofurtado Introducao Ao Javafx
Palestra Sepai Alfredofurtado Introducao Ao Javafx
 
Serra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EESerra StarTec 2013 - Java EE
Serra StarTec 2013 - Java EE
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
Como Sobreviver Com Java2
Como Sobreviver Com Java2Como Sobreviver Com Java2
Como Sobreviver Com Java2
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Spring roo produtividade no java
Spring roo produtividade no javaSpring roo produtividade no java
Spring roo produtividade no java
 
Curso jsf
Curso jsfCurso jsf
Curso jsf
 
Introdução - Java WEB
Introdução - Java WEBIntrodução - Java WEB
Introdução - Java WEB
 
Java -aula_01
Java  -aula_01Java  -aula_01
Java -aula_01
 
Mobicents - Plataforma VoIP Open Source
Mobicents - Plataforma VoIP Open SourceMobicents - Plataforma VoIP Open Source
Mobicents - Plataforma VoIP Open Source
 
Capacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitosCapacitacao java aula-01-01-conceitos
Capacitacao java aula-01-01-conceitos
 
JSP - Java Serves Pages
JSP - Java Serves PagesJSP - Java Serves Pages
JSP - Java Serves Pages
 
Sistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias WebSistema S2DG e Tecnologias Web
Sistema S2DG e Tecnologias Web
 
Navegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo javaNavegando em um mar de siglas do mundo java
Navegando em um mar de siglas do mundo java
 
Produtividade em Java com Grails
Produtividade em Java com GrailsProdutividade em Java com Grails
Produtividade em Java com Grails
 
Anatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer FacesAnatomia do JSF – JavaServer Faces
Anatomia do JSF – JavaServer Faces
 

Mais de Rodrigo Cândido da Silva

Protegendo Microservices: Boas Práticas e Estratégias de Implementação
Protegendo Microservices: Boas Práticas e Estratégias de ImplementaçãoProtegendo Microservices: Boas Práticas e Estratégias de Implementação
Protegendo Microservices: Boas Práticas e Estratégias de ImplementaçãoRodrigo Cândido da Silva
 
Protecting Java Microservices: Best Practices and Strategies
Protecting Java Microservices: Best Practices and StrategiesProtecting Java Microservices: Best Practices and Strategies
Protecting Java Microservices: Best Practices and StrategiesRodrigo Cândido da Silva
 
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesWorkshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesRodrigo Cândido da Silva
 
Workshop Microservices - Microservices com Spring Cloud e Netflix OSS
Workshop Microservices - Microservices com Spring Cloud e Netflix OSSWorkshop Microservices - Microservices com Spring Cloud e Netflix OSS
Workshop Microservices - Microservices com Spring Cloud e Netflix OSSRodrigo Cândido da Silva
 
Workshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring BootWorkshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring BootRodrigo Cândido da Silva
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesRodrigo Cândido da Silva
 
TDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaTDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaRodrigo Cândido da Silva
 
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOpsGUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOpsRodrigo Cândido da Silva
 
GUJavaSC - Criando Micro-serviços Reativos com Java
GUJavaSC - Criando Micro-serviços Reativos com JavaGUJavaSC - Criando Micro-serviços Reativos com Java
GUJavaSC - Criando Micro-serviços Reativos com JavaRodrigo Cândido da Silva
 
JavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EEJavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EERodrigo Cândido da Silva
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EERodrigo Cândido da Silva
 
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTJavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTRodrigo Cândido da Silva
 
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring CloudTDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring CloudRodrigo Cândido da Silva
 
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...Rodrigo Cândido da Silva
 
QCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EEQCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EERodrigo Cândido da Silva
 

Mais de Rodrigo Cândido da Silva (20)

Java 9, 10 e ... 11
Java 9, 10 e ... 11Java 9, 10 e ... 11
Java 9, 10 e ... 11
 
Cloud Native Java EE
Cloud Native Java EECloud Native Java EE
Cloud Native Java EE
 
Protegendo Microservices: Boas Práticas e Estratégias de Implementação
Protegendo Microservices: Boas Práticas e Estratégias de ImplementaçãoProtegendo Microservices: Boas Práticas e Estratégias de Implementação
Protegendo Microservices: Boas Práticas e Estratégias de Implementação
 
Protecting Java Microservices: Best Practices and Strategies
Protecting Java Microservices: Best Practices and StrategiesProtecting Java Microservices: Best Practices and Strategies
Protecting Java Microservices: Best Practices and Strategies
 
As novidades da nova versão do Java 9
As novidades da nova versão do Java 9As novidades da nova versão do Java 9
As novidades da nova versão do Java 9
 
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e KubernetesWorkshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
Workshop Microservices - Distribuindo os Microservices com Docker e Kubernetes
 
Workshop Microservices - Microservices com Spring Cloud e Netflix OSS
Workshop Microservices - Microservices com Spring Cloud e Netflix OSSWorkshop Microservices - Microservices com Spring Cloud e Netflix OSS
Workshop Microservices - Microservices com Spring Cloud e Netflix OSS
 
Workshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring BootWorkshop Microservices - Construindo APIs RESTful com Spring Boot
Workshop Microservices - Construindo APIs RESTful com Spring Boot
 
Workshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura MicroservicesWorkshop Microservices - Arquitetura Microservices
Workshop Microservices - Arquitetura Microservices
 
GUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em JavaGUJavaSC - Protegendo Microservices em Java
GUJavaSC - Protegendo Microservices em Java
 
TDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com JavaTDC Floripa 2017 - Criando Microservices Reativos com Java
TDC Floripa 2017 - Criando Microservices Reativos com Java
 
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOpsGUJavaSC - Combinando Micro-serviços com Práticas DevOps
GUJavaSC - Combinando Micro-serviços com Práticas DevOps
 
GUJavaSC - Criando Micro-serviços Reativos com Java
GUJavaSC - Criando Micro-serviços Reativos com JavaGUJavaSC - Criando Micro-serviços Reativos com Java
GUJavaSC - Criando Micro-serviços Reativos com Java
 
JavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EEJavaOne 2016 - Reactive Microservices with Java and Java EE
JavaOne 2016 - Reactive Microservices with Java and Java EE
 
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EEJavaOne LATAM 2016 - Combinando AngularJS com Java EE
JavaOne LATAM 2016 - Combinando AngularJS com Java EE
 
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data RESTJavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
JavaOne LATAM 2016 - RESTful Services Simplificado com Spring Data REST
 
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring CloudTDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
TDC Floripa 2016 - Decolando seus micro-serviços na Spring Cloud
 
GUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EEGUJavaSC - Combinando AngularJS com Java EE
GUJavaSC - Combinando AngularJS com Java EE
 
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
QCon SP 2016 - Construindo Microservices Auto-curáveis com Spring Cloud e Net...
 
QCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EEQCon 2015 - Combinando AngularJS com Java EE
QCon 2015 - Combinando AngularJS com Java EE
 

Java EE Mini-curso Gratuito Tutorial

  • 2. Mini-curso Gratuito Tutorial Java Enterprise Edition (Java EE) Rodrigo Cândido da Silva Instrutor VOffice / Globalcode Globalcode Slide 2
  • 3. Objetivo Conhecer a plataforma Java Enterprise Edition 5 e entender as principais diferenças desta versão em relação as versões anteriores Globalcode Slide 3
  • 4. Agenda Plataforma Java Java Enterprise Edition Principais Tecnologias (APIs) Java Servlet JSP JSF EJB JPA Injeção de Dependência Segurança Servidores de Aplicação Comparativo de Versões Demo Perguntas e Respostas Globalcode Slide 4
  • 5. Palestrante Rodrigo Cândido da Silva – rcandidosilva@gmail.com Trabalha: Arquiteto Java / Instrutor Experiência: 8 anos na área de desenvolvimento de sistemas, trabalhando com Java desde 2001; Certificações: SCJA, SCJP, SCWCD, SCBCD, SCEA Globalcode Slide 5
  • 6. Agenda Plataforma Java Java Enterprise Edition Principais Tecnologias (APIs) Java Servlet JSP JSF EJB JPA Injeção de Dependência Segurança Servidores de Aplicação Comparativo de Versões Demo Perguntas e Respostas Globalcode Slide 6
  • 7. Plataforma Java • Desenvolvimento de software robusto para diferentes tipos de dispositivos PC, celular, palmtop, robôs, etc. • Software Multiplataforma “Escreva uma vez e execute em qualquer lugar...” Código não precisa ser recompilado para executar em outro sistema operacional • Máquina Virtual (Java Virtual Machine - JVM) Responsável por oferecer a flexibilidade de sistema operacional para um software Java • Mantida pela comunidade de desenvolvedores por meio do JCP (Java Community Process) Globalcode Slide 7
  • 8. Java Community Process (JCP) Globalcode Slide 8
  • 9. Plataforma Java • A plataforma é dividida em três partes: Java Standard Edition (Java SE) Base do Java que contém as principais APIs Java Enterprise Editon (Java EE) Versão de Java para desenvolvimento de aplicações Web e enterprise que rodam em servidores padronizados Java Micro Edition (Java ME) Redução da plataforma Standard para dispositivos móveis como PDA e celulares Globalcode Slide 9
  • 10. Agenda Plataforma Java Java Enterprise Edition Principais Tecnologias (APIs) Java Servlet JSP JSF EJB JPA Injeção de Dependência Segurança Servidores de Aplicação Comparativo de Versões Demo Perguntas e Respostas Globalcode Slide 10
  • 11. Java Enterprise Edition • Suporte ao desenvolvimento de aplicações “enterprise” Aplicações distribuídas, seguras, escaláveis, de alta disponibilidade e com baixo custo de manutenção • Plataforma para desenvolvimento de software de pequeno, médio e grande porte em múltiplas camadas de componentes Componentes “rodam” em um servidor Java EE Globalcode Slide 11
  • 14. Agenda Plataforma Java Java Enterprise Edition Principais Tecnologias (APIs) Java Servlet JSP JSF EJB JPA Injeção de Dependência Segurança Servidores de Aplicação Comparativo de Versões Demo Perguntas e Respostas Globalcode Slide 14
  • 15. Java Servlet • Aplicações que rodam no servidor e respondem requisições de clientes Web Globalcode Slide 15
  • 17. Java Servlet • Responsável pela geração de conteúdo dinâmico • É uma classe Java que estende HttpServlet; • Tecnologia “mãe” do JSP; • Deve ser declarado e configurado no web.xml; • Usado como controladores no padrão MVC • Servlet vs. JSP: Servet = mais utilizado para recepção e controle de requisições Web; JSP = mais utilizado para geração de conteúdo; Globalcode Slide 17
  • 18. Java Servlet package xpto; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class OlaMundo extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body>"); out.println("<head>"); out.println("<title>Hello World!</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Hello World!</h1>"); out.println("</body>"); out.println("</html>"); } } Globalcode Slide 18
  • 19. Java Servlet • Exemplo de configuração no arquivo web.xml <servlet> <servlet-name>OlaMundo</servlet-name> <servlet-class>exemplo01.OlaMundo</servlet-class> </servlet> <servlet-mapping> <servlet-name>OlaMundo</servlet-name> <url-pattern>/OlaMundo</url-pattern> </servlet-mapping> Globalcode Slide 19
  • 20. Agenda Plataforma Java Java Enterprise Edition Principais Tecnologias (APIs) Java Servlet JSP JSF EJB JPA Injeção de Dependência Segurança Servidores de Aplicação Comparativo de Versões Demo Perguntas e Respostas Globalcode Slide 20
  • 21. JavaServer Pages (JSP) • É uma tecnologia Java para geração de conteúdo Web dinâmico (estático + banco de dados, por exemplo) mesclando código HTML com código Java: <html> <head> <title>Olá Mundo</title> </head> <body> Código HTML puro <br> <% for(int x=0;x<100;x++) { %> <p>Olá Mundo com laço: <%= x %></p> <%}%> </body> </html> Globalcode Slide 21
  • 22. JavaServer Pages (JSP) • Parecido com ASP, porém no lugar de Basic utilizamos Java; • Robusto, flexível e componentizável; • Permite a criação de aplicativos simples, inteiramente escritos dentro dos JSP’s (model one); • Permite a criação de aplicativos profissionais, utilizando técnicas avançadas de modelagem como M.V.C.; • Rápido ; • É transformado em Servlet antes da sua execução; Globalcode Slide 22
  • 23. Agenda Plataforma Java Java Enterprise Edition Principais Tecnologias (APIs) Java Servlet JSP JSF EJB JPA Injeção de Dependência Segurança Servidores de Aplicação Comparativo de Versões Demo Perguntas e Respostas Globalcode Slide 23
  • 24. JavaServer Faces (JSF) • Framework para a implementação de interfaces gráficas das aplicações Web baseadas no modelo Swing • Incorpora características de um framework MVC para WEB e de um modelo de interfaces gráficas baseado em eventos Separação entre visualização e regras de negócio Visualização pode ser feita por diferentes renderizadores • Padrão de Componentes de User Interface Especificação Java EE, portante exige uma implementação • Amplo suporte de IDEs (Eclipse, Netbeans,DreamWeaver) “Toolability = Ferramentabilidade” • Diversas bibliotecas de componentes de UI de terceiros Globalcode Slide 24
  • 25. JavaServer Faces (JSF) J2EE Web Container J2EE EJB Container JavaServer Faces Controller View Model Servlet Java Custom JavaBeans EJB Server Tag Pages Globalcode Slide 25
  • 27. JavaServer Faces (JSF) Página JSF faces-config.xml Managed Bean Globalcode Slide 27
  • 28. JavaServer Faces (JSF) Componentes para JavaServer Faces • DataGrid; • Tabbed Panel; • PanelGrid; • SelectOneMenu, SelectOneRadio, SelectOneListBox; • SelectManyMenu, SelectManyRadio, SelectManyListBox; • FileUpload; • Auto-complete AJAX; • Muitos outros… Globalcode Slide 28
  • 29. Agenda Plataforma Java Java Enterprise Edition Principais Tecnologias (APIs) Java Servlet JSP JSF EJB JPA Injeção de Dependência Segurança Servidores de Aplicação Comparativo de Versões Demo Perguntas e Respostas Globalcode Slide 29
  • 30. Enterprise JavaBeans (EJB) • Componentes de regras de negócio que podem ser acessados remotamente Podem ser utilizados em aplicações Web e não Web • Tem contexto transacional Servidor pode cuidar processo de commit / rollback automaticamente • Classificados em: Session Beans Message-driven beans Globalcode Slide 30
  • 31. Enterprise JavaBeans (EJB) Componentes Negócio Compartilhados Cliente WS EJB Session Bean Swing Web Browser Java Web JVM + Container EE Rede Local Globalcode Slide 31
  • 32. Enterprise JavaBeans (EJB) Infra Estrutura do Container Controle Transacional EJB Escalabilidade Segurança EJB Session Bean Queues Data Topics Sources Environment Entries Globalcode Slide 32
  • 33. EJB Session Bean • Representa um processo de negócio (regra de negócio); • Pode ser do tipo Stateless ou Stateful; • Stateless Não mantém estado de conversão com o cliente; Não tem compromisso de manter uma sessão; Não devemos utilizar atributos de negócio, somente atributos técnicos em cache; É um EJB econômico; • Stateful Mantém estado de conversão com o cliente; Cada cliente terá uma instancia do EJB exclusiva, desde a criação até a remoção; Podemos ter atributos de negócio com métodos getters e setters; Globalcode Slide 33
  • 34. EJB Session Bean • Stateless (sem estado) Período que uma instancia do EJB fica “preso” a um cliente Globalcode Slide 34
  • 35. EJB Session Bean • Stateless (sem estado) Globalcode Slide 35
  • 36. EJB Session Bean • Stateful (com estado) Período que uma instancia do EJB fica “preso” a um cliente Globalcode Slide 36
  • 37. EJB Session Bean • Stateful (com estado) Globalcode Slide 37
  • 38. EJB Session Bean • Clientes acessam o Session Bean através de uma interface Java simples (POJI); • Métodos (serviços) são publicados através desta interface; • A interface deve ser implementada pela classe do Bean; • Tipos de Interfaces Local (@Local) Somente acesso local (mesma JVM); Cliente pode ser um componente Web ou outro EJB; Localização não é transparente (não suporta clusterização). Remota (@Remote) Suporta acesso remoto (fora da JVM); Cliente pode ser um componente Web, outro EJB ou aplicação desktop; Transparência de localização (suporta clusterização). Globalcode Slide 38
  • 39. EJB Session Bean • Local Interface • Remote Interface Globalcode Slide 39
  • 40. EJB Message-Driven Bean (MDB) • EJB que é acionado de forma assíncrona; • Trabalha totalmente vinculado ao conceito de utilização de um serviço de mensagens; • Utiliza a API do Java Message Service (JMS) em conjunto com Session Beans; • Facilita a quebra de acoplamento entre o cliente e o destino; Globalcode Slide 40
  • 41. EJB Message-Driven Bean (MDB) • Vejamos o comparativo de uma chamada síncrona, e uma chamada assíncrona utilizando um serviço de mensagens Síncrono Assíncrono Globalcode Slide 41
  • 42. EJB Message-Driven Bean (MDB) • Existem dois tipos de destinos JMS Point-to-point (queue): uma mensagem enviada para a fila será consumida apenas por um cliente; Publish-subscriber (topic): uma mensagem pode ser recepcionada por múltiplos clientes; Globalcode Slide 42
  • 43. EJB Message-Driven Bean (MDB) • Exemplo de um MDB Globalcode Slide 43
  • 44. Agenda Plataforma Java Java Enterprise Edition Principais Tecnologias (APIs) Java Servlet JSP JSF EJB JPA Injeção de Dependência Segurança Servidores de Aplicação Comparativo de Versões Demo Perguntas e Respostas Globalcode Slide 44
  • 45. Java Persistence API (JPA) • Primeira especificação (padrão) de mapeamento de objetos Java para base de dados relacional Integração com outros frameworks Hibernate é uma implementação de JPA TopLink Essencials é uma implementação de JPA (RI) • POJO (Plain Old Java Objects) Entidades Mapeamento via metadados (annotation Java 5) • Pode ser utilizado fora de containeres EJBs (ligthweigth container) • Uso de injeção de dependência ao invés de lookups JNDI Globalcode Slide 45
  • 46. Java Persistence API (JPA) Globalcode Slide 46
  • 48. Java Persistence API (JPA) • EntityManager (javax.persistence) Gerencia o ciclo de vida das entidades (B) find / query (C) persist (D) clear / serialização (E) merge (F) remove Globalcode Slide 48
  • 49. Java Persistence API (JPA) • PersistenceContext Conjunto de objetos “managed” associados a um EntityManager EntityManager PersistenceContext obj5 obj1 obj2 obj3 obj4 NEW / DETACHED MANAGED MANAGED MANAGED MANAGED Globalcode Slide 49
  • 50. Java Persistence API (JPA) • Persistence Unit Uma unidade de persistência define um contexto de funcionamento para os EntityManagers Globalcode Slide 50
  • 52. Agenda Plataforma Java Java Enterprise Edition Principais Tecnologias (APIs) Java Servlet JSP JSF EJB JPA Injeção de Dependência Segurança Servidores de Aplicação Comparativo de Versões Demo Perguntas e Respostas Globalcode Slide 52
  • 53. Injeção de Dependência • Mecanismo de “injeção” de recursos necessários a um componente de forma automática Sem a presença de instruções explícitas para acessar o recurso • Exemplo: O componente de negócios A depende do componente de negócios B e do pool de conexões C. B A C Globalcode Slide 53
  • 54. Injeção de Dependência • Sem injeção de dependência: Código fonte do componente A contém instruções para “buscar” o componente B e o recurso C. lookups Serviço de Nomes A “ejb/componenteB” “jdbc/dataSourceC” B C Globalcode Slide 54
  • 55. Injeção de Dependência • Com injeção de dependência Código do componente A não busca recursos e outros componentes Devemos declarar as dependências de componentes e recursos nos atributos ou métodos setters do componente A Container (Java EE) interpreta as dependências declaradas no componente A e “injeta” os recursos e componentes necessários Globalcode Slide 55
  • 56. Injeção de Dependência class ComponenteA { @EJB(name=“ejb/componenteB”) InterfaceB b; @Resource(name=“jdbc/dataSourceC”) DataSource c; } injeção Serviço de Nomes A “ejb/componenteB” “jdbc/dataSourceC” B C Globalcode Slide 56
  • 57. Injeção de Dependência • Exemplo de Utilização Globalcode Slide 57
  • 58. Injeção de Dependência Quem pode receber injeção ? EJB, Interceptor Servlet, Filter, *Listener, JSP Tag Handler JSF Managed Beans Endpoints JAX-WS e Handlers O que pode ser injetado ? Referências a EJBs e a Web Services DataSource JDBC Destination e ConnectionFactory JMS UserTransaction EntityManager (JPA) Globalcode Slide 58
  • 59. Agenda Plataforma Java Java Enterprise Edition Principais Tecnologias (APIs) Java Servlet JSP JSF EJB JPA Injeção de Dependência Segurança Servidores de Aplicação Comparativo de Versões Demo Perguntas e Respostas Globalcode Slide 59
  • 60. Segurança • Java EE suporta todos os níveis de segurança; • Utiliza o Java Authentication and Autorization Service (JAAS); • Consiste no mecanismo de autenticação e autorização de usuários, baseado em uma identidade e roles (perfil de acesso) associados. Globalcode Slide 60
  • 61. Segurança • Exemplo de Verificações de Segurança Declarativa Globalcode Slide 61
  • 62. Segurança • Exemplo de Verificações de Segurança Programática Globalcode Slide 62
  • 63. Java Enterprise Edition • Outras APIs: JCA (Java Conector Architecture) JTA (Java Transaction API) JNDI, RMI-IIOP JDBC JMS (Java Messaging Service) JAXP, JAX-RPC, JMX … Globalcode Slide 63
  • 64. Agenda Plataforma Java Java Enterprise Edition Principais Tecnologias (APIs) Java Servlet JSP JSF EJB JPA Injeção de Dependência Segurança Servidores de Aplicação Comparativo de Versões Demo Perguntas e Respostas Globalcode Slide 64
  • 65. Servidores de Aplicação Fonte: Tutorial Java EE da Sun Globalcode Slide 65
  • 66. Servidores de Aplicação • Web Container Trabalha em conjunto com um Servidor HTTP para oferecer suporte aos componentes da camada Web Tomcat (Apache) Jetty JRun (Adobe) • EJB Container É o servidor de componentes transacionais EJB OpenEJB (Apache) * Containeres específicos dos fabricantes de servidores de aplicação Globalcode Slide 66
  • 67. Servidores de Aplicação • Serviços oferecidos pelos containeres Java EE: Gestão de memória, ciclo de vida de objetos e estado de objetos Conexões, Transações, Serviço de nomes Segurança Tolerância a falhas Integração WebServices Clustering Alta disponibilidade Confiabilidade... Globalcode Slide 67
  • 68. Servidores de Aplicação • Servidores de aplicação Java EE (* gratuitos) JBoss Application Server (RedHat) * GlassFish (RI) (Sun) * Gerônimo (Apache) * Websphere Application Server (IBM) WebLogic Server (BEA) Oracle application Server – OC4J (Oracle) • A escolha do servidor deve considerar se a versão escolhida é compatível com o Java EE utilizado (1.4 ou 5) Servidores certificados são listados em: http://java.sun.com/javaee/overview/compatibility.jsp Globalcode Slide 68
  • 69. Agenda Plataforma Java Java Enterprise Edition Principais Tecnologias (APIs) Java Servlet JSP JSF EJB JPA Injeção de Dependência Segurança Servidores de Aplicação Comparativo de Versões Demo Perguntas e Respostas Globalcode Slide 69
  • 70. Comparativo de Versões • Java EE 1.4 Novembro de 2003 EJB 2.1, Servlet 2.4 e JSP 2.0 Principais problemas Deployment descriptor Interfaces Entity beans Complexidade de aprendizado e desenvolvimento • Java EE 5 Maio de 2006 Aumentar a produtividade e facilitar o desenvolvimento Principais mudanças Anotações Enterprise JavaBeans 3.0 Java Persistence API (JPA) Injeção de dependência Inclusão de JSF 1.2 Novas versões das APIs existentes Globalcode Slide 70
  • 71. Comparativo de Versões • Java EE 6 (O que vem por aí !!!) Previsão da final specification no 1Q2009; Futuras mudanças Java Servlet 3.0; EJB 3.1; JPA 2.0; JSF 2.0; Web Beans; Profiles (deployment); Novas versões das APIs existentes. Globalcode Slide 71
  • 72. Demo Globalcode Slide 72
  • 74. Mini-curso Gratuito Agradecemos a presença! http://sites.google.com/site/vofficejava/ Globalcode Slide 74