Borland-Model Driven Architecture

Post on 18-Dec-2014

1.316 views 0 download

description

 

Transcript of Borland-Model Driven Architecture

Model Driven ArchitectureAndreano Lanusse

andreano.lanusse@borland.com

2

Conteúdo

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

3

Problemas Comuns

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

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

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á

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!

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

9

O que é MDA?

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

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

12

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

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

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

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.

17

MDA: Ciclo Completo

CIMComputation

Independent Model

PIMPlatform

Independent Model

PSMPlatform

Specific Model

Transformação

Transformação

Código Fonte

Geração automática

18

Quais os Benefícios da MDA?

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”

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

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

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

QVT Overview

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

25

Example Transformation

26

UML to RDB Example

UML Class model Relational Data Model

Model Query Viewtransformation

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

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)

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

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

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

Together 2006 - QVT by ExampleA few example QVTs

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.

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)

35

Exemplo Prático

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#

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

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

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

40

Conclusão

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)

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

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

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

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

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

47

Perguntas!

Andreano Lanusseandreano.lanusse@borland.com

48

Obrigado!

Andreano Lanusseandreano.lanusse@borland.com