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

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

Persistência em Software Orientado a Objetos:

Apresentações semelhantes


Apresentação em tema: "Persistência em Software Orientado a Objetos:"— Transcrição da apresentação:

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

2 Agenda Motivação Contextualização Mapeamento Objeto-Relacional
Camada de Persistência Framework de Persistência Resultados Próximos Passos Conclusão Referências

3 Motivação Crescente utilização do paradigma orientado a objetos no desenvolvimento de software Necessidade de persistência dos objetos em alguma estratégia de armazenamento Atualmente os banco de dados orientado a objetos não são maduros o suficiente

4 Contextualização Persistência de Objetos
Estratégias de Persistência em Banco de Dados: Orientado a objetos, objeto relacional e relacional No contexto deste trabalho é apresentado uma abordagem de persistência de objetos em banco de dados relacional

5 Mapeamento Objeto-Relacional
O modelo relacional de dados difere substancialmente do modelo orientado a objetos Modelo Relacional: Tabelas Linhas (tuplas) Colunas Modelo Orientado a Objetos: Classes Atributos Objetos

6 Mapeamento Objeto-Relacional
Consiste em mapear as classes, seus atributos e seus relacionamentos para o modelo relacional Escolhendo um OID (Object Identification) Mapeando atributos para colunas Mapeando classes para tabelas

7 Mapeamento Objeto-Relacional
Mapeando Herança Três estratégias para o mapeamento de heranças

8 Mapeamento Objeto-Relacional
Mapeando Relacionamentos Do Tipo Um (1:n e 1:1) Do Tipo Muitos (n:n)

9 Camada de Persistência
Estrutura agregada ao sistema responsável pela persistência e manipulação dos objetos Três estratégias para persistência de objetos em um banco de dados relacional: Camada SQL

10 Camada de Persistência
Camada de Classes de Dados Camada de Persistência (Enfoque deste trabalho)

11 Framework de Persistência
Conceito: Solução completa e genérica para camada de persistência de objetos: Conexão ao banco de dados relacional Mapeamento Persistência de Objetos Manipulação de Objetos Create - Criar Retrieve - Recuperar Update - Atualizar Delete - Excluir

12 Framework de Persistência - DePO
DePO (Delphi Persistent Objects) Ambiente de Desenvolvimento Linguagem Delphi / Kylix Plataforma Suportada Windows / Linux Compatibilidade com SGBD Relacional Todos Estratégia de Mapeamento XML ou .pas agregado ao sistema Valor Freeware e OpenSource

13 Framework de Persistência - DePO
Estratégia para Persistência Classe que será persistida herda da classe persistente do DePO Estratégia para Relacionamento Herança Uma tabela para cada classe Estratégia para Relacionamento do Tipo Um Chave estrangeira na tabela referenciada e/ou que referencia Estratégia para Relacionamento do Tipo Muitos Cria-se outra tabela para o manter o relacionamento Suporte ao Tipo Coleção de Objetos Transparente ao programador

14 Framework de Persistência - DePO
Estudo de Caso

15 Framework de Persistência - DePO
Configurando os Componentes DePO

16 Framework de Persistência - DePO
Configurando os Componentes DePO

17 Framework de Persistência - DePO
Mapeamento TPessoa = class(TdpoPersistentObject) private FCodigo: Integer; FNome: String; published property Codigo: Integer read FCodigo write FCodigo; property Nome: String read FNome write FNome; end; TProfessor = class(TPessoa) FCPF: Integer; property CPF: Integer read FCPF write FCPF;

18 Framework de Persistência - DePO
Mapeamento with dpoDBMappingManager.Classes.Add do begin ClassObject := TProfessor; InheritsMappingFrom := TPessoa; StorageName := 'Professor'; with AttributesMapping.add do AttributeName := 'Codigo'; IsOid := True; ColumnName := 'Codigo'; IndexType := idxUnique; Required := True; end; with AttributesMapping.add do begin AttributeName := 'CPF'; IsOid := False; ColumnName := 'CPF'; Required := True; end;

19 Framework de Persistência - DePO
Manipulação dos Objetos Instanciação e Persistência var Aluno: TAluno; begin Aluno:= TAluno.Create(dpoDBXMechanism); Aluno.Codigo:= '1'; Aluno.Nome:= 'José da Silva'; Aluno.Matricula:= ' '; Aluno.Save; end;

20 Framework de Persistência - DePO
Manipulação dos Objetos Recuperação 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;

21 Framework de Persistência - DePO
Manipulação dos Objetos Atualização var Aluno: TAluno; begin Aluno:= TAluno.Create(dpoDBXMechanism); Aluno.Codigo:= '1'; if Aluno.Retrieve then Aluno.Nome:= 'Joaquim Souza'; Aluno.Save; end;

22 Framework de Persistência - DePO
Manipulação dos Objetos Exclusão var Aluno: TAluno; begin Aluno:= TAluno.Create(dpoDBXMechanism); Aluno.Codigo:= '1'; if Aluno.Retrieve then Aluno.Delete; Aluno.Save; end;

23 Resultados Submissão de artigo à revista ClubeDelphi:
“Persistência de Objetos no Delphi: Introdução ao framework DePO (Delphi Persistent Objects)”

24 Próximos Passos Estudo dos frameworks:
IO (Instant Objects) TiOPF (TechInside Object Persistence Framework) ECO (Enterprise Core Objects) Miolo Hibernate Reestruturação do relatório monográfico para buscar maior didática Estudo comparativo entre os frameworks Divulgação e disponibilização dos resultados para a comunidade acadêmica

25 Conclusão Os frameworks buscam suprir as necessidades do desenvolvimento orientado a objetos, unindo: A Maturidade, A Confiança, E a Rapidez dos bancos de dados relacionais

26 Referências AMBLER, S. W. Mapping Objects To Relational Databases. Disponível em: < Acesso em: 10 jun AMBLER, S. W. Análise e Projeto Orientado a Objeto. Rio de Janeiro: Infobook, 1997. AMBLER, S. W. The Design of a Robust Persistence Layer for Relational Databases. Disponível em: < Acesso em: 10 jun SATZINGER, J.; ORVIK, T. Object-Oriented Approach. USA: Course Technology, 1996. TAFNET, M. A.; CORREIA, C. H. Análise Orientada a Objetos. Florianópolis: Visual Books, 2001.


Carregar ppt "Persistência em Software Orientado a Objetos:"

Apresentações semelhantes


Anúncios Google