Bancos de Dados Não-Convencionais

Slides:



Advertisements
Apresentações semelhantes
Sistemas Distribuídos
Advertisements

I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Sistemas Distribuídos
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Evolução dos SGBD’s (2ª Parte).
Pesquisa Bibliográfica Disciplina de Metodologia da Pesquisa Profª Tereza Yoshiko Kakehashi 1.
Profa. Rudson apostilas.wikidot.com/hipermidia
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Funcionalidades de um SGBD
Sistemas Distribuídos
Maurício Edgar Stivanello
Sistema Gerenciador de Banco de Dados SGBD
Sistema Gerenciador de Banco de Dados SGBD
Bacharelado em Ciência da Computação
Introdução aos Sistemas Gerenciadores de Banco de Dados
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.
Professora: Aline Vasconcelos
Professora: Aline Vasconcelos
Bancos de Dados com Objetos
April 05 Prof. Ismael H. F. Santos - 1 Módulo II XML Processing: XSLT, SAX e DOM Prof. Ismael H F Santos.
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
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Prof. Alexander Roberto Valdameri
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Aula 4 Nomes, Vinculações, Tipos e Escopos
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
Mapeamento de Objetos para Tabelas Relacionais
Administração de Sistemas de Informação Banco de Dados
Educação Profissional Técnica de Nível Médio em Informática
Middleware e Sistemas Distribuídos
Arquitetura e Linguagens
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Tecnologias de Linguagens para Banco de Dados
Aluno: Mário Monteiro Orientador: Sérgio Soares 1.
Object Oriented Software Construction (MEYER, Bertrand)
Taxonomia Profa. Lillian Alvares,
Sistemas Distribuídos
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Web Services Uninorte Semana de Tecnologia da Informação
Banco de Dados e Usuários do Banco de Dados (capítulo 1)
Banco de Dados de Objetos
1.
Projeto de Banco de Dados
Sistemas Distribuídos
Introdução a Banco de dados
Professor: Márcio Amador
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Contexto da disciplina
A abordagem de banco de dados para gerenciamento de dados
Objetivos Apresentar de forma breve a Metodologia de Modelagem Orientada a Objetos (OMT). A partir de um modelo de objetos de um sistema de informação.
Banco de Dados Aplicado ao Desenvolvimento de Software
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Flávia Rainone - Bancos de Dados Móveis MAC 5743 Computação Móvel.
Banco de dados 1 Modelagem de Dados Utilizando MER
XML: Conceitos, Tecnologias e Aplicações Vânia Maria Ponte Vidal
ODMG - Object Database Management Group Padrão para SGBDOO Consórcio de pesquisadores e fabricantes Objetivo –integração e padronização de funcionalidades.
Disciplina: Banco de Dados III
Banco de Dados Universidade do Estado de Santa Catarina
Projeto de Banco de Dados
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.
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.
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
Modelagem de dados XML Yago Zacarias Gomes Coutinho Ribeiro
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

Bancos de Dados Não-Convencionais Msc, Marcelo Bezerra de Alcântara malcantara@fa7.edu.br © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Sumário BD Orientado a Objetos e Objeto- Relacional BDs XML Banco de Dados Móveis © Marcelo Bezerra de Alcântara

BDs Relacionais (BDRs) Dominam atualmente o mercado de SGBDs Adequados a aplicações ditas convencionais folha de pagamento automação bancária controle de estoque ... © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara BDR - Características Orientados a registros todas as tuplas com a mesma estrutura todos os atributos com tamanho fixo Tipos de dados simples não-estruturados e monovalorados (atributos atômicos) tamanho pequeno numéricos ou cadeias de caracteres © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara BDR - Características Operações DML simples consultas baseadas em predicados simples de seleção e/ou junção por igualdade de chaves não envolvem procedimentos complexos sobre os dados operações analíticas, invocação de métodos, ... Transações de curta duração operações bancárias cadastros gerais Atualizações “in-place” dados históricos não são mantidos no BD © Marcelo Bezerra de Alcântara

Evolução do Hardware dos Computadores Torna viável o desenvolvimento de aplicações de grande porte (não- convencionais) área científica, projetos arquitetônicos e de engenharia, controle ambiental e urbano, aplicações Web distribuídas, ... Aplicações Não-Convencionais dados (“entidades”) com representação (estrutura e relacionamentos) complexa operações complexas sobre estes dados © Marcelo Bezerra de Alcântara

Exemplos de Aplicações Não-Convencionais CAD/CAM dados: projetos arquitetônicos, projetos de componentes mecânicos características: representação complexa com possíveis versões Sistemas de Informação Geográfica dados: mapas e entidades do terreno características: representação gráfica (áreas geográficas); diversas operações analíticas © Marcelo Bezerra de Alcântara

Exemplos de Aplicações Não-Convencionais Aplicações Web dados: documentos semi-estruturados (XML) características: representação e consultas complexas estruturas hierárquicas; buscas por palavras- chave, ... Sistemas Hipermídia dados: imagens, vídeos, áudios, ... características: dados longos; novas operações de manipulação © Marcelo Bezerra de Alcântara

Novas Necessidades de Gerenciamento de Dados Representação de entidades complexas estrutura não-fixa, vários níveis de composição, dados de diversas mídias, dados semi-estruturados, ... atributos não-atômicos (conjuntos, tuplas, listas, ...) Suporte à versões e históricos representação de diversos estados de uma entidade Exemplos: mapa, histórico de vendas, ... © Marcelo Bezerra de Alcântara

Novas Necessidades de Gerenciamento de Dados Transações longas longa duração (horas, dias, semanas, ...) podem ser compostas por sub-transações exemplo: projeto arquitetônico Extensões na DML e nas RIs novas operações de manipulação (I/E/A/C de dados em estruturas complexas - listas, tuplas, ...) relacionamentos com semânticas bem definidas (composto por, sucessor, adjacente, ...) © Marcelo Bezerra de Alcântara

Dados Não-Convencionais Comparativo atualização não é “in-place” atualização “in-place” operações DML envolvem procedimentos complexos operações DML simples outras semânticas de relacionamento (composição, adjacência, ...) relacionamentos de associação (por chave) transações longas transações curtas atributos complexos atributos atômicos estrutura não-fixa estrutura fixa Dados Não-Convencionais Dados Convencionais © Marcelo Bezerra de Alcântara

BDs Não-Convencionais Novos modelos de dados para atender aos requisitos de dados de aplicações não-convencionais tópico de pesquisa na área de BD Exemplos BD Orientado a Objeto BD XML Banco de dados móveis . . . © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara BD Orientado a Objetos BDOO: paradigma OO + SGBD orientação a objetos encapsulamento: objeto “encapsula” uma estrutura (atributos) e um comportamento (métodos) vantagem: cada aplicação pode definir uma visão particular dos dados reusabilidade: novos objetos podem aproveitar propriedades já definidas em outros objetos vantagem: redefinições de dados são evitadas SGBD gerenciamento eficiente de dados operacionais (persistentes) acesso otimizado e concorrente; segurança; integridade; ... SGBDOO: gerenciamento de objetos persistentes © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Modelo de Dados OO BDR modelo formalmente definido e com um conjunto fixo de conceitos BDOO falta de consenso sobre um padrão (conjunto de conceitos) SGBDOOs com modelos heterogêneos carência de uma base formal início das pesquisas em BDOO muita atividade experimental, voltada às necessidades das aplicações tentativa de padronização: ODMG © Marcelo Bezerra de Alcântara

Modelo de Dados OO - Conceitos Identidade de objeto (OID) Métodos Classes Estruturas complexas Herança Late Binding (ligação tardia) © Marcelo Bezerra de Alcântara

Identidade do Objeto (OID) Identificador único de cada objeto gerado pelo SGBDOO e imutável visível ou não para o usuário Diferenças com relação a BDR chave primária é passível de alteração consistência de unicidade consistência de integridade referencial chave primária em alguns casos é um atributo artificial e visível ao usuário atributo adicional sem muita semântica © Marcelo Bezerra de Alcântara

Relacionamentos entre Objetos Referências a OIDs Vantagem tipo do dado para referências é uniforme (OID) evita inconsistência de tipo de dado objeto Pessoa objeto Automóvel OID(WV Gol i) nome: João Silva marca: WV sexo: M modelo: Gol i . . . . . . automóvel proprietário OID(João Silva) © Marcelo Bezerra de Alcântara

Igualdade de Identidade Introduz dois tipos de comparação igualdade de identidade (=) (para OIDs) igualdade de valor (= =) (para atributos) o1 = = o2 (verdadeiro!) o1 = o2 (?) Observação OID não dispensa (não substitui) a definição de um identificador visível para o usuário o1 o2 nome: João Silva nome: João Silva sexo: M sexo: M © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Métodos Operações associadas a um objeto comportamento de um objeto é mantido no BD BDR mantém apenas a estrutura dos dados Composição assinatura (interface pública do objeto) implementação (LPOO utilizada pelo BDOO) Vantagem: encapsulamento de comportamento simplifica o código das aplicações cada aplicação acessa uma interface particular autorizações de acesso e/ou visões podem ser aplicadas a nível de métodos métodos podem servir para programar RIs BDOOs não possuem, em geral, instruções sofisticadas para RIs, como checks e triggers © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Métodos objeto Pessoa objeto Automóvel nome: João Silva marca: WV sexo: M modelo: Gol i . . . . . . automóvel proprietário nome( ) idade( ) temAutomóvel?( ) © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Classe Conjunto de objetos (instâncias) com a mesma estrutura e comportamento Base para a formulação de operações função idêntica a de uma tabela em um BDR Vantagem: reusabilidade instâncias de uma classe compartilham a mesma estrutura e implementação de métodos CPF nome salário cargo? demite Empregados cargo reajustaSalário 50558976-90; João Silva; R$670,00; secretário 43539083-77; Maria Souza; R$890,00; dentista 75237111-81; Pedro Santos; R$990,00; faxineiro . . . i © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Estruturas Complexas Atributos com domínios não-atômicos característica não suportada por BDRs Tipos de domínios primitivos (atômicos) inteiros, cadeias de caracteres, datas, ... referência (OIDs) nomes de classes (determinam relacionamentos) construídos a partir de construtores de tipos definição de domínios complexos pelo usuário Vantagem flexibilidade na definição de objetos complexos © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Construtores de Tipos Tupla (tuple) domínio é um registro Conjunto/Coleção (set/bag) domínio é um grupo de dados Lista (list) domínio é um grupo ordenado de dados Exemplos de domínios complexos conjunto de inteiros tuplas de listas de strings listas de conjuntos de tuplas ... © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Exemplo de Classe Classe Empregados ( CPF: integer, nome: string, endereço: TUPLE ( rua: string, número: integer, cidade: Cidades ), especializações: LIST(string), (por ordem de experiência) cargo: string; departamento: Departamentos, salário: real, atividades: SET (TUPLE (projeto: Projetos, tarefa: string) ) ); construtores de tipos referência primitivos © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Herança Suporte à representação de relacionamentos com semântica de generalização e especialização especialização classe (subclasse) herda propriedades de outra classe (superclasse) e define novas propriedades subclasse: categorização da superclasse generalização (É-UM) propriedades comuns de classes (subclasses) podem ser definidas uma única vez em uma superclasse Vantagem: reusabilidade © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Hierarquia de Herança salário Empregados cargo reajustaSalário nome idade Pessoas endereço alteraEndereço CPF alteraInstituição Estudantes instituição DN Universitários curso © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Late Binding Característica herdada de LPOO Overloading (sobrecarga) uso de um mesmo nome para mais de um método exemplo: imprimir() em Pessoas e Imagens Late Binding (vinculação tardia) escolha do código do método a ser executado em tempo de execução (depende da classe do objeto e dos parâmetros) LP procedurais: early binding vinculação entre código e nome de procedimento definido em tempo de compilação não é possível um nome ligado a mais de um código © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Modelo de Dados OO Comparação com o modelo relacional maior nível de abstração modelo de objetos tem maior afinidade semântica com um modelo conceitual de dados representação mais natural de uma entidade do mundo real mais adequado a representação de dados complexos de aplicações não-convencionais aplicações CAD/CAM, sistemas de informação geográfica, ... modelo mais complexo maior número de conceitos © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Exemplo DN CPF Professores áreasPesquisa (1, N) nome titulação cidade endereço rua número salário créditos (1,N) (0,N) código título Projetos Disciplinas Docência fase Vínculo Modelagem Conceitual © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Exemplo endereço : TUPLE ( rua, número, cidade) Professores nome CPF salário DN titulação áreasPesquisa: LIST(string) projetos: SET(Projetos) disciplinas: SET(Disciplinas) Modelagem Lógica OO © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Exemplo Professores cidade número rua titulação nome salário CPF ÁreasPesquisa Docência Codd DN Pesquisa Codp Modelagem Lógica Relacional Área ordem © Marcelo Bezerra de Alcântara

