Borland-Model Driven Architecture
-
Upload
elliando-dias -
Category
Technology
-
view
1.299 -
download
0
description
Transcript of Borland-Model Driven Architecture
![Page 2: Borland-Model Driven Architecture](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/2.jpg)
2
Conteúdo
Problemas comuns O que é a MDA? Quais os benefícios? Exemplos práticos Conclusão
![Page 3: Borland-Model Driven Architecture](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/3.jpg)
3
Problemas Comuns
![Page 4: Borland-Model Driven Architecture](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/4.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/5.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/6.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/7.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/8.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/9.jpg)
9
O que é MDA?
![Page 10: Borland-Model Driven Architecture](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/10.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/11.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/12.jpg)
12
Model Driven Architecture
![Page 13: Borland-Model Driven Architecture](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/13.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/14.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/15.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/16.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/17.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/18.jpg)
18
Quais os Benefícios da MDA?
![Page 19: Borland-Model Driven Architecture](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/19.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/20.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/21.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/22.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/23.jpg)
QVT Overview
![Page 24: Borland-Model Driven Architecture](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/24.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/25.jpg)
25
Example Transformation
![Page 26: Borland-Model Driven Architecture](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/26.jpg)
26
UML to RDB Example
UML Class model Relational Data Model
Model Query Viewtransformation
![Page 27: Borland-Model Driven Architecture](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/27.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/28.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/29.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/30.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/31.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/32.jpg)
Together 2006 - QVT by ExampleA few example QVTs
![Page 33: Borland-Model Driven Architecture](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/33.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/34.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/35.jpg)
35
Exemplo Prático
![Page 36: Borland-Model Driven Architecture](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/36.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/37.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/38.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/39.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/40.jpg)
40
Conclusão
![Page 41: Borland-Model Driven Architecture](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/41.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/42.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/43.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/44.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/45.jpg)
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](https://reader035.fdocument.pub/reader035/viewer/2022081716/5496703eac7959482e8b5040/html5/thumbnails/46.jpg)
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