Exercício 1.3: Incluindo Beans de Entidade em Diagramas de Classes

Antes de iniciar, é necessário concluir o Exercício 1.2: Preparando o Espaço de Trabalho.

O exercício 1.3 o orienta na criação de beans de entidade a partir de um diagrama de classe UML. Neste módulo, você irá fazer estas tarefas:

Descrição dos beans

Você criará dois beans de entidade neste cenário: Author e Book. O bean Author representará uma tabela do banco de dados, também chamada AUTHOR. O bean conterá campos representando o autor: ID, nome, idade e gênero. Estes campos no bean serão mapeados diretamente para colunas na tabela AUTHOR.

O bean Book representará um livro. Seus campos incluem ID e título. Os dados correspondentes ao bean Book serão armazenados na tabela BOOK.

Criando o bean Author

Siga estas etapas para criar o bean Author:

  1. Localize a gaveta EJB da paleta à direita do diagrama de classe UML.
  2. Clique na gaveta EJB para abri-la se ainda não estiver aberta. Bean de Entidade CMP 2.x aparece no meio da lista.
  3. Clique na seta (ícone do menu de opções) à direita de Bean de Entidade CMP 2.x para revelar mais opções. A outra opção listada é Bean de Entidade CMP 1.x.
  4. Selecione Bean de Entidade CMP 2.x.
  5. Mova o ponteiro do mouse para o diagrama de classe e clique onde deseja colocar o bean. Isto cria um novo bean de entidade CMP 2.x, visualize-o no diagrama de classe.

Como os beans EJB são complexos, esta ação ativa o assistente Criar um Bean Corporativo, permitindo definir o bean.

A Página Criar um Bean Corporativo

Na primeira página do assistente, siga estas etapas:

  1. Verifique se Projeto EJB é UML EJB tutorial.
  2. Forneça o Nome do bean, Author.
  3. Verifique se a Pasta de origem é ejbModule.
  4. Altere o nome do Pacote padrão para sample.
  5. Verifique se a Versão CMP é 2.x.
  6. Clique em Avançar.

página de propriedades básicas do novo assistente EJB

A página Detalhes do Bean Corporativo

Na segunda página do assistente, siga estas etapas:

  1. Deixe o Supertipo do bean em branco.
  2. Verifique se a Classe do bean é sample.AuthorBean.
  3. Deixe a caixa de opções Cliente remoto desmarcada.
  4. Selecione a caixa de opções Visualização do cliente local.
  5. Verifique se o nome da Interface home local é sample.AuthorLocalHome.
  6. Verifique se o nome da Interface local é sample.AuthorLocal.
  7. Verifique se a Classe-chave é java.lang.Integer.
  8. Selecione a caixa de opções Utilizar o tipo de atributo de chave única para a classe-chave.
  9. Verifique se o id da chave está na lista dos atributos CMP.
  10. Inclua dois atributos CMP:
    1. Clique em Incluir.
    2. Crie um atributo chamado name com o tipo de java.lang.String. Deixe as caixas de opções Matriz e Campo de chave desmarcadas e a caixa de opções Promover os métodos getter e setter para a interface local selecionada. Quando getters e setters são promovidos para a interface local, eles são expostos aos aplicativos clientes.
    3. Clique em Aplicar.
    4. Crie um atributo chamado age com um tipo java.lang.Integer. Deixe as caixas de opções Matriz e Campo de chave desmarcadas e a caixa de opções Promover os métodos getter e setter para a interface local selecionada.
    5. Clique em Aplicar e, em seguida, em Fechar.
    6. Clique em Concluir.

a página de detalhes do bean corporativo do assistente novo EJB

O seu primeiro bean de entidade será criado e visualizado no diagrama de classe. Os seguintes arquivos aparecem na visualização Explorador de Projetos:

Abra o descritor de implementação EJB e observe que na página Visão Geral, no título JavaBeans Corporativos, o bean Author está listado. Clique na entrada do bean Author. A página Bean do editor do descritor de implementação é aberta, mostrando os três campos CMP e os quatro arquivos de classe e interface, incluindo a classe utilizada pela chave primária, java.lang.Integer.

Na página Bean, no título Ligações do WebSphere, o nome JNDI ejb/sample/AuthorLocalHome é mostrado. Este nome JNDI é utilizado quando um aplicativo cliente está procurando o bean.

Na visualização Explorador de Projetos, no projeto EJB, o diretório ejbModule > META-INF contém o novo arquivo ibm-ejb-jar-bnd.xmi. Este arquivo contém informações de ligação específicas da IBM. As informações dentro dele são acessíveis por meio do editor do descritor de implementação, mas os valores são armazenados em um arquivo separado para permitir uma remoção fácil de aprimoramentos específicos da IBM, se você desejar implementar seu aplicativo em um servidor EJB de um outro fornecedor. Posteriormente, no processo de desenvolvimento do EJB, o arquivo ibm-ejb-jar-ext.xmi será exibido. Ele contém informações de extensões específicas da IBM.

Além disso, na visualização Explorador de Projetos, expanda o diretório do descritor de implementação no projeto EJB, expanda Beans de Entidade > Author e explore os links para os vários componentes que constituem o bean Author.

Criando o bean Book

A seguir, você criará o bean Book. Siga estas etapas:

  1. Inclua outro bean de entidade CMP 2.x no diagrama de classe.
  2. Siga as mesmas etapas utilizadas para o bean Author, com estas diferenças:
  3. Clique em Concluir.

O seu segundo bean de entidade é criado e visualizado no diagrama de classe e os seguintes arquivos aparecem na visualização Explorador de Projetos:

Agora, o descritor de implementação EJB possui Book na lista dos JavaBeans Corporativos na página de Visão Geral. O bean Book possui detalhes semelhantes ao bean Author. Na visualização Explorador de Projetos, expanda o diretório do descritor de implementação no projeto EJB. Expanda Beans de Entidade > Book e explore os links para os componentes do bean.

Definindo relacionamentos entre beans

Em seguida, você definirá um relacionamento do CMP entre os dois beans CMP no diagrama de classe. Um único Author pode ser associado a zero ou mais books. E um único book pode ser associado a um ou mais authors. Esse relacionamento será expresso como um relacionamento vários-a-vários bidirecional utilizando a notação0..*:0..*.

  1. Dê um clique duplo na barra de títulos do diagrama de classe UML para ampliar a janela.
  2. Na visualização paleta, expanda a gaveta Relacionamento CMP clicando na seta (ícone do menu de opções).
  3. Selecione o Relacionamento CMP 0..*:0..*.
  4. Mova o ponteiro do mouse sobre o bean Author. Você verá um ícone de seta (ícone de seta) se o relacionamento for válido para o bean. Se o relacionamento não for válido, você verá o mesmo ícone e um símbolo de inválido (ícone de seta inválido) .
  5. Clique no bean Author.
  6. Arraste o cursor para o bean Book e solte-o. Se esse bean de destino for inválido para o relacionamento, o ícone inválido (ícone de seta inválido) aparecerá.
  7. O relacionamento CMP é visualizado como uma associação no diagrama após o código subjacente adequado ser gerado. No descritor de implementação, esses relacionamentos aparecem no título Relacionamentos na página Bean.
  8. Selecione Ctrl + S para salvar o diagrama de classe.

Seção Relacionamentos do descritor de implementação EJB

Você poderá desejar reorganizar os elementos no diagrama de classe para ver os detalhes.

diagrama de classe com relacionamentos mostrados

Explorando Visualizações Adicionais

As visualizações Resumo e Propriedades fornecem informações úteis sobre o diagrama de classe global e sobre propriedades específicas do componente EJB.

