A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Marcelo Santos Daibert1 Persistência em Software Orientado a Objetos: Soluções de Mapeamento Objeto-Relacional Marcelo Santos Daibert Orientador: Marco.

Apresentações semelhantes


Apresentação em tema: "Marcelo Santos Daibert1 Persistência em Software Orientado a Objetos: Soluções de Mapeamento Objeto-Relacional Marcelo Santos Daibert Orientador: Marco."— Transcrição da apresentação:

1 Marcelo Santos Daibert1 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

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

3 Marcelo Santos Daibert 3 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 Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão

4 Marcelo Santos Daibert 4 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 Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão

5 Marcelo Santos Daibert 5 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 Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão

6 Marcelo Santos Daibert 6 Metodologia

7 Marcelo Santos Daibert 7 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 Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão

8 Marcelo Santos Daibert 8

9 9 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 Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão

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

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

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

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

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

15 Marcelo Santos Daibert 15 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

16 Marcelo Santos Daibert 16 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 Camada de Persistência

17 Marcelo Santos Daibert 17 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) Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão DePO IO TiOPF

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

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

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

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

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

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

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

25 Marcelo Santos Daibert 25

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

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

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

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

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

31 Marcelo Santos Daibert 31 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) Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão

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

33 Marcelo Santos Daibert 33 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)” Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão

34 Marcelo Santos Daibert 34 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) Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão

35 Marcelo Santos Daibert 35 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. Motivação Metodologia Contextualização Frameworks de Persistência Estudo de Caso Resultados Conclusão

36 Marcelo Santos Daibert36 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


Carregar ppt "Marcelo Santos Daibert1 Persistência em Software Orientado a Objetos: Soluções de Mapeamento Objeto-Relacional Marcelo Santos Daibert Orientador: Marco."

Apresentações semelhantes


Anúncios Google