MDA na Prática Flávia Durans Pitta Marinho [email protected].
-
Upload
felicia-alvaro-franca -
Category
Documents
-
view
224 -
download
1
Transcript of MDA na Prática Flávia Durans Pitta Marinho [email protected].
MDA na Prática
Flávia Durans Pitta [email protected]
Agenda - MDA
Conceitos Processos de Desenvolvimento de Software Framework EDOC Ferramentas
MDA na Prática
Conceitos MDA
Model Driven Architecture é um framework para desenvolvimento de sistemas distribuídos definido pela OMG (Object Management Group)
Baseado na importância de modelos nos processos de desenvolvimento de software Minimiza problemas de variedades de plataformas Reduz tempo, custo e complexidade do desenvolvimento e do gerenciamento de
aplicações Plataforma independente da tecnologia a ser adotada Domínio específico de 1...n plataformas
MDA - Conceitos
Modelos?
PlataformaIndependente?
Domínio Específico?
O que é um Modelo ?
Modelo
Sistema
Linguagem
é escritoem
descreve
Desenho das informações que descreve o sistema através de uma linguagem
Linguagem MDA =
PIM – Plataform Independent Model
Primeiro modelo MDA a ser desenvolvido Modelo dos processos de negócio Maior nível de abstração Independente da tecnologia a ser adotada
para o sistema
PSM – Plataform Specific Model
Modelo originado da transformação do PIM Modelo específico baseado em uma
plataforma particular
MDA - Resumo
Requisitos do negócio
implementação implementação implementação ...
PIM
PSM PSM ...PSM
Simples exemplo
<Car> <doors>2</doors> <colour>red<colour></Car>
mod
elo
em X
MI
mod
elo
em ja
va
public class Car { public colour colour;
public int door;}
Exemplo de PIM e PSM
Query of price (PriceQuery)Ordering (Order)
Sistema BuySell
PSMExemplo de mapeamento em EJB
PIM
Exemplo de PIM
Exemplo de PSM
PIM
mapeandopara EJB
PSM
MDA na Prática
Processos de Desenvolvimento de Software
Problemas - Software Tradicional
Produtividade Portabilidade Interoperabilidade
Problemas - Produtividade Grande volume de papel produzido
(artefatos e diagramas) Dificuldade de manutenção dos
artefatos e diagramas X código Grande parte da produtividade do
projeto é direcionada na manutenção de artefatos e diagramas em vez da construção de código
Problema na manutenção dos sistemas por outras pessoas na equipe
RUP
XP, Agile
Problemas - Portabilidade
Novas tecnologias estão surgindo rapidamente As empresas precisam atualizar suas tecnologias
Por demanda dos clientes Para resolver problemas e falhas da tecnologia atual
utilizada Por vendedores não prestarem suporte a tecnologias
ultrapassadas É necessário que os sistemas sejam atualizados da
forma mais rápida e segura
Problemas - Interoperabilidade
Mais sistemas precisam se comunicar com outros
Um mesmo sistema pode utilizar várias tecnologias que precisam se comunicar para que o sistema funcione (Ex.: EJB, banco de dados relacional...)
MDA – Ciclo de vida de desenvolvimentopr
o gra
ma ç
ã oPr
oces
so
itera
tivo
requisitos
análise
projeto
codificação
testes
desenvolvimento
textos
diagramas etextos
diagramas etextos
código
código
requisitos
PIM
PSM
código
código
análise
projeto
codificação
testes
desenvolvimento
textual
desenvolvimento tradicional
desenvolvimentoMDA
São sempre executadas por ferramentas O maior ganho está na transformação entre
os modelos PIM e PSM
MDA - Transformações
PIM
requisitos do sistema
PSM
código
ferramenta de
transformação
definições paratransformação
ferramenta de
transformação
definições paratransformação
MDA - Produtividade
A produtividade basicamente está na modelagem do PIM
Abstração dos detalhes das tecnologias específicas durante a fase de modelagem, uma vez que serão gerados automaticamente na transformação do PIM para PSM
No PSM e no código a escrita é mínima, uma vez que a maior parte do código foi gerado na transformação do PSM para código
MDA - Portabilidade
A portabilidade é obtida a partir da modelagem do PIM
Tudo o que foi modelado no PIM é completamente portável para qualquer tecnologia
A dimensão da portabilidade a ser obtida depende da automação das ferramentas de transformação avaliadas
MDA - Interoperabilidade
Através de bridges entre os PSM´s gerados a partir do mesmo PIM
Bridges são geradas através dos relacionamentos dos conceitos entre plataformas.
PIM
PSM(relational database)
PSM (Java Code)
CódigoCódigo
PSMBridge
CodeBridge
MDA na Prática
Framework
MDA Framework Modelo é a descrição do sistema. PIM (Plataform Independent Model) é o modelo mais
abstrato do sistema PSM (Plataform Specific Model) é o modelo mais específico
sobre a tecnologia utilizada Linguagem descreve o |modelo Definição da transformação determina como o modelo
original pode ser transformado no modelo alvo Ferramenta de transformação executa a transformação de
um modelo específico a partir da definição da transformação.
MDA na Prática
EDOC - Enterprise Distributed Object Computing
EDOC Consiste de um perfil público de desenvolvimento,
inicialmente voltado para componentes distribuídos Modela objetos de acordo com as especificações MDA. Possui perfil independente de tecnologia - a arquitetura
ECA (Enterprise Collaboration Architecture)- que permite a definição do PIM no MDA
Possui um conjunto de modelos para tecnologias específicas sendo mapeadas a partir do PIM
A arquitetura ECA compreende 5 perfis: CCA (Component Collaboration Architecture) – Modela a
estrutura e o comportamento dos componentes do sistema Entidade – Modelo que define uma representação do
domínio da aplicação Evento – Modela sistemas dirigidos a eventos (mudança
de estados de uma entidade) Processo de Negócio – Modela o comportamento do
sistema no contexto do negócio que o suporta Relacionamento – Modela os relacionamentos entre as
entidades de negócio e de sistema
PIM – Arquitetura ECAFerramentaCCA(Component X)
Ferramentas UML(Rational Rose, Poseidon,Visual Paradigm)
PIM – Pontos de vista
MDA na Prática
Ferramentas
Ferramentas
Ferramentas de modelagem Modelagem de componentes na notação CCA Modelagem de componentes através de
estereótipos em UML Ferramentas de transformação
PIM para PSM PSM para código PIM para código
Ferramentas de modelagem – Notação CCA ComponentX Studio – Data Access Technologies cujos componentes possuem as seguintes características:
Possuem portas que enviam ou recebem arquivos XML transportados por eventos Java Possuem propriedades que podem ser configuradas e armazenadas em arquivos de configuração XML Possuem implementação baseada em Java São executáveis
ComponentX Exemplo de comunicação entre componentes
Componente 1 = Pete Componente 2 = Pam
Ferramentas de modelagem – UML
Várias ferramentas podem ser citadas: Poseidon – Gentleware – Hamburg - Germany Visual Paradigm – Visual Paradigm – Hong Kong
- China Rational Rose – IBM – United States Magic Draw – No Magic – Colorado - USA Argo UML – Trigis.com
UML - EDOC
Demonstração da utilização da UML segundo o perfil EDOC (público)
UML - EDOC
UML - EDOC
Ferramentas de transformação UMT (UML Model Transformation Tool) – ferramenta
free para transformação de modelo e geração de código AndroMDA – ferramenta open source de geração de
código J2EE a partir de UML/XMI ArcStyler – ferramenta MDA comercializada pelo
Interactive Objects Softwares - Germany Codagen Architect – ferramenta MDA de
comercialização pela Codagen Technologies Corp. – Montreal - Canada
Ferramentas de transformação
OptmalJ – produto comercial do Compuware que utiliza padrões para obter transformação para PSM – Detroit – Michigan - USA
BridgePoint – produto comercial da Project Technology que suporta geração automática de código a partir de modelos – Tucson – Arizona - USA
Exemplo - Rosa´s breakfast service