Bancos de Dados Orientados a Objetos Álvaro Vinícius de Souza Coêlho

Slides:



Advertisements
Apresentações semelhantes
BANCO DE DADOS I Prof. Ricardo Santos.
Advertisements

Redes Windows.
Sistemas Cliente/Servidor Introdução
O Paradigma Cliente/Servidor Prof. Carlos A. Maziero, PhD PPGIA PUCPR.
Engenharia de Software
Noções de Sistemas Operacionais
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Evolução dos SGBD’s (2ª Parte).
Sistemas operacionais
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Funcionalidades de um SGBD
Introdução a Banco de Dados
Introdução a Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
SISTEMAS DE INFORMAÇÃO
Engenharia de Software
Banco de Dados - Introdução
Introdução aos Sistemas Gerenciadores de Banco de Dados
Conceitos Básicos Dado: fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação Exemplos: endereço,
Seminários Avançados I
Objetos Distribuídos Padrão CORBA
Fundamentos de Banco de Dados
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Professor Victor Sotero
O Portal do Estudante de Computação
Administração de Sistemas de Informação Banco de Dados
GESTÃO DE SISTEMAS DE INFORMAÇÃO
Tecnologia de Informática
Unidade 1-1 Processos e Threads
Arquitetura Cliente/Servidor
Linguagem de Programação IV
Sistemas Distribuídos
Introdução a Banco de Dados Aula 03
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
É um conjunto de registos dispostos numa estrutura regular que possibilita a reorganização dos mesmos e a produção de informação com a menor redundância.
BD.
Arquitetura Cliente /Servidor
ACESSO A BASE DE DADOS.
Tecnologia da Informação
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 05.
Professor: Márcio Amador
Sistemas Operacionais
BD Distribuído Conceitos Iniciais.
Contexto da disciplina
SISTEMAS OPERACIONAIS I
A abordagem de banco de dados para gerenciamento de dados
PostGres: Um Banco de Dados Orientado a Objetos
11 13/01/10 CLOUD COMPUTING O QUE É COMPUTAÇÃO EM NUVEM ?
Processos.
Curso Técnico em Informática DISCIPLINA: Implementação a Banco de Dados PROFESSOR: Flávio Barbosa PARACATU /MG.
Sistemas Distribuídos
Introdução a Banco de Dados Aula 04
Bancos de Dados Estrutura e Funcionamento de um SGBD
COMPUTAÇÃO NAS NUVENS.
Padrões de Interação com o Usuário
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
Teste.
Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado.
Um alternativa para o armazenamento
CONECTIVIDADE Prof.: Alessandro V. Soares Ferreira
Equipe Prof. Henrique Freitas
Capítulo 6: SAD – Arquitetura e aspectos de rede e segurança
Banco de Dados Universidade do Estado de Santa Catarina
 São métodos formais de tornar disponíveis para a administração, quando oportuno, as informações necessárias para facilitar o processo de tomada de decisão.
Introdução aos Sistemas Operacionais
Estilos Arquiteturais
UCSal – Bacharelado em Informática
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
Aplicativos para Web MVC Prof. Odair Indena Jr.
Transcrição da apresentação:

Bancos de Dados Orientados a Objetos Álvaro Vinícius de Souza Coêlho

BDs Orientados a Objeto Histórico –Historicamente os sistemas de Bancos de Dados caminharam abraçados à tecnologia mais difundida. –Assim que surgiram, BDs estavam suportados em MainFrames.

BDs Orientados a Objeto Histórico –Para compreender melhor é necessária uma rápida visita à arquitetura MainFrame: Aplicação SGBD BD Terminal MainFrame

BDs Orientados a Objeto Histórico –O usuário tem diante de si um terminal cuja função única é entrada e saída de dados –A aplicação (que está no MainFrame) acessa o SGBD, que cuida do BD em todos os aspectos, conforme mostrado.

BDs Orientados a Objeto Histórico –Opcionalmente a aplicação poderia acessar diretamente os arquivos –O MainFrame permitia a execução de muitos programas ao mesmo tempo –Compartilhar um único arquivo através da estratégia de Time Sharing –Uma fatia de tempo para cada processo, assim todos estavam sempre sendo executados

BDs Orientados a Objeto Histórico –As vantagens desse modelo eram a segurança e a integração, pois os sistemas estavam suportados numa única plataforma de HW e SW –A principal desvantagem era o custo. Os MainFrames muitas vezes eram até alugados

BDs Orientados a Objeto Histórico –Com a popularização e o barateamento dos microcomputadores, surgem os sistemas menores, que acessavam arquivos –Na prática, é importante ressaltar, não há ação de um SGBD, pois os aplicativos acessam o arquivo de dados diretamente

BDs Orientados a Objeto Histórico –Esta estratégia ganhou força com o aparecimento do Dbase, fabricado pela Aston Tate, que trazia inúmeras facilidades de manipulação interativa de dados, usando os famosos arquivos.DBF. –Aston Tate hoje é Borland Inc.

