| // |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| // |
| |
| = Criando e Executando um Cliente da Aplicação no GlassFish Server |
| :jbake-type: tutorial |
| :jbake-tags: tutorials |
| :jbake-status: published |
| :icons: font |
| :syntax: true |
| :source-highlighter: pygments |
| :toc: left |
| :toc-title: |
| :description: Criando e Executando um Cliente da Aplicação no GlassFish Server - Apache NetBeans |
| :keywords: Apache NetBeans, Tutorials, Criando e Executando um Cliente da Aplicação no GlassFish Server |
| |
| Este tutorial mostra como criar um cliente de aplicação simples e como acessar um Enterprise JavaBean (EJB) implantado no GlassFish server 3. Neste tutorial, primeiro você criará uma aplicação corporativa que contém um bean de sessão simples e um projeto de biblioteca de classe Java que contém a interface remota para o bean da sessão. Em seguida, você criará um cliente de aplicação que acessa o bean de sessão por meio da interface remota na biblioteca de classes. A biblioteca de classes JAR que contém a interface remota é adicionada ao classpath da aplicação corporativa e ao cliente da aplicação. |
| |
| *Exercícios do Tutorial* |
| |
| image::images/netbeans-stamp-80-74-73.png[title="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0"] |
| |
| * <<Exercise_10,Criando a Biblioteca de Classe Java>> |
| * <<Exercise_20,Criando um Módulo EJB>> |
| * <<Exercise_22,Criando o Bean de Sessão>> |
| * <<Exercise_23,Adicionando um Método de Negócios>> |
| * <<Exercise_24,Implantando a Aplicação Corporativa>> |
| * <<Exercise_30,Criando o Cliente da Aplicação>> |
| * <<Exercise_32,Adicionando a Biblioteca de Classe>> |
| * <<Exercise_30,Executando o Cliente da Aplicação>> |
| |
| *Para seguir este tutorial, são necessários os recursos e o software a seguir.* |
| |
| |=== |
| |Software ou Recurso |Versão Necessária |
| |
| |link:https://netbeans.org/downloads/index.html[+NetBeans IDE+] |Versão Java EE 7.2, 7.3, 7.4, 8.0 |
| |
| |link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+JDK (Java Development Kit)+] |versão 7 ou 8 |
| |
| |GlassFish Server Open Source Edition |3.x, 4.x |
| |=== |
| |
| *Pré-requisitos* |
| |
| Este tutorial pressupõe que você tenha algum conhecimento básico das tecnologias a seguir, ou alguma experiência de programação com elas: |
| |
| * Programação em Java |
| * NetBeans IDE |
| |
| Você pode fazer download link:https://netbeans.org/projects/samples/downloads/download/Samples/JavaEE/EntAppClientEE6.zip[+de um arquivo compactado zip do projeto finalizado+]. Caso esteja usando o GlassFish 3.0, use link:https://netbeans.org/projects/samples/downloads/download/NetBeans%20IDE%206.8/JavaEE/entappclient.zip[+o arquivo compactado zip para o projeto do NetBeans IDE 6.8.+] |
| |
| |
| == Criando a Biblioteca de Classe Java |
| |
| Nesta sessão você irá criar um projeto de Biblioteca de Classe Java que irá conter a interface remota para o EJB. A interface remota se comporta como uma API para o EJB, que é usada por clientes para se comunicar com o EJB. |
| |
| A biblioteca JAR é fácil de ser distribuída para quaisquer clientes que possam precisar chamar o EJB. Os clientes que desejam acessar o EJB precisam apenas adicionar o JAR de biblioteca ao classpath do projeto. A implementação EJB usa o mesmo JAR para implementar a interface. |
| |
| 1. Selecione Arquivo > Novo Projeto (Ctrl-Shift-N; ⌘-Shift-N no Mac) e selecione Biblioteca de Classe Java na categoria Java. Clique em Próximo. |
| 2. Digite *EJBRemoteInterface* como o nome do Projeto. Clique em Finalizar. |
| |
| image::images/appclient-newclasslibrary.png[title="Assistente de projeto Nova Biblioteca de Classe"] |
| |
| Quando você clicar em Finalizar, o IDE criará o projeto da Biblioteca de classe Java. Na próxima sessão, você criará uma aplicação corporativa Java EE e um módulo EJB. Em seguida, você usará um assistente para criar um bean de sessão e a interface remota para seu bean de sessão no projeto Biblioteca de classe. O cliente de aplicação acessará o bean de sessão por meio da interface na biblioteca de classes. |
| |
| |
| == Criando um Módulo EJB |
| |
| Nesta sessão, você criará um aplicação corporativa em um módulo EJB. Quando você cria um EJB, o EJB deve ser criado como parte de uma aplicação corporativa e encapsulado como um arquivo compactado EAR e implantado no servidor. |
| |
| |
| === Criando a Aplicação Corporativa |
| |
| Nesta sessão, você irá usar o assistente Novo Projeto para criar uma aplicação corporativa contendo um módulo EJB. O assistente fornece uma opção para criar um módulo EJB quando você cria a aplicação. |
| |
| 1. Selecione Arquivo > Novo Projeto e selecione Aplicação Corporativa na categoria Java EE. Clique em Próximo. |
| 2. Digite *EntAppEJB* como o Nome do Projeto. Clique em Próximo. |
| 3. Selecione GlassFish Server como o Servidor. |
| 4. Confirme se Criar Módulo EJB está selecionado e desfaça a seleção de Criar Módulo de Aplicação Web. Clique em Finalizar. |
| image::images/appclient-newentappejb.png[title="Criar Módulo EJB está selecionado no assistente Nova Aplicação Corporativa"] |
| |
| Quando você clica em Finalizar, o IDE cria uma aplicação corporativa e um módulo EJB. Na janela Projetos, você pode ver que um projeto de Módulo EJB está listado no nó Módulos Java EE do projeto de aplicação corporativa. |
| |
| image::images/appclient-projects-entappejb1.png[title="Janela Projetos mostrando projetos abertos"] |
| |
| Você pode ver que três tipos de projetos estão agora listados na janela Projetos: biblioteca de classe, aplicação corporativa e módulo EJB. |
| |
| |
| === Criando o Bean de Sessão |
| |
| Neste exercício, você usará um assistente para criar um bean de sessão no projeto do módulo EJB. No assistente você também criará uma interface remota para o bean de sessão no projeto Biblioteca de Classe. |
| |
| 1. Clique com o botão direito do mouse no projeto do módulo EJB e selecione Novo > Bean de Sessão. |
| 2. Digite *MySession* como o Nome do EJB. |
| 3. Digite *ejb* para o Pacote. |
| 4. Selecione Sem Estado para o Tipo de Sessão. |
| 5. Selecione a opção Remota para Criar Interface. |
| 6. Selecione o projeto *EJBRemoteInterface* na lista drop-down. Clique em Finalizar. |
| image::images/appclient-wizard-newsessionbean.png[title="Assistente de Novo Bean de Sessão"] |
| |
| Quando você clica em Finalizar, o IDE cria o bean da sessão no pacote ``ejb`` no módulo EJB e abre a classe no editor. Você pode ver que ``MySession`` implementa a interface ``MySessionRemote`` e que o EJBRemoteInterface JAR foi adicionado como uma biblioteca no módulo EJB. |
| |
| O assistente também cria a interface remota denominada ``MySessionRemote`` no pacote ``ejb`` do projeto EJBRemoteInterface. O IDE adiciona automaticamente a Biblioteca Java EE 6 API que é necessária para a interface EJB. |
| |
| image::images/appclient-projects-entappejb2.png[title="Janela Projetos que mostra o bean de sessão e a interface remota"] |
| |
| |
| === Adicionando um Método de Negócios |
| |
| Neste exercício, você irá criar um método de negócios simples no bean de sessão que retorna uma string. |
| |
| 1. Clique com o botão direito do mouse no editor de MySession e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) e selecione Adicionar Método de Negócios. |
| 2. Digite *getResult* como o Nome do Método e String como o Tipo de Retorno. Clique em OK. |
| 3. Faça as seguintes alterações para modificar o método ``getResult`` para retornar uma string. |
| |
| A classe deve ter uma aparência semelhante a esta. |
| |
| |
| [source,java] |
| ---- |
| |
| @Stateless |
| public class MySession implements MySessionRemote { |
| |
| public String getResult() { |
| return *"This is My Session Bean"*; |
| } |
| } |
| ---- |
| 4. Salve as alterações. |
| |
| Agora você tem uma aplicação corporativa com um EJB simples que é exposto por meio de uma interface remota. Você também tem uma biblioteca de classe independente que contém a interface EJB que pode ser distribuída para outros desenvolvedores. Os desenvolvedores podem adicionar a biblioteca em seus projetos, caso desejem se comunicar com o EJB que é exposto pela interface remota e não precisam ter o código-fonte para o EJB. Quando você modifica o código para o EJB, somente precisa distribuir um JAR da biblioteca de classe atualizada, caso alguma das interfaces seja modificada. |
| |
| Quando você usa a caixa de diálogo Adicionar Método de Negócios, o IDE implementa automaticamente o método na interface remota. |
| |
| |
| === Implantando a Aplicação Corporativa |
| |
| Agora, você pode construir e executar a aplicação corporativa. Quando você executar a aplicação, o IDE implantará o arquivo compactado EAR no servidor. |
| |
| 1. Clique com o botão direito do mouse na aplicação corporativa EntAppEJB e selecione Implantar. |
| |
| Quando você clica em Implantar, o IDE constrói a aplicação corporativa e implanta o arquivo compactado EAR no servidor. Caso você examine a janela Arquivos, poderá ver que o JAR EJBRemoteInterface é implantado com a aplicação. |
| |
| Na janela Serviços, caso você expanda o nó Aplicações do GlassFish Server 3, poderá ver que o EntAppEJB foi implantado. |
| |
| |
| == Criando o Cliente de Aplicação |
| |
| Nesta seção, você irá criar um cliente de aplicação corporativa. Quando você cria o cliente de aplicação, o projeto precisa da biblioteca de classe Java, EJBRemoteInterface, para poder referenciar o EJB. |
| |
| Quando você executar a aplicação corporativa, o IDE encapsulará o cliente de aplicação e a biblioteca de classe Java JAR no arquivo compactado EAR. Os JARs da biblioteca precisam ser encapsulados em um EAR com o cliente de aplicação, se você deseja acessar os JARs a partir do cliente de aplicação. |
| |
| |
| === Criando a Aplicação Corporativa |
| |
| Neste exercício, você utilizará o assistente Novo Projeto para criar um projeto de cliente de aplicação. Caso esteja usando a implantação no GlassFish 3.1 ou 4.x, você poderá criar e executar um cliente de aplicação como um projeto standalone. O cliente da aplicação não mais precisa ser implantado e executado como parte de uma aplicação corporativa. |
| |
| *Observação.* Se estiver implantando no GlassFish 3.01, você precisará criar o cliente de aplicação como um módulo no projeto de aplicação corporativa e executar a aplicação corporativa. |
| |
| 1. Selecione Arquivo > Novo Projeto e selecione Cliente de Aplicação Corporativa na categoria Java EE. Clique em Próximo. |
| 2. Digite *EntAppClient* como o Nome do Projeto. Clique em Próximo. |
| 3. Selecione GlassFish Server como o Servidor. Clique em Finalizar. |
| |
| Observe que não é preciso adicionar o projeto em uma aplicação corporativa. |
| |
| image::images/appclient-wizard-newentappclient.png[title="Criar Cliente de Aplicação selecionado no assistente Novo Projeto"] |
| |
| Quando você clicar em Finalizar, o IDE criará o projeto de cliente de aplicação e abrirá ``Main.java`` no editor. |
| |
| |
| === Adicionando a Biblioteca de Classe |
| |
| A biblioteca de classe que contém a interface remota agora precisa ser adicionada ao classpath do projeto para permitir que o cliente de aplicação referencie o EJB. O projeto biblioteca de classe é aberto, para que você possa usar a caixa de diálogo Chamar Enterprise Bean, que vai ajudá-lo a gerar o código para chamar o EJB. |
| |
| Caso o projeto biblioteca de classe não esteja aberto, você pode adicionar a biblioteca de classe ao projeto na janela Projetos clicando com o botão direito do mouse no nó Bibliotecas e localizando o JAR do projeto EJBRemoteInterface. |
| |
| 1. Expanda o nó Pacotes de Código-Fonte do projeto EntAppClient e abra o ``Main.java`` no editor. |
| 2. Clique com o botão direito do mouse no código-fonte e selecione Inserir Código (Alt-Insert; Ctrl-I no Mac) e selecione Chamar Enterprise Bean para abrir a caixa de diálogo Chamar Enterprise Bean. |
| 3. Expanda o nó do projeto EntAppEJB e selecione MySession. Clique em OK. |
| image::images/appclient-callenterprise.png[title="Caixa de diálogo Chamar Enterprise Bean"] |
| |
| A caixa de diálogo seleciona, automaticamente, Remota como o tipo de interface. Quando você clica em OK, o IDE adiciona a anotação a seguir no ``Main.java`` . |
| |
| |
| [source,java] |
| ---- |
| |
| @EJB |
| private static MySessionRemote mySession; |
| ---- |
| |
| O IDE também adiciona automaticamente a EJBRemoteInterface como uma Biblioteca do projeto. |
| |
| 4. Modifique o método ``main`` para recuperar a String do método ``getResult`` por meio da interface MySessionRemote. Salve as alterações. |
| |
| [source,java] |
| ---- |
| |
| public static void main(String[] args) { |
| *System.err.println("result = " + mySession.getResult());* |
| } |
| ---- |
| |
| |
| == Executando o Clente de Aplicação |
| |
| Você agora pode executar o cliente de aplicação construindo e implantando o projeto EntAppClient. |
| |
| 1. Clique com o botão direito do mouse no projeto EntAppClient na janela Projetos e selecione Executar. |
| |
| Como alternativa, você pode expandir o pacote do código-fonte, clicar com o botão direito do mouse na classe ``Main.java`` e selecionar Executar Arquivo. |
| |
| Quando você clica em Executar, o IDE constrói o projeto do cliente de aplicação e implanta o arquivo compactado JAR no servidor. Você pode ver a mensagem do cliente de aplicação na janela de Saída. |
| |
| image::images/appclient-buildoutput.png[title="O resultado na janela de Saída"] |
| |
| Caso deseje criar EJBs adicionais, basta adicionar as novas interfaces remotas dos EJBs no projeto da biblioteca de classe EJBRemoteInterface. |
| |
| link:/about/contact_form.html?to=3&subject=Feedback:%20Creating%20an%20Application%20Client[+Envie-nos Seu Feedback+] |
| |
| |
| |
| == Próximas Etapas |
| |
| Para obter mais informações sobre o uso do NetBeans IDE para desenvolver aplicações Java EE, consulte os seguintes recursos: |
| |
| * link:javaee-intro.html[+Introdução à Tecnologia Java EE+] |
| * link:javaee-gettingstarted.html[+Conceitos Básicos sobre Aplicações do Java EE+] |
| * link:../../trails/java-ee.html[+Trilha de Aprendizado do Java EE e Java Web+] |
| |
| Você pode encontrar mais informações sobre o uso do EJB Enterprise Beans no link:http://download.oracle.com/javaee/6/tutorial/doc/[+Tutorial do Java EE 6+]. |
| |
| Para enviar comentários e sugestões, obter suporte e se manter informado sobre os mais recentes desenvolvimentos das funcionalidades de desenvolvimento do Java EE do NetBeans IDE, link:../../../community/lists/top.html[+inscreva-se na lista de correspondência de nbj2ee+]. |
| |