SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Downloaden Sie, um offline zu lesen
MDA – Model Driven Architecture

                                Introdução à MDA




                Thais Vasconcelos Batista
          Teresa Raquel S. do Nascimento



     Projeto LuaSpace Plus – DIMAp – CCET – UFRN
MDA – Sumário


 odel      riven        rchitecture

        Conceitos

O que é a MDA?

        Visão Geral

Quais são as características da MDA?
        Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Requisitos do Software hoje...


                                        Serviços Web
 Desenvolvimento Rápido
                                             Java

 Compatibilidade
                                           CORBA


 Comunicação                                Sistemas Legados

                                             Outros Softwares
 Robustez
                                         Segurança
            Projeto LuaSpace Plus – DIMAp – CCET – UFRN
A MDA...


                                                   Serviços Web
Desenvolvimento Rápido
                                                       Java
Compatibilidade
                                                      CORBA

Comunicação                                            Sistemas Legados

                                                       Outros Softwares
Robustez
                                                    Segurança
                  Projeto LuaSpace Plus – DIMAp – CCET – UFRN
A MDA é:

A MDA é uma arquitetura de software padronizada que
agrega:
          CORBA
                               CWM
           UML
                               MOF
           XMI/XML

A MDA define uma técnica de especificação de sistemas que
separa a especificação da funcionalidade do sistema da
especificação da implementação daquela funcionalidade em
uma tecnologia de plataforma específica.

             Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Padrões OMG

UML - utilizada para                         XMI - padrão de troca
modelagem de                                 utilizado entre várias
arquitetura, objetos,                        ferramentas,
interações entre objetos,                    repositórios e
aspectos a respeito de                       middlewares.
dados e aspectos de
design de
                                            MOF –
desenvolvimento
                                            modelagem
baseado em
                                            padrão de
componentes.
                                            elementos
CWM – modelo de                             utilizados pelo
repositório de dados                        MDA.
padrão da OMG. Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Componentes do MDA




      Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Conceitos básicos - Modelos

Um modelo MDA é parte de uma função, estrutura
ou comportamento do sistema.




 Sintaxe bem                     Sintaxe baseada no
 definida e                      senso comum e
 semântica formal                ausência de
                                 semântica associada
           Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Conceitos básicos


  ABSTRAÇÃO é usado na MDA como a supressão de
detalhes irrelevantes, tendo como resultado um modelo
obtido da visão do sistema definida por determinado
critério de abstração.

   REFINAMENTO é um relacionamento entre pares de
modelos onde um modelo, a abstração, é mais abstrato
que outro, a realização.


             Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Plataform-Independent Model (PIM) vs.
Plataform-Specific Model (PSM)

Modelo para CORBA

                                     Modelo Independente
    Plataforma
                                        de Plataforma
     CORBA
                                  Plataforma        Plataforma
 Modelo para Java
                                    CORBA                 Java

  Plataforma
     Java
            Projeto LuaSpace Plus – DIMAp – CCET – UFRN
PIM vs. PSM


  É mais fácil validar o modelo abstraindo-se de
semânticas específicas da plataforma

      É mais fácil produzir implementações em diferentes
   plataformas partindo da estrutura essencial e do
   comportamento preciso do sistema.

          Integração e interoperabilidade podem ser definidos
       mais claramente em termos de independência de
       plataforma

            Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Arquitetura para modelos MDA




       Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Mapeamento de Modelos




     Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Modelos Independentes e Específicos de
Plataforma em UML

  Construção manual do PSM a partir do PIM
          Construção do PSM a partir de padrões de
       refinamento conhecidos

  Através de um algoritmo, geração do esqueleto do
PSM a partir do PIM correspondente

        Uso de ferramentas automatizadas para geração
      do PSM a partir do PIM (ideal!)

         Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Modelo Independente de Plataforma em
        UML




especificação das
  restrições do
     modelo




                    Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Modelo Específico de Plataforma em
UML


               *         1




                             IDL:




      Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Pacotes


                 Elemento que agrupa modelos

correspondência de visões
diferentes:




refinamento:



               Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Desenvolvimento da aplicação


    PIM

          PSM

          Geração da aplicação

                  Implantação

                                 Revisão
Conclusão



 A MDA é o próximo passo da OMG para a
 solução de problemas de integração
 através de especificações de
 interoperabilidade aberta e sem domínio
 de fabricante.




      Projeto LuaSpace Plus – DIMAp – CCET – UFRN
Referências


 www.omg.org/mda




                  Teresa Raquel S. do Nascimento
                               teresa_raquel@yahoo.com

      Projeto LuaSpace Plus – DIMAp – CCET – UFRN

Weitere ähnliche Inhalte

Ähnlich wie MDA - Modelo Conduzido por Arquitetura

MDA – Sistemas Distribuidos
MDA – Sistemas DistribuidosMDA – Sistemas Distribuidos
MDA – Sistemas Distribuidoselliando dias
 
Merlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMerlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMarcelo Mrack
 
Middleware Reflexivo
Middleware ReflexivoMiddleware Reflexivo
Middleware Reflexivoelliando dias
 
Php Conf08 Enterprise Patterns
Php Conf08 Enterprise PatternsPhp Conf08 Enterprise Patterns
Php Conf08 Enterprise PatternsWildtech
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...tdc-globalcode
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...Marcelo Palladino
 
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, BrazilResearch Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, BrazilHeron Carvalho
 
Projetando uma Arquitetura Expressiva
Projetando uma Arquitetura ExpressivaProjetando uma Arquitetura Expressiva
Projetando uma Arquitetura ExpressivaBruno Neves Menezes
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Javalimadavi
 
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceCloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceFernando Carvalho
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em NuvemVitor Savicki
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Arquitetura para otimização de legado
Arquitetura para otimização de legadoArquitetura para otimização de legado
Arquitetura para otimização de legadoClóvis Wichoski
 

Ähnlich wie MDA - Modelo Conduzido por Arquitetura (20)

MDA – Sistemas Distribuidos
MDA – Sistemas DistribuidosMDA – Sistemas Distribuidos
MDA – Sistemas Distribuidos
 
Merlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginasMerlinferramentassbc2006 Revisado Em6paginas
Merlinferramentassbc2006 Revisado Em6paginas
 
Middleware Reflexivo
Middleware ReflexivoMiddleware Reflexivo
Middleware Reflexivo
 
Php Conf08 Enterprise Patterns
Php Conf08 Enterprise PatternsPhp Conf08 Enterprise Patterns
Php Conf08 Enterprise Patterns
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
 
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, BrazilResearch Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
Research Group on High Performance Computing - MDCC/UFC - Fortaleza, Brazil
 
Ria
RiaRia
Ria
 
Oficina cake php
Oficina cake phpOficina cake php
Oficina cake php
 
Xamarin plataform
Xamarin plataformXamarin plataform
Xamarin plataform
 
Projetando uma Arquitetura Expressiva
Projetando uma Arquitetura ExpressivaProjetando uma Arquitetura Expressiva
Projetando uma Arquitetura Expressiva
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
 
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso SalesforceCloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
Cloud Computing: Desafios de Arquiteturas multitenantes e o Caso Salesforce
 
Corbawebserves
CorbawebservesCorbawebserves
Corbawebserves
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em Nuvem
 
Frameworks em Java
Frameworks em JavaFrameworks em Java
Frameworks em Java
 
Computação em nuvem e Windows Azure
Computação em nuvem e Windows AzureComputação em nuvem e Windows Azure
Computação em nuvem e Windows Azure
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Arquitetura para otimização de legado
Arquitetura para otimização de legadoArquitetura para otimização de legado
Arquitetura para otimização de legado
 

Mehr von elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Mehr von elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

MDA - Modelo Conduzido por Arquitetura

  • 1. MDA – Model Driven Architecture Introdução à MDA Thais Vasconcelos Batista Teresa Raquel S. do Nascimento Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 2. MDA – Sumário odel riven rchitecture Conceitos O que é a MDA? Visão Geral Quais são as características da MDA? Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 3. Requisitos do Software hoje... Serviços Web Desenvolvimento Rápido Java Compatibilidade CORBA Comunicação Sistemas Legados Outros Softwares Robustez Segurança Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 4. A MDA... Serviços Web Desenvolvimento Rápido Java Compatibilidade CORBA Comunicação Sistemas Legados Outros Softwares Robustez Segurança Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 5. A MDA é: A MDA é uma arquitetura de software padronizada que agrega: CORBA CWM UML MOF XMI/XML A MDA define uma técnica de especificação de sistemas que separa a especificação da funcionalidade do sistema da especificação da implementação daquela funcionalidade em uma tecnologia de plataforma específica. Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 6. Padrões OMG UML - utilizada para XMI - padrão de troca modelagem de utilizado entre várias arquitetura, objetos, ferramentas, interações entre objetos, repositórios e aspectos a respeito de middlewares. dados e aspectos de design de MOF – desenvolvimento modelagem baseado em padrão de componentes. elementos CWM – modelo de utilizados pelo repositório de dados MDA. padrão da OMG. Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 7. Componentes do MDA Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 8. Conceitos básicos - Modelos Um modelo MDA é parte de uma função, estrutura ou comportamento do sistema. Sintaxe bem Sintaxe baseada no definida e senso comum e semântica formal ausência de semântica associada Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 9. Conceitos básicos ABSTRAÇÃO é usado na MDA como a supressão de detalhes irrelevantes, tendo como resultado um modelo obtido da visão do sistema definida por determinado critério de abstração. REFINAMENTO é um relacionamento entre pares de modelos onde um modelo, a abstração, é mais abstrato que outro, a realização. Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 10. Plataform-Independent Model (PIM) vs. Plataform-Specific Model (PSM) Modelo para CORBA Modelo Independente Plataforma de Plataforma CORBA Plataforma Plataforma Modelo para Java CORBA Java Plataforma Java Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 11. PIM vs. PSM É mais fácil validar o modelo abstraindo-se de semânticas específicas da plataforma É mais fácil produzir implementações em diferentes plataformas partindo da estrutura essencial e do comportamento preciso do sistema. Integração e interoperabilidade podem ser definidos mais claramente em termos de independência de plataforma Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 12. Arquitetura para modelos MDA Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 13. Mapeamento de Modelos Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 14. Modelos Independentes e Específicos de Plataforma em UML Construção manual do PSM a partir do PIM Construção do PSM a partir de padrões de refinamento conhecidos Através de um algoritmo, geração do esqueleto do PSM a partir do PIM correspondente Uso de ferramentas automatizadas para geração do PSM a partir do PIM (ideal!) Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 15. Modelo Independente de Plataforma em UML especificação das restrições do modelo Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 16. Modelo Específico de Plataforma em UML * 1 IDL: Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 17. Pacotes Elemento que agrupa modelos correspondência de visões diferentes: refinamento: Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 18. Desenvolvimento da aplicação PIM PSM Geração da aplicação Implantação Revisão
  • 19. Conclusão A MDA é o próximo passo da OMG para a solução de problemas de integração através de especificações de interoperabilidade aberta e sem domínio de fabricante. Projeto LuaSpace Plus – DIMAp – CCET – UFRN
  • 20. Referências www.omg.org/mda Teresa Raquel S. do Nascimento teresa_raquel@yahoo.com Projeto LuaSpace Plus – DIMAp – CCET – UFRN