Persistência em Software Orientado a Objetos:

Slides:



Advertisements
Apresentações semelhantes
Programa das Aulas 20/09/05 - Apresentação da disciplina
Advertisements

1 ANÁLISE E PROJETO NO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO: CONCEITO MODELOS DE PROCESSO PROCESSO UNIFICADO HISTÓRIA CARACTERÍSTICAS AS QUATRO.
Introdução a Engenharia de Software de Sistemas Multi-Agentes
Palestras, oficinas e outras atividades
14/10/09 Uma animação possui: Início; Passo; Fim; 1.
Professor Roberto Petry
1 INQUÉRITOS PEDAGÓGICOS 2º Semestre 2003/2004 ANÁLISE GERAL DOS RESULTADOS OBTIDOS 1.Nº de RESPOSTAS ao inquérito 2003/2004 = (42,8%) 2.Comparação.
Arquiteturas Diferentes
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
UML NO PROJETO LÓGICO DE BANCO DE DADOS: 1ª PARTE
Administração para Engenharia
Auditoria de Segurança da Informação
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Questionário de Avaliação Institucional
Ferramentas e Tecnologias II
Classes e objetos Modelagem
Provas de Concursos Anteriores
1 APLICAÇÃO DA VISUALIZAÇÃO CIENTÍFICA À OCEANOGRAFIA Representação da agitação marítima no porto de Leixões Disciplina de Visualização Científica Mestrado.
Monitoria GDI Aula Prática
© GfK 2012 | Title of presentation | DD. Month
IDENTIFICAÇÃO, MODELAGEM E ANÁLISE DE PROCESSOS Luís Gonzaga Trabasso
Como aplicar leis da lógica
Semana 03: Comandos de desvio de fluxo. Expressões lógicas.
1 Celulose.
Engenharia de Requisitos
Título da produção digital em questão: JOGOS DE PERGUNTAS E RESPOSTA B) Proposta pedagógica orientadora da produção: construir conceitos matemáticos através.
Aluno: Mário Monteiro Orientador: Sérgio Soares 1.
Cinemática Plana de um Corpo Rígido Cap. 16
MECÂNICA - DINÂMICA Cinemática de uma Partícula Cap Exercícios.
Object Oriented Software Construction (MEYER, Bertrand)
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Cadastro de Docentes e Auxiliares de Educação Infantil
GAPH Integração de Hardware do Usuário ao CoreConnect Leandro Heleno Möller e Leonel Pablo Tedesco Prototipação Rápida e Computação.
Vânia Maria Ponte Vidal
Engenharia Elétrica ANTENAS E PROPAGAÇÃO Parte 2 Nono Semestre
Mapeamento de Objetos para o Modelo Relacional - Introdução
Salas de Matemática.
MINISTÉRIO DO PLANEJAMENTO Projeto de Lei Orçamentária 2011 Ministro Paulo Bernardo Silva Brasília, novembro de 2010.
MINISTÉRIO DO PLANEJAMENTO Projeto de Lei Orçamentária 2010 Ministro Paulo Bernardo Silva Brasília, 31 de agosto de 2009.
Coordenação Geral de Ensino da Faculdade
26/9/2014www.adesgcascavel.com.br / METODOLOGIA PROFESSOR NILSON R. DE FARIA PÓS-GRADUAÇÃO ADESG / UNIPAN 1.
Semana 03 Comandos de desvio de fluxo. Expressões lógicas.
É u m e l e m e n t o f u n d a m e n t a l
METODOLOGIA PROFESSOR NILSON R. DE FARIA PÓS-GRADUAÇÃO ADESG / FAMIPAR
EXERCÍCIOS PARA GUARDA-REDES
IF696 - Integração de Dados e DW
Análise e Projeto de Sistemas
1.
Projeto de Banco de Dados
ENGA78 – Síntese de Circuitos Digitais
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Grupo A – Azul Claro, Marrom, Laranja
DIEGO RICARDO DE ARAUJO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO INSTITUTO DE CIÊNCIA EXATAS UNIVERSIDADE FEDERAL DE JUIZ DE FORA Seleção de Características.
BPM BUSINESS PROCESS MANAGEMENT Projecto em Informática e Gestão de Empresas Lisboa, 20 de Junho de 2006.
MATRICIAL CONSULTORIA LTDA. PREFEITURA MUNICIPAL DE GARIBALDI 23/10/ : ATENÇÃO Os locais descritos nas planilhas anexas não correspondem ao total.
Preleções Científicas Universidade Estadual do Ceará Pró-Reitoria de Extensão Integrais Múltiplas e Integrais de Volume Ministrante: Prof. K. David Sabóia.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
01. Conceitos Básicos e definições
Curso: Cerimonial, Protocolo e Eventos
Diagramas de Venn e de Carroll Não se chamam propriamente ferramentas/instrumentos estatísticos mas ajudam a organizar de uma forma simples alguns tipos.
Rio Verde - Goiás - Brasil
FORMATANDO O TRABALHO NO WORD 2007
Cinemática Plana de um Corpo Rígido Cap. 16
Caminhos da Cana Relatório e show de imagens Marcos Fava Neves Prof. FEA/USP Ribeirão Preto Purdue University (2013)
CALENDÁRIO 2013 MÓDULO II.
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Comandos SQL.
GI GARP LEAN OFFICE Visão e Missão
GINÁSTICA LABORAL UM NOVO CAMINHO.
Persistência em Software Orientado a Objetos:
Transcrição da apresentação:

Persistência em Software Orientado a Objetos: Soluções de Mapeamento Objeto-Relacional Marcelo Santos Daibert Orientador: Marco Antônio Pereira Araújo Co-Orientadora: Alessandreia Marta de Oliveira Julio Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Agenda Motivação Metodologia Contextualização Frameworks de Persistência DePO Instant Objects TiOPF Estudo de Caso: Acadêmico OO Resultados Considerações Finais Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Motivação Crescente utilização do paradigma orientado a objetos no desenvolvimento de software As estratégias de armazenamento orientadas a objetos não são maduras o suficiente Reduzir o gap entre o paradigma de desenvolvimento orientado a objetos e o modelo relacional de armazenamento de dados A busca por soluções opensource eficazes e eficientes para persistência de objetos em base de dados relacional Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Motivação Projeto de Iniciação Científica Estratégias de Persistência em Software Orientado a Objetos Estudar as diversas estratégias de persistência Mapeamento Objeto-Relacional Banco de Dados OO Banco de Dados OR Criar uma camada de persistência própria para o ambiente Delphi Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Metodologia Estudo exploratório de persistência de objetos e camadas de persistência Estudo comparativo entre as estratégias opensource disponíveis para o ambiente Delphi Definição e implementação de uma aplicação utilizando um framework de persistência Utilização de padrões de projeto (Design Patterns) Utilização de ferramenta de versionamento (SVN) Utilização de ferramenta de BugTracking (NSN Projetc) Divulgação dos resultados Marcelo Santos Daibert

Marcelo Santos Daibert Metodologia Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Metodologia Estudo exploratório de persistência de objetos e camadas de persistência Estudo comparativo entre as estratégias opensource disponíveis para o ambiente Delphi Definição e implementação de uma aplicação utilizando um framework de persistência Utilização de padrões de projeto (Design Patterns) Utilização de ferramenta de versionamento (SVN) Utilização de ferramenta de BugTracking (NSN Projetc) Divulgação dos resultados Marcelo Santos Daibert

Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Metodologia Estudo exploratório de persistência de objetos e camadas de persistência Estudo comparativo entre as estratégias opensource disponíveis para o ambiente Delphi Definição e implementação de uma aplicação utilizando um framework de persistência Utilização de padrões de projeto (Design Patterns) Utilização de ferramenta de versionamento (SVN) Utilização de ferramenta de BugTracking (NSN Projetc) Divulgação dos resultados Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Contextualização POO – Programação Orientada a Objetos Paradigma OO difere substancialmente do Paradigma Relacional Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Contextualização Mapeamento Objeto Relacional Escolha de um OID (Object Identification) Mapear atributos para colunas Mapear classes para tabelas Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Contextualização Mapear Herança Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Contextualização Mapear Associação 1:1 Mapear Associação 1:n Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Contextualização Mapear Associação n:n Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Contextualização Camadas de Persistência Camada de Persistência Marcelo Santos Daibert

