SlideShare uma empresa Scribd logo
1 de 12
Os padrões arquiteturais de Fontes de Dados
descrevem a forma como a camada da lógica
de negócio se comunica com a base de
dados.
Na resolução do problema e importante saber
que cada padrão representa uma escolha que,
uma vez tomada, será difícil de reestruturar
para outra
Padrões Arquiteturais de Fontes de Dados
Existem várias técnicas para incluir o SQL na
linguagem de programação, no entanto, nenhuma é
relativamente simples.
É necessário separar os acessos SQL da lógica
de negócio:
Programadores - Não devem ter acesso direto ao
BD porque muitas vezes não dominam a linguagem
SQL de forma eficiente;
DBAs - Necessitam ter acesso ao SQL de uma
forma sistemática para otimizar o banco de dados.
Padrões Arquiteturais de Fontes de Dados
As Data Gateways são classes com métodos que
facultam acesso a registros da base de dados.
As classes dos padrões da Lógica de Negócio
invocam os métodos das Data Gateways para
interagir com a base de dados.
As Data Gateways podem ser implementadas de
duas formas:
• Row Data Gateway – um objeto para cada registro
da tabela;
• Table Data Gateway – um objeto para a tabela.
Data Gateways
Um Gateway de Linha de Dados é um padrão de
arquitetura que utiliza um objeto que representa
exatamente uma linha de registro do banco de dados
em memória.
A estrutura dessa entidade é exatamente igual a
estrutura física da tabela de modelo relacional.
Gateway de Linha de Dados
(Row Data Gateway)
Vantagens
• O Gateway de Linha de Dados mantém os
valores de suas propriedades ao longo do seu
ciclo de vida, não sendo necessário passar
todos os valores de suas propriedades ao longo
de seu ciclo de vida.
Desvantagens
• O padrão faz com que aumentamos o consumo
de memória, pois se instancia naturalmente
mais objetos em um sistema, tendo em vista
que cada objeto agora representará um único
registro da tabela.
Utilização
• Onde se usa? Usa-se com maior frequência
quando se está utilizando o “Roteiro de
Transação”, pois ele decompõe eficientemente o
código de acesso ao banco de dados e permite
que este seja reutilizado facilmente em
diferentes roteiros de transação.
Utilização (II)
• Onde não se usa? Quando se está utilizando o
“Modelo de Domínio”, pois é melhor utilizar o
Registro Ativo para isolar os objetos de domínio
da estrutura do banco de dados, que faz o
mesmo trabalho sem uma camada adicional de
código.
Gateway Linha de Dados (RDG) x Registro
Ativo (AR)
• A diferença entre estes dois padrões é que o
padrão RDG não possui nenhum método
pertencente ao modelo de negócios, somente
métodos de acesso à base de dados. Quando é
adicionado a lógica de negócio a um RDG então
temos um Registro Ativo.
• EXEMPLO
 Obrigado à todos,
FIM
28/08/13

Mais conteúdo relacionado

Semelhante a Gateway de linha de dados

Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosMozart Dornelles Claret
 