BDs Orientados a Objeto Histórico –Fenômeno 1: Popularização das redes locais de computadores, –Fenômeno 2: Aparecimento das versões mais populares dos sistemas operacionais de rede, –Conseqüência: A orientação mudaria um pouco

BDs Orientados a Objeto Histórico –O servidor de arquivos Estações Servidor de Arquivos

BDs Orientados a Objeto Histórico –Provia mecanismos de compartilhamento de arquivos por mais de um processo –Estando, inclusive, em máqinas diferentes –Semelhante ao que o MainFrame fazia –Um aplicativo agora podia acessar os arquivos compartilhando-os com outros

BDs Orientados a Objeto Histórico –Os aplicativos cuidariam de acessar o servidor a partir de muitos pontos –Atendendo a diversos usuários como o MainFrame, mas a custo bem inferior –Além disso uma estação de trabalho tinha vantagens sobre o terminal “burro”

BDs Orientados a Objeto Histórico –As desvantagens eram todas ligadas ao fato de que não havia um SGBD, –Os dados ficavam à mercê das aplicações para ter seus aspectos de segurança e integridade respeitados –E Concorrência?

BDs Orientados a Objeto Histórico –Este modelo arquitetural de Banco de Dados ficou conhecido como Sistemas tipo Servidor de Arquivos –A partir das criticas feitas ao modelo tipo Servidor de Arquivos surge uma alternativa, a instalação de um SGBD para atender a todos. Ou seja, criar um Servidor de Banco de Dados.

BDs Orientados a Objeto Histórico –A arquitetura fica um pouco mais parecida com a do MainFrame, –A diferença é que a aplicação agora funcionaria em outra máquina (na verdade poderia ser na mesma) –Seria cliente do serviço prestado pelo SGBD, ou seja, acesso aos dados.

BDs Orientados a Objeto Histórico –Modelo Cliente-Servidor Estações Servidor de Banco de Dados SGBD BD Aplicativo

BDs Orientados a Objeto Histórico –A principal vantagem é que o Servidor de BD implementava os aspectos de –Concorrência –Integridade –Segurança –Recuperação de falhas

BDs Orientados a Objeto Histórico –A desvantagem surge ironicamente do fato que levou muita gente a se afastar da arquitetura MainFrame: A Estação Cliente –Argumento dos detratores do MainFrame: –Aplicações nas pontas permite-se rodar aplicações em máquinas muito mais baratas. Isso é realmente um fato

BDs Orientados a Objeto Histórico –Os problemas: –Manutenção das aplicações: cada nova versão tinha que ser instalada em muitas máquinas, e isso começou a representar um custo excessivo –Dependência tecnológica: Escolhido o SO e o SGBD, qualquer mudança teria custos por vezes proibitivos

BDs Orientados a Objeto Histórico –Por outro lado, a crescente sofisticação das aplicações exigia investimentos pesados no fortalecimento do poder de processamento dos clientes –Passou-se a olhar, então, esta arquitetura como um modelo em duas camadas:

BDs Orientados a Objeto Histórico –Cliente processa dados e apresentação –Cliente se conecta diretamente aos servidores. –Cliente “Robusto” (e caro) –Aplicações grandes, e baixa reutilização –Dificuldade na distribuição das versões

BDs Orientados a Objeto Histórico –A solução –Implementar múltiplas camadas (no mínimo 3) a invés de apenas duas.

BDs Orientados a Objeto Histórico –Apresentação, Lógica do Negócio e Acesso a Dados. –Cliente “Magro” –Serviços da camada de negócios compartilhados –Atualização de versões centralizado –Independência de Plataforma

BDs Orientados a Objeto Histórico –A grande modificação fica no cliente “magro” –Opcionalmente (e normalmente é uma boa idéia), pode-se quebrar a camada intermediária (Lógica do Negócio) e a de acesso a dados em componentes (ou objetos)

BDs Orientados a Objeto Histórico –Objetos de lógica do negócio –Encapsulam regras de negócio do mundo real independente de como os dados estão armazenados –Usualmente possuem múltiplas operações acessando vários objetos de dados

BDs Orientados a Objeto Histórico –Objetos de acesso a dados –Deve ser o único meio de acesso a dados (incorpora especificamente a DML do Banco de Dados) –Provê um conjunto de métodos que permitem lhe serem solicitados serviços

BDs Orientados a Objeto Histórico –Necessidade: Mapeamento Objetos de Dados – Objetos de Negócio –O modelo é, então, estendido para N camadas –É possível, se desejável, até a re-inclusão do próprio MainFrame na estrutura

BDs Orientados a Objeto Histórico –Multicamadas

