0
Model Driven Architecture
        Andreano Lanusse
    andreano.lanusse@borland.com
Conteúdo

       Problemas comuns
       O que é a MDA?
       Quais os benefícios?
       Exemplos práticos
       C...
Problemas Comuns




3
Aplicações e o Ambiente

     Desde o projeto (e às vezes até mesmo na análise) algumas
        decisões são baseadas no ...
Ambiente Heterogêneo

     Linguagens de Programação
          ~3 milhões de programadores COBOL
          ~1 milhão de...
Principais Desafios

     Preservar o investimento feito em software à medida em que o
      panorama da infraestrutura m...
Onde pode haver consenso?

       Não em hardware
       Não em sistemas operacionais
       Não em protocolos de rede
...
Exemplo: Web Services


           XML
                  Business Scenarios                            1
                 ...
O que é MDA?




9
O Que é MDA?

      Uma nova maneira de especificar e construir sistemas
         Baseada na modelagem em UML
         ...
Quem Cuida da MDA?

      OMG – Object Management Group
      Organização sem fins lucrativos, controlada pelos membros
...
Model Driven Architecture




12
Principais Tecnologias da MDA

      UML (Unified Modeling Language)
         Notação padronizada mundialmente
        ...
Construindo uma Aplicação MDA



                    Um modelo detalhado,    Inicie com um
        Platform-   declarando ...
Gerando o Modelo Específico para a Plataforma



                             Mapear um PIM para o(s)      A ferramenta MD...
Gerando as Implementações



                              Mapear o PSM para       A ferramenta MDA
          Platform-   ...
MDA: Ciclo Completo

           CIM
        Computation
     Independent Model              Transformação




            ...
Quais os Benefícios da MDA?




18
Benefícios da MDA

      Suporte total para uma “arquitetura de 20 anos” por todo o
         ciclo de vida da aplicação
 ...
Benefícios da MDA

        Redução de erros
        Disciplina arquitetural
        Reusabilidade
        Redução no p...
E o Desenvolvedor?

      Atua na personalização das transformações PIM  PSM
      Por causa da geração automática de c...
Por que a ênfase no modelo?




       “As ferramentas de modelagem visual reduzirão
             a codificação ‘em cinco ...
QVT Overview
Query-View-Transformation

      QVT specification is the heart of Model Driven Architecture
      Queries take a model ...
Example Transformation




25
UML to RDB Example

      UML Class model  Relational Data Model




          Model               Query                ...
Key Benefits of QVT

      Core benefit of MDA
      Smaller, manageable models operating in concert versus huge, monoli...
QVT in context

      QVT might be used to:
      Transform
           business process model  object model (PIM to PI...
Applicable Benefits

      Intermediate work products vanish due to clear value of all
       models
      Repeatable, h...
Transformations

      QVT provides language to implement model-to-model transformations

      QVT fully supports OCL 2...
QVT Language Overview

      Together® Architect 2006 implementation based on the
       revised submission for MOF 2.0 Q...
Together 2006 - QVT by Example
         A few example QVTs
Transforming a Use Case Model to a Class Model

      This transformation automates the construction of a set of use
    ...
Transforming a PIM to a PSM

      As a basic step toward elaborating the PSM, this QVT simply
       adds scaffolding co...
Exemplo Prático




35
Delphi 2006 e o ECO III

        Enterprise Core Objects
        Ambiente de modelagem integrado (Together)
        Ger...
Como Funciona?


          PIM          Modelagem com UML e expressões OCL




                       Geração automática d...
Desenvolvimento com ECO


     IDE Delphi                                                                           Togeth...
ECO em Execução


     Aplicação               Modelo:
                             UML & OCL
                            ...
Conclusão




40
Conclusão

      A MDA é uma proposta interessante para resolver muitos
         problemas enfrentados hoje
        Por ...
Glossário

        BPM – Business process Modeling
        SOA – Service Oriented Architecture
        CORBA – Common O...
A Solução Borland
 Construída com a excelência e experiência de 22 anos




                                              ...
Posicionamento único no mercado de ALM


     IT Mgt → Requirements Mgt → Modeling → Development → Change/Configuration Mg...
Soluções, Tecnologia e Serviços disponíveis Hoje

                                Soluções
                  IT Managemen...
Para Saber Mais

      www.omg.org/mda
         Site oficial da MDA
      www.pcoad.com
         Site pessoal do Dr. P...
Perguntas!




                    Andreano Lanusse
              andreano.lanusse@borland.com




47
Obrigado!




                   Andreano Lanusse
             andreano.lanusse@borland.com




48
Upcoming SlideShare
Loading in...5
×

Borland-Model Driven Architecture

1,301

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,301
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
61
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Borland-Model Driven Architecture"

  1. 1. Model Driven Architecture Andreano Lanusse andreano.lanusse@borland.com
  2. 2. Conteúdo  Problemas comuns  O que é a MDA?  Quais os benefícios?  Exemplos práticos  Conclusão 2
  3. 3. Problemas Comuns 3
  4. 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 4
  5. 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, ... 5
  6. 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á 6
  7. 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! 7
  8. 8. Exemplo: Web Services XML Business Scenarios 1 Business Profiles Request Business Details COMPANY A 2 Build Local System ebXML 3 Implementation Register Implementation Details Registry Register COMPANY A Profile Do Qu Qu Qu wn e e er 4 y y y nt lo o o ab e ad b b em ou ou ou ang Sc Sc Sc tC Arr en OM ess ar rio ro s in PA oss s u NY nB S an an an eo ON d A A A 5 re TI Pr Pr Pr pr Ag r r AC offf of illle iiile S e e AN s s s TR 6 S N ES COMPANY B SI BU DO ebXML compliant system 8
  9. 9. O que é MDA? 9
  10. 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 10
  11. 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, ... 11
  12. 12. Model Driven Architecture 12
  13. 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 13
  14. 14. Construindo uma Aplicação MDA Um modelo detalhado, Inicie com um Platform- declarando pré e pós- Platform-Independent Independent condições em OCL e a Model (PIM), Model semântica em Action representando a Language funcionalidade e o comportamento do negócio, sem influência dos detalhes tecnológicos. 14
  15. 15. Gerando o Modelo Específico para a Plataforma Mapear um PIM para o(s) A ferramenta MDA Middleware(s) específico(s) Platform- através de mapeamentos aplica um Independent padronizados do OMG mapeamento para Model gerar o Platform- Specific Model (PSM) a partir do PIM. Modelo Modelo Modelo Outro CORBA Java/EJB XML/SOAP Modelo O código é parte automático e parte escrito à mão. 15
  16. 16. Gerando as Implementações Mapear o PSM para A ferramenta MDA Platform- interfaces, código, gera todo ou a maioria Independent descritores de GUI, SQL do código da Model queries, etc. implementação para a tecnologia selecionada pelo Modelo Modelo Modelo Outro desenvolvedor. CORBA Java/EJB XML/SOAP Modelo CORBA Java/EJB XML/SOAP Outro 16
  17. 17. MDA: Ciclo Completo CIM Computation Independent Model Transformação PIM Platform Transformação Independent Model Geração automática PSM Platform Specific Model Código Fonte 17
  18. 18. Quais os Benefícios da MDA? 18
  19. 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” 19
  20. 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 20
  21. 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 21
  22. 22. Por que a ênfase no modelo? “As ferramentas de modelagem visual reduzirão a codificação ‘em cinco vezes’ nos próximos dez anos.” — Simpósio do Gartner, março/2004 22
  23. 23. QVT Overview
  24. 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 24
  25. 25. Example Transformation 25
  26. 26. UML to RDB Example  UML Class model  Relational Data Model Model Query View transformation 26
  27. 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 27
  28. 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) 28
  29. 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 29
  30. 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 30
  31. 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 31
  32. 32. Together 2006 - QVT by Example A few example QVTs
  33. 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. 33
  34. 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) 34
  35. 35. Exemplo Prático 35
  36. 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# 36
  37. 37. Como Funciona? PIM Modelagem com UML e expressões OCL Geração automática do código Delphi/C# e do banco de dados Utilização do modelo em tempo de execução Executável .NET para realizar consultas e validações. com o modelo Persistência, transações, versionamento, ... 37
  38. 38. Desenvolvimento com ECO IDE Delphi Together Modelo: Rose UML & OCL XMI Lógica: C# / Delphi order = true; order = true; UI Ferramentas ECO Space Tools ECO Geração Schema Persistência Persistência Editor OCL Cliente.allInstances Evolução de Schema Validação de Modelos Configuração Bco Dados Plataforma .NET 38
  39. 39. ECO em Execução Aplicação Modelo: UML & OCL Lógica: C# / Delphi order = true; order = true; UI ECO Framework ECO Space Mapeamento OR Persistência Persistência Persistência Relacionamento Transações Query OCL Plataforma .NET 39
  40. 40. Conclusão 40
  41. 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) 41
  42. 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 42
  43. 43. A Solução Borland Construída com a excelência e experiência de 22 anos Software Delivery Optimization Produtividade Organizacional através Valor para o Negócio de Processos de Negócios Gerenciados Application Lifecycle Management Produtividade na equipe para diversos papéis ALM Ambientes de Desenvolvimento Produtividade Pessoal do Desenvolvedor IDEs Evolução na entrega do Software 43
  44. 44. Posicionamento único no mercado de ALM IT Mgt → Requirements Mgt → Modeling → Development → Change/Configuration Mgt → Testing → Deployment Application Lifecycle Management (ALM) .NET Java Microsoft Borland IBM Gartner espera que até 90% de projetos de software terão integração entre plataforma até 2009. 44
  45. 45. Soluções, Tecnologia e Serviços disponíveis Hoje Soluções  IT Management & Governance  Requirements Definition & Management  Change Management Produtos Serviços  Plan – Tempo  Borland Accelerate  Define – CaliberRM  Consultoria em  Design – Together Processos  Implementação em  Develop – JBuilder Tecnologia  Test – Optimizeit  Treinamento  Manage – StarTeam  Suporte  Platform – Core SDP  Borland Developer Studio 45
  46. 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 46
  47. 47. Perguntas! Andreano Lanusse andreano.lanusse@borland.com 47
  48. 48. Obrigado! Andreano Lanusse andreano.lanusse@borland.com 48
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×