A visualização Resumo aparece, por padrão, na parte inferior esquerda do workbench. Utilize essa visualização para navegar em um diagrama grande seguindo estas etapas:

  1. Se o diagrama de classe ainda estiver utilizando a estrutura de workbench inteira, dê um clique duplo na barra de títulos do diagrama de classe novamente para restaurá-lo ao tamanho normal.
  2. Observe a visualização Resumo no canto inferior esquerdo do workbench. O diagrama de classe é exibido nela em um escala pequena. Se o diagrama for grande demais para ser exibido por completo na janela de edição, você verá um retângulo destacado na visualização Resumo que indica a parte visível do diagrama.
  3. Na visualização Resumo, mova o retângulo realçado com o ponteiro do mouse. A seção do diagrama de classe visível na área do editor é movida para corresponder à seção realçada na visualização Resumo.

Visualização Resumo de um diagrama de classe

A visualização Propriedades aparece, por padrão, na parte inferior direita do workbench. Ela tem duas guias, Aparência e Avançada. Você pode alterar cores, fontes e outras propriedades visuais na página Aparência. A página Avançada mostra propriedades detalhadas no elemento realçado no diagrama de classe. Alguns valores de propriedade na visualização Propriedades são de leitura e alguns podem ser modificados.

Visualização Propriedades de um diagrama de classe

Modificando Atributos do Diagrama de Classe UML

A seguir, você modificará alguns dos atributos CMP para o bean Author.

Incluir um Atributo CMP em um Bean

  1. Mova o cursor do mouse para qualquer lugar no bean Author. Aparece uma Barra de ação.

  2. Barra de ação
  3. Clique no símbolo da chave primária (ícone do campo da chave primária) na Barra de ação para incluir atributos CMP adicionais em AuthorBean. O assistente Campos CMP é aberto.
  4. Inclua um campo com o nome gender do tipo java.lang.Character.
  5. Clique em Aplicar > Fechar > Concluir. As classes de bean são atualizadas e o atributo gender aparece no compartimento Atributo do bean no diagrama de classe.

Atributos CMP para o bean Author

Tornar um Atributo CMP Parte da Chave

  1. Realce o atributo name no bean Author.
  2. Clique com o botão direito do mouse e selecione Editar > Incluir na Chave. O assistente Nova Classe de Chave é aberto. Uma nova classe de chave é requerida porque a chave não é mais um tipo Java primitivo. Antes dessa etapa, o java.lang.Integer era utilizado como a classe de chave.
  3. Clique em OK para utilizar as opções pré-selecionadas para criar a nova classe de chave com o nome da classe de chave padrão, AuthorKey. O atributo name agora aparece no diagrama de classe com o símbolo do campo de chave primária. A nova classe de chave aparece no diretório UML EJB tutorialClient > ejbModule > sample
  4. Selecione Ctrl + S para salvar o diagrama de classe.

Assistente Nova Classe de Chave

Manipulando Objetos no Diagrama de Classe UML

A seguir, veja os detalhes do diagrama de classe. Dê um clique duplo na barra de títulos do diagrama de classe para ampliá-lo. Agora o editor do diagrama de classe ocupa a maior parte da janela do workbench, deixando o paleta expandida à direita.

Reorganizar os Componentes do Bean no Diagrama

  1. Clique uma vez em um dos beans. Pequenos quadrados negros aparecem em torno do retângulo do bean, indicando que ele foi selecionado.
  2. Arraste o bean para outra localização no diagrama de classe e solte-o. Se o bean Author ou Book for movido, a seta de relacionamento se ajustará para refletir a nova posição.

Alterar os Itens Exibidos de um Bean

  1. No editor do diagrama de classe, realce o bean Author. O retângulo que representa o bean é dividido em vários componentes. Os compartimentos padrão que são exibidos são Atributo e Interfaces Fornecidas. Os componentes têm um ícone oculto (ícone oculto) no canto superior esquerdo.
  2. Clique em um dos ícones ocultos para ocultar o compartimento do bean. O compartimento é reduzido e o ícone oculto é substituído pelo ícone de exibição (ícone de exibição).
  3. Clique no ícone de exibição para expandir novamente o compartimento.
  4. Selecione quais compartimentos são mostrados ou ficam ocultos clicando com o botão direito do mouse no bean e selecionando Filtros > Mostrar/Ocultar Compartimento.

EJB com seções ocultas e exibidas

Abrir Editores a partir do Diagrama

Quando você abre o Editor Java do Bean EJB, uma visualização Resumo para esse editor aparece no canto inferior esquerdo do workbench. Você pode fazer alterações no bean a partir dessa visualização. Clique com o botão direito do mouse em um dos métodos na visualização Resumo e selecione Bean Corporativo. Selecione uma das opções Promover ou Rebaixar para promover ou rebaixar o método selecionado para um dos tipos de interface listados.

Tente incluir um método na classe utilizando o Editor Java do Bean EJB. O novo método aparece na visualização Resumo. Se você promover o novo método para uma interface, o método aparecerá no diagrama de classe.

Editor Java do Bean EJB

Familiarizar-se com as Decorações Associadas aos Beans

Decoração Significado
Decoração do bean de entidade CMP 2.x Bean de entidade CMP 2.x
decoração do campo da chave primária campo da chave primária
decoração do campo CMP Campo CMP, não primário
decoração de interface local interface local
decoração de interface home local interface home local
decoração de interface remota interface remota
decoração de método local método local
decoração de método home local método home local
decoração de método remoto método remoto

Uma lista completa de decorações é mostrada no centro de informações em Referência de Visualização da UML.

Diagramas de Classe UML e Interação de Código

Conforme você realiza alterações em seu diagrama de classe, as alterações correspondentes são automaticamente realizadas no código base. Por outro lado, se você realizar alterações diretamente no código, o diagrama da classe será automaticamente alterado para refletir a alteração. Qualquer tipo de alteração realizada dentro do workbench resulta na revalidação automática e imediata do código. Para aplicativos EJB, a validação inclui a identificação de erros de compilação em classes Java, problemas no caminho da classe e violação das especificações EJB.

Na parte inferior do workbench, várias visualizações são temporárias, incluindo uma chamada Problemas. Esta visualização mostra todos os erros, avisos e mensagens informativas para todos os projetos e arquivos dentro do workbench. Dar um clique duplo em um dos problemas listados abrirá o arquivo apropriado no lugar em que ocorreu o erro.

A visualização Problemas limita o número de problemas listados em 100, por padrão. Você pode alterar este limite ou filtrar a visualização para exibir apenas os itens que deseja ver. As opções de filtragem incluem severidade do problema, projetos, recursos e tipo do problema. Para modificar essas definições padrão, clique na seta (ícone do menu de opções) e selecione Filtros.

Configurando preferências de diagramas de classe UML

É possível alterar alguns dos comportamentos padrão e exibir características de diagramas de classe. No menu Janela, selecione Preferências. Expanda Modelagem para ver os itens que podem ser alterados.

A seção principal contém Definições Globais, como se as Barras de Ações aparecessem ao manter o ponteiro do mouse sobre uma classe no diagrama. A seção Aparência possui várias páginas que permitem alterar características como fontes, cores, conectores e formatos. A seção EJB tem uma definição para quando os diagramas de classe forem abertos. Outras seções incluem opções para campos Java e de métodos, regras e grades e validação.

Percorra as seções para se familiarizar com as diversas opções. Após realizar as alterações, clique em OK para salvá-las e sair da página Preferências.

Agora você está pronto para iniciar o Exercício 1.4: Mapeando beans de entidade para bancos de dados relacionais.

Feedback
(C) Copyright IBM Corporation 2000, 2005. Todos os Direitos Reservados.