< Anterior | Próximo >

Lição 1: Criar um Projeto da Web do EGL para o Serviço

Os projetos do EGL podem atuar como serviços, clientes ou ambos simultaneamente. Para este tutorial, você criará dois projetos: um para atuar como o serviço e outro para atuar como o cliente. Embora você possa colocar todo o código em um único projeto do EGL, o uso de dois projetos demonstra como o EGL pode chamar serviços em outro aplicativo.

Mostre-me

  1. Opcionalmente, é possível usar um espaço de trabalho separado ao trabalhar no tutorial para que você não depare com muitos de outros projetos. Se deseja usar um espaço de trabalho diferente, siga estas etapas opcionais:
    1. No ambiente de trabalho, clique em Arquivo > Alternar Espaço de Trabalho. A janela Ativador do Espaço de Trabalho é aberta.
    2. Digite um novo local do espaço de trabalho no campo Espaço de Trabalho.
    3. Clique em OK. O ambiente de trabalho é reaberto usando o novo local do espaço de trabalho. Você pode alternar os locais do espaço de trabalho a qualquer momento e pode ter quantos locais de espaço de trabalho desejar.
  2. Alterne para a perspectiva da Web:
    1. Clique em Janela > Abrir Perspectiva > Outra.
    2. Na lista de perspectivas, clique em Web. Se você não vir a perspectiva da Web, selecione a caixa de opção Mostrar Todos.
    3. Clique em OK.
  3. Certifique-se de que o EGL esteja configurado para gerar descritores de implementação automaticamente. Os descritores de implementação contêm informações que descrevem como os serviços do EGL serão disponibilizados para outros aplicativos e como os aplicativos do EGL localizarão serviços fornecidos por outros aplicativos.
    1. No ambiente de trabalho, clique em Janela > Preferências... > EGL.
    2. Em Opções de Recursos do Projeto do EGL Padrão, certifique-se de que Criar um Descritor de Implementação do EGL esteja selecionado. Se não, clique neste campo para selecioná-lo.
    3. Clique em OK.
  4. No ambiente de trabalho, clique em Arquivo > Novo > Projeto.
  5. Na janela Novo Projeto, expanda EGL e clique em Projeto do EGL. Se não visualizar Projeto do EGL, selecione a caixa de opção Mostrar Todos os Assistentes. Se ainda não visualizar uma categoria EGL ou Projeto EGL, o EGL não estará instalado no sistema. Execute a configuração do produto novamente e selecione o item Recurso Adicional para o EGL.
  6. Clique em Avançar.
  7. No campo Nome do Projeto, nomeie o projeto da seguinte forma:
    EGLService
  8. Em Tipos de Projeto do EGL, clique em Projeto da Web. Este tipo de projeto permite usar interfaces com o usuário da página da Web.
  9. Clique em Avançar.
  10. Em Tempo de Execução de Destino, selecione WebSphere Application Server v6.1.
  11. Certifique-se de que Criar um Novo Descritor de Construção esteja selecionado. Os descritores de construção contêm opções para gerar seu programa em outra linguagem. Não é necessário se preocupar com eles neste momento, porque o assistente criará um descritor de construção apropriado para você. Não é necessário usar as configurações avançadas, a menos que use o WAS e tenha alterado anteriormente a configuração padrão que inclui o projeto em um EAR (Enterprise Application Resource). Se você usar o WAS, seu projeto EGLService deve pertencer a um EAR. O ambiente de trabalho guarda essa configuração.
  12. Você pode ver uma janela perguntando se deseja alternar para a perspectiva J2EE. Se visualizar essa janela, clique em Não.
O novo projeto aparece na visualização Explorador de Projetos.
Visualização Explorador de Projetos mostrando o novo projeto

Criar a Interface para Definir o Serviço

O EGL usa o termo "interface" da mesma forma como fazem as linguagens orientadas a objetos. Para o EGL, uma interface define um plano de um serviço a ser seguido. Especificamente, uma interface contém um ou mais protótipos de função ou resumos de funções. Esses protótipos não são funções úteis em si, mas estabelecem planos para as funções reais.
Por exemplo, suponha que você precise criar um aplicativo que execute operações matemáticas, como uma calculadora. Você pode começar listando todas as operações matemáticas de que seu aplicativo necessitaria (como inclusão, subtração e multiplicação), sem de fato gravar o código para executar estas operações. Nesse caso, você nomearia cada operação e especificaria o parâmetro de entrada e de saída de cada operação, mas não começaria a codificar nenhuma lógica. Dessa forma, você listaria as funções necessárias ao aplicativo de serviço do EGL em uma interface. Tal interface pode começar semelhante a esta:
interface myCalculatorInterface

  //Função para somar números 
  function addNumbers(number1 decimal(10,2) in, 
    number2 decimal(10,2) in) returns (decimal(10,2));

  //Função para subtrair números
  function subtractNumbers(number1 decimal(10,2) in, 
    number2 decimal(10,2) in) returns (decimal(10,2));

