Unidad 4: Administración de datos en dispositivos móviles
1. S.E.P. TECNOLÓGICO NACIONAL DE MÉXICO
INSTITUTO TECNOLÓGICO
de Tuxtepec
MATERIA:
DESARROLLO DE APLICACIONES PARA
DISPOSITIVOS MÓVILES
ACTIVIDAD:
“ADMINISTRACIÓN DE DATOS EN DISPOSITIVOS
MÓVILES”.
CARRERA:
INGENIERA INFORMÁTICA
PRESENTA:
ANAYA MANZANO JUAN. 13350283
CATEDRÁTICO:
M.S.C TOMÁS TORRES RAMÍREZ
San Juan Bautista Tuxtepec, Oax. 16 de mayo de 2017.
2. Contenido
Introducción...........................................................................................................................2
Modelo de objetos de acceso a datos ..............................................................................3
Manipulación de datos ........................................................................................................7
XML........................................................................................................................................9
JSON....................................................................................................................................11
Conclusiones ......................................................................................................................15
Bibliografía ..........................................................................................................................16
3. 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
bases de datos. Con la 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.
4. Modelo de objetos de acceso a datos
El acrónimo DAO son las siglas en inglés de Data Access Objects, cuyo significado
en español se traduce como Objetos de Acceso a Datos.
DAO es un objeto que proporciona una interfaz abstracta a algún tipo de base de
datos u otro mecanismo de persistencia. DAO se puede utilizar en un gran
porcentaje de las aplicaciones, que requieran almacenamiento de datos. DAO
oculta todos los detalles de almacenamiento del resto de la aplicación, actuando
como intermediario entre la aplicación y la base de datos.
Los objetos de acceso a datos (DAO) son una interfaz usada en productos “Front –
End” de Microsoft para el acceso a los datos. Los objetos DAO son generalmente
creados con Visual Basic. Una vez creado, un objeto DAO puede ser accedido y
manipulado por las aplicaciones de Microsoft Office, como MS-Word, MS-Access y
Excel.
DAO proporciona algunas operaciones de datos específicos sin exponer a los
detalles de la base de datos. Como resultado de ello, los mecanismos de acceso a
los datos se pueden cambiar independientemente del código que utiliza los datos.
DAO consiste básicamente en una clase que es la que interactúa con la base de
datos. Los métodos de esta clase dependen de la aplicación y de lo que queramos
hacer. Pero generalmente se implementan los métodos CRUD para realizar las "4
operaciones básicas" de una base de datos.
5. 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.
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
6. 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 una 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 capacidadde 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.
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.
7. Ventajas:
Los Objetos de Acceso a Datos son un Patrón de los subordinados de Diseño Core
J2EE y considerados una buena práctica. La ventaja de usar objetos de acceso a
datos es que cualquier objeto de negocio (aquel que contiene detalles específicos
de operación o aplicación) no requiere conocimiento directo del destino final de la
información que manipula.
Los Objetos de Acceso a Datos pueden usarse en Java para aislar a una aplicación
de la tecnología de persistencia Java subyacente (API de Persistencia Java), la cual
podría ser JDBC, JDO, Enterprise JavaBeans, TopLink, EclipseLink, Hibernate,
iBATIS, o cualquier otra tecnología de persistencia.
Usando Objetos de Acceso de Datos significa que la tecnología subyacente puede
ser actualizada o cambiada sin cambiar otras partes de la aplicación.
JDBC: Java Database Connectivity, más conocida, es una API que permite la
ejecución de operaciones sobre bases de datos desde el lenguaje de programación
Java, independientemente del sistema operativo donde se ejecute o de la base de
datos a la cual se accede, utilizando el dialecto SQL del modelo de base de datos
que se utilice.
Otra ventaja de usar objetos de acceso a datos es que cualquier objeto de negocio
(aquel que contiene detalles específicos de operación o aplicación) no requiere
conocimiento directo del destino final de la información que manipula.
Desventajas:
8. La flexibilidad tiene un precio. Cuando se añaden DAOs a una aplicación, la
complejidad adicional de usar otra capa de persistencia incrementa la cantidad de
código ejecutado durante tiempo de ejecución. La configuración de las capas de
persistencia requiere en la mayoría de los casos mucho trabajo.
Las aplicaciones críticas con el rendimiento no deberían usar DAOs.
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)
9. SQLite
Es la base de datos seleccionada por Research in Motion, Apple y Google para
servir de base de datos local en sus aplicaciones desplegadas en los sistemas
operativos para dispositivos móviles Blackberry OS, Blackberry PlayBook OS, iOS
y Android. Actualmente es la base de datos más utilizada del mercado. Debe su
popularidad a que es de código abierto, consume muy pocos recursos y no necesita
servicios instalados para su funcionamiento.
A diferencia de los sistemas de gestión de bases de datos de 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 el terminal, que cualquiera con acceso al sistema de archivos puede leer.
Solo utiliza cinco tipos de datos: TEXT, NUMERIC, INTEGER, REAL y NONE.
Aunque los campos de tipo BLOB son soportados (Binary Large Objects), se
recomienda almacenar esta información en el sistema de archivo y la ruta a la misma
guardarla como un texto en la base de datos.
SQLite soporta accesos de lectura concurrentes, pero bloquea las operaciones de
escritura que se realizan de manera secuencial. Esto es muy importante cuando se
diseñan aplicaciones multiproceso. La integridad referencial o el mecanismo que
10. vigila que los valores de los campos sean coherentes entre tablas relacionadas, no
está activado por defecto.
Microsoft Local Database for Window Phone
Similar a SQLite, Microsoft Corporation ha realizado su propia implementación de
un motor de base de datos relacional para los dispositivos móviles que ejecuten el
sistema operativo Windows Phone.
Utiliza un mecanismo denominado LINQ to SQL, para todas las operaciones con la
base de datos que es almacenada en el almacenamiento aislado de la aplicación
(isolated storage). Entre las operaciones se incluyen tanto las de consulta y
modificación de datos, así como las de definición o creación del propio esquema de
la base de datos.
LINQ o Language Integrated Query (Lenguaje Integrado de Consulta), es un
sublenguaje de manipulación de datos que está incluido en toda la familia de
lenguajes de programación de la plataforma Microsoft .NET, tales como Visual Basic
o C#.
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
11. 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.
Estructura de XML:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE Edit_Mensaje SYSTEM "Edit_Mensaje.dtd">
<Edit_Mensaje>
<Mensaje>
<Remitente>
<Nombre>Nombre del remitente</Nombre>
12. <Mail> Correo del remitente </Mail>
</Remitente>
<Destinatario>
<Nombre>Nombre del destinatario</Nombre>
<Mail>Correo del destinatario</Mail>
</Destinatario>
<Texto>
<Asunto>
Este es mi documento con una estructura muy sencilla
no contiene atributos ni entidades...
</Asunto>
<Parrafo>
Este es mi documento con una estructura muy sencilla
no contiene atributos ni entidades...
</Parrafo>
</Texto>
</Mensaje>
</Edit_Mensaje>
JSON
13. Acrónimo de JavaScript Object Notation, es un formato ligero para el intercambio de
datos. JSON es un subconjunto de la notación literal de objetos de JavaScript que
no requiere el uso de XML.
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.
14. 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.
Diferencias entre XML y JSON.
XML:
<catalogo>
<libro>
<autor>Raúl González Duque</autor>
<titulo>Python para todos</titulo>
<genero>Computación</genero>
16. Conclusiones
Para concluir con esta investigación sobre la unidad 4: administración de datos en
dispositivos móviles de la materia de Desarrollo de aplicaciones para dispositivos
móviles, se puede mencionar que los datos son la base de toda aplicación ya sea
móvil o de escritorio, ya que de manera significativa se usa en la mayoría de las
aplicaciones ya sea para guardar datos o cualquier información que el usuario
requiera.
17. Bibliografía
¿Qué es DAO (Objetos de Acceso a Datos)? Definición. (s.f.). Obtenido de
http://www.cavsi.com/preguntasrespuestas/dao-objetos-de-acceso-a-datos/
Bases de datos en dispositivos móviles - Introducción. (s.f.). Obtenido de
http://jmaw.blogspot.mx/2012/07/bases-de-datos-en-dispositivos-
moviles_23.html
Desarrollo de aplicaciones para Dispositivos Moviles. (s.f.). Obtenido de Unidad 5:
http://desaplidenniscasas.blogspot.mx/
Desarrollo De Aplicaciones Para Dispositivos Moviles. (s.f.). Obtenido de
http://androidittla.blogspot.mx/2014/05/unidad-5-administracion-de-datos-
en.html
Que es Data Access Object. (s.f.). Obtenido de
http://www.javamexico.org/blogs/richardmx/que_es_data_access_object
XML JSON YAML: Formatos para intercambiar información. (s.f.). Obtenido de
https://hipertextual.com/archivo/2014/05/xml-json-yaml/