BDs Orientados a Objeto Histórico –O SGBD não “vê” a estrutura complexa que se construiu ao seu redor. –Os acessos aos dados, do ponto de vista do SGBD permanecem da mesma forma –A camada de acesso a dados atua como cliente do servidor de Banco de Dados

BDs Orientados a Objeto Histórico –O cliente pode ser tão magro quanto possível. Idealmente, trata-se apenas de um navegador Web –Pela Web, as conexões podem ser feitas –No cliente funciona apenas um componente (ASP, Java,...) –Provê a visualização, e a entrada/saída de dados –Quase um terminal do MainFrame, mas executa efetivamente processos.

BDs Orientados a Objeto Histórico –Ao ser ativado o processo (componente) –Verifica-se se a data do que está instalado é defasada em relação ao do servidor –Então houve uma atualização –A versão mais recente é transportada automaticamente

BDs Orientados a Objeto Histórico –Vantagens –Pode-se trocar de plataforma com propagação mínima de efeitos colaterais Ex. Para trocar o SGBD é necessário apenas um ajuste nos objetos de acesso a dados. –Atualizações de versões automáticas e imediatas, sem a necessidade de reinstalação on site.

BDs Orientados a Objeto Histórico –Os componentes podem (e tendem a) ser projetados preservando-se os princípios de encapsulamento – Como? –Os problemas de coesão baixa e acoplamento alto precisam ser minimizados – Como?

BDs Orientados a Objeto Histórico –Preserva-se o legado do MainFrame, do qual muitas organizações nunca puderam se desfazer. –O cliente magro pode ter uma capacidade de processamento mais modesta, o que diminui os custos. –Esta estrutura, é conhecida como Servidor Web.

BDs Orientados a Objeto Histórico –Mas alguma coisa havia mudado –A necessidade de componentes e de encapsulamento –Este ambiente é o natural para a orientação a objetos. –Os ambientes de programação precisam ser OO – além de gráficos

BDs Orientados a Objeto Histórico –Java começa, então, a ganhar muito espaço neste contexto. Surgem aplicações visuais Java –Provêem todas as facilidades dos ambientes de Visual Basic e Delphi –Mais Orientação a Objetos

BDs Orientados a Objeto Histórico –Contra a força de Java a Microsoft propõe padrões proprietários, integrados ao Visual Basic, mas encontra resistência –Delphi, por sua vez, passa a ser aproveitada nos conceitos de Orientação a Objeto –Sistemas distribuídos em Java, Delphi e Visual Basic vão se multiplicando a cada dia

BDs Orientados a Objeto Histórico –As arquiteturas de SGBDs evoluíram também –Até 1960: Sistemas de Arquivos Integrados – ISAM, VSAM (IBM). –Crítica: pouco encapsulamento –Controles de segurança, concorrência, integridade e recuperação de falhas ficavam a cargo dos programas aplicativos

BDs Orientados a Objeto Histórico –Se houvesse alguma modificação no modelo, como garantir que todos os programas respeitariam a “nova ordem”? Muito trabalhoso! –Final dos aos 60: Modelo hierárquico – IMS (IBM).

BDs Orientados a Objeto Histórico –Uma estrutura de registros pai-filho dispostos em seqüência, implementando relação um para muitos de cima para baixo –Implementava regras de integridade, embora com limitações, e aspectos de segurança, recuperação de falhas e controle de concorrência

BDs Orientados a Objeto Histórico –1970 e início dos anos 80: Modelo de redes (Codasyl) – IDMS, DBMS-II (Unisys). –Extensão do modelo hierárquico, com relações muitos para um estabelecidas e todas as direções. –Modelava toda sorte de relacionamentos com facilidade.

BDs Orientados a Objeto Histórico –Final dos anos 70: Modelo Relacional (Codd) – SQL-DS, DB2, (IBM), Oracle, Ingres. –Relação entre dados, não através de estruturas internas do banco –Modela, como o em Rede, toda sorte de relacionamentos

BDs Orientados a Objeto BDs Relacionais X Redes –Relacionais Tem performance inferior ao em Redes –Mas tem linguagens DDL e DML como Quel e SQL mais simples. Fator decisivo. –São dominantes hoje –Final dos anos 80: Modelo reacional-estendido. Orientado a Objeto. BDOO, O2, Oracle (a partir da versão 9)...

BDs Orientados a Objeto SQL –O argumento decisivo a favor dos relacionais –Fácil de usar –Eficiente Eficaz –Padrão –Consagrada em todos os produtos hoje

BDs Orientados a Objeto BDOO – Objetos (Apontadores) Vantagens prometidas: –Simplicidade – BDs OO estão para BDs Relacionais como Java está para C –Promessa: A performance de BDs em rede sem a complicação da operação de endereços internos

BDs Orientados a Objeto Relacionais Estendidos –Um BD relacional sob uma casca orientada a objeto –OIDs –Métodos –Classes –Ex: PostGres