Borland-Model Driven Architecture

48
Model Driven Architecture Andreano Lanusse [email protected]

description

 

Transcript of Borland-Model Driven Architecture

Page 1: Borland-Model Driven Architecture

Model Driven ArchitectureAndreano Lanusse

[email protected]

Page 2: Borland-Model Driven Architecture

2

Conteúdo

Problemas comuns O que é a MDA? Quais os benefícios? Exemplos práticos Conclusão

Page 3: Borland-Model Driven Architecture

3

Problemas Comuns

Page 4: Borland-Model Driven Architecture

4

Aplicações e o Ambiente

Desde o projeto (e às vezes até mesmo na análise) algumas decisões são baseadas no ambiente onde a aplicação será implantada e utilizada

Qualquer alteração nesse ambiente impacta diretamente, podendo mesmo inviabilizar melhorias e atualizações

Muitas vezes é necessário alterar o código da aplicação para acomodar as mudanças na tecnologia

Dificuldade em reutilizar componentes dependentes da tecnologia anterior e incompatíveis com a nova

Resultado: altos custos e perda de oportunidades

Page 5: Borland-Model Driven Architecture

5

Ambiente Heterogêneo

Linguagens de Programação ~3 milhões de programadores COBOL ~1 milhão de programadores C/C++ Java está crescendo bastante .Net vem com toda a força

Sistemas Operacionais Unix, VMS, MacOS, Windows (todos), PalmOS, ... Dispositivos móveis e embutidos

Redes Ethernet, ATM, IP, USB, ... BlueTooth, 802.11b, ...

Page 6: Borland-Model Driven Architecture

6

Principais Desafios

Preservar o investimento feito em software à medida em que o panorama da infraestrutura muda ao redor Monitorar a “próxima onda” Reter profissionais qualificados Manter a base de código existente

Integrar o que está sendo construído Com o que já existe E com o que virá

Page 7: Borland-Model Driven Architecture

7

Onde pode haver consenso?

Não em hardware Não em sistemas operacionais Não em protocolos de rede Não em linguagens de programação

Mas deve haver consenso nas interfaces e na interoperabilidade!

Page 8: Borland-Model Driven Architecture

8

Exemplo: Web Services

ebXML compliantsystem

Business ProfilesBusiness Scenarios

ebXMLRegistry

XML

Request Business Details1

Build Local SystemImplementation

Register Implementation DetailsRegister COMPANY A Profile

3

2

5Agree on Business Arrangement4

Query about COMPANY A profile

Download Scenarios and Profiles

DO BUSINESS TRANSACTIONS

6

COMPANY A

COMPANY BebXML compliant

system

Business ProfilesBusiness Scenarios

ebXMLRegistry

XML

Request Business Details1

Build Local SystemImplementation

Register Implementation DetailsRegister COMPANY A Profile

3

2

5Agree on Business Arrangement4

Query about COMPANY A profile

Download Scenarios and Profiles

DO BUSINESS TRANSACTIONS

6

COMPANY A

COMPANY BebXML compliant

system

Business ProfilesBusiness Scenarios

ebXMLRegistry

XML

Request Business Details1

Build Local SystemImplementation

Register Implementation DetailsRegister COMPANY A Profile

3

2

5Agree on Business Arrangement4

Query about COMPANY A profile

Download Scenarios and Profiles

DO BUSINESS TRANSACTIONS

6

COMPANY A

COMPANY B

Page 9: Borland-Model Driven Architecture

9

O que é MDA?

Page 10: Borland-Model Driven Architecture

10

O Que é MDA?

Uma nova maneira de especificar e construir sistemas Baseada na modelagem em UML Suporta o ciclo de vida completo: análise, projeto,

implementação, implantação, manutenção, evolução e integração com sistemas posteriores

Construída para interoperabilidade e portabilidade Minimiza os custos iniciais e maximiza o RSI Aplica-se diretamente ao ambiente misto atual:

Linguagens de Programação Sistemas Operacionais Rede Middleware

Page 11: Borland-Model Driven Architecture

11

Quem Cuida da MDA?

OMG – Object Management Group Organização sem fins lucrativos, controlada pelos membros

Borland, Microsoft, Boeing, HP, Ford, Fujitsu, Pfizer, Siemens... Responsável pela padronização da UML, CORBA, ... Disponibiliza as especificações gratuitamente Promove palestras, seminários, artigos, produtos, cursos,

certificações, ...

Page 12: Borland-Model Driven Architecture

12

Model Driven Architecture

Page 13: Borland-Model Driven Architecture

13

Principais Tecnologias da MDA

UML (Unified Modeling Language) Notação padronizada mundialmente Inclui a OCL (Object Constraint Language)

XMI (XML Metadata Interchange) Padrão para troca de informações de modelos UML

CWM (Common Warehouse Metamodel) Integração das últimas iniciativas de Data Warehouse

MOF (Meta-Object Facility) Repositório padronizado

Page 14: Borland-Model Driven Architecture

14

Construindo uma Aplicação MDA

Inicie com um Platform-Independent Model (PIM), representando a funcionalidade e o comportamento do negócio, sem influência dos detalhes tecnológicos.

Platform-Independent

Model

Um modelo detalhado, declarando pré e pós-condições em OCL e a semântica em Action

Language

Page 15: Borland-Model Driven Architecture

15

Gerando o Modelo Específico para a Plataforma

Platform-Independent

Model

Mapear um PIM para o(s) Middleware(s) específico(s)

através de mapeamentos padronizados do OMG

A ferramenta MDA aplica um mapeamento para gerar o Platform-Specific Model (PSM) a partir do PIM. O código é parte automático e parte escrito à mão.

ModeloCORBA

ModeloJava/EJB

ModeloXML/SOAP

OutroModelo

Page 16: Borland-Model Driven Architecture

16

Gerando as Implementações

Platform-Independent

Model

ModeloCORBA

A ferramenta MDA gera todo ou a maioria do código da implementação para a tecnologia selecionada pelo desenvolvedor.Modelo

Java/EJB

CORBA

ModeloXML/SOAP

Java/EJB XML/SOAP Outro

OutroModelo

Mapear o PSM para interfaces, código,

descritores de GUI, SQL queries, etc.

Page 17: Borland-Model Driven Architecture

17

MDA: Ciclo Completo

CIMComputation

Independent Model

PIMPlatform

Independent Model

PSMPlatform

Specific Model

Transformação

Transformação

Código Fonte

Geração automática

Page 18: Borland-Model Driven Architecture

18

Quais os Benefícios da MDA?

Page 19: Borland-Model Driven Architecture

19

Benefícios da MDA

Suporte total para uma “arquitetura de 20 anos” por todo o ciclo de vida da aplicação

Integração suave através das fronteiras intra- e inter-negócios e entre tecnologias de infra-estrutura

Custos reduzidos do início ao fim Reutilização de aplicações, código, treinamento e pessoas Representação do negócio independente da tecnologia Escalabilidade, robustez e segurança via código gerado Abordagem estável baseada no modelo maximiza o RSI Inclusão rápida na “próxima onda”

Page 20: Borland-Model Driven Architecture

20

Benefícios da MDA

Redução de erros Disciplina arquitetural Reusabilidade Redução no prazo de entrega Portabilidade Interoperabilidade Documentação Manutenção Dirigida pelo modelo

Page 21: Borland-Model Driven Architecture

21

E o Desenvolvedor?

Atua na personalização das transformações PIM PSM Por causa da geração automática de código (parcial ou total),

fica livre de muitos detalhes de baixo nível, relacionados à implementação específica para a tecnologia envolvida

Pode dedicar mais tempo aos requisitos de negócio, interface com o usuário, testes, documentação

Reaproveita melhor os componentes Viabiliza muitas integrações com menor esforço Observa facilidades na manutenção evolutiva das aplicações

Page 22: Borland-Model Driven Architecture

22

Por que a ênfase no modelo?

“As ferramentas de modelagem visual reduzirãoa codificação ‘em cinco vezes’ nos

próximos dez anos.”— Simpósio do Gartner, março/2004

Page 23: Borland-Model Driven Architecture

QVT Overview

Page 24: Borland-Model Driven Architecture

24

Query-View-Transformation

QVT specification is the heart of Model Driven Architecture Queries take a model as input and select specific elements

from that model Views are models that are derived from other models Transformations take a model as input and update it or create

a new model

Page 25: Borland-Model Driven Architecture

25

Example Transformation

Page 26: Borland-Model Driven Architecture

26

UML to RDB Example

UML Class model Relational Data Model

Model Query Viewtransformation

Page 27: Borland-Model Driven Architecture

27

Key Benefits of QVT

Core benefit of MDA Smaller, manageable models operating in concert versus huge, monolithic

models Models become “usable” development artifact

avoid intermediate work products Enables intelligent code generation Insulate models and applications from deployment platform technology

reuse made into reality

Page 28: Borland-Model Driven Architecture

28

QVT in context

QVT might be used to: Transform

business process model object model (PIM to PIM) Analysis object model into Business Object model (PIM to PIM) Object model to data model (PIM to PIM or PIM to PSM) Object model to detailed object model (PIM to PSM)

Page 29: Borland-Model Driven Architecture

29

Applicable Benefits

Intermediate work products vanish due to clear value of all models

Repeatable, high-quality approach to software design/development

Automated traceability between models, queries, transformations and views

Page 30: Borland-Model Driven Architecture

30

Transformations

QVT provides language to implement model-to-model transformations

QVT fully supports OCL 2.0 expressions

Query libraries• Reusable libraries of QVT mappings

• Traceability• Automated traceability when executing mapping

• Extensible• QVT can call custom Java methods

Page 31: Borland-Model Driven Architecture

31

QVT Language Overview

Together® Architect 2006 implementation based on the revised submission for MOF 2.0 Query/View/Transformation RFP (OMG document ad/05-03-02)

Supports operational transformations

Two types of transformation methods: Mappings and Queries

Page 32: Borland-Model Driven Architecture

Together 2006 - QVT by ExampleA few example QVTs

Page 33: Borland-Model Driven Architecture

33

Transforming a Use Case Model to a Class Model

This transformation automates the construction of a set of use case realization classes

It is rather simple: a 1-to-1 mapping from Actor to Class. Use Cases owned by the Actor are created as Operations within the Class.

Page 34: Borland-Model Driven Architecture

34

Transforming a PIM to a PSM

As a basic step toward elaborating the PSM, this QVT simply adds scaffolding code (e.g., getters and setters)

Page 35: Borland-Model Driven Architecture

35

Exemplo Prático

Page 36: Borland-Model Driven Architecture

36

Delphi 2006 e o ECO III

Enterprise Core Objects Ambiente de modelagem integrado (Together) Geração automática de código Geração automática do esquema do banco de dados Engenharia reversa do banco de dados Gerenciamento do espaço de objetos em tempo de execução Persistência automática dos objetos Versionamento de objetos Transações Suporte a aplicações cliente/servidor, Web e distribuídas Disponível para Delphi.Net e C#

Page 37: Borland-Model Driven Architecture

37

Como Funciona?

PIM

Delphi/C#

Executável .NETcom o modelo

Modelagem com UML e expressões OCL

Geração automática do códigoe do banco de dados

Utilização do modelo em tempo de execuçãopara realizar consultas e validações.Persistência, transações, versionamento, ...

Page 38: Borland-Model Driven Architecture

38

Desenvolvimento com ECOPersistênciaPersistência

Plataforma .NET

IDE Delphi

Ferramentas ECOEditor OCL

UI

order = true;order = true;

Modelo:Modelo:UML & OCLUML & OCL

Lógica: C# / DelphiLógica: C# / Delphi

ECO Space Tools

Geração SchemaEvolução de SchemaValidação de ModelosConfiguração Bco Dados

Cliente.allInstances

TogetherTogetherRose Rose XMIXMI

Page 39: Borland-Model Driven Architecture

39

ECO em Execução

order = true;order = true;

Plataforma .NET

Aplicação

ECO Space UI ECO Framework Mapeam

ento OR

PersistênciaRelacionamentoTransaçõesQuery OCL

Modelo:Modelo:UML & OCLUML & OCL

Lógica: C# / DelphiLógica: C# / Delphi

PersistênciaPersistência

Page 40: Borland-Model Driven Architecture

40

Conclusão

Page 41: Borland-Model Driven Architecture

41

Conclusão

A MDA é uma proposta interessante para resolver muitos problemas enfrentados hoje

Por ser uma iniciativa independente de fornecedor assegura a continuidade, objetividade e compatibilidade

Já existem diversas ferramentas que implementam parcialmente

A Borland tem um forte envolvimento no OMG Podemos esperar maior suporte à MDA no futuro próximo Não esquecer dos processos e conhecimentos necessários

(UML, OOAD, metodologia e ferramentas adequadas)

Page 42: Borland-Model Driven Architecture

42

Glossário

BPM – Business process Modeling SOA – Service Oriented Architecture CORBA – Common Object Request Broker Architecture J2EE – Java 2 Enterprise Edition MDA – Model Driven Architecture MOF – Meta Object Facility

EMOF – Essential MOF CMOF – Complete MOF

OCL – Object Constraint Language PIM – Platform Independent Model PSM – Platform Specific Model QVT – Query View Transformation UML - Unified Modeling Language XMI – XML Model Interchange

Page 43: Borland-Model Driven Architecture

43

A Solução BorlandConstruída com a excelência e experiência de 22 anos

Valo

r par

a o

Neg

ócio

Evolução na entrega do Software

Ambientes de DesenvolvimentoProdutividade Pessoal do Desenvolvedor

Application Lifecycle Management Produtividade na equipe para diversos papéis

Software Delivery OptimizationProdutividade Organizacional através de Processos de Negócios Gerenciados

IDEs

ALM

Page 44: Borland-Model Driven Architecture

44

Gartner espera que até 90% de projetos de software terão integração entre plataforma até 2009.

Posicionamento único no mercado de ALM

JavaApplication Lifecycle Management (ALM).NET

Microsoft IBM

IT Mgt → Requirements Mgt → Modeling → Development → Change/Configuration Mgt → Testing → Deployment

Borland

Page 45: Borland-Model Driven Architecture

45

Soluções

Soluções, Tecnologia e Serviços disponíveis Hoje

Produtos

IT Management & Governance Requirements Definition & Management Change Management

Serviços

Borland Accelerate Consultoria em

Processos Implementação em

Tecnologia Treinamento

Suporte

Plan – Tempo Define – CaliberRM Design – Together Develop – JBuilder Test – Optimizeit Manage – StarTeam Platform – Core SDP Borland Developer Studio

Page 46: Borland-Model Driven Architecture

46

Para Saber Mais

www.omg.org/mda Site oficial da MDA

www.pcoad.com Site pessoal do Dr. Peter Coad, onde podem ser encontrado

material sobre OOAD, arquétipos, UML em cores, FDD, ... www.featuredrivendevelopment.com

Site oficial da FDD bdn.borland.com

Borland Developer Network, com artigos e apresentações

Page 47: Borland-Model Driven Architecture

47

Perguntas!

Andreano [email protected]

Page 48: Borland-Model Driven Architecture

48

Obrigado!

Andreano [email protected]