O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Mini Curso Java EE

508 visualizações

Publicada em

Primeiro dia do curso sobre Java EE. Para entender melhor veja a postagem no seguinte blog:

http://aprendendo-javaee.blogspot.com/2016/11/mini-curso-java-ee-7-com-angularjs-no.html

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Mini Curso Java EE

  1. 1. Mini Curso Java EE
  2. 2. Sobre - Graduando em Banco de dados na Fatec de São José dos Campos - Especialização em sistemas da informação pela UAB na UFABC - Trabalha há quase 10 anos na área de TI - Trabalha há 5 anos na Red Hat com manutenção de sistemas Java open source (JBoss, jBPM e outros) - Dados abertos, software livre e blogueiro: - http://aprendendo-javase.blogspot.com.br - http://aprendendo-javafx.blogspot.com.br/ - http://aprendendo-javaee.blogspot.com.br/
  3. 3. REGRA PARA ESSE MINI CURSO QUESTIONE, CONTESTE E CRIE!
  4. 4. Conhecendo a turma - Conhecimento em Java, BD, etc - Querem usar IDE? - Gostam de linha de comando? - Familiaridade com Linux?
  5. 5. Programação - Dia 1 - Ferramentas necessárias - Conhecendo e explicando o que será usado - Explorando aplicações Java EE e executando no Wildfly Swarm - Dia 2 - Discussão sobre nossa aplicação - Criação das classes de modelo (JPA) - Classes para acesso às informações (EJB) - Ligando as camadas (CDI) - Testes com Arquillian a cada desenvolvimento - Dia 3 - Expondo as funcionalidades usando REST (JAX-RS) - Adicionando segurança a algumas páginas (JAAS) - Criando a aplicação WEB - Discussões de melhorias
  6. 6. Ferramentas necessárias - Maven 3.x - https://maven.apache.org/download.cgi - Java JDK 8 - http://www.oracle.com/technetwork/pt/java/javase/downloads/jdk8-downloads-2133151. html - Eclipse "mais novo possível" para Java EE - http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/mars2 - Servidor de aplicação Wildfly - wildfly.org/downloads - Quickstarts - https://github.com/wildfly/quickstart/archive/10.x.zip
  7. 7. O que vamos fazer? Uma aplicação completa utilizando as APIs que fazem parte do Java Enterprise Edition. Essas APIs têm uma especificação que são implementadas em projetos como Wildfly, TomEE, Websphere, etc.Vamos explicar e usar as APIs EJB, JPA, CDI, JAX-RS, JTA (entre outras) e realizar a execução da nossa aplicação no Wildfly e no Swarm uma versão "microservice" do Wildfly. Nossa aplicação irá consistir de um site de cursos gratuitos! Onde as pessoas se inscrevem e podem ver os dados do curso. Mas antes vamos conhecer nossas ferramentas.
  8. 8. Mas afinal, o que é Java EE? Java EE é um conjunto de especificações destinados a facilitar a criação de aplicações "Enterprise"(aplicações que empresas usam) em Java. Assim, Java EE define um modelo de programação para criar aplicações para empresas, onde diversas tarefas comuns(persistência de dados, validações, transações, tratamento de requisições HTTP, entre outras) são especificadas e "colocadas no papel" para todos lerem, implementarem e usarem. O grupo que determina as especificações é aberto e até você pode fazer parte! Fonte: http://bit.ly/2fboJRc Dentro do Java EE temos diversas APIs, vamos abordar algumas nesse curso para criarmos nossa app. JEE também tem versões, no nosso curso usaremos a verão 7. O mercado usa 5, 6 e 7. Servlets, JSP, JPA, JAX-RS, JAX-WS, JMS, Batch Jobs, JAXB, JAXP, CDI, EJB e outras letrinhas são parte do mundo Java EE, mas não se assuste, vamos mostrar como é fácil criar aplicações usando essa plataforma.
  9. 9. O que é maven? Maven é uma ferramenta para realizar o build da aplicação e organizar as dependências em um repositório, o repositório maven. Para usar maven você deve: - Seguir a estrutura padrão - Descrever o projeto em um arquivo pom.xml(onde você fornece as informações do seu projeto (grupo, id do artefato, versão, tipo do projeto), plugins e as dependências) Para fazer o build do projeto você deve usar os ciclos de build: clean limpa o projeto; compile compila o projeto; test só roda os testes após compilar; package compila, teste e "empacota" o projeto para uso
  10. 10. Verificar instalação - Comandos para verificar se tudo está ok: - Maven: $ mvn -version - Java: $ java -version - Abrir eclipse e apontar para a instalação do Maven Windows -> Preferences -> Maven -> Installations -> Add
  11. 11. Gerando e entendendo um projeto maven File -> New -> Other -> Maven Project. Selecione Create Simple Archetype, next e, por fim, informe os dados do seu projeto
  12. 12. Gerando e entendendo um projeto maven
  13. 13. Gerando e entendendo um projeto maven
  14. 14. Gerando e entendendo um projeto maven A estrutura: src/main/java: Onde fica seu código principal, o código da aplicação src/main/resources: localização de arquivos que ficarão no classpath src/test/java: arquivos de teste java src/test/resources: arquivos que ficam no classpath durante o teste somente pom.xml: O descritor do projeto com as informações do mesmo.
  15. 15. A plataforma para execução de apps JEE Nossas aplicações rodam em algum lugar. Vamos usar o Wildfly, um servidor de aplicação que roda aplicações JEE. Vamos usar um servidor de aplicação monolítico, onde instalamos diversas aplicações nele. Há uma outra versão que, se tivermos tempo, abordaremos no final do curso, o Wildfly Swarm. Vamos agora conhecer o Wildfly e aprender a usar ele no Eclipse para podermos usar.
  16. 16. Motivações para usar um servidor de aplicação - APIs prontas, testadas e configuradas para uso; - Facilita monitoramento; - Pool de conexões com banco de dados; - Gerenciamento de transações nativo (Java Transaction API); - Pool de objetos pronto (EJBs são gerenciados pelo servidor); - Múltiplas aplicações em um só lugar; - Gerenciamento de LOG facilitado; - Gerenciamento geral feito através de diversas ferramentas providas pelo servidor(CLI, interface WEB) - e a lista vai….
  17. 17. Instalando o Wildfly A instalação consiste simplesmente em “deszipar” o arquivo em algum diretório no disco! Tendo o Java, você já pode “subir” o servidor em seguida. Estamos utilizando o Wildfly 10, então “deszipe” o arquivo em algum lugar: $ unzip ~/Downloads/wildfly-10.1.0.Final.zip -d . Agora temos que ter a variável de ambiente JAVA_HOME configurada. Agora vamos entender o Wildfly.
  18. 18. Os diretórios do Wildfly podem assustar, mas não é necessário aprender tudo agora: bin: Nesse diretório ficam scripts para gerenciar o servidor modules: Onde ficam os módulos (JARs) standalone e domain: Wildfly pode ser executado de uma forma onde múltiplos servidores pode ser gerenciados (domain) ou somente um (standalone). Vamos usar somente o standalone standalone/deployments: Onde colocamos nossas aplicações no formato JAR ou WAR standalone/configuration: Configuração do servidor. Hoje não iremos em detalhes em como configurar Entendendo o que tem dentro do Wildfly
  19. 19. Criando usuário de administração Antes de subir, vamos criar um usuário de gerenciamento para conhecermos a página que permite gerenciar as coisas. Para isso usamos o script bin/add-user:
  20. 20. Inicializando e acessando a página de gerenciamento Para inicializar o servidor execute o script bin/standalone.sh
  21. 21. Acessando página inicial
  22. 22. Acessando página de gerenciamento
  23. 23. Adicionando o servidor ao Eclipse File -> New -> Other -> Server -> escreva wildfly na lista (deixe baixando e vamos brincar com outras coisas)
  24. 24. Exemplos de aplicações Java EE Agora sem Eclipse vamos explorar os quickstarts. Unzip os quickstarts em algum diretório. Quickstarts são pequenas aplicações Java EE que demonstram alguma funcionalidade. E foram criados muuuuiiitttooos quickstarts:
  25. 25. Explorando uma aplicação: Kitchensink Deixe o wildfly em execução e entre no diretório kitchensink e execute: quickstart-10.x/kitchensink$ mvn clean package wildfly:deploy No JBoss você poderá ver que a aplicação foi “deployada“:
  26. 26. Explorando uma aplicação: Kitchensink Agora acesse a aplicação em localhost:8080/wildfly-kitchensink
  27. 27. Explorando uma aplicação: Kitchensink Vamos explorar os arquivos da aplicação para nos familiarizarmos um brainstorm - Lembre-se: seja curioso e não tenha medo! - Veja o arquivo pom.xml - Discutir o que tem nesse arquivo - Classes Java: - Member.java - anotações e o que elas representam - MemberResourceRESTService.java - o que faz dessa classe um Web Service REST? - MemberRegistration.java - o que faz a anotação @Inject? - Arquivos XML: - ./src/main/resources/META-INF/persistence.xml - ./src/main/webapp/WEB-INF/kitchensink-quickstart-ds.xml
  28. 28. Se você chegou até aqui... … e ainda temos tempo, podemos enfim programar. Vamos criar nossa própria aplicação! (prática)

×