Programação Orientada a Objetos

Documentos relacionados
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc.

NoSQL. Cintia Freitas de Moura. BCC 441 Banco de Dados II / 2014

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc.

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

XML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi

Armazienamento de Dados

dados abertos cartilha para desenvolvedores

Avaliação do desempenho de gerenciadores de bancos de dados multi modelo em aplicações com persistência poliglota

XML (extensible Markup Language)

Agregadores de Conteúdo

NoSQL Edward Ribeiro

HTML5. André Tavares da Silva.

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

GESTÃO DA CADEIA DE SUPRIMENTOS FORMAS DE TROCA DE INFORMAÇÃO: EDI E XML

Programação Orientada a Objetos

O Termo SIG é aplicado para sistemas que realizam o tratamento computacional de dados geográficos

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

2. Conceitos e Arquitetura de Bancos de Dados

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Ontologia Navegadores_Codigo-Aberto

Disciplina: Tecnologias de Banco de Dados para SI s

SQL. Curso Prático. Celso Henrique Poderoso de Oliveira. Novatec

Engenharia de software 2011A. Trabalho sobre

Minicurso introdutório de desenvolvimento para web em HTML5. Cristiano Costa

Oficina: ASES 2.0 Beta 6.0

14/08/2008. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS

WWW - World Wide Web

EMML Enterprise Mashup Markup Language. Jesús Martín Talavera Portocarrero

Sistemas Distribuídos

BANCO DE DADOS 1 AULA 1. estrutura do curso e conceitos fundamentais. Professor Luciano Roberto Rocha. contato@lrocha.

WebApps em Java com uso de Frameworks

Primeiro contato com JavaScript

Introdução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta

HTML5. Jhonny R. S. Frischembruder

SUMÁRIO CAPÍTULO 1 - INTRODUÇÃO 19 CAPÍTULO 2 - CONCEITOS 25

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Armazenamento e Pesquisa de Topic Maps em Banco de Dados Relacional

Implementação de BD. Banco de dados relacional. Elementos que compõem o banco de dados CAMPO REGISTRO TABELA. Paulo Damico MDK Informática Ltda.

XACML. extensible Access Control Markup Language

Arquivo Digital de Trabalhos Práticos de Alunos

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Introdução aos Bancos de Dados Não-Relacionais. Mauricio De Diana (mestrando) Marco Aurélio Gerosa (orientador)

Introdução Banco de Dados

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

SISTEMA GERENCIADOR DE BANCO DE DADOS

O modelo de dados relacional e as restrições de um banco de dados relacional

UFG - Instituto de Informática

PROJETO DE BANCO DE DADOS -INTRODUÇÃO. Prof. Angelo Augusto Frozza, M.Sc.

Uma Breve Introdução. Andréa Bordin

Análise da Nova Linguagem HTML5 para o Desenvolvimento Web

Fone: (19) Site: HTM3.0. Tutorial HTML. versão 4.01

Sistemas de Banco de Dados

Aula 1: Noção Básica e Criação de Tabelas.

Persistência e Banco de Dados em Jogos Digitais

Desenvolvimento de um CMS 1 para a criação e publicação de web sites acessíveis por deficientes visuais.

Minicurso introdutório de desenvolvimento para dispositivos Android. Cristiano Costa

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ

Desenvolvimento de Aplicações para Internet Aula 11

O que são Bancos de Dados?

MC536 Bancos de Dados: Teoria e Prática

HTML / JAVASCRIPT. A versão atual é o HTML5 (seus predecessores imediatos são HTML 4.01, XHTML 1.1, etc.).

Banco de Dados. Sérgio Luiz Ruivace Cerqueira

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Aula 5. Carlos Eduardo de Carvalho Dantas

Modelo de Dados. Modelo para organização dos dados de um BD

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Desenvolvimento de uma Aplicação WEB para monitorização de BD Oracle

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Interoperabilidade entre Bancos de Dados Relacionais e Bancos de Dados NoSQL

gerenciamento de portais e websites corporativos interface simples e amigável, ágil e funcional não dependendo mais de um profissional especializado

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger

BANCO DE DADOS. Isac Aguiar isacaguiar.com.br

Módulo 6: Linguagem de Programação IV 6.1. Introdução 6.2. Bases de Dados Visão Estrutural SGBD: Sistema de Gestão de Bases de Dados

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Prof. Daniela Barreiro Claro

Structured Query Language (SQL) Ambiente Simplificado de um SGBD

BANCO DE DADOS GEOGRÁFICOS E WEBMAPPING -MODELAGEM DE BD GEOGRÁFICOS. Prof. Angelo Augusto Frozza, M.Sc.

Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos

Miguel Fernando Aniceto Nobre. Engenheiro Informático

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Introdução ao PHP. Prof. Késsia Marchi

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Transcrição:

Objetos, Dados e Serialização André Santanchè Laboratory of Information Systems LIS Instituto de Computação UNICAMP Maio 2015 Picture by Moyan Brenn [http://www.flickr.com/photos/aigle_dore/6225536653/] Programação Orientada a Objetos

Serialização Transformação do estado de um objeto em um formato de dados que possa ser armazenado ou transmitido Deserialização processo inverso

Java Interface java.io.serializable Implementada por objetos que podem ser serializados Não define métodos funciona como marcação Serialização padrão feita na forma de reflexão Serialização customizada Devem ser implementados métodos writeobject, readobject e readobjectnodata

Serializando e Deserializando Objetos Formato Binário ObjectOutputStream serialização ObjectInputStream deserialização

XML extensible Markup Language

XML Lançada em 1996 como uma versão simplificada da SGML (Standard Generalized Markup Language), para ser utilizada na Web.

Metalinguagem Tal como SGML, XML é uma metalinguagem. HTML ao contrário, foi escrita em SGML. Metalinguagem SGML HTML Linguagem XML MathML SVG

Linguagem de Marcação Utiliza marcadores para agregar informações adicionais a documentos. Tomemos como exemplo a seguinte frase: Horácio escreveu o livro Vida dos Dinossauros. Desejamos agregar informações que identifiquem quem é o autor e qual a ação realizada.

Linguagem de Marcação Os marcadores se diferenciam do conteúdo pelos símbolos < e > (seguem o mesmo princípio de HTML): <autor>horácio</autor> <ação>escreveu o livro Vida dos Dinossauros</ação> Os marcadores delimitam unidades estruturais denominadas elementos.

Estrutura Hierárquica Marcações podem ser agrupadas hierarquicamente. A interpretação de cada marcador está subordinada a seu contexto. <sentença> <autor>horácio</autor> <ação>escreveu o <publicação> <tipo>livro</tipo> <título>vida dos Dinossauros</título> </publicação> </ação> </sentença>

Modelo de Dados XML sentença ação autor Horácio Escreveu o publicação tipo título livro Vida dos Dinossauros

Elementos e Atributos Atributos: <autor cpf= 487.526.548-74 nascimento= 12/5/1960 > Horácio </autor> Elementos vazios: <esgotado/> Links para elementos (#): http://www.dominio.org/documento.html#bibliografia HTML usa esta estratégia em links para fragmentos.

XML e Objetos A estrutura hierárquica do XML combina com a estrutura hierárquica dos Objetos

Serializando e Deserializando Objetos Formato XML Formato XML XMLEncoder serialização XMLDecoder deserialização

JSON JavaScript Object Notation

JSON Padrão aberto de intercâmbio de objetos Baseado na notação JavaScript Incorporado ao ECMAScript (Ecma, 2011) Adotado por diversas linguagens ( http://json.org/)

Notação Inline de Objetos JavaScript

Objetos JS { } vazio { "nome": "Asdrubal", "idade": 25 } obj_pessoa nome: Asdrubal idade: 25 { obj_time "nome": "Unidos da Esquina", "vitorias": [1961, 1975, 1982] nome: Unidos da Esquina vitorias } obj_vitorias: Array 0: 1961 1: 1975 2: 1982

Objetos JS { } obj_autor "nome": "Asdrubal", "livro": { "titulo": "Horacio o dino", "ano": 2010 } nome: Asdrubal livro obj_livro titulo: Horacio o dino ano: 2010

Stringify Serializando var pessoa = { "nome": "Asdrubal", "idade": 25 }; var pessoastr = JSON.stringify(pessoa); Deserializando var pessoa2 = JSON.parse(pessoaStr);

Data Access Objet (DAO) Pattern (Matic, 2004)

Armazenando em Bancos de Dados

BDO Bancos de Dados de Objeto Anteriormente conhecidos como BDOO Pode estender a existência de objetos de modo que eles sejam armazenados permanentemente em um banco de dados, e, portanto, os objetos se tornam objetos persistentes... (Elmasri, 2011)

SGDO & BDO Aplicação SGDO BDO

SGDOs O2 clássico BDO db4objects (http://www.db4o.com) Versant Objectivity/DB (http://www.objectivity.com)

Aplicações OO x BD Relacionais Aplicação SGBDR BDR

SGBDOR SGBD Objeto-Relacional Extensão em SGBDRs para suportar objetos Extensão do SQL para objetos Originalmente introduzida no SQL:1999 Atualizados no SQL:2008 (Elmasri, 2011)

SGBDOR & BDOR Aplicação SGBDOR BDOR

Document Databases XML-based BaseX (http://basex.org) JSON CouchDB (http://couchdb.apache.org) Mongo DB (http://www.mongodb.org)

Key-value

Web Storage Cookies tem sido o principal mecanismo de armazenamento W3C Web Storage modelo mínimo de armazenamento baseado em (chave, valor) (Hickson, 2013)

Web Storage API setitem(chave,valor) adiciona/atualiza par chave-valor getitem(chave) recupera o valor associado à chave key(n) recupera a enésima chave removeitem(chave) remove o par que possui a chave length indica o número de pares chave-valor clear() remove todos os dados do repositório

Implementações da API sessionstorage persistência apenas durante uma seção localstorage persistência a longo prazo

Exemplo Gravando o campo HTML: Nome: <input type="text" id="nome"></input> Funções de leitura/gravação function ler() { var nomelido = localstorage.getitem("nome_db"); if (nomelido!= null) document.queryselector("#nome").value = nomelido; } function gravar() { } var nomegravar = document.queryselector("#nome").value; localstorage.setitem("nome_db", nomegravar);

Amazon DynamoDB

Referências Ecma International (2011). ECMAScript Language Specification - Standard ECMA-262 (5.1 ed.). Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. 2008. Bigtable: A Distributed Storage System for Structured Data. ACM Trans. Comput. Syst. 26, 2, Article 4 (June 2008). Hickson, I. (2011). HTML Microdata -- W3C Working Draft 13 January 2011. W3C. Retrieved from http://www.w3.org/tr/2011/wd-microdata-20110113/

André Santanchè http://www.ic.unicamp.br/~santanche

Licença Estes slides são concedidos sob uma Licença Creative Commons. Sob as seguintes condições: Atribuição, Uso NãoComercial e Compartilhamento pela mesma Licença. Mais detalhes sobre a referida licença Creative Commons veja no link: http://creativecommons.org/licenses/by-nc-sa/3.0/ Agradecimento a Moyan Brenn [ http://www.flickr.com/photos/aigle_dore/] por sua fotografia Dew drops usada na capa e nos fundos, disponível em [ http://www.flickr.com/photos/aigle_dore/6225536653/] vide licença específica da fotografia.

Google Bigtable

Bigtable Model (Fay et al., 2008)

Tablets & Hierarchy (Fay et al., 2008)