Contextualização Camadas de Persistência Camada de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Contextualização Camadas de Persistência Camada de Persistência Camada de Persistência Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência Estrutura complexa e genérica responsável pela persistência e manipulação dos objetos. DePO (Delphi Persistent Objects) IO (Instant Objects) TiOPF (TechInside Object Persistent Framework) Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência DePO Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência Manipulação de Objetos Persistir / Criar var Aluno: TAluno; begin Aluno:= TAluno.Create(dpoDBXMechanism); Aluno.Codigo:= '1'; Aluno.Nome:= 'José da Silva'; Aluno.Matricula:= '2002102013'; Aluno.Save; end; Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência Manipulação de Objetos Recuperar var Aluno: TAluno; begin Aluno:= TAluno.Create(dpoDBXMechanism); Aluno.Codigo:= '1'; if not Aluno.Retrieve then MessageDlg('Aluno não existe', mtWarning, [mbOK], 0); end; Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência Manipulação de Objetos Atualizar var Aluno: TAluno; begin Aluno:= TAluno.Create(dpoDBXMechanism); Aluno.Codigo:= '1'; if Aluno.Retrieve then Aluno.Nome:= 'Joaquim Souza'; Aluno.Save; end; Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência Manipulação de Objetos Excluir var Aluno: TAluno; begin Aluno:= TAluno.Create(dpoDBXMechanism); Aluno.Codigo:= '1'; if Aluno.Retrieve then Aluno.Delete; Aluno.Save; end; Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência Instant Objects Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência Model Explorer Marcelo Santos Daibert

Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência Manipulação de Objetos Persistir / Criar var objAluno : TAluno; begin objAluno:=TAluno.Create(InstantDBXConnector); objAluno.Nome := 'José da Silva'; objAluno.Matricula := 2002102013; objAluno.Store(); end; Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência Manipulação de Objetos Recuperar var objAluno : TAluno; begin try objAluno:=TAluno.Retrieve('ID',false,false, InstantDBXConnector); except MessageDlg('Aluno não Existe', mtWarning, [mbOK], 0); end; Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência Manipulação de Objetos Atualizar var objAluno : TAluno; begin try objAluno:=TAluno.Retrieve('ID',false,false, InstantDBXConnector); objAluno.Nome := 'Joaquim Souza'; objAluno.Matricula := 2003201245; objAluno.Store(); except MessageDlg('Aluno não Existe', mtWarning, [mbOK], 0); end; Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência Manipulação de Objetos Excluir var objAluno : TAluno; begin try objAluno:=TAluno.Retrieve('ID',false,false, InstantDBXConnector); objAluno.Dispose(); except MessageDlg('Aluno não Existe', mtWarning, [mbOK], 0); end; Marcelo Santos Daibert

Frameworks de Persistência Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF Frameworks de Persistência TiOPF Componentes Data-aware Marcelo Santos Daibert

Estudo de Caso: Acadêmico Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Estudo de Caso: Acadêmico Sistema de Controle Acadêmico Reengenharia (Estruturado -> Orientado a Objetos) Utilização de Padrões de Projeto Persistência de Objetos Utilização do framework de persistência objeto-relacional DePO (Delphi Persistent Objetcs) Marcelo Santos Daibert

Estudo de Caso: Acadêmico Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Estudo de Caso: Acadêmico Demo Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Resultados Artigo “Persistência de Objetos no Delphi: Introdução ao DePO(Delphi Persistent Objects)” aceito na revista ClubeDelphi. Artigo “Persistência em Software Orientado a Objetos: Abordagens Utilizando Frameworks OpenSource” aceito para apresentação oral no III Encontro de Software Livre do Amazonas (ESLAM) em Manaus Apresentação do minicurso “Persistência de Objetos em Delphi – Introdução ao Framework DePO(Delphi Persistent Objects)” Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Resultados Apresentação oral do workshop “Persistência em Software Orientado a Objetos: Abordagens Utilizando Frameworks OpenSource” no II Festival de Software Livre de Juiz de Fora (FESTSOL) Marcelo Santos Daibert

Marcelo Santos Daibert Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão Considerações Finais Este trabalho buscou apresentar soluções opensource eficazes e eficientes para suprir as necessidades de desenvolvimento orientado a objetos, unindo: Maturidade, Confiança, Desempenho dos bancos de dados relacionais Trabalhos futuros: Estudo dos frameworks proprietários, como o ECO, ECO II, Bold. Marcelo Santos Daibert

Persistência em Software Orientado a Objetos: Soluções de Mapeamento Objeto-Relacional Marcelo Santos Daibert Orientador: Marco Antônio Pereira Araújo Co-Orientadora: Alessandreia Marta de Oliveira Julio Marcelo Santos Daibert