A transformação UML-para-EJB 3.0
gera código Enterprise JavaBeans (EJB) 3.0 e Java™
de elementos de modelo Unified Modeling Language (UML). Você deve aplicar os estereótipos
do perfil de transformação UML-para-EJB 3.0 aos elementos de modelo UML para gerar
enterprise beans.
Antes de utilizar essa transformação para gerar beans EJB 3.0 e classes
Java, você deve instalar componentes específicos e ativar recursos
específicos. - Você deve instalar os seguintes componentes:
- Transformações e edições gráficas Java,
Java Persistence API (JPA) e EJB 3.0
- Ferramentas para WebSphere
Application Server, versão 7.0
- Você deve ativar os seguintes recursos:
- Ferramenta EJB 3.0 Transformation Profile
- Transformação Java Persistence
API
- Se você configurar a transformação UML em EJB 3.0 para criar relacionamentos de rastreamento entre
elementos UML e os elementos EJB 3.0 gerados, deve ativar os seguintes recursos:
- Modelagem EJB 3.0
- Modelagem JPA
Nota: A categoria de recurso Modelagem contém os recursos Modelagem EJB 3.0
e Modelagem JPA.
Depois de executar a transformação, para customizar a saída da transformação,
você deve ativar os seguintes recursos:
- Enterprise Java Developer
- Desenvolvedor J2EE
Geração de Artefatos Java por outras Transformações
Quando
você aplica uma configuração de transformação UML-para-EJB 3.0, o serviço de
transformação chama as seguintes transformações, nesta ordem:
- transformação
UML em Java
- Transformação UML-para-JPA
- Transformação UML-para-EJB 3.0
Para cada uma dessas transformações, as regras de transformação transformam
quantos elementos de origem forem possíveis.
Se você não
aplicar os estereótipos do perfil de transformação UML-para-EJB 3.0 aos elementos
de modelo UML, as transformações de UML em Java e UML-para-JPA transformarão os
elementos de modelo UML em código Java e entidades Java Persistence API (JPA) e
os enterprise beans não serão gerados.
Verifique a visualização Problemas para
obter informações sobre os estereótipos ausentes.
Origens de Transformação Válidas
É possível especificar os seguintes elementos como origens para a transformação UML-para-EJB 3.0:
- modelos UML
- Pacotes e seu conteúdo
- Classes não aninhadas e seu conteúdo
- Interfaces não aninhadas e seu conteúdo
- Enumerações não aninhadas
A transformação transforma o conteúdo de modelos, pacotes,
classes e interfaces UML. Por exemplo, ao transformar uma
classe, a transformação também transforma as operações e propriedades
da classe.
Se você selecionar um modelo ou elementos de modelo
na visualização Explorador de Projetos em vez de utilizar o editor de
Configuração de Transformação, o modelo ou elementos selecionados substituirão o modelo
ou elementos de origem especificados na configuração de transformação. A
configuração de transformação não é afetada e a origem especificada
na página Origem e Destino do editor de configuração de transformação
ou no assistente de Nova Configuração de Transformação não é alterada.
Destinos de Transformação Válidos
A
transformação pode gerar saída para um único projeto EJB 3.0. É possível criar
o projeto EJB 3.0 com ou sem um projeto de cliente. A transformação gera
código na primeira pasta de origem detectada do projeto EJB 3.0 e na
primeira pasta de origem detectada do projeto de cliente, se algum existir.
Descritores de Implementação e Arquivos de Persistência
É
possível configurar a transformação para gerar um descritor de implementação, que consiste nos seguintes
arquivos de persistência:
- orm.xml, que contém as anotações JPA que correspondem aos elementos UML na origem da transformação
- persistence.xml, que contém um elemento <mapping-file> que se refere a orm.xml
Ao
configurar a transformação para gerar um descritor de implementação, ele gera todas as anotações JPA nos
arquivos de persistência, e não gera anotações JPA no código Java.
Relacionamentos
de Rastreio entre os Elementos de Modelo de Origem e a Saída da Transformação
É possível utilizar a transformação UML-para-EJB 3.0
para criar relacionamentos de rastreio das classes Java geradas com os elementos de origem UML. Depois,
é possível visualizar os relacionamentos de rastreio em um diagrama de tópicos, criando e executado
consultas do modelo.
A criação de
relacionamentos de rastreio é útil em projetos grandes que podem conter vários modelos
e várias configurações de transformação. Você também pode criar e executar consultas de
rastreabilidade que exibem como a saída da transformação está relacionada às especificações de software
e aos elementos de modelo.
Quando você executa uma transformação que está configurada para
criar relacionamentos de rastreio, para cada elemento que suporta a tag @generated,
a transformação anexa um identificador exclusivo à tag @generated. Se
você renomear os elementos no modelo UML de origem, esse identificador exclusivo ativará
a funcionalidade de mesclagem para refatorar e mesclar os elementos apropriados.Nota: Se mover um elemento UML fora do escopo
de sua classe de nível mais alto, quando você reexecutar a transformação, o algoritmo de mesclagem
não refatorará ou mesclará o elemento renomeado porque o escopo do elemento
foi alterado.
Quando você reexecutar a transformação, se necessário, a
transformação utilizará o identificador no código-fonte para combinar os elementos
correspondentes e, em seguida, alterará o código para refletir as mudanças no modelo. Por
exemplo, se você renomear uma operação UML no modelo de origem e reexecutar a transformação,
a transformação renomeará o método Java gerado anteriormente
e preservará o corpo do método, em vez de excluir o método gerado anteriormente
e incluir um novo método.
A transformação EJB 3.0–para-UML, ou transformação reversa,
também pode utilizar os identificadores para combinar elementos correspondentes entre o projeto Java
e o modelo UML. Se aplicáveis, as mudanças nos elementos do código-fonte Java serão tratadas como
modificações ou como refatoração de código em vez de inclusões e exclusões no
código gerado.
Para
visualizar os relacionamentos entre os elementos de modelo de origem e a saída da
transformação, é possível visualizar o elemento de modelo de origem em um diagrama e arrastar o
elemento de código gerado pela transformação para esse diagrama. A tabela
a seguir lista o seguinte: a representação UML para um elemento de modelo de
origem nomeado Class1, que contém um atributo de número inteiro nomeado attribute1
e duas operações nomeadas Operation1 e Operation2, que não possuem nenhum
parâmetro; o código gerado pela transformação; o diagrama de classes
que mostra o relacionamento de rastreio entre os elementos.| Elemento UML |
Saída da Transformação |
Relacionamento de Rastreio em
um Diagrama de Classes |
 |
/**
*
*/
package Package1;
import java.util.Collection;
/**
* <!-- begin-UML-doc -->
* <!-- encerrar-doc-UML -->
* @uml.annotations
* derived_abstraction="platform:/resource/UMLProject/Model.emx#_9YlH8CpPEdyn7_VFIWTp4A"
* @generated "sourceid:platform:/resource/UMLProject/Model.emx#_9YlH8CpPEdyn7_VFIWTp4A"
*/
public class Class1 {
/**
* <!-- begin-UML-doc -->
* <!-- encerrar-doc-UML -->
* @generated "sourceid:platform:/resource/UMLProject/Model.emx#__8ptgOSnEdyXH8PWExuX2g"
*/
private Integer attribute1;
/**
* @return the attribute1
* @generated "sourceid:platform:/resource/UMLProject/Model.emx#__8ptgOSnEdyXH8PWExuX2g?GETTER"
*/
public Integer getAttribute1() {
// iniciar-código-do-usuário
return attribute1;
// end-user-code
}
/**
* @param theAttribute1 o attribute1 a ser configurado
* @generated "sourceid:platform:/resource/UMLProject/Model.emx#__8ptgOSnEdyXH8PWExuX2g?SETTER"
*/
public void setAttribute1(Integer theAttribute1) {
// iniciar-código-do-usuário
attribute1 = theAttribute1;
// end-user-code
}
/**
* <!-- begin-UML-doc -->
* <!-- encerrar-doc-UML -->
* @generated "sourceid:platform:/resource/UMLProject/Model.emx#_RDsjcOSnEdyXH8PWExuX2g"
*/
public void Operation1() {
// iniciar-código-do-usuário
// TAREFA A FAZER Stub de método gerado automaticamente
// end-user-code
}
/**
* <!-- begin-UML-doc -->
* <!-- encerrar-doc-UML -->
* @generated "sourceid:platform:/resource/UMLProject/Model.emx#_R04v0OSnEdyXH8PWExuX2g"
*/
public void Operation2() {
// iniciar-código-do-usuário
// TAREFA A FAZER Stub de método gerado automaticamente
// end-user-code
}
}
|
 |
A
transformação não altera o modelo de origem quando você especifica para a transformação
gerar relacionamentos de rastreio.
Integração com a Equipe de Suporte
A transformação fornece funcionalidade
de integração com os sistemas de controle de versão
IBM®
Rational Team Concert,
CVS,
Rational
ClearCase,
e
Rational
ClearCase LT,
que possibilita efetuar o registro de saída dos arquivos automaticamente ou incluir novos arquivos. É necessário ativar os recursos de equipe
para trabalhar com os sistemas de gerenciamento de configuração.