2010-11-04

Integra un ORM con Javascript y WebSQL

Inspirado en el modelo de Django, ORM-HTML5 nace para ayudarnos con la tarea de trabajar con estructura de datos almacenadas en la base de datos que HTML5 nos integra en el navegador, concretamente con WebSQL.

ORM (Mapeo objeto-relacional)

La técnica de programación que usamos para mapear los datos de una base de datos a objetos que podemos usar en nuestros scripts es la que conocemos como ORM (Object-Relational mapping).
Esta técnica, muy usada en la mayoría de frameworks de los diferentes lenguajes de programación ha permitido que la tarea de trabajar con objetos relacionados con la base de datos se simplifique sustancialmente.

ORM-HTML5

La nueva versión de HTML dispone de un apartado dedicado al almacenamiento en local, para ello usará un sistema basado generalmente en SQLite, que nos permitirá alojar una serie de datos que podremos usar en nuestros scripts sin necesidad de interactuar con el servidor, necesariamente.
ORM-HTML5, es una implementación más, desarrollada por JM Robles,  y que nos permite disfrutar de esta técnica en nuestras páginas web.

Instalación

Como cualquier otra librería javascript bastará con cargar el fichero orm.js desde nuestra página.
<script language="JavaScript" src="orm.js"></script>

Definiendo el modelo

<script language="JavaScript">
   function Client(db){
        this.base = ModelBase;
        this.base("client");         // Name of table
               // Specifies the fields:
               //             name:       string not null
               //             surname:    string
               //             age:        integer
        this.fields = ["snName", "sSurname", "iAge"];
               // Preload objects in table
        this.predata = [   {id:1, name: 'John' , surname: 'Smith', age: 20 },
                           {id:2, name: 'Ana' , surname: 'Castillo', age: null} ];
        // Initialiaze
        this.init(db);
    }
    // Create DB Manager
    dbm = new DBM('ERP');
    // Register your models
    dbm.register(['Client']);
</script>
El modelo define la estructura de tablas que se crearán en la base de datos al aplicar el método  DBM.register().

Usarlo

<script language="JavaScript">
 var c = new Client(dbm);
 c.name = 'David';
 c.surname = 'Lohan';
 c.age = '30';
 c.save(function (result) { if (result) alert('save ok'); });
</script>
De esta forma, estaremos cargando datos en la base de datos a la vez de disponer del objeto Client del que podremos disponer en nuestro código.

Alternativas a ORM-HTML5

No hay comentarios: