Prévia do material em texto
INTRODUÇÃO AO JAVA ENTERPRISE EDITION UNIDADE 1 CCOONNSSTTRRUUÇÇÃÃOO DDOO AAMMBBIIEENNTTEE DDEE DDEESSEENNVVOOLLVVIIMMEENNTTOO EE DDEEPPLLOOYYMMEENNTT TTÓÓPPIICCOO 22 11 IINNTTRROODDUUÇÇÃÃOO 11..11 IINNSSTTAALLAAÇÇÃÃOO DDOO SSEERRVVIIDDOORR DDEE AAPPLLIICCAAÇÇÃÃOO –– WWIILLDDFFLLYY Conforme vimos nos tópicos anteriores, para podermos desenvolver, implantar e testar aplicações que utilizem as tecnologias que fazem parte da especi�cação JEE, precisamos de um servidor de aplicação – application server (AS). Utilizaremos, neste caderno, o WildFly Application Server, conhecido anteriomente como JBoss. A Red Hat, empresa que desenvolve o AS, justi�ca a mudança dizendo que o nome WildFly representa melhor o software na atualidade, pois lembra leveza, agilidade e liberdade. A �gura a seguir mostra o website do projeto. Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 1 of 30 26/06/2024, 16:24 FONTE: O autor Caso a aba não esteja aparecendo para você, é possível adicioná-la através da seleção do menu WWiinnddooww -->> SShhooww VViieeww -->> OOtthheerr. Você deve digitar a palavra server, de modo que esta opção �que acessível para seleção, conforme a �gura a seguir. FIGURA 5 - SELEÇÃO DA ABA SERVERS NO ECLIPSE FONTE: O autor Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 3 of 30 26/06/2024, 16:24 FONTE: O autor Ao concluir a instalação e reinicialização da IDE, na aba Servers, clique com o botão direito do mouse e selecione a opção NNeeww -->> SSeerrvveerr. No momento em que este caderno foi escrito, somente tínhamos a versão 8 do WildFly para instalar. Caso a versão 9 ou posteriores aparecem para você, selecione a última versão que for compatível com a o JEE 7. Esta informação está disponível no website do WildFly. Você deverá criar um novo runtime para o servidor, através das telas mostradas nas �guras 8 e 9. Você deve deixar a con�guração exatamente como mostrado nas �guras, com exceção do Execution Environment, que deverá respeitar a versão do Java utilizada por você na IDE, e do caminho de instalação do servidor, ambas na Figura 9. FIGURA 8 - INSTALAÇÃO DO WILDFLY Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 5 of 30 26/06/2024, 16:24 FONTE: O autor Quando a inicialização do servidor encerrar, você deverá ver uma mensagem semelhante à destacada na Figura 10, indicando que o processo foi bem-sucedido. As mensagens acima da mensagem destacada e inclusive a versão e codinome do servidor podem variar, de acordo com o que foi selecionado e instalado nas etapas anteriores. FIGURA 10 - INICIALIZAÇÃO DO WILDFLY FONTE: O autor Por �m, para testarmos se a instalação foi bem-sucedida, devemos digitar a seguinte URL no navegador: <http://localhost:8080>. O navegador deverá mostrar Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 7 of 30 26/06/2024, 16:24 para diversos sistemas operacionais e em diversos idiomas. Você deve selecionar a opção destacada. FIGURA 12 - DOWNLOAD DO NETBEANS FONTE: O autor Essa versão possui diversas ferramentas embutidas, o que praticamente elimina a necessidade de con�guração, além de dois servidores, o GlassFish e o Tomcat. Em nossa disciplina precisaremos do GlassFish, visto que o Tomcat não é um Application Server, mas sim um servlet container. Uma vez feito o download, podemos proceder com a instalação do NetBeans. O instalador da ferramenta é bem simples e, embora demore um pouco para concluir todo o processo, exige pouca interação por parte do usuário. Na Figura 13 podemos perceber uma janela informando quais softwares serão instalados em seu computador. FIGURA 13 - TELA DO INSTALADOR Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 9 of 30 26/06/2024, 16:24 FIGURA 14 - CONFIGURAÇÃO DO INSTALADOR FONTE: O autor FIGURA 15 - CONTRATO DE LICENÇA Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 11 of 30 26/06/2024, 16:24 recentemente do JPA, permite a conexão com os principais players do mercado. Para facilitar o aprendizado e reduzir a con�guração, trabalharemos com o banco de dados MySQL, que já foi utilizado por você em disciplinas anteriores. 33 IINNTTEEGGRRAAÇÇÃÃOO WWIILLDDFFLLYY--MMYYSSQQLL Conforme K19 (2013), aplicações Java se comunicam com banco de dados através de conexões JDBC. Para estabelecer uma conexão JDBC, algumas informações como usuário, senha e base de dados são necessárias. As con�gurações relativas às conexões JDBC podem ser de�nidas nas aplicações ou nos servidores de aplicação. Em um servidor de aplicação, as con�gurações JDBC são de�nidas em componentes chamados Data Sources. Os Data Sources permitem que uma única con�guração JDBC seja utilizada por diversas aplicações. Eles também permitem que outros tipos de con�gurações sejam compartilhadas, como por exemplo, a con�guração de um Connection Pool. Além disso, através de Data Sources podemos utilizar facilmente o serviço de transações dos servidores de aplicação. Esse serviço é de�nido pela especi�cação Java Transaction API (JTA), que será abordada na Unidade 3 deste Caderno de Estudos. Inicialmente devemos fazer o download do driver jdbc para o MySQL, disponível em <ddeevv..mmyyssqqll..ccoomm//ddoowwnnllooaaddss//ccoonnnneeccttoorr//jj//>, conforme a Figura 17. É recomendável fazer o download do driver independente de plataforma, visto que ele funciona em qualquer sistema operacional. Uma vez que o download foi concluído, passamos para a integração do driver com o WildFly. Lembramos que a função do driver JDBC é estabelecer a comunicação entre o Sistema Gerenciador de Banco de Dados Relacional (SGBDR) e a plataforma Java, neste caso, representado pelo servidor de aplicações. FIGURA 17 - DRIVER JDBC Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 13 of 30 26/06/2024, 16:24 http://dev.mysql.com/downloads/connector/j/ http://dev.mysql.com/downloads/connector/j/ linha 4. Este arquivo representará a instalação de um módulo adicional no WildFly. Ao encerrar, veri�que o código fonte escrito com cuidado, salve e feche o arquivo. FIGURA 19 - ARQUIVO MODULE.XML FONTE: O autor A próxima (e última) etapa consiste na con�guração do arquivo standalone.xml, disponível no caminho /standalone/con�guration, no diretório de instalação do WildFly. Dentro deste arquivo, encontre a tag <datasources> e insira a con�guração de um novo datasource e um novo driver, conforme mostrado na Figura 20. Caso já existam con�gurações para outros datasources e drivers, você não precisa excluí-los, uma vez que eles em geral servem como exemplo e o WildFly pode trabalhar com múltiplos datasources. Na Figura 20 podemos ainda perceber o nome de nosso datasource (java:/ MYSQL_DS), representado pelo número 1 e também o nome do módulo que instalamos no arquivo module.xml, representado pelo número 2. Outros aspectos importantes a serem destacados são o usuário e senha dentro da tag <security> e a url de conexão, dentro da tag <connection-url>. Estes valores deverão re�etir a condição de seu SGBD. No caso deste exemplo, o usuário e senha do banco de dados são “root” e o nome da base de dados é JEE7. Faça as alterações de acordo com as con�gurações do MySQL instalado em seu computador. Ao encerrar, veri�que o código fonte escrito com cuidado, salve e feche o arquivo. FIGURA 20 - CRIAÇÃO DO DATASOURCE Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii...15 of 30 26/06/2024, 16:24 Neste tópico, demonstraremos de que forma fazer a integração entre o MySQL e o Servidor de aplicações Glass�sh através do NetBeans. Em nossos exemplos, o Netbeans está con�gurado para o idioma inglês, ao invés do português que é instalado automaticamente. Caso deseja trocar o idioma, o procedimento é demonstrado em: <ffrraammeewwoorrkkssyysstteemm..ccoomm//bblloogg// aalltteerraannddoo--aa--lliinngguuaaggeemm--nnoo--nneettbbeeaannss//>. Inicialmente, acesse a aba Services, demonstrada na Figura 22. Nesta aba, clique com o botão direito no mouse na opção Databases, selecionando New Connection. Selecionando esta opção, aparecerá uma janela que permitirá selecionar a qual banco de dados nos conectaremos. Selecione a opção MySQL e o próprio Netbeans sugerirá um driver, conforme a Figura 23. FIGURA 22 - INTEGRAÇÃO GLASSFISH-MYSQL FONTE: O autor Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 17 of 30 26/06/2024, 16:24 http://www.frameworksystem.com/blog/alterando-a-linguagem-no-netbeans/ http://www.frameworksystem.com/blog/alterando-a-linguagem-no-netbeans/ http://www.frameworksystem.com/blog/alterando-a-linguagem-no-netbeans/ http://www.frameworksystem.com/blog/alterando-a-linguagem-no-netbeans/ FONTE: O autor Existem algumas con�gurações adicionais, mas com o objetivo de simpli�car o processo de con�guração, podemos pressionar o botão Finish e aguardar o resultado demonstrado na Figura 25. O número 1 mostra a nova conexão com o banco MySQL através de sua adição às databases. O número 2 indica os Schemas ou databases disponíveis no banco de dados com o qual nos conectamos. Em seu computador, o número dois trará Schemas diferentes dos mostrados na Figura. Em nosso exemplo, a conexão foi renomeada para MYSQL_DS, selecionando a mesma com o botão direito e clicando na opção renomear. Este passo é opcional e não interferirá diretamente com o resto do procedimento. O importante é você conseguir encontrar a conexão que criou dentro do Netbeans. Seguindo este procedimento, você con�gurou uma nova conexão com o banco de dados MySQL diretamente através do Netbeans. Para fazer a con�guração do datasource e do pool de conexões, devemos acessar a interface de administrador do Glass�sh, disponível na url <http://localhost:4848>, sem esquecer de antes inicializar o servidor dentro do Netbeans. FIGURA 25 - CONEXÃO COM O MYSQL Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 19 of 30 26/06/2024, 16:24 FONTE: O autor FIGURA 27 - INTERFACE DE ADMINISTRAÇÃO DO GLASSFISH FONTE: O autor Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 21 of 30 26/06/2024, 16:24 user <usuário do seu banco de dados MySQL> ServerName localhost DatabaseName jee7 Password <senha do seu banco de dados MySQL> Url jdbc:mysql://localhost:3306/jee7 URL jdbc:mysql://localhost:3306/jee7 FFFOOONNNTTTEEE::: OOO aaauuutttooorrr Para concluir o processo, clique em Finish e aguarde a criação do novo pool de conexões. Ao �nal, o Glass�sh exibirá todos os pools de conexão disponíveis, entre os quais deverá estar o que você acabou de criar (Figura 29). FIGURA 29 - LISTAGEM DOS POOLS DE CONEXÃO Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 23 of 30 26/06/2024, 16:24 FIGURA 31 - CONFIGURAÇÃO DO DATASOURCE FONTE: O autor JNDI é o acrônimo de Java Naming and Directory Interface, cujo objetivo é permitir a busca de objetos de forma distribuída simplesmente através de um nome. Com essa tecnologia, o cliente abstrai totalmente os detalhes referentes à implementação do recurso que está sendo buscado. Maiores detalhes sobre o JNDI podem ser obtidos em: <ddooccss..oorraaccllee..ccoomm//jjaavvaassee//ttuuttoo rriiaall//jjnnddii//oovveerrvviieeww//>. Assim encerramos o processo de criação dos DataSources nos servidores de aplicação e IDEs que você poderá utilizar ao longo da disciplina. Agora estamos prontos para efetivamente pôr a “mão na massa” e começar a fazer os exercícios e criar nossas próprias aplicações utilizando JEE 7 e os servidores de aplicação WildFly e Glass�sh. Caso você queira utilizar o Glass�sh com o Eclipse ou o WildFly com o Netbeans, basta con�gurá-los da forma como demonstramos ao longo deste tópico. Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 25 of 30 26/06/2024, 16:24 http://docs.oracle.com/javase/tutorial/jndi/overview/ http://docs.oracle.com/javase/tutorial/jndi/overview/ http://docs.oracle.com/javase/tutorial/jndi/overview/ http://docs.oracle.com/javase/tutorial/jndi/overview/ Responder Responder 2 Con�gure mais um datasource para cada servidor de aplicação, preferencialmente utilizando um banco de dados diferente do MySQL: 3 Encontre e descreva pelo menos mais três implementações de Servidores de Aplicação compatíveis com a especi�cação JEE 7. Estes servidores de aplicação podem ser tanto proprietários como open source. Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 27 of 30 26/06/2024, 16:24 A) B) C) D) Responder I, II e IV II e III I, II e III II, III e IV 5 Existem várias tecnologias que fazem parte da especi�cação JEE, porém para implementar e testar aplicações web JEE, é necessário um servidor de aplicação. Referente especi�cações JEE e servidores de aplicação, analise as a�rmativas a seguir: I - O WildFly Application Server, conhecido anteriomente como JBoss. II - Na IDE Eclipse, servidores de aplicação são disponibilizados na guia “Servers”. III - Caso as con�gurações do WildFly estejam originais, a aplicação é acessível no navegador de internet pela URL “http://localhost:8080”. IV- A IDE NetBeans não possui o servidor de aplicação GlassFish embutido. Agora assinale a alternativa que apresenta as sentenças CORRETAS: Unidade 1 - Tópico 2 Livro Digital - Programação para Web II https://livrodigital.uniasselvi.com.br/ADS27_programacao_para_web_ii... 29 of 30 26/06/2024, 16:24