end

Então, quando estiver pronto para começar a codificar o serviço, você pode usar esta interface como um ponto inicial e como um teste para garantir que esteja seguindo o plano.

Raramente será solicitado que você grave uma interface mas, em geral, o uso de interfaces para descrever seus serviços é uma boa prática de programação:
  • A interface permite que você planeje o serviço com antecedência e o EGL adverte se o serviço diferir da interface.
  • As interfaces oferecem um resumo conciso de um serviço, explicando o que o serviço pode fazer sem oferecer todos os detalhes da implementação do serviço.
  • As interfaces podem servir como requisitos para desenvolvimento ou conformidade.
  1. Na visualização Explorador de Projetos, clique com o botão direito do mouse no projeto EGLService para selecioná-lo.
  2. Clique em Novo > Outro.
  3. Na janela Novo, expanda EGL e clique em Interface. Certifique-se de que esteja usando o item Interface do EGL e não o item Interface de Java.
  4. Clique em Avançar.
  5. Na janela Nova Parte de Interface do EGL, certifique-se de que a pasta EGLSource do seu projeto seja mostrada no campo Pasta de Origem. Este campo deve informar EGLService\EGLSource.
  6. No campo Pacote, digite este nome.
    interfaces
    O EGL criará esse novo pacote, porque seu projeto ainda não tem um pacote com esse nome.
  7. No campo Nome do Arquivo de Origem EGL, digite este nome para a nova interface:
    HelloInterface
    A janela Nova Parte de Interface do EGL é semelhante a esta:
    A janela Nova Parte de Interface do EGL
  8. Clique em Concluir. A nova interface será criada e aberta no editor EGL. Essa interface já contém um protótipo de função, como uma amostra:
    function functionName(parameterName string in) returns (int);
  9. Exclua o protótipo de função.
  10. Onde estava o protótipo de amostra, insira este código para seu próprio protótipo de função:
    function SayHello(name string in, city string in) returns (string);
  11. Salve e feche o arquivo.
A seguir, estão alguns detalhes técnicos sobre o código que você acabou de inserir:
  • Conforme explicado acima, esta não é uma parte completa da lógica do EGL. Em vez disso, esse protótipo de função descreve uma função que estará no serviço. Nesse caso, o protótipo descreve uma função nomeada SayHello.
  • A função aceita duas partes de entrada do cliente, chamadas parâmetros:
    • Uma variável de cadeia para o nome de uma pessoa
    • Uma variável de cadeia para uma cidade
    A função usará esses parâmetros para juntar uma parte de saída a ser retornada para o cliente.
  • O código returns (string) indica esse valor de retorno e seu tipo.

A interface é semelhante a esta:

O código da parte de interface do EGL

Criar o Serviço

  1. Na visualização Explorador de Projetos, clique com o botão direito do mouse no projeto e, em seguida, clique em Novo > Serviço.
  2. Na janela Nova Parte de Serviço do EGL, certifique-se de que a pasta EGLSource do seu projeto seja mostrada no campo Pasta de Origem. Este campo deve informar EGLService\EGLSource.
  3. No campo Pacote, digite este nome.
    serviços
  4. No campo Nome do Arquivo de Origem EGL, digite este nome para o novo serviço:
    HelloService
  5. Ao lado de Implementa Interfaces, clique em Incluir.
  6. Digite um asterisco * no campo Escolher Interfaces. Sua interface será mostrada na lista Partes Correspondentes.
  7. Clique em HelloInterface na lista Partes Correspondentes para selecionar.
  8. Clique em OK. A interface agora será mostrada na lista Implementa Interfaces.
  9. Selecione a caixa de opção Criar como um Serviço da Web. A seleção desta caixa de opção inclui informações sobre implementação no arquivo do descritor de implementação. A janela Nova Parte de Serviço do EGL é semelhante a esta:
    O assistente Novo Serviço
  10. Clique em Concluir. O novo serviço é criado e aberto no editor EGL. O serviço já contém uma função iniciante com base no protótipo da interface.
  11. Remova o comentário // TODO Auto-generated function e digite o seguinte código em seu lugar:
    ReturnString string;
    ReturnString = name::", welcome to "::city::"!";
    return (ReturnString);
    Esse código cria uma variável de cadeia e designa a ela um valor com base nos parâmetros, como "Jim, bem-vindo a Chicago!" O código :: é um operador de concatenação, que une cadeias separadas em uma única cadeia. O código é semelhante a este:
    O código da parte de serviço do EGL
  12. Salve e feche o arquivo.
< Anterior | Próximo >