[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de DadosDeep Tech Brasil
 
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de DadosRodrigo Kiyoshi Saito
 
Banco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e RefatoraçãoBanco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e Refatoraçãoelliando dias
 
Padrão de Arquitetura de Software Corporativa
Padrão de Arquitetura de Software CorporativaPadrão de Arquitetura de Software Corporativa
Padrão de Arquitetura de Software CorporativaHilton Menezes
 
Acessos Uniformes à Sistemas NoSQL
Acessos Uniformes à Sistemas NoSQLAcessos Uniformes à Sistemas NoSQL
Acessos Uniformes à Sistemas NoSQLthomasdacosta
 
Transição para a nuvem: Desafios e Estratégias
Transição para a nuvem: Desafios e EstratégiasTransição para a nuvem: Desafios e Estratégias
Transição para a nuvem: Desafios e EstratégiasDenodo
 
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012Diego Nogare
 
Apresentação: Padrões de Projetos para Persistência de Dados
Apresentação: Padrões de Projetos para Persistência de DadosApresentação: Padrões de Projetos para Persistência de Dados
Apresentação: Padrões de Projetos para Persistência de DadosLuan Lima
 

Semelhante a Gateway de linha de dados (20)

Banco de dados parte 01
Banco de dados parte 01Banco de dados parte 01
Banco de dados parte 01
 
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 
BD I - Aula 07 A - Projetando BD
BD I - Aula 07 A - Projetando BDBD I - Aula 07 A - Projetando BD
BD I - Aula 07 A - Projetando BD
 
[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados
 
C # banco de dados
C # banco de dadosC # banco de dados
C # banco de dados
 
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
2019-2 - BD I - Aula 01 C - Introdução a Banco de Dados
 
Banco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e RefatoraçãoBanco de Dados Ágeis e Refatoração
Banco de Dados Ágeis e Refatoração
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
Padrão de Arquitetura de Software Corporativa
Padrão de Arquitetura de Software CorporativaPadrão de Arquitetura de Software Corporativa
Padrão de Arquitetura de Software Corporativa
 
Slide da aula 04
Slide da aula 04Slide da aula 04
Slide da aula 04
 
Acessos Uniformes à Sistemas NoSQL
Acessos Uniformes à Sistemas NoSQLAcessos Uniformes à Sistemas NoSQL
Acessos Uniformes à Sistemas NoSQL
 
SQL Oracle
SQL OracleSQL Oracle
SQL Oracle
 
Ado.net
Ado.netAdo.net
Ado.net
 
No sql o_que_e_isso.key
No sql o_que_e_isso.keyNo sql o_que_e_isso.key
No sql o_que_e_isso.key
 
Transição para a nuvem: Desafios e Estratégias
Transição para a nuvem: Desafios e EstratégiasTransição para a nuvem: Desafios e Estratégias
Transição para a nuvem: Desafios e Estratégias
 
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
 
Apresentação: Padrões de Projetos para Persistência de Dados
Apresentação: Padrões de Projetos para Persistência de DadosApresentação: Padrões de Projetos para Persistência de Dados
Apresentação: Padrões de Projetos para Persistência de Dados
 
ORM e EF
ORM e EFORM e EF
ORM e EF
 
BDD
BDDBDD
BDD
 

Mais de Silvino Neto

Implantando a governança de ti
Implantando a governança de tiImplantando a governança de ti
Implantando a governança de tiSilvino Neto
 
Auditoria de sistemas de informação
Auditoria de sistemas de informaçãoAuditoria de sistemas de informação
Auditoria de sistemas de informaçãoSilvino Neto
 
Conteúdos, Identidade Cultural e O Governo ao Alcance de Todos
Conteúdos, Identidade Cultural e O Governo ao Alcance de TodosConteúdos, Identidade Cultural e O Governo ao Alcance de Todos
Conteúdos, Identidade Cultural e O Governo ao Alcance de TodosSilvino Neto
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threadsSilvino Neto
 
Apresentação java io
Apresentação java ioApresentação java io
Apresentação java ioSilvino Neto
 

Mais de Silvino Neto (7)

Lei 811290
Lei 811290Lei 811290
Lei 811290
 
Implantando a governança de ti
Implantando a governança de tiImplantando a governança de ti
Implantando a governança de ti
 
Auditoria de sistemas de informação
Auditoria de sistemas de informaçãoAuditoria de sistemas de informação
Auditoria de sistemas de informação
 
Servidor proxy
Servidor proxy Servidor proxy
Servidor proxy
 
Conteúdos, Identidade Cultural e O Governo ao Alcance de Todos
Conteúdos, Identidade Cultural e O Governo ao Alcance de TodosConteúdos, Identidade Cultural e O Governo ao Alcance de Todos
Conteúdos, Identidade Cultural e O Governo ao Alcance de Todos
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Apresentação java io
Apresentação java ioApresentação java io
Apresentação java io
 

Último

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 

Último (9)

Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

Gateway de linha de dados

  • 1.
  • 2. Os padrões arquiteturais de Fontes de Dados descrevem a forma como a camada da lógica de negócio se comunica com a base de dados. Na resolução do problema e importante saber que cada padrão representa uma escolha que, uma vez tomada, será difícil de reestruturar para outra Padrões Arquiteturais de Fontes de Dados
  • 3. Existem várias técnicas para incluir o SQL na linguagem de programação, no entanto, nenhuma é relativamente simples. É necessário separar os acessos SQL da lógica de negócio: Programadores - Não devem ter acesso direto ao BD porque muitas vezes não dominam a linguagem SQL de forma eficiente; DBAs - Necessitam ter acesso ao SQL de uma forma sistemática para otimizar o banco de dados. Padrões Arquiteturais de Fontes de Dados
  • 4. As Data Gateways são classes com métodos que facultam acesso a registros da base de dados. As classes dos padrões da Lógica de Negócio invocam os métodos das Data Gateways para interagir com a base de dados. As Data Gateways podem ser implementadas de duas formas: • Row Data Gateway – um objeto para cada registro da tabela; • Table Data Gateway – um objeto para a tabela. Data Gateways
  • 5. Um Gateway de Linha de Dados é um padrão de arquitetura que utiliza um objeto que representa exatamente uma linha de registro do banco de dados em memória. A estrutura dessa entidade é exatamente igual a estrutura física da tabela de modelo relacional. Gateway de Linha de Dados (Row Data Gateway)
  • 6. Vantagens • O Gateway de Linha de Dados mantém os valores de suas propriedades ao longo do seu ciclo de vida, não sendo necessário passar todos os valores de suas propriedades ao longo de seu ciclo de vida.
  • 7. Desvantagens • O padrão faz com que aumentamos o consumo de memória, pois se instancia naturalmente mais objetos em um sistema, tendo em vista que cada objeto agora representará um único registro da tabela.
  • 8. Utilização • Onde se usa? Usa-se com maior frequência quando se está utilizando o “Roteiro de Transação”, pois ele decompõe eficientemente o código de acesso ao banco de dados e permite que este seja reutilizado facilmente em diferentes roteiros de transação.
  • 9. Utilização (II) • Onde não se usa? Quando se está utilizando o “Modelo de Domínio”, pois é melhor utilizar o Registro Ativo para isolar os objetos de domínio da estrutura do banco de dados, que faz o mesmo trabalho sem uma camada adicional de código.
  • 10. Gateway Linha de Dados (RDG) x Registro Ativo (AR) • A diferença entre estes dois padrões é que o padrão RDG não possui nenhum método pertencente ao modelo de negócios, somente métodos de acesso à base de dados. Quando é adicionado a lógica de negócio a um RDG então temos um Registro Ativo.
  • 12.  Obrigado à todos, FIM 28/08/13