Introduccion a WebStorage (local y session) y WebDatabases

Hay dos Opciones:

●Web Storage->No SQL

●Web databases-> SQL

WEBSTORAGE: El almacenamiento DOM(DOM Storage) es elnombre dado al conjunto de características relacionadas con e lalmacenamiento introducidas en la especificación de aplicaciones web 1.0 y ahora detalladas porseparado en su propia especificación W3C WebStorage.

SessionStorage: Estan disponibles localmente.

LocalStorage:Estan disponibles en todo eldominio.

Son cookies mejoradas:

– Separacion de datos de session y datos a largo plazo.

Firefox política de seguridad:

var cookiesEnabled = (function () {

// valor id de pruebavar id = new Date().getTime();

// generate a cookie to probe cookie accessdocument.cookie = ‘__cookieprobe=’ + id + ‘;path=/’;//si la cookie se establece ok.

return (document.cookie.indexOf(id) !== -1);}) ();

Cookies habilitadas ↔ Permiso de escritura

CARACTERÍSTICAS:

●readonly attribute unsigned longlength;

●getter DOMString key(inunsigned long index);

●getter any getItem(in DOMStringkey);

●setter creator void setItem

● (in DOMString key, in any data);

●deleter void removeItem(inDOMString key);

●void clear();

Formas de acceder a lo almacenado->1-expandos

Los expandos son la forma corta y expresiva de establecer y obtener valores de nuestro almacenamiento.

sessionStorage.nombre = ‘Serg Vergara ’;

alert( sessionStorage.nombre );

Formas de acceder a lo almacenado->2-Método “de la llave”

Este método recibe un argumento que es unentero y retorna la llave asociada a ese índice, como en un arreglo indexado.

Nombre=Serg ->

sessionStorage.key(i) → Nombre

sessionStorage.getItem( sessionStorage.key(i) ) ); → Serg

Eliminando datos

Hay dos formas de eliminar datos del objeto destorage (session y local ).

RemoveItem → toma como argumento la llave.

Clear → elimina todas las entradas.

 

sessionStorage.setItem(‘serg’, “prueba”);

sessionStorage.removeItem(‘serg’); → elimina el dato con valor “prueba”

 

Almacenando algo mas que Strings

Una respuesta temporal es el uso de JSON y sus metodos, para cualquier objeto hay una imagen string gracias a JSON.

Var serg = {profesion: “investigador”,SO:”linux”}

sessionStorage.setItem(‘Serg’, JSON.stringify(dany) );

//luego podemos volver a trabajar como objeto

var Persona = JSON.parse(sessionStorage.getItem (‘serg’));

Persona.profesion → “investigador”

 

Fallback

if (typeof sessionStorage === ‘undefined’) {
sessionStorage = (function () {
var data = window.top.name ? JSON.parse(window.top.¬ name) : {};
return {clear: function () {
data = {};
window.top.name = ‘’;
},getItem: function (key) {
return data[key] || null;
},key: function (i) {
// not perfect, but works
var ctr = 0;
for (var k in data) {
if (ctr == i) return k
else ctr++;
}
},
removeItem: function (key) {
delete data[key];
window.top.name = JSON.stringify(data);
},
setItem: function (key, value) {
data[key] = value+’’;

// forces the value to a¬ string
window.top.name = JSON.stringify(data);
}
};
})
();
}

DOCUMENT STORE

Almacenan una colección de documentos, los cuales se identifican con id único.

A partir de ese id se pueden ir cargando diferentes atributos, cuyos valores pueden ser cadenas de texto, números, fechas, listas ordenadas y mapas asociativos.

Ejemplo:

MySQL

Tabla categoría:

-idcategoria: integer: PRIMARY KEY

-nombrecategoria:char(30)

Tabla producto:

-idproducto: integer:PRIMARY KEY

-nombreproducto char(30)

-idcategoria:integer

NoSQL mongodb

{producto:”Perdiz escabechada”, categoria:[“carne”,”conserva”]}

{producto:”Naranja”,categoria:”fruta”]}

BASES DE DATOS NoSQL populares

Propietarios

Google BigTable

Amazon SimpleDB

Libres

Cassandra

MongoDB

cassandra vs mongodb

Cassandra: Escrito en java, liberado por facebook en el año 2008 y ahora lo mantiene la comunidad apache. Es usado por facebook, twitter, reddit…

Mongodb: Escrito en c++, lanzado por la empresa 10gen en el año 2009. Es usado por foursquare, bit.ly,sourceforge, github, disqus, grooveshark…

 

ejemplos-webstorage.zip.odt -> OJO! QUITAR LA EXTENSIÓN .odt!!

Anuncios

Acerca de mitch

Quiero compartir mis experiencias y mis humildes conocimientos
Esta entrada fue publicada en HTML5. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s