BD Objeto-Relacional - Motivação SGBDs Relacionais (SGBDRs) sistemas já consolidados no mercado boa performance muitos anos de pesquisa e aprimoramento eficiência: otimização de consultas, gerenciamento de transações não atendem adequadamente os requisitos de dados de novas categorias de aplicações © Marcelo Bezerra de Alcântara

BD Objeto-Relacional - Motivação SGBDs Orientado a Objetos (SGBDOO) modelo de dados mais rico adequado ao mercado de aplicações não- convencionais pior desempenho, se comparado com SGBDR heterogeneidade a nível de modelo e de capacidades de consulta e atualização SGBDs Objeto-Relacional (SGBDOR) combina as melhores características do modelo de objetos no modelo relacional modelo rico + eficiência no gerenciamento de dados tecnologia relativamente nova exemplos: Oracle, Informix, DB2, Postgres © Marcelo Bezerra de Alcântara

Classificação de Stonebreaker Pai da tecnologia OR (1997) Classifica os principais sistemas gerenciadores de dados em 4 quadrantes BDOR BDOO BD Relacionais Sistemas de Arquivos Simples Dados Complexos Simples Complexas Consultas © Marcelo Bezerra de Alcântara

Classificação de Stonebreaker Quadrantes de tipos de gerenciadores de dados BDOR BDOO BD Relacionais Sistemas de Arquivos Simples Dados Complexos Simples Complexas Consultas dados são registros de tamanho fixo poucas consultas predefinidas, em geral buscas por igualdade de campos dos registros © Marcelo Bezerra de Alcântara

Classificação de Stonebreaker Quadrantes de tipos de gerenciadores de dados BDOR BDOO BD Relacionais Sistemas de Arquivos Simples Dados Complexos Simples Complexas Consultas dados são linhas de tabelas cujos atributos possuem domínios simples flexibilidade de consultas com SQL © Marcelo Bezerra de Alcântara

Classificação de Stonebreaker Quadrantes de tipos de gerenciadores de dados BDOR BDOO BD Relacionais Sistemas de Arquivos Simples Dados Complexos Simples Complexas Consultas dados são objetos com estrutura complexa capacidade de consulta limitada, baseada em navegação por objetos (poucos usam todos os recursos da OQL) © Marcelo Bezerra de Alcântara

Classificação de Stonebreaker Quadrantes de tipos de gerenciadores de dados BDOR BDOO BD Relacionais Sistemas de Arquivos Simples Dados Complexos Simples Complexas Consultas dados são tabelas com estrutura complexa uso do padrão SQL estendido (SQL-3) para garantir flexibilidade nas consultas © Marcelo Bezerra de Alcântara

Classificação de Stonebreaker Tendência migração para tecnologia OR BDOR BDOO BD Relacionais Sistemas de Arquivos Simples Dados Complexos Simples Complexas Consultas © Marcelo Bezerra de Alcântara

suporte a dados complexos BDR x BDOO x BDOR tendência: alcançar larga escala pequena escala larga escala uso comercial modelo rico + eficiência de acesso modelo de dados rico eficiência de acesso vantagem SQL estendido para objetos OQL (em geral, não é full) SQL full uso de SQL razoavelmente novo razoavelmente maduro maduro maturidade espera-se que seja alta baixa alta performance sim não suporte a dados complexos SQL-3 ODMG 3.0 SQL-2 padrão BDOR BDOO BDR Critério © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara SQL-3 (SQL 99) Versão mais atual da SQL Extensão da SQL-2 (SQL 92) tratamento de objetos consultas recursivas instruções de programação ... © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara SQL-3 Suporte ao tratamento de objetos tabelas aninhadas (objetos linha) tipos abstratos de dados (TADs) referências e OIDs objetos complexos definição de comportamento herança © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Computação Móvel Novo paradigma que altera premissas importantes em várias áreas da computação. Redes Precisam ser ubíquas, com configuração dinâmica. Engenharia de Software Código móvel. Bancos de dados Acesso a qualquer dado em qualquer lugar e qualquer momento. © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Bancos de Dados Móveis Rede de Computadores Móveis Unidades Móveis Unidades Fixas Estações de Bases Um ou mais bancos de dados Em qualquer unidade © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Bancos de Dados Móveis Características comumente encontradas: Autonomia Heterogeneidade Distribuição Acesso de um host móvel a um banco de dados (residindo em um host móvel ou fixo). Computador móvel pode ser cliente ou servidor de uma requisição. © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Bancos de Dados Móveis © Marcelo Bezerra de Alcântara

Fatores e Consequências Velocidade dos links Escalabilidade Mobilidade Localização Poder das baterias Desconectividade Replicação/Caching Handoff Aplicações Localização e contexto Transações Novos modelos Recuperação desconexão Replicação Consultas Localização e custo. Velocidade dos links sem fio - pode ocasionar demora nas consultas; • Escalabilidade - crescimento dos bancos de dados tem impacto nas consultas e limita a quantidade de dados nos bancos de dados residentes em clientes m´oveis; • Mobilidade - pode causar desconectividades e cancelamento de transac¸ ˜oes; • Localizac¸ ˜ao dos hosts m´oveis - implica na necessidade de administrar a localizac¸˜ao dos hosts m´oveis para interac¸˜ao durante as consultas; • Limite do poder das baterias - exigem trabalho em modo desconectado da rede e podem causar desconex˜oes e cancelamento de transac¸ ˜oes; • Desconectividade (volunt´aria ou involunt´aria) - causam o cancelamento de transac¸ ˜oes, aumentando a necessidade de novos modelos de recuperac¸˜ao (recovery) do banco de dados; • Replicac¸ ˜ao/Caching - limitadas pelo pouco poder de mem´oria dos hosts m´oveis; • Handoff - aumenta a necessidade de controle e administrac¸˜ao da localizac¸˜ao dos hosts m´oveis. Principais diferenc¸as para os BDs m´oveis Implicac¸ ˜oes na Administrac¸ ˜ao de Dados Diferenc¸as com a Computac¸ ˜ao M´ovel - Pode ser dependente de localizac¸˜ao do host m´ovel Aplicac¸ ˜oes - Necessita adaptar-se `as mudanc¸as no contexto do sistema Transac¸ ˜oes - Novos modelos para captac¸˜ao da mobilidade - Divis˜ao (particionamento) freq¨uente da rede - Desligamento volunt´ario do host m´ovel n˜ao ´e uma falha do sistema Recuperac¸ ˜ao - A mobilidade pode causar in´umeros acessos (logins) ao sistema - T´ecnicas para recuperac¸˜ao de desconex˜oes durante o handoff - Diferentes restric¸ ˜oes de consistˆencia Replicac¸ ˜ao - Novas t´ecnicas para os hosts m´oveis atualizarem suas mem´orias cache durante as freq¨uentes desconex˜oes - Dependente da localizac¸˜ao do host m´ovel - Diferentes fatores de custos Processamento de consulta - Resposta das consultas retornam para diferentes localizac¸ ˜oes - Necessidade de adaptac¸ ˜oes das t´ecnicas Resoluc¸˜ao de nomes (enderec¸os) - Estrat´egia de nome global devido a desconectividade e mobilidade © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Integração Bancos de dados federados. Arquitetura dos mediadores. Bancos de Dados Múltiplos (Multidatabase System – MDBS) Multidatabase Language (MDL). © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Disseminação de Dados Push-based systems Relevância de dados. Solução: o cliente se inscreve para receber dados de seu interesse. Periodicidade. Broadcast Disks Essencial uso de cache e prefetching. Pull-based systems © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Hoarding CARGA ANTECIPADA DE DADOS (HOARDING) REINTEGRAÇÃO OPERAÇÕES DESCONECTADAS © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Transações Ambiente multi-usuário Aplicações locais e remotas Entrelaçamento Falhas constantes e intermitência Computação Móvel + Heterogeneidade ≠ Atomicidade Divisão de Transações Mudança freqüente de dados. © Marcelo Bezerra de Alcântara

Alguns Bancos Disponíveis Sybase Ultralite Oracle Lite Mobile Server DB2 Everyplace Microsoft SQL Server CE © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara O que é XML? XML (eXtensible Markup Language) Lingagem de marcação proposta pelo W3C W3C (World Wide Web Consortium) – Orgão responsável pela recomendação de padrões e protocolos para a web. Padrão para representação e troca de dados na Web. Descreve os dados, dando semântica a unidades de informação Soluciona as limitações de HTML © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara O Que é XML? Exemplo Documento XML <?xml version="1.0" > <livros> <livro> <ISBN>1234</ISBN> <titulo>Inside XML</titulo> <editora>New Riders</editora> <edição>3ª</edição> <autor> <nome>Steven</nome> <endereco>NY</endereco> </autor> <nome>Holzner</nome> <endereco>Miami</endereco> </livro> <livro> ... </livro> </livros> Elemento Raiz livros livro livro ISBN titulo editora edição autor autor endereco nome endereco nome 1234 Inside XML New Riders 3ª Miami Holzner NY Steven © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara O que é XML? XML não é apenas um outra linguagem de marcadores A maioria das linguagens provê um conjunto fixo de marcadores. XML é extensível <livro> <titulo>Inside XML</titulo> <autor>Steven Holzner</autor> <preco>R$ 150,00 </preco> </livro> © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Limitações da HTML Documentos HTML foram criados para serem utilizados apenas por Browsers HTML não é extensível Um documento HTML corresponde a uma visão particular da informação HTML enfatiza a formatação e não o conteúdo Em um documento HTML não é fornecida nenhuma semântica além do formato © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Benefícios da XML Permite que um mesmo conteúdo seja usado de diferentes formas. Documentos XML podem ser usados e reusados de diferentes formas e em diferentes formatos Os autores de documentos XML podem concentrar-se no conteúdo e não na formatação Oferece o contexto no qual os dados estão sendo usados © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Benefícios da XML Documentos XML são auto descritíveis Documentos XML são como banco de dados de informações O conteúdo dos documentos pode ser manipulado e reorganizado pelo browser Permite a troca de dados na Web Facilita a publicação de dados © Marcelo Bezerra de Alcântara

O que posso fazer com XML? Separar dados do HTML Dados podem ser armazenados fora dos documentos HTML (em arquivos XML) HTML será usada apenas para seu propósito inicial: apresentação dos dados. Trocar dados na Internet (ou qq meio eletrônico). Aplicativos podem “conversar” em XML. Aplicações de comércio Eletrônico Aplicações para transferência de dados na tecnologia de celulares com ligação com a Internet (ex:a tecnologia WAP). Transferência de dados entre Banco de Dados © Marcelo Bezerra de Alcântara

O que posso fazer com XML? Compartilhar dados entre diferentes sistemas e diferentes plataformas de sotwares Publicar dados armazenados em Banco de Dados “Parse” XML para acessar o seu conteúdo Manipular XML usando DOM Consultar XML usando Xpath ou Xquery Transformar XML usando XSLT © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Áreas de atuação do XML Publicação de conteúdo disponível a diversos sites Web Aplicações de comércio eletrônico, onde diferentes organizações colaboram para atender um cliente Dispositivos portáteis e telefones inteligentes com novas linguagens de marcação otimizadas para esses dispositivos Linguagens baseadas em XML , tais como: MathML, CML, etc. © Marcelo Bezerra de Alcântara

Linguagens Baseadas em XML Linguagens baseadas em XML consistem de um conjunto de tipos de elementos os quais possuem um nome e um significado O conjunto de tipos de elementos são usados para definir os tipos dos documentos e são definidos em um esquema XML © Marcelo Bezerra de Alcântara

Linguagens Baseadas em XML MathML ( Mathematical Markup Language) Marcação de expressões matemáticas CML ( Chermical Markup Language) Marcação de fórmulas químicas SMIL ( Sunchonized Multimedia Language) Define o formato e o comportamento temporal de documentos multimídia © Marcelo Bezerra de Alcântara

Linguagens Baseadas em XML BIOML ( BIOpolymer Markup Language) Marcação de Polímeros GEML(Gene Expression Markup Language) Marcação de informações genéticas ArchML(software Architecture Markup Language) Marcação de projetos de arquiteturas de software distribuído Obs: Existem centenas de aplicações de XML www.xml.com © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Padrões XML DTD (Document Type Definition) Permite se definir uma gramática para criar documentos específicos Namespaces Permite utilizar nomes repetidos para tags utilizando espaços de nomes diferentes XML Schema Estende o conceito de DTDs © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Padrões XML XLInks Links entre documentos Uma forma generalizada dos conceitos de âncoras e links de HML XPointer Permite um recurso ser identificado pela sua localização contextual. XPath É uma linguagem para referenciar partes de um documento XML © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Padrões XML Xquery Permite a consulta dentro de documentos XSLT (eXtensible Style Language Transformation) Transformação de documentos XML CSS Linguagem de estilo. Foi definida primeiramente para HTML © Marcelo Bezerra de Alcântara

Manipulando conteúdo de documentos XML DOM( Document Object Model) Manipula documentos XML como sendo uma árvore de objetos SAX(Simple API for XML) Utiliza o conceito de eventos para a manipulação de documentos XML © Marcelo Bezerra de Alcântara

Ferramentas para manipulação de documentos XML Parsers Validadores Validam a sintaxe do documento em relação à DTD ou esquema Não validadores Verifica apenas se o documento é bem- formado © Marcelo Bezerra de Alcântara

Ferramentas para manipulação de documentos XML Editores XML Spy(www.xmlspy.com) XML Notepad (www.micrososft.com) Xeena( www.alphaWorks.ibm.com/tech/xeena) Browsers Netscape Navigator 6.0 Internet Explorer 5.0 Outros softwares para XML www.xmlsoftware.com © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara Referências www.xml.org www.xml.xom www.msdn.microsoft.com/xml www.xmlsoftware.com www.w3c.org © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara SGBDs para XML Aplicação Aplicação Aplicação Internet Visão XML OO OR Relacional © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara SGBDs para XML Sistema Gerenciador de Banco de Dados XML Nativo(Native XML Database – NXD) É um BD projetado especificamente para armazenar e manipular dados XML O acesso aos dados é através de XML e padrões relacionados, como XSLT, DOM e SAX Ex: Tamino, dbXML , X-Hive © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara SGBDs para XML Sistema Gerenciador de Banco de Dados compatível com XML( XML Enabled Database – EXDB) É um BD que tem como funcionalidade adicional um nível de mapeamento para XML Esse nível de mapeamento gerencia o armazenamento e a recuperação de dados XML Ex: As soluções para XML propostas pela Oracle e Microsoft © Marcelo Bezerra de Alcântara

© Marcelo Bezerra de Alcântara SGBDs para XML Sistema Gerenciador de Banco de Dados XML Híbrido( Hybrid XML Database – HXD) É um banco de dados que pode ser tratado ou como banco de dados nativo ou como um banco de dados compatível com XML, dependendo dos requesitos da aplicação Ex: Excelon e Ozone © Marcelo Bezerra de Alcântara