Antes de iniciar este exercício, é necessário concluir o .

O aplicativo exibe uma lista de todos os registros de funcionários atuais no diretório. Os registros são exibidos em um JTable (employeesTable) como colunas ordenadas, incluindo o último nome, primeiro nome, e-mail e ID do funcionário. Para obter os registros para a tabela, você precisa ligar a employeesTable em um objeto de dadost retornado pela origem de dados do serviço da Web de amostra.

Neste exercício, é necessário concluir as duas etapas a seguir:

  1. Gerar um Proxy Java de Serviço da Web no Projeto, Utilizando o Arquivo WSDL Fornecido
  2. Ligar a Tabela de Funcionários a um Objeto de Dados de Linha Retornado pelo Serviço da Web

Visão Geral dos Objetos de Dados, Origens de Dados e Binder

Para obter o objeto de dados local para employeesTable trabalhar, você utilizará o editor visual para incluir uma origem de dados ao aplicativo. A origem de dados conecta-se a um proxy de serviço da Web de amostra e descobre os métodos de serviço disponíveis para o aplicativo. Em seguida, você escolherá o método de serviço getLightEmployeeRecord, disponível da origem de dados. Finalmente, você ligará employeesTable em seu aplicativo aos campos retornados no objeto de dados da linha (lightEmployeeRecordRows).

É possível criar todas essas origens de dados e objetos de dados rapidamente e com facilidade, utilizando as classes de binder internas do Java Visual Editor. O visual editor fornece um conjunto de interfaces e classes genéricas, geradas no projeto ao ligar os componentes visuais aos depósitos de informações do provedor de dados. As classes de binder são geradas por padrão em um pacote denominado jve.generated. O visual editor fornece as classes de binder como uma implementação genérica, que pode ser personalizada e aprimorada adicionalmente para corresponder às necessidades do aplicativo. Este tutorial demonstra a força e a flexibilidade da utilização, mesmo que básica e simples, das classes de binder padrão.

Importante: Antes de iniciar este exercício, é altamente recomendável que você leia os seguintes tópicos da ajuda. Esses tópicos podem ajudá-lo a saber mais sobre a funcionalidade e a lógica por trás dos objetos de dados, origens de dados e binders fornecidos pelo Java Visual Editor:

Para este tutorial, você utilizará uma origem de dados do serviço da Web, diversos tipos de objetos de dados e vários binders em seu aplicativo. Ao incluir instâncias desses objetos em seu aplicativo,o visual editor inclui classes necessárias no pacote jve.generated em seu projeto, onde você possa estender, substituir ou reescrever a lógica da ligação de dados. O Java Visual Editor fornece suporte visual a objetos de ligação, mostrando na área livre da visualização de design os objetos e as origens de dados e conectores que seu aplicativo está utilizando. O visual editor traça linhas entre os componentes, os objetos de dados e as origens de dados para mostrar as ligações atuais a qualquer objeto selecionado.

O diagrama a seguir é uma visão geral simples de como os componentes visuais, binders, objetos de dados e origens de dados interagem. O aplicativo construído neste tutorial ilustra uma utilização um pouco mais complexa e criativa dos binders. Este diagrama não representa exatamente os binders, objetos e origens de dados no aplicativo de amostra em construção.

Figura 1. Este diagrama ilustra um relacionamento de amostra entre os componentes visuais, binders, objetos e origens de dados
Este Diagrama Ilustra o Relacionamento entre os Componentes Visuais, os Objetos de Dados e as Origens de Dados

Na Figura 1, cada componente visual possui seu próprio binder, que o associa a um objeto de dados ou, no caso do botão, a uma origem de dados. Os binders para os campos de texto ligam o campo a uma propriedade específica do objeto de dados. Tanto o objeto de dados de linha quanto o objeto de dados neste diagrama obtêm seus dados de chamadas diretas a um serviço na origem de dados. O objeto de dados para os campos de texto utiliza um valor chave a partir da linha selecionada na tabela como seu argumento para chamar Service2, o que retorna um registro completo que, presumidamente, inclui informações adicionais sobre a linha selecionada na tabela. Esse registro completo, por sua vez, é utilizado como argumento para o binder de ação do botão ao chamar Service3, que pode ser um método que atualiza os valores digitados nos campos. Para obter explicações detalhadas dos objetos, binders e origens de dados, siga os links fornecidos anteriormente.

Gerando um Proxy Java de Serviço da Web no Projeto, Utilizando o Arquivo WSDL Fornecido

Para trabalhar com o serviço da Web em execução em um servidor, o aplicativo Java requer um proxy Java ou cliente com o qual interagir. Utilizando um arquivo WSDL, é possível gerar um proxy Java no projeto Java, utilizando o assistente Cliente de Serviço da Web. O projeto MyDirectory inclui o arquivo EmployeeDirectory.wsdl, que será utilizado para gerar esse proxy. Após gerar o proxy Java, é possível criar uma origem de dados que representa o serviço da Web e inicia a ligação dos componentes visuais.

Importante: O arquivo WSDL utilizado no exercício assume que você implementou o serviço da Web em uma instalação local do WebSphere Application Server e utilizou a porta padrão para host local (http://localhost:9080). Se você implementou o arquivo EAR de maneira diferente, é necessário editar o arquivo WSDL adequadamente, antes de prosseguir.

Para gerar o proxy Java de serviço da Web no projeto:

  1. No menu principal, clique em Arquivo > Novo > Outro e selecione o assistente Serviços da Web > Cliente de Serviço da Web. Se a categoria Serviços da Web não estiver sendo mostrada, selecione Mostrar Todos os Assistentes.
  2. No assistente Cliente de Serviço da Web, no campo Tipo de Proxy do Cliente, selecione Proxy Java e, em seguida, clique em Avançar.
  3. Na página Seleção de Serviço da Web, clique em Procurar para localizar o arquivo WSDL.
  4. No Navegador de Recursos, expanda o projeto MyDirectory e selecione EmployeeDirectory.wsdl. Clique em OK e, em seguida, clique em Avançar no assistente Cliente do Serviço da Web.

    Assistente Cliente de Serviço da Web

  5. Na página Configuração do Ambiente do Cliente do assistente, clique em Editar para modificar a configuração do lado cliente para certificar-se de que os arquivos JAR de tempo de execução corretos ou caminhos estão incluídos no projeto Java. Selecione os seguintes valores e, em seguida, clique em OK:
  6. Na página Configuração do Ambiente do Cliente do assistente, no campo Tipo de Cliente, selecione Java.
  7. No campo Projeto do Cliente, selecione MyDirectory. Este é o seu projeto Java em que o assistente Cliente do Serviço da Web realizará a saída do proxy Java para o serviço da Web.

    Assistente Cliente de Serviço da Web

  8. Clique em Avançar.
  9. Clique em Concluir. O assistente Cliente de Serviço da Web gera o proxy Java e o inclui em um novo pacote (directory.service) no projeto.

Ligando employeesTable a um Objeto de Dados de Linha Retornado pelo Serviço da Web:

Mostre-me

Como employeesTable é o primeiro componente visual sendo ligado neste aplicativo, é necessário criar uma origem de dados que aponte ao proxy do serviço da Web de amostra, incluído no projeto. Quando você ligar outros componentes visuais em exercícios posteriores, você reutilizará a origem de dados. Nesta etapa, você inclui a origem de dados do serviço da Web e o objeto de dados lightEmployeeRecordRows.

Para ligar a tabela de funcionários:

  1. Na visualização de Java Beans ou de design, selecione employeesTable. (Certifique-se de não selecionar o pai JScrollPane dele). Uma pequena guia chamada Ligação é mostrada no topo de employeesTable na área de design.

    Guia Ligação no Canvas Gráfico JTable

  2. Clique na guia Ligação no employeesTable. Também é possível clicar com o botão direito em employeesTable e selecionar Propriedades de Ligação.
  3. Como ainda não há objetos de dados em seu aplicativo, é necessário incluir um novo. Clique em Novo Objeto de Dados da Origem de Dados.
  4. No campo Tipo de Origem, selecione Serviço da Web.
  5. Como você ainda não incluiu a origem de dados do serviço da Web em seu aplicativo, é necessário inclui-la agora. Próximo ao campo Origem de Dados, clique no botão ... para abrir a caixa de diálogo Incluir Origem de Dados do Serviço da Web, que procura por clientes de serviços da Web ou proxies disponíveis no projeto.
  6. Selecione o serviço da Web EmployeeDirectory e clique em Concluir. Uma nova origem de dados é incluída no arquivo DirectoryApp.java.

    Caixa de Diálogo Incluir Origem de Dados do Serviço da Web

  7. Na caixa de diálogo Novo Objeto de Dados de Origem de Dados, selecione getLightEmployeeRecords() no campo Serviço de Origem e aceite o nome padrão para o novo objeto de dados: lightEmployeeRecordRows. Nenhum parâmetro é necessário para esse método de serviço. Clique em OK. O novo objeto de dados é criado e exibido na área livre da exibição de design.

    Caixa de Diálogo Novo Objeto de Dados da Origem de Dados

    Dica: Como você está ligando uma tabela, a caixa de diálogo Novo Objeto de Dados da Origem de Dados exibe apenas os serviços que retornam objetos de dados de linha. Nesse caso, o método getLightEmployeeRecords() é o único serviço disponível que retorna uma matriz de objetos.

  8. Na caixa de diálogo Ligações de Dados da Tabela, selecione o objeto de dados lightEmployeeRecordRows.
  9. Agora, é necessário selecionar as propriedades do objeto de dados lightEmployeeRecordRows que deseja exibir em employeeRecords:

    Caixa de Diálogo Ligações de Dados da Tabela

    1. Clique no botão para incluir todas as propriedades de objetos na lista Colunas da Tabela.
    2. Utilize as setas para cima e para baixo para ajustar as colunas na seguinte ordem, de cima para baixo: lastName, firstName, email, employeeID
    3. Renomeie os títulos das colunas: Último Nome, Primeiro Nome, E-mail, ID do Funcionário

      Dica: Após concluir a ligação da tabela, é possível sempre voltar, a qualquer momento, às propriedades de ligação e renomear e reordenar as colunas.

    4. Clique em OK.

    Agora o employeesTable está ligado no objeto de dados lightEmployeeRecordRows utilizando um JRowTableBinder. Se você clicar no objeto de dados lightEmployeeRecordRows na área livre, o visual editor traça uma linha do objeto de dados à tabela. Na linha, JRowTableBinder é representado pelo ícone de binder de tabela Ícone do Binder de Tabela. Outra linha indica que o objeto de dados utiliza webServiceDataSource como origem de dados.

    Exibição das Linhas do Binder para JTable

Examine as alterações para o projeto e aplicativo. Durante este exercício, você incluiu a origem de dados do serviço da Web, um objeto de dados de linha e um binder que liga employeesTable ao objeto de dados de linha. Observe e examine o novo pacote (jve.generated), criado no projeto para manter todas as classes de binder geradas pelo Java visual editor. Observe também o novo pacote (directory.service), que mantém o proxy Java para o serviço da Web.

Pacotes no Projeto MyDirectory

Agora, ao executar o aplicativo, a tabela de funcionários é populada pelo serviço da Web com os registros de funcionário existentes.

Agora você está pronto para seguir para o próximo exercício: .

Termos de uso | Feedback
(C) Copyright IBM Corporation 2000, 2005. Todos os Direitos Reservados.