ADMINISTRACIÓN DE DATOS EN DISPOSITIVOS MÓVILES
5.1.- INTRODUCCIÓN
Inicialmente las aplicaciones inalámbricas para dispositivos móviles eran programas totalmente desconectados de las empresas o sistemas de computación. Esto desde el punto de vista en tiempo real. Estas aplicaciones eran por lo general Palm Pilots limitadas a libreta de direcciones, horarios, etc. Esta pequeña base de datos estaba bien para ese momento, pero a medida que avanza la tecnología, las personas necesitan más.
Surgen las redes inalámbricas, pero existe el problema de disponibilidad de dispositivos inalámbricos y teléfonos WAP (Wireles Application Protocol) que se encuentran limitados en memoria y el tamaño de la pantalla para mostrar la información, además que introducir información en estos dispositivos móviles puede llegar a ser bastante difícil por su tamaño. De todas formas la tecnología es excelente, la habilidad que se tiene para conectarse al World Wide Web desde casi cualquier sitio en cualquier momento es una de las mayores ventajas que se tiene en la era de la información.
Con Internet inalámbrico, ya no es necesario estar físicamente frente al computador personas o dentro de las empresas para poderse conectar a las aplicaciones o las base de datos. Con las portabilidad de la tecnología inalámbrica, nos podemos conectar a Internet o la intranet de la empresa para tomar datos almacenados. Estos datos están estructurados y organizados en entidades y objetos que se encuentran disponibles para los usuarios como información. La mayor ventaja se encuentra en que se le da la información al usuario en el mismo momento que es solicitada.

Base de Datos Móviles
Es una Base de datos donde los usuarios pueden acceder a la información lejos de donde se encuentra almacenada la base de datos, se hace utilizando una conexión inalámbrica
5.2.- MODELO DE OBJETOS DE ACCESO DE DATOS
Todas las bases de datos móviles tienen una arquitectura similar, donde debemos distinguir una serie de elementos principales característicos de este tipo de sistemas:
Servidor de base de datos corporativo y SMBD que gestiona y almacena los datos corporativos y proporciona aplicaciones corporativas. Se correspondería con el SMBD y el servidor que se utiliza en la organización.
Base de datos remota y SMBD que gestiona y almacena los datos móviles. Son las bases de datos que deben estar implementadas en los dispositivos móviles.
Plataforma de base de datos móvil, que puede ser un ordenador portátil, PDA u otro dispositivo de acceso a Internet, es decir, los dispositivos móviles en cuestión.
Enlaces de comunicación bidireccionales entre el SMBD corporativo y el SMBD móvil. Que pueden ser redes inalámbricas de distinta naturaleza, comunicaciones vía satélite, etc.
Arquitectura BDMóviles
Si nos fijamos en la figura anterior, podemos observar dónde reside la complejidad de este tipo de sistemas que coinciden con las partes no comunes con respecto a las bases de datos tradicionales. Nos referimos al sistema gestor de base de datos móvil (SMBD móvil) y al enlace de comunicaciones. En una base de datos móvil, la comunicación entre los dispositivos es una parte importante, ya que es imprescindible una buena comunicación para el acceso a los datos. La arquitectura de comunicaciones más utilizada consiste en tener una o varias estaciones base en contacto con la base de datos corporativa y una serie de estaciones móviles que acceden a los datos a través de las estaciones base. Por tanto podemos encontrarnos con alguna cuestión importante relacionada con el acceso o la localización, como puede ser localizar una estación móvil que contenga los datos que necesitamos en un momento determinado. Para solucionar dicho problema existen varias soluciones propuestas, por ejemplo, que cada estación móvil esté asociada a una estación base principal la cuál conoce en todo momento la localización de la estación móvil debido a que la principal reciba notificaciones de los movimientos de la estación móvil.
SMBD Móviles
IBM: DB2 Everyplace
DB2 Everyplace forma parte de la solución de IBM para procesos de informática distribuida. Mediante DB2 Everyplace, los profesionales que se desplazan con frecuencia (tales como vendedores, inspectores, auditores, técnicos de mantenimiento, médicos, agentes inmobiliarios y tasadores de seguros) pueden tener acceso a datos vitales que necesitan mientras están lejos de su centro de trabajo.
Las empresas pueden ahora transferir sus datos corporativos DB2 a dispositivos portátiles o incorporados. Con DB2 Everyplace, puede acceder a una base de datos contenida en su dispositivo portátil y realizar actualizaciones en ella. Con DB2 Everyplace Sync Server, puede sincronizar datos entre el dispositivo portátil y otras fuentes de datos ubicadas en la empresa. El Adaptador de Archivos le permite distribuir archivos y aplicaciones hacia usuarios portátiles.
SYBASE
ADAPTIVE SERVER ANYWHERE
Sybase ha creado una tecnología que permite una empresa sin cables para sus clientes y socios mediante soluciones de software de integración y desarrollo, infraestructura móvil.
SQL Anywhere Studio contiene la última versión de la base de datos móvil más vendida, Adaptive Server Anywhere. Este pequeño, aunque muy potente motor de bases de datos, puede soportar implementaciones mono- usuario o multi-usuario y provee completo procesamiento transaccional de alto rendimiento. Estas características combinadas, hacen que sea el ambiente ideal de base de datos para entornos móviles.
Provee una rica funcionalidad, incluyendo procedimientos almacenados, triggers, integridad referencial, bloqueo a nivel de fila, recuperación automática, y mucho más. También es muy eficiente a la hora de consumir recursos ya que necesita sólo aproximadamente 1 MB RAM, y 2 KB por cada conexión cliente.
SQL SERVER CE
MICROSOFT SQL SERVER CE
Microsoft provee una herramienta que consiente extender las aplicaciones empresariales de un organización, a los dispositivos móviles, como lo es SQL Server CE es ideal para aplicaciones móviles, ya que permite implementar la funcionalidad de una base de datos relacional y tiene la capacidad de brindar acceso a los datos de una manera flexible y similar a SQL Server, al mismo tiempo que permite conectarse a un servidor SQL Server central y mantener actualizada la información.
También Microsoft se posiciona como proveedor de herramientas para la generación de soluciones para dispositivos móviles. Dentro de las herramientas de desarrollo: smart Device Extensions (SDE) for VisualStudio.Net y expande las capacidades del .NET framework para permitir generar aplicaciones móviles para Pocket o Pocket Pc y Smartphone
El acceso remoto a datos y el merge replication (Permite que se realice cambios en los dispositivos y en el servidor de forma independiente) , que trabaja sobre Hypertext Transfer Protocol (HTTP) y codificación de soporte, garantizan un envío seguro de los datos de las bases de datos de empresa de SQL Server y que estos datos se pueden manipular posteriormente sin conexión y sincronizar después con el servidor.
SQLite
Es un sistema de gestión de bases de datos relacional compatible con ACID (En bases de datos se denomina ACID a un conjunto de características necesarias para que una serie de instrucciones puedan ser consideradas como una transacción. Así pues, si un sistema de gestión de bases de datos es ACID compliantquiere decir que el mismo cuenta con las funcionalidades necesarias para que sus transacciones tengan las características ACID. En concreto ACID es un acrónimo de Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad), contenida en una relativamente pequeña (~275 kiB)2biblioteca escrita en C. SQLite es un proyecto de dominio público creado por D. Richard Hipp.
A diferencia de los sistemas de gestión de bases de datos cliente-servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y funciones. Esto reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son más eficientes que la comunicación entre procesos. El conjunto de la base de datos (definiciones, tablas, índices, y los propios datos), son guardados como un sólo fichero estándar en la máquina host. Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción.
En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo BLOB
El autor de SQLite ofrece formación, contratos de soporte técnico y características adicionales como compresión y cifrado.
Software que utiliza SQLite
SQLite es utilizado en una gran variedad de aplicaciones, destacando las siguientes:
Adobe Photoshop Elements utiliza SQLite como motor de base de datos en su última versión del producto (la 6.0) en sustitución del Microsoft Access, utilizado en las versiones anteriores.
Mozilla Firefox usa SQLite para almacenar, entre otros, las cookies, los favoritos, el historial, las direcciones de red válidas.
Varias aplicaciones de Apple utilizan SQLite, incluyendo Apple Mail y el gestor de RSS que se distribuye con Mac OS X. El software Aperture de Apple guarda la información de las imágenes en una base de datos SQLite, utilizando la API Core Data.
El navegador web ópera usa SQLite para la gestión de bases de datos WebSQL.
Skype es otra aplicación de gran despliegue que utiliza SQLite.
XBMC Media Center (antes conocido como “XBox Media Center”) es un reproductor de medios de audio, video, fotos, etc de código libre (open source) multi-plataforma a la vez que un centro de entretenimiento. Usa SQLite para administrar las librerías de música, video y fotografías, listas de reproducción y bookmarks entre otras utilidades menores.
[[NiconPersonal] Agenda personal de contactos escrita en JAVA y desarrollada por NiconSystem Inc. con laboratorio en Colombia, usa SQLite para la gestión de contactos, recordatorio y sincronización de notas (NiconNotes) y su sistema de finanzas personales, además de otras utilidades que hacen de NiconPersonal muy eficiente en su tarea.
Debido a su pequeño tamaño, SQLite es muy adecuado para los sistemas integrados, y también está incluido en:
Android
BlackBerry
Google Chrome
iOS
Maemo
MeeGo
Symbian OS
webOS
Servicios SMBD Móviles
Un SMBD móvil debe ofrecer los servicios de un SMBD tradicional, además de funcionalidad adicional requerida por los SMBD móviles, que incluye la capacidad de:
Comunicarse con el servidor centralizado de la base de datos utilizando técnicas como la comunicación inalámbrica o el acceso a Internet.
Replicar los datos en el servidor de base de datos centralizado y en el dispositivo móvil.
Sincronizar los datos del servidor de base de datos centralizado y en el dispositivo móvil.
Capturar datos de varias fuentes, por ejemplo, de Internet.
Gestionar datos en el dispositivo móvil.
Analizar los datos almacenados en el dispositivo móvil.
Crear aplicaciones móviles personalizadas.
5.3.- MANIPULACIÓN DE DATOS
El lenguaje más común para realizar consultas sobre bases de datos es el SQL (Structured Query Language), un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales.
Este lenguaje soporta entre otras, con sus sentencias en inglés, las cuatro operaciones básicas de manipulación de datos:
- SELECT (para recuperar información)
- UPDATE (para actualizar información)
- INSERT (para añadir nueva información)
- DELETE (para borrar información existente)
5.4.- XML
eXtensible Markup Language ('lenguaje de marcas extensible'), es un lenguaje de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible. Deriva del lenguaje SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML) para estructurar documentos grandes. A diferencia de otros lenguajes, XML da soporte a bases de datos, siendo útil cuando varias aplicaciones se deben comunicar entre sí o integrar información. (Bases de datos Silberschatz).
XML no ha nacido sólo para su aplicación para Internet, sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable.
XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil.
5.5.- JSON
La simplicidad de JSON ha dado lugar a la generalización de su uso, especialmente como alternativa a XML en AJAX. Una de las supuestas ventajas de JSON sobre XML como formato de intercambio de datos en este contexto es que es mucho más sencillo escribir un analizador sintáctico (parser) de JSON. En JavaScript, un texto JSON se puede analizar fácilmente usando la función eval(), lo cual ha sido fundamental para que JSON haya sido aceptado por parte de la comunidad de desarrolladores AJAX, debido a la ubicuidad de JavaScript en casi cualquier navegador web.
En la práctica, los argumentos a favor de la facilidad de desarrollo de analizadores o del rendimiento de los mismos son poco relevantes, debido a las cuestiones de seguridad que plantea el uso deeval() y el auge del procesamiento nativo de XML incorporado en los navegadores modernos. Por esa razón, JSON se emplea habitualmente en entornos donde el tamaño del flujo de datos entre cliente y servidor es de vital importancia (de aquí su uso por Yahoo, Google, etc, que atienden a millones de usuarios) cuando la fuente de datos es explícitamente de fiar y donde no es importante el no disponer de procesamiento XSLT para manipular los datos en el cliente.
Si bien es frecuente ver JSON posicionado contra XML, también es frecuente el uso de JSON y XML en la misma aplicación. Por ejemplo, una aplicación de cliente que integra datos de Google Maps con datos meteorológicos en SOAP hacen necesario soportar ambos formatos.
Cada vez hay más soporte de JSON mediante el uso de paquetes escritos por terceras partes. La lista de lenguajes soportados incluye ActionScript, C, C++, C#, ColdFusion, Common Lisp, Delphi, E,Eiffel, Java, JavaScript, ML, Objective-C, Objective CAML, Perl, PHP, Python, Rebol, Ruby, Lua y Visual FoxPro.
El término JSON está altamente difundido en los medios de programación, sin embargo, es un término mal descrito ya que en realidad es solo una parte de la definición del estándar ECMA-262 en que está basado Javascript. De ahí que ni Yahoo, ni Google emplean JSON, sino LJS[cita requerida]. Una de las cualidades intrínsecas de Javascript denominada LJS (Literal Javascript) facilita el flujo de datos e incluso de funciones, para la cual no requiere la función eval() si son datos los que se transfieren como en el caso de XML. Todo lo referente a transferencia de datos en todos sus tipos, incluyendo arrays, booleans, integers, etc. no requieren de la función eval(), y es precisamente en eso en donde supera por mucho JavaScript al XML, si se utiliza el LJS y no la incorrecta definición de JSON.
No hay comentarios:
Publicar un comentario