MDA na Prática Flávia Durans Pitta Marinho [email protected].

39
MDA na Prática Flávia Durans Pitta Marinho [email protected]

Transcript of MDA na Prática Flávia Durans Pitta Marinho [email protected].

Page 1: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

MDA na Prática

Flávia Durans Pitta [email protected]

Page 2: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

Agenda - MDA

Conceitos Processos de Desenvolvimento de Software Framework EDOC Ferramentas

Page 3: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

MDA na Prática

Conceitos MDA

Page 4: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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?

Page 5: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

O que é um Modelo ?

Modelo

Sistema

Linguagem

é escritoem

descreve

Desenho das informações que descreve o sistema através de uma linguagem

Linguagem MDA =

Page 6: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 7: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

PSM – Plataform Specific Model

Modelo originado da transformação do PIM Modelo específico baseado em uma

plataforma particular

Page 8: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

MDA - Resumo

Requisitos do negócio

implementação implementação implementação ...

PIM

PSM PSM ...PSM

Page 9: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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;}

Page 10: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

Exemplo de PIM e PSM

Query of price (PriceQuery)Ordering (Order)

Sistema BuySell

PSMExemplo de mapeamento em EJB

PIM

Page 11: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

Exemplo de PIM

Page 12: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

Exemplo de PSM

PIM

mapeandopara EJB

PSM

Page 13: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

MDA na Prática

Processos de Desenvolvimento de Software

Page 14: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

Problemas - Software Tradicional

Produtividade Portabilidade Interoperabilidade

Page 15: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 16: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 17: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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...)

Page 18: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 19: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 20: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 21: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 22: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 23: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

MDA na Prática

Framework

Page 24: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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.

Page 25: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

MDA na Prática

EDOC - Enterprise Distributed Object Computing

Page 26: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 27: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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)

Page 28: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

PIM – Pontos de vista

Page 29: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

MDA na Prática

Ferramentas

Page 30: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 31: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 32: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

ComponentX Exemplo de comunicação entre componentes

Componente 1 = Pete Componente 2 = Pam

Page 33: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 34: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

UML - EDOC

Demonstração da utilização da UML segundo o perfil EDOC (público)

Page 35: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

UML - EDOC

Page 36: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

UML - EDOC

Page 37: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 38: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

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

Page 39: MDA na Prática Flávia Durans Pitta Marinho fdurans@ig.com.br.

Exemplo - Rosa´s breakfast service