<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <title>Criando e Executando um Cliente da Aplicação no GlassFish Server</title>
        <meta name="description"
        content="A tutorial on how to use NetBeans IDE to develop and deploy an enterprise application client to GlassFish Server 3.">
        <link rel="stylesheet" href="../../../netbeans.css">
        <meta name="author" content="ken ganfield">
    <meta HTTP-EQUIV="Content-Type" Content="text/html; charset=UTF-8"></head>
    <body>
        <!-- Begin Content Area -->
        <h1>Criando e Executando um Cliente da Aplicação no GlassFish Server</h1>
        
        <p>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.</p>

        
              
        
        <p><b>Exercícios do Tutorial</b></p>
           <img alt="O conteúdo desta página se aplica ao NetBeans IDE 7.2, 7.3, 7.4 e 8.0" class="stamp" src="../../../images_www/articles/73/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">
            <ul>
                <li><a href="#Exercise_10">Criando a Biblioteca de Classe Java</a></li>
                <li><a href="#Exercise_20">Criando um Módulo EJB</a>
                    <ul>
                        <li><a href="#Exercise_22">Criando o Bean de Sessão</a></li>
                        <li><a href="#Exercise_23">Adicionando um Método de Negócios</a></li>
                        <li><a href="#Exercise_24">Implantando a Aplicação Corporativa</a></li>
                    </ul>
                </li>
                <li><a href="#Exercise_30">Criando o Cliente da Aplicação</a>
                    <ul>
                        <li><a href="#Exercise_32">Adicionando a Biblioteca de Classe</a></li>
                    </ul>
                </li>
                <li><a href="#Exercise_30">Executando o Cliente da Aplicação</a></li>
                <!--<li><a href="#Exercise_40">Downloading the Solution Project</a></li>-->
            </ul>
        
        
           
            <p><b>Para seguir este tutorial, são necessários os recursos e o software a seguir.</b></p>
            <table>
            <tbody>
                <tr>
                    <th class="tblheader" scope="col">Software ou Recurso</th>
                    <th class="tblheader" scope="col">Versão Necessária</th>
                </tr>
                <tr>
                    <td class="tbltd1"><a href="https://netbeans.org/downloads/index.html">NetBeans IDE</a></td>
                    <td class="tbltd1">Versão Java EE 7.2, 7.3, 7.4, 8.0</td>
                </tr>
                <tr>
                    <td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">JDK (Java Development Kit)</a></td>
                    <td class="tbltd1">versão 7 ou 8</td>
                </tr>
                <tr>
                    <td class="tbltd1">GlassFish Server Open Source Edition</td>
                    <td class="tbltd1">3.x, 4.x</td>
                </tr>
                </tbody>
            </table>
            
            
            <p><b>Pré-requisitos</b></p>
            <p>Este tutorial pressupõe que você tenha algum conhecimento básico das tecnologias a seguir, ou alguma experiência de programação com elas:</p>
            <ul>
                <li>Programação em Java</li>
                <li>NetBeans IDE</li>
            </ul>
            <p class="tips">Você pode fazer download <a href="https://netbeans.org/projects/samples/downloads/download/Samples/JavaEE/EntAppClientEE6.zip">de um arquivo compactado zip do projeto finalizado</a>. Caso esteja usando o GlassFish 3.0, use <a href="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.</a></p>
            
            
        
        <!-- ===================================================================================== -->


        <a name="Exercise_10"></a>
        <h2>Criando a Biblioteca de Classe Java</h2>
        <p>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.</p>

        <p>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.</p>

        

        <!--appclient runs locally on client and if it needs to communicate with an EJB on server then
        EJB must have Remote interface which appclient will use.
        .... something like that followed by
        "so let's start with creating class lib project"-->

        <ol>
            <li>Selecione Arquivo > Novo Projeto (Ctrl-Shift-N; ⌘-Shift-N no Mac) e selecione Biblioteca de Classe Java na categoria Java. Clique em Próximo.</li>
            <li>Digite <strong>EJBRemoteInterface</strong> como o nome do Projeto. Clique em Finalizar. </li>
        </ol>
        <img alt="obtendo tela do assistente de projeto de Nova Biblioteca de Classe" class="margin-around b-all" src="../../../images_www/articles/72/javaee/entappclient/appclient-newclasslibrary.png" title="Assistente de projeto Nova Biblioteca de Classe" />

        <p>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.</p>



        <a name="Exercise_20"></a>
        <h2>Criando um Módulo EJB</h2>
        <p>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.</p>

        <div class="indent">
            <a name="Exercise_21"></a>
            <h3>Criando a Aplicação Corporativa</h3>
            <p>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.
            </p>

            <ol>
                <li>Selecione Arquivo > Novo Projeto e selecione Aplicação Corporativa na categoria Java EE. Clique em Próximo.</li>
                <li>Digite <strong>EntAppEJB</strong> como o Nome do Projeto. Clique em Próximo.</li>
                <li>Selecione GlassFish Server como o Servidor.</li>
                <li>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. </li>
            </ol>
            <img alt="tela do assistente Nova Aplicação Corporativa" class="margin-around b-all" src="../../../images_www/articles/72/javaee/entappclient/appclient-newentappejb.png" title="Criar Módulo EJB está selecionado no assistente Nova Aplicação Corporativa" />

            <p>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.</p>
            <img alt="tela da janela Projetos mostrando projetos abertos" class="margin-around b-all" src="../../../images_www/articles/72/javaee/entappclient/appclient-projects-entappejb1.png" title="Janela Projetos mostrando projetos abertos" />

            <p>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.</p>


            <a name="Exercise_22"></a>
            <h3>Criando o Bean de Sessão</h3>
            <p>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.
            </p>
            <ol>
                <li>Clique com o botão direito do mouse no projeto do módulo EJB e selecione Novo > Bean de Sessão.</li>
                <li>Digite <strong>MySession</strong> como o Nome do EJB.</li>
                <li>Digite <strong>ejb</strong> para o Pacote.</li>
                <li>Selecione Sem Estado para o Tipo de Sessão.</li>
                <li>Selecione a opção Remota para Criar Interface.</li>
                <li>Selecione o projeto <strong>EJBRemoteInterface</strong> na lista drop-down. Clique em Finalizar. </li>
            </ol>

            <img alt="tela do assistente Novo Bean de Sessão" class="margin-around b-all" src="../../../images_www/articles/72/javaee/entappclient/appclient-wizard-newsessionbean.png" title="Assistente de Novo Bean de Sessão" />

            <p>Quando você clica em Finalizar, o IDE cria o bean da sessão no pacote <tt>ejb</tt> no módulo EJB e abre a classe no editor. Você pode ver que <tt>MySession</tt> implementa a interface <tt>MySessionRemote</tt> e que o EJBRemoteInterface JAR foi adicionado como uma biblioteca no módulo EJB.</p>

            <p>O assistente também cria a interface remota denominada <tt>MySessionRemote</tt> no pacote <tt>ejb</tt> do projeto EJBRemoteInterface. O IDE adiciona automaticamente a Biblioteca Java EE 6 API que é necessária para a interface EJB.</p>

            <img alt="tela da janela Projetos que mostra o bean de sessão e a interface remota" class="margin-around b-all" src="../../../images_www/articles/72/javaee/entappclient/appclient-projects-entappejb2.png" title="Janela Projetos que mostra o bean de sessão e a interface remota" /> <a name="Exercise_23"></a>
            <h3>Adicionando um Método de Negócios</h3>
            <p>Neste exercício, você irá criar um método de negócios simples no bean de sessão que retorna uma string.
            </p>
            <ol>
                <li>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.</li>
                <li>Digite <strong>getResult</strong> como o Nome do Método e String como o Tipo de Retorno. Clique em OK.

                </li>
                <li>Faça as seguintes alterações para modificar o método <tt>getResult</tt> para retornar uma string.
                <p>A classe deve ter uma aparência semelhante a esta.</p>
                <pre class="examplecode">@Stateless
public class MySession implements MySessionRemote {

    public String getResult() {
        return <strong>"This is My Session Bean"</strong>;
    }
}</pre>
                </li>
                <li>Salve as alterações.</li>
            </ol>

            <p>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.</p>

            <p class="tips"> Quando você usa a caixa de diálogo Adicionar Método de Negócios, o IDE implementa automaticamente o método na interface remota.</p>

            <a name="Exercise_24"></a>
            <h3>Implantando a Aplicação Corporativa</h3>
            <p>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.</p>
            <ol>
                <li>Clique com o botão direito do mouse na aplicação corporativa EntAppEJB e selecione Implantar.</li>
            </ol>

            <p>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.</p>

            <p>Na janela Serviços, caso você expanda o nó Aplicações do GlassFish Server 3, poderá ver que o EntAppEJB foi implantado.</p>
        </div>


        <a name="Exercise_30"></a>
        <h2>Criando o Cliente de Aplicação</h2>

        <p>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.</p>

        <p>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.
        </p>

        <div class="indent">
            <a name="Exercise_31"></a>
            <h3>Criando a Aplicação Corporativa</h3>
            <p>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.</p>

            <p class="notes"><strong>Observação.</strong> 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.</p>
            <ol>
                <li>Selecione Arquivo > Novo Projeto e selecione Cliente de Aplicação Corporativa na categoria Java EE. Clique em Próximo.</li>
                <li>Digite <strong>EntAppClient</strong> como o Nome do Projeto. Clique em Próximo.</li>
                <li>Selecione GlassFish Server como o Servidor. Clique em Finalizar.
                    <p>Observe que não é preciso adicionar o projeto em uma aplicação corporativa.</p>
                </li>
            </ol>
            <img alt="tela de Criar Cliente de Aplicação no assistente Novo Projeto" class="margin-around b-all" src="../../../images_www/articles/72/javaee/entappclient/appclient-wizard-newentappclient.png" title="Criar Cliente de Aplicação selecionado no assistente Novo Projeto" />

            <p>Quando você clicar em Finalizar, o IDE criará o projeto de cliente de aplicação e abrirá <tt>Main.java</tt> no editor.</p>

            <a name="Exercise_31"></a>
            <h3>Adicionando a Biblioteca de Classe</h3>
            <p>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.
            </p>
            <p class="tips">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.</p>

            <ol>
                <li>Expanda o nó Pacotes de Código-Fonte do projeto EntAppClient e abra o <tt>Main.java</tt> no editor.</li>
                <li>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.</li>
                <li>Expanda o nó do projeto EntAppEJB e selecione MySession. Clique em OK.<br /> <img alt="tela da caixa de diálogo Chamar Enterprise Bean" class="margin-around b-all" src="../../../images_www/articles/72/javaee/entappclient/appclient-callenterprise.png" title="Caixa de diálogo Chamar Enterprise Bean" />

                <p>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 <tt>Main.java</tt>.
                <pre class="examplecode">@EJB
private static MySessionRemote mySession;</pre>

                <p>O IDE também adiciona automaticamente a EJBRemoteInterface como uma Biblioteca do projeto.</p>
                </li>
                <li>Modifique o método <tt>main</tt> para recuperar a String do método <tt>getResult</tt> por meio da interface MySessionRemote. Salve as alterações.
                <pre class="examplecode">
public static void main(String[] args) {
        <strong>System.err.println("result = " + mySession.getResult());</strong>
    }</pre>
                </li>
            </ol>
        </div>


        <a name="Exercise_40"></a>
        <h2>Executando o Clente de Aplicação</h2>

        <p>Você agora pode executar o cliente de aplicação construindo e implantando o projeto EntAppClient.</p>
        <ol>
            <li>Clique com o botão direito do mouse no projeto EntAppClient na janela Projetos e selecione Executar.
            <p>Como alternativa, você pode expandir o pacote do código-fonte, clicar com o botão direito do mouse na classe <tt>Main.java</tt> e selecionar Executar Arquivo.</p></li>
        </ol>

        <p>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.</p>
        <img alt="tela da janela de Saída que mostra o resultado" class="margin-around b-all" src="../../../images_www/articles/72/javaee/entappclient/appclient-buildoutput.png" title="O resultado na janela de Saída" />

        <p>Caso deseje criar EJBs adicionais, basta adicionar as novas interfaces remotas dos EJBs no projeto da biblioteca de classe EJBRemoteInterface.</p>

<!--

        <a name="Exercise_50"></a>
        <h2>Downloading the Solution Project</h2>
        <p>You can download the solution to this tutorial as a project in the following ways.</p>
        <ul>
            <li>Download <a href="https://netbeans.org/projects/samples/downloads/download/Samples%252FJavaEE%252Fentappclient.zip">a zip archive of the finished project</a>.</li>
            <li>Checkout the project sources from the NetBeans Samples by performing the following steps:
                    <ol>
                        <li>Choose Team &gt; Subversion &gt; Checkout from the main menu.</li>
                        <li>In the Checkout dialog box, enter the following Repository URL:<br/>
                            <tt>https://svn.netbeans.org/svn/samples~samples-source-code</tt><br/>
                            Click Next.</li>
                        <li>Click Browse to open the Browse Repostiory Folders dialog box.</li>
                        <li>Expand the root node and select <strong>samples/javaee/entappclient</strong>. Click OK.</li>
                        <li>Specify the Local Folder for the sources (the local folder must be empty).</li>
                        <li>Click Finish.
                            <p>When you click Finish, the IDE initializes the local folder as a Subversion repository
                            and checks out the project sources.</p>
                        </li>
                        <li>Click Open Project in the dialog that appears when checkout is complete.</li>
                    </ol>
                <p class="notes"><strong>Notes.</strong></p>
                <ul>
                    <li>Steps for checking out sources from Kenai only apply to NetBeans IDE 6.7 and 6.8.</li>
                    <li>You need a Subversion client to checkout the sources from Kenai.
                    For more about installing Subversion, see the section on <a href="../ide/subversion.html#settingUp">Setting up Subversion</a> in the <a href="../ide/subversion.html">Guide to Subversion in NetBeans IDE</a>.</li>
                </ul>
            </li>
        </ul>-->
        
        <div class="feedback-box"><a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Creating%20an%20Application%20Client">Envie-nos Seu Feedback</a></div>
        <br style="clear: both;">
        <!-- ======================================================================================= -->
        <h2><a name="nextsteps"></a>Próximas Etapas</h2>
        <!--<p>For more, see the following tutorial </p>
        <ul>
            <li><a href="http://wiki.netbeans.org/wiki/view/RemoteApplicationClientInNetBeans">RemoteApplicationClientInNetBeans</a></li>
        </ul>-->
        
        
        <p>Para obter mais informações sobre o uso do NetBeans IDE para desenvolver aplicações Java EE, consulte os seguintes recursos: </p>
        <ul>
            <li><a href="javaee-intro.html">Introdução à Tecnologia Java EE</a></li>
            <li><a href="javaee-gettingstarted.html">Conceitos Básicos sobre Aplicações do Java EE</a></li>
            <li><a href="../../trails/java-ee.html">Trilha de Aprendizado do Java EE e Java Web</a></li>
        </ul>
        <p>Você pode encontrar mais informações sobre o uso do EJB Enterprise Beans no <a href="http://download.oracle.com/javaee/6/tutorial/doc/">Tutorial do Java EE 6</a>.</p>
        <p>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, <a href="../../../community/lists/top.html">inscreva-se na lista de correspondência de nbj2ee</a>.</p>
        <!-- End Content Area -->
    </body>
</html>
