< Anterior | Próximo >

Lição 4: Configurar o Projeto como um Cliente

Assim como o projeto de serviço, o projeto de cliente usa um arquivo do descritor de implementação do EGL. No entanto, no projeto de cliente, o descritor de implementação do EGL conterá informações sobre onde localizar serviços. Você importará o arquivo WSDL criado a partir do serviço e o EGL incluirá informações sobre ligação apropriadas no descritor de implementação do EGL para que o cliente possa localizar o serviço.

No processo, o EGL cria uma parte da interface para representar o serviço dentro do projeto do cliente. Quando a parte da interface é ligada ao serviço real, é possível usar essa parte da interface como se fosse o serviço em si.

Mostre-me

Configurar o Arquivo do Descritor de Implementação do EGL

  1. Abra o arquivo do descritor de implementação do EGL do projeto de cliente dando um clique duplo em EGLClient/EGLSource/EGLClient.egldd na visualização Explorador de Projetos. Observe que o descritor de implementação EGL não tem relação com a pasta do Descritor de Implementação Java, que também está no projeto EGLClient.
  2. No editor do descritor de implementação, acesse a guia Ligações de Serviço.
  3. Na guia Ligações de Serviço, clique em Incluir.
  4. Na janela Incluir uma Ligação de Serviço, clique em Ligação da Web.
  5. Clique em Avançar.
  6. Selecione a caixa de opção Escolher arquivo WSDL do espaço de trabalho e copiá-lo para o projeto atual.
  7. Clique em Procurar.
  8. Selecione o arquivo HelloService.wsdl, que está localizado no projeto EGLService na pasta EGLSource\wsdl e, em seguida, clique em OK.
  9. Em Opções da Interface, selecione o botão de rádio Gerar Interface do EGL a partir do Arquivo WSDL. Com esta opção selecionada, o EGL criará as partes necessárias para acessar o serviço automaticamente.
  10. Aceite os padrões para os outros campos na página e clique em Avançar. A página Nova Interface do EGL mostra uma lista com todos os serviços descritos no arquivo WSDL. O EGL criará uma parte da interface no projeto de cliente para cada serviço selecionado nesta página. Até o momento, apenas o serviço criado no projeto de serviço está listado aqui.
  11. Certifique-se de que a caixa de opção do serviço HelloService esteja selecionada e, em seguida, clique em Avançar. A próxima página permite configurar onde a nova parte da interface será criada e como será nomeada. Você também pode selecionar quais funções do serviço incluir na parte da interface. Por padrão, todas as funções da parte de serviço estão incluídas.
  12. No campo Pasta de Origem, certifique-se de que a pasta de origem do projeto de cliente esteja especificada: EGLClient\EGLSource.
  13. No campo Pacote, certifique-se de que o pacote services esteja especificado.
  14. Certifique-se de que a caixa de opção ao lado da função SayHello esteja selecionada na lista Funções. A janela se parece com:
    A janela Incluir uma Ligação de Serviço
  15. Clique em Concluir. Agora, você criou uma ligação de serviço. Usando essa ligação, a página da Web que você criou nesse projeto pode acessar o serviço. A ligação no arquivo do descritor de implementação é semelhante a esta:
    O arquivo do descritor de implementação do cliente
  16. Salve e feche o arquivo do descritor de implementação. Observe que o EGL criou uma parte da interface no pacote services do projeto. A parte da interface é semelhante a esta:
    A nova parte da interface

    Esta interface é semelhante à criada no aplicativo de serviço, mas esta possui propriedades adicionais para se referir à ligação no arquivo do descritor de implementação.

  17. Assim como você fez no projeto EGLService, certifique-se de que o descritor de implementação apareça no arquivo do descritor de construção do cliente:
    1. Dê um clique duplo no descritor de construção do projeto para abri-lo no editor de partes de construção. Este arquivo é nomeado EGLClient.eglbld e está localizado na pasta EGLSource do projeto.
    2. Na lista de opções do descritor de construção, a opção nomeada deploymentDescriptor deve ser configurada como EGLClient.
    3. Clique em OK e feche o arquivo.

Usar o Serviço na Página da Web

  1. Abra o Manipulador JSF para a página da Web, denominado ClientPage.egl.
  2. No Manipulador JSF, crie uma variável a partir da parte da interface. Geralmente, é mais fácil usar o assistente de conteúdo para criar uma variável desta forma:
    1. No arquivo do Manipulador JSF, coloque o cursor em uma linha em branco imediatamente após as três variáveis criadas em uma seção anterior.
    2. Em uma linha em branco, digite o seguinte código, como os primeiros caracteres da parte da interface:
      he	
    3. Pressione CTRL+espaço. O assistente de conteúdo preenche a linha para você com o seguinte código:
      helloService HelloService {@bindService};
      O assistente de conteúdo também inclui uma instrução import no Manipulador JSF para que você possa usar essa parte sem especificar o local completo. Os resultados são semelhantes à seguinte imagem:
      O assistente de conteúdo conclui a linha
  3. Em uma linha em branco na função getHello(), chame a função SayHello() no serviço transmitindo-a para as variáveis name e city e designando a saída para a variável output:
    output = helloService.SayHello(name, city);
    Lembre-se de que é possível usar o assistente de conteúdo digitando os primeiros caracteres de uma palavra-chave ou parte e, em seguida, pressionando CTRL+espaço. O Manipulador JSF é semelhante a este:
    O código no Manipulador JSF
  4. Salve e feche o Manipulador JSF.
  5. Gere o projeto de cliente inteiro clicando com o botão direito nele na visualização Explorador de Projetos e depois clicando em Gerar.
  6. Em seguida, para testes, é necessário informar ao servidor de aplicativos sobre o serviço que você deseja chamar. Na visualização Servidores, clique com o botão direito do mouse em WebSphere Appplication Server v6.1 e clique em Incluir e Remover Projetos.
  7. Na página Incluir e Remover Projetos, verifique se EGLClientEAR e EGLServiceEAR estão listados como Projetos Configurados. Se o EGLServiceEAR estiver na coluna Projetos Disponíveis, clique nele para realçá-lo e, em seguida, clique em Incluir e Concluir. A janela é semelhante à seguinte figura:
    A janela concluída Incluir e Remover Projetos mostra EGLServiceEAR como configurado no servidor
    Agora a página da Web está pronta para uso.
  8. Na visualização do Explorador de Projetos, clique com o botão direito do mouse na página da Web ClientPage.jsp na pasta WebContent, não no Manipulador JSF e, em seguida, clique em Executar Como > Executar no Servidor.
  9. Na janela Definir um Novo Servidor, clique no botão de rádio de Escolher um servidor existente e, em seguida, clique em WebSphere Application Server v6.1. Clique em Concluir. O servidor publica a página e a exibe no navegador da Web interno. Se você preferir usar um navegador da Web externo, poderá copiar a URL a partir do navegador da Web interno e colá-la no campo URL do navegador da Web externo.
  10. Digite um nome e cidade nos campos do nome e cidade e, em seguida, pressione o botão na página. O campo de saída na página mostra uma cadeia como "Bill, bem-vindo a Nova Iorque!", dependendo do nome e da cidade inseridos, como nesta imagem:
    A página concluída
Pode parecer muito trabalho para uma tarefa simples, mas esses projetos demonstram como o EGL pode criar serviços, clientes ou ambos e como esses aplicativos trabalham juntos. Usando serviços da Web e clientes na arquitetura orientada a serviços, é possível integrar uma ampla variedade de aplicativos EGL e não EGL de uma forma que seja flexível e modular.
< Anterior | Próximo >