SlideShare una empresa de Scribd logo
1 de 98
Descargar para leer sin conexión
UNIVERSIDAD VERACRUZANA
Facultad de Contaduría y Administración
“Software de desarrollo
para aplicaciones móviles”
M O N O G R A F Í A
Para obtener el Título de:
Licenciado en Sistemas
Computacionales Administrativos
Presenta:
Grecia Gonzalez Melgarejo
Asesor:
M.T.E. Mayra Minerva Méndez Anota
Xalapa-Enríquez, Veracruz Enero 2012
UNIVERSIDAD VERACRUZANA
Facultad de Contaduría y Administración
“Software de desarrollo
para aplicaciones móviles”
M O N O G R A F Í A
Para obtener el Título de:
Licenciado en Sistemas
Computacionales Administrativos
Presenta:
Grecia Gonzalez Melgarejo
Asesor:
M.T.E. Mayra Minerva Méndez Anota
Xalapa-Enríquez, Veracruz Enero 2012
DEDICATORIA
Primordialmente, debo mencionar que le dedico este trabajo a DIOS por darme la
oportunidad de terminar esta etapa de mi vida con éxito, por colmarme de
serenidad y paciencia ante las peores circunstancias y por ultimo pero no menos
importante, por rodearme de personas maravillosas.
Les dedico con mucho amor y gratitud a todas esas personas importantes de mi
vida que me apoyaron en el camino recorrido para logar que mi meta se
cumpliera.
AGRADECIMIENTOS
Con cariño y afecto les estoy enormemente agradecida a todas aquellas personas
que estuvieron a mi lado, que nunca dejaron de creer en mí, que no me cerraron
sus puertas y me tendieron no solo una mano sino ambas. Gracias a ustedes y
sus bendiciones.
Agradezco:
A mis Padres Joaquin Gonzalez Anell y María de Lourdes Susana Melgarejo
Contreras, por su interés de forjarme una educación, por la preocupación del día
a día y ahora es cuando se ve reflejado su esfuerzo emprendido hace 22 años.
Padre se que hemos tenido nuestras diferencias pero no quito crédito a lo que has
logrado con mi persona. Madre la mujer más maravillosa que haya conocido
jamás se que nunca llegare a ser lo que tu pero también sé que tus valores
inculcados me llevaran muy lejos. A ustedes no solo les debo la vida sino lo que
soy ahora, los quiero.
A mi hermanito Joaquin Gonzalez Melgarejo, por llenarme de vida de ese
positivismo que un niño de su edad transmite con facilidad, mi niño te quiero
mucho.
A ti el gran amor de mi vida Jesús Martínez Cruz, la persona que me brinda su
hombro cuando necesito llorar, el que me abraza cuando necesito consuelo, el
que me toma de la mano para hacerme entender que no estoy sola, siempre has
creído en mi en que podía lograrlo y no te equivocaste, te amo.
A mi profesora Mayra Minerva Méndez Anota, por haber aceptado el ser mi
directora y apoyarme, orientarme y dedicarle tiempo a la realización de mi trabajo
recepcional, que sin su ayuda no hubiese sido posible.
A mis amigos, Carina Landa López, Gricelda Cadena García, Ernesto
Domínguez Pérez, Rosario Baltazar Aburto y Oscar Gerardo Cayetano
Ponce, con quienes compartí más que un salón de clases, sino alegrías, tristezas,
aventuras inolvidable, noches de mucho trabajo, han sido parte importante de mi
vida, sin ustedes la universidad no hubiese sido la misma, les deseo éxito en todo.
A mis profesores, que me orientaron con sus mejores propósitos de difundir
conocimiento, valores e ideales, no solo como catedráticos sino también como
personas que alguna vez estuvieron en nuestro lugar.
A ti, que me ayudaste a ver nuevos horizontes, que me enseñaste que en esta
vida lo que vale la pena no es fácil y que los sacrificios rinden frutos hoy solo me
queda decirte que ocupas un espacio en mi corazón nunca te olvidare,
nuevamente ¡Gracias!
IV
ÍNDICE
RESUMEN .............................................................................................................. 1
INTRODUCCIÓN .................................................................................................... 2
CAPÍTULO I: DISPOSITIVOS MÓVILES ................................................................ 6
1.1 Definición........................................................................................................... 7
1.2 Historia de los dispositivos móviles ................................................................... 7
1.2.1 Primera Generación 1-G............................................................................. 9
1.2.2 Segunda Generación 2-G ......................................................................... 10
1.2.3 Generación Dos Punto Cinco 2.5-G.......................................................... 11
1.2.4. Tercera Generación 3-G .......................................................................... 11
1.3 Tipos de dispositivos móviles. ......................................................................... 12
1.3.1 PDA (Personal Digital Assistant)............................................................... 14
1.3.2 Cámaras Digitales..................................................................................... 16
1.3.3 IPod........................................................................................................... 17
1.3.4 Consola Portátil......................................................................................... 18
1.3.5 Smartphone............................................................................................... 18
1.3.5.1 Arquitectura de un Smartphone .......................................................... 20
1.3.6 Conectividad ............................................................................................. 21
1.3.7 Aplicaciones Móviles................................................................................. 21
1.3.7.1 Tipos de aplicaciones móviles ............................................................ 22
1.3.8 Principales plataformas de desarrollo. ...................................................... 23
Capítulo II: Generalidades de Sistemas Operativos para Aplicaciones Móviles.... 23
2.1 Sistemas Operativos para Móviles .................................................................. 25
2.2 Android............................................................................................................ 25
2.1.1 Historia...................................................................................................... 26
2.1.2 Arquitectura............................................................................................... 26
2.1.3 Seguridad en Android ............................................................................... 28
2.1.4 Componentes de una aplicación............................................................... 30
2.1.5 Kit de desarrollo ........................................................................................ 31
2.2 Symbian .......................................................................................................... 33
V
2.2.1 Historia...................................................................................................... 34
2.2.2 Características principales ........................................................................ 35
2.2.3 Lenguaje que soporta ............................................................................... 36
2.2.4 Arquitectura............................................................................................... 36
2.2.5 Kit de desarrollo ........................................................................................ 37
2.3 IOS (IPhone) ................................................................................................... 38
2.3.1 Historia...................................................................................................... 39
2.3.2 Arquitectura............................................................................................... 39
2.3.3 Características Principales........................................................................ 40
2.3.4 Kit de desarrollo..................................................................................... 42
2.4 BlackBerry OS................................................................................................. 44
2.4.1 Historia...................................................................................................... 45
2.4.2 Arquitectura............................................................................................... 45
2.4.3 Características principales ........................................................................ 52
2.4.4 Kit de desarrollo ........................................................................................ 52
2.5 Windows Phone .............................................................................................. 53
2.5.1 Historia...................................................................................................... 54
2.5.2 Arquitectura............................................................................................... 55
2.5.3 Características principales ........................................................................ 56
2.5.4 Kit de desarrollo ........................................................................................ 57
Capítulo III: Bases de Datos para Aplicaciones Móviles ....................................... 58
3.1 Sistemas Gestores de Bases de Datos Móviles.............................................. 60
3.1.1 Aplicaciones móviles y tipos de datos....................................................... 61
3.2 Oracle Database Lite 10g................................................................................ 62
3.2.1 Arquitectura de las aplicaciones de Oracle Database Lite 10g ................. 62
3.2.2 Características principales ........................................................................ 64
3.2.3 Principales beneficios ............................................................................... 66
3.3 SQL Anywhere ................................................................................................ 67
3.3.1 Arquitectura de SQL Anywhere................................................................. 67
3.3.3 Casos de Uso en Aplicaciones Móviles .................................................... 67
3.3.4 Principales beneficios ............................................................................... 70
VI
3.4 SQLite ............................................................................................................. 71
3.4.1 Arquitectura SQLite................................................................................... 72
3.4.2 Principales Características........................................................................ 73
3.4.3 Casos en los que es adecuado el uso de SQLite...................................... 74
3.4.4 Limitaciones .............................................................................................. 75
3.5 Almacenamiento Aislado................................................................................. 75
CONCLUSIONES.................................................................................................. 77
FUENTES DE INFORMACIÓN ............................................................................. 82
GLOSARIO............................................................................................................ 84
ÍNDICE DE FIGURAS ........................................................................................... 88
1
RESUMEN
Hace relativamente poco tiempo, las empresas que desarrollan aplicaciones
móviles, buscaban realizar un solo desarrollo multiplataforma, y que valiera para el
mayor número de dispositivos posible. El costo de desarrollar estas aplicaciones
es alto ya que se necesita realizar adaptaciones para sacar el mayor rendimiento
de cada dispositivo; ahora lo que se efectúa es el desarrollo de aplicaciones
nativas para cada plataforma.
El interés por crear aplicaciones para Dispositivos Móviles ha aumentado en la
misma medida que estos han demostrado su funcionalidad. Cuando se considera
elaborar aplicaciones móviles, la principal dificultad es la elección de una
plataforma de desarrollo, entendida como una combinación de metodología de
análisis y diseño de sistemas, lenguaje de programación, sistema operativo, entre
otros.
INTRODUCCIÓN
3
El mundo de la tecnología es cambiante. El pasado es hace un año, y el futuro es
dentro de un minuto. Esto se acentúa en la tecnología móvil, donde los cambios
son constantes. Una empresa dedicada al desarrollo de software para móvil, no
puede permitirse el desconocer las plataformas más importantes que envuelven el
mercado.
En el primer capítulo se menciona ¿que son los dispositivos móviles? Así como su
historia y los tipos que existen esto es debido a que si hablamos de software para
móviles debemos tener en cuenta que no existe desarrollo si no tenemos donde
aplicarlo. Los dispositivos móviles han contribuido para que la sociedad se
mantenga comunicada, no solo por llamadas y SMS, sino también mediante el
acceso a internet que nos permite estar en línea por medios como el chat o
mensajeros, correos electrónicos, video-llamadas y las famosas redes sociales
(twitter, fecebook, myspace, entre otros).
Otro aspecto positivos es el acceso móvil a la información ya que ha aumentado
su importancia en el entorno de trabajo gracias a la capacidad de acceder y
gestionar documentos, y no podemos dejar atrás la comodidad que nos
proporcionan debido a que podemos navegar por la red cuando queramos no
importando en el espacio que nos encontremos.
Cabe mencionar que los dispositivos móviles tienen utilidades varias, la principal
es la comunicación; sin embargo el crecimiento tecnológico y las necesidades
banales de las personas han incrementado el uso de estos aparatos no solo para
realizar llamadas o mensajes sino también para su diversión, entretenimiento y
organización con juegos interactivos, música, calendarios, agendas, relojes,
calculadoras todos ellos llamados como widgets que no son más que mini
4
aplicaciones o programas que son diseñados para proveer información y mejorar
la apariencia de los dispositivos.
El segundo capítulo recopila información acerca de los sistemas operativos para
móviles, es muy significativo conocerlos ya que juegan un papel muy importante
en el desarrollo de las aplicaciones, puesto que a la hora de comprar nuestro móvil
no solo hay que escoger el diseño del mismo si no también las características del
sistema para que nos permita realizar las tareas que nosotros deseamos, en
consecuencia de que no hagamos esta detallada elección podemos quedar
insatisfechos en la compra. La utilidad que se le da a cada uno de ellos es amplia
aunque en la actualidad pretendemos hacer todo con solo uno de nuestros
dispositivos por ende el desarrollo de aplicaciones para cada uno de los SO
móviles debe ser personalizable, estético y servible.
Se hace hincapié en que existen varios sistemas operativos pero los fabricantes
solo utilizan algunos y sobre todo cuando son marcas propias como lo es IOS
propio de IPhone entre otros. Los SO móviles más utilizados hoy en día son
Symbian, Android, Blackberry OS, IOS y Windows Phone, cada uno de ellos con
sus características propias, arquitectura, lenguaje y diseño propio cada uno
ciertamente competitivo.
No obstante los desarrolladores deben considerar las limitantes de dichos SO en
el desarrollo de las aplicaciones, considerando una metodología de análisis y
diseño adecuado, muy probablemente orientada a objetos teniendo en cuenta las
restricciones propias del dispositivo y la correcta aplicación de la plataforma con
un desarrollo eficiente, rápido y económico.
En el capítulo final hacemos mención de bases de datos para móviles otra parte
muy importante para la creación de aplicaciones ya que estos nos permiten la
portabilidad de la información siempre y cuando tengamos conexión a internet,
5
también nos proporciona la independencia de datos en los programas y procesos
ya que permiten acceder a los datos sin cambiar de aplicación.
Además se explicaran algunos de los Sistemas Gestores de Bases de Datos
Móviles como son Oracle Database 10g , SQL Anywhere, SQLite y
almacenamiento aislado, estos son las principales BD utilizadas por los
desarrolladores de aplicaciones móviles para los distintos dispositivos móviles de
los cuales se desprenden los smartphones, tables, ipads, y algunos otros. Algunas
de las empresas que se dedican a la elaboración de sistemas utilizando estos
SGBD son Android, Symbian y Blackberry.
El objetivo de ocupar estos sistemas es la adecuada administración de los datos
para que al usuario le sea más sencillo y seguro acceder a ellos; además
proporcionan gran soporte a múltiples plataformas y cuentan con una
característica principal dentro mundo empresarial siendo este el rendimiento en el
trabajo y así mismo en los procesos organizacionales.
Cada uno de los capítulos es complementario para comprender la importancia que
tienen las aplicaciones en un dispositivo móvil es necesario conocer cada
característica desde la arquitectura de un hardware (peso, tamaño, portabilidad,
color, teclado, pantalla, audio, cámara) hasta el software (almacenamientos,
multimedia, conectividad, accesibilidad, paquetería, plataforma, SO, red,
seguridad) que hace posible tener todo integrado. Si nuestro dispositivo llegase a
cubrir todos estos aspectos con gran calidad y estética, no solo hablaríamos de
estar a la vanguardia sino de vivir una experiencia única con la mejor tecnología
en nuestras manos.
CAPÍTULO I: DISPOSITIVOS MÓVILES
7
1.1 Definición
Los dispositivos móviles se pueden definir como aquellos microordenadores que
son lo suficientemente ligeros como para ser transportados por una persona, y que
disponen de la capacidad de batería suficiente para poder funcionar de forma
autónoma (Escuela de Administración Pública de Castilla y León, 2011).
Los dispositivos móviles son aquellos suficientemente pequeños para ser
transportados y empleados durante su transporte. Normalmente se sincronizan
con un sistema de sobremesa para actualizar aplicaciones y datos (Fernández
Luna, 2006).
Los dispositivos móviles son aparatos de tamaño pequeño que cuentan con
características tales como capacidades especiales de procesamiento, conexión
permanente o intermitente a una red, memoria limitada, diseños específicos para
una función especial y versatilidad para el desarrollo de otras funciones, tanto su
posesión como su operación se asocia al uso individual de una persona, lo cual
puede configurarlos a su gusto (UNAM, 2010).
1.2 Historia de los dispositivos móviles
La telefonía móvil usa ondas de radio para poder ejecutar todas y cada una de las
operaciones, realizar una llamar, mandar un mensaje de texto, entre otras, y esto
es producto de lo que sucedió hace algunas décadas (Fernández & Fernández,
2004).
8
La comunicación inalámbrica tiene sus raíces en la invención del radio por Nikola
Tesla en los años 1880, aunque formalmente presentado en 1894 por un joven
italiano llamado Guglielmo Marconi.
El teléfono móvil se remonta a los inicios de la Segunda Guerra Mundial, donde ya
se veía que era necesaria la comunicación a distancia, es por eso quela compañía
Motorola creó un equipo llamado Handie Talkie H12-16, que es un equipo que
permite el contacto con las tropas vía ondas de radio que en ese tiempo no
superaban más de 600 kHz.
Fue sólo cuestión de tiempo para que las dos tecnologías de Tesla y Marconise
unieran y dieran a la luz la comunicación mediante radio-teléfonos: Martin Cooper,
pionero y considerado como el padre de la telefonía celular, al introducir el primer
radio teléfono, en 1973, en Estados Unidos, mientras trabajaba para Motorola.
En 1979 aparecieron los primeros sistemas a la venta en Tokio (Japón), fabricados
por la Compañía NTT. Los países europeos no se quedaron atrás y en 1981 se
introdujo en Escandinavia un sistema similar a AMPS (Advanced Mobile Phone
System). Y si bien Europa y Asia dieron los primeros pasos, en Estados Unidos,
gracias a que la entidad reguladora de ese país adoptó reglas para la creación de
un servicio comercial de telefonía celular, en 1983 se puso en operación el primer
sistema comercial en la ciudad de Chicago.
En conclusión, este fue el inicio de una de las tecnologías que tuvo gran
aceptación, en sentido a la necesidad de desarrollar e implementar otras formas
de acceso múltiple al canal, y transformar los sistemas analógicos y digitales, con
el objeto de darles capacidad a más usuarios.
9
1.2.1 Primera Generación 1-G
Hizo su aparición 1979 y se caracterizó por ser análoga y estrictamente para voz,
es decir que la transmisión y recepción de datos se apoyaba sobre un conjunto de
ondas de radio que cambiaban de modo continuo. La calidad de los enlaces era
muy baja, tenían poca velocidad (2400 bauds) y en cuanto a la transferencia era
muy imprecisa.
El hecho de que fueran analógicos traía consigo una serie de inconvenientes, su
seguridad nula posibilitaba escuchar llamadas ajenas con un simple sintonizador
de radio o, incluso hacer uso de las frecuencias cargando el importe de las
llamadas a otras personas.
Los estándares más utilizados se mencionan a continuación y se definen según el
Glosario Técnico de Telecom.
 NMT (Nordic Mobile Telephone)
Es un sistema de telefonía móvil que se creó en 1981 como una respuesta a la
creciente congestión y los requisitos pesados de la red de telefonía móvil ARP. Se
basa en la tecnología analógica (la primera generación o 1G) y dos variantes
existentes: NMT 450 y NMT 900. Los números indican las bandas de frecuencia
utiliza. NMT 900 se introdujo en 1986, ya que tiene más canales que la anterior
red NMT 450.
 AMPS (Advanced Mobile Phone System)
Es un sistema analógico que utiliza diferentes portadoras de frecuencia para crear
canales de comunicaciones en una técnica conocida como acceso múltiple por
división de frecuencia (FDMA). El AMPS sigue utilizándose ampliamente y
constituye la base de cierto número de otras normas de radiocomunicaciones
celulares tales como TACS (Total Access Communications System y D-AMPS
(Digital Advanced Mobile PhoneSystem).
10
1.2.2 Segunda Generación 2-G
Arribo hasta 1990 y a diferencia de la primera se definió por ser digital,
permitiendo, mediante la introducción de una serie de protocolos, la mejora del
manejo de llamadas, más enlaces simultáneos en el mismo ancho de banda y la
integración de otros servicios adicionales al de la voz, de entre los que destaca el
Servicio de Mensajes Cortos (Short Message Service).
Estos protocolos fueron implementados por diversas compañías, siendo este
hecho el origen de uno de los principales problemas de esta generación la
incompatibilidad entre protocolos, debido a que el radio de utilización del teléfono
quedaba limitado al área en el que su compañía le diera soporte.
Estándares más utilizados.
 GSM (Global System for Mobile Communications/Sistema Global para
Comunicaciones Móviles).
El GSM da soporte a voz, datos y mensajería de texto, y permite la itinerancia
entre diferentes redes (lo que significa que los usuarios GSM pueden llevar
consigo sus teléfonos a muchas partes del mundo). Los sistemas GSM operan
actualmente a 800 MHz, 900 MHz, 1 800 MHz o 1 900 MHz.
 CDMA (Code Division Multiple Access/Acceso Múltiple por División de
Código)
En el CDMA los canales de comunicaciones se crear asignando un esquema de
codificación especial a los flujos de información. Los sistemas de
radiocomunicaciones celulares de segunda generación basados en el AMDC se
utilizan en partes de Asia y de América del Norte y del Sur.
11
 GPRS (General Packet Radio Service/Servicio General de Radio por
Paquetes).
Las conexiones GPRS están siempre abiertas, lo que permite a los usuarios de
terminales móviles el mismo tipo de disponibilidad de red que la que puede
obtenerse en las redes empresariales. No hay tiempos de establecimiento ni de
liberación asociados con las llamadas de datos efectuadas vía GPRS. Por tanto,
los terminales pueden formar parte efectiva de la Internet.
1.2.3 Generación Dos Punto Cinco 2.5-G
Muchos de los proveedores de servicios de telecomunicaciones, se moderan a las
redes 2.5G antes de entrar masivamente a la 3. La tecnología 2.5G es más rápida,
y más económica para actualizar a 3G.
La generación 2.5G ofrece características extendidas, ya que cuenta con más
capacidades adicionales que los sistemas 2G, como: GPRS (General Packet
Radios System), HSCSD (High Speed Circuit Switched), EDGE (Enhanced Data
ratesfor Gobal Evolution), IS-136B eIS-95m entre otros.
1.2.4. Tercera Generación 3-G
El año 2001 fue un año revolucionario en el ámbito de la telefonía móvil ya que se
especializa por contener a la convergencia de voz y datos con accesos
inalámbrico a Internet; en otras palabras, es apta para aplicaciones multimedia y
altas transmisiones de datos.
12
Todo este conjunto de nuevos servicios integrados en el terminal junto con un
nuevo estándar dieron lugar a la denominada hoy en día ”tercera generación de
móviles” o móviles 3G, siendo esta la tecnología actual.
Estándar más utilizado:
 UMTS (Universal Mobile Telecommunications System /Servicios
Universales de Comunicaciones Móviles).
Es un llamado de "Tercera Generación (3G)," de banda ancha , de paquetes
basado en la transmisión de texto, voz digitalizada, vídeo y multimedia a
velocidades de datos hasta y posiblemente superior a 2 megabits por segundo
(Mbps ), que ofrece un conjunto consistente de servicios de informática móvil y los
usuarios de teléfonos sin importar dónde se encuentren en el mundo.
1.3 Tipos de dispositivos móviles.
La clasificación que aquí se propone utilizar como principal criterio la funcionalidad
o servicio principal para la que ha sido diseñado bien el propio dispositivo móvil, o
bien aquel dispositivo del que directamente procede y del que supone una
evolución mejorada. Tal y como se deduce de todo lo anteriormente explicado, la
pertenencia a una categoría concreta no implica en absoluto que el dispositivo no
pueda ofrecer otras muchas características propias de otras categorías.
Dicho la anterior, los dispositivos móviles pueden ser clasificados en los siguientes
grupos (Ortí Pascual, 2011):
13
 Dispositivo de comunicación
Un dispositivo de comunicación es aquel dispositivo móvil cuyo cometido principal
es ofrecer una infraestructura de comunicación, principalmente telefónica. Estos
dispositivos ofrecen además servicios como el envío de mensajes SMS y MMS, o
acceso WAP. En esta categoría se incluiría el tradicional teléfono móvil, precursor
indiscutible dentro de los dispositivos móviles, BlackBerry y Smartphone, que
amplía considerablemente las prestaciones del primero mediante pantalla táctil,
conexión a Internet o la ejecución de aplicaciones (por ejemplo, iPhone o HTC
G1).
 Dispositivo de computación
Los dispositivos de computación son aquellos dispositivos móviles que ofrecen
mayores capacidades de procesamiento de datos y cuentan con una pantalla y
teclado más cercanos a una computadora de sobremesa. Dentro de este grupo
encontramos a las PDA, muy populares a finales de los años 90 y que permitían al
usuario disponer de un organizador mucho más completo que los ofrecidos por los
teléfonos móviles del momento, e incluso en ocasiones la visualización de
documentos o acceso a Internet. Por otro lado, dispositivo de computación
también es un ordenador portátil o laptop, que dentro de los dispositivos móviles
son sin duda los que mayores prestaciones hardware ofrecen (igualando o
superando a los de sobremesa) pero también los que tienen, con diferencia, un
mayor tamaño, peso y precio. Las calculadoras gráficas pueden ser igualmente
incluidas en este grupo de dispositivos de computación.
 Reproductor multimedia
Un reproductor multimedia es aquel dispositivo móvil que ha sido específicamente
diseñado para proporcionar al usuario la reproducción de uno o varios formatos de
datos digitales, ya sea audio, vídeo o imágenes. Dentro de estos dispositivos
14
encontramos reproductores de MP3, los DVD portátiles, los eBooks, y en los
últimos años los reproductores multimedia de la popular familia iPod de Apple, que
ofrecen tanto audio y como vídeo. Estos dispositivos son con frecuencia los de
más reducido tamaño y, junto a los teléfonos móviles y smartphones, los más
extendidos.
 Grabador multimedia
Dentro de los dispositivos móviles, un grabador multimedia es aquel dispositivo
que posibilita la grabación de datos en un determinado formato digital,
principalmente de audio y vídeo. En esta categoría se hallan las cámaras
fotográficas digitales o las cámaras de vídeo digital.
 Consola portátil
Una consola portátil es un dispositivo móvil cuya única función es la de
proporcionar al usuario una plataforma de juego. Las consolas portátiles fueron,
junto a los teléfonos, los primeros dispositivos móviles en convertirse en un
producto de masas. Hoy en día representan un importantísimo volumen de ventas
dada su gran aceptación en la sociedad y son objeto de auténticas guerras
comerciales entre las principales compañías del sector. Algunos ejemplos de esta
categoría son la Nintendo DS de Nintendo, o la PSP de Sony.
1.3.1 PDA (Personal Digital Assistant)
Un PDA (Personal Digital Assistant o Ayudante personal digital) es un dispositivo
de pequeño tamaño que combina un ordenador, teléfono/fax, Internet y
conexiones de red, véase Figura 1.1.
15
A los PDAs también se les llama palmtops, handheld computers (computadoras de
mano) y pocket computers (computadoras de bolsillo). Un PDA típico puede
funcionar como teléfono móvil, fax, explorador de internet, organizador personal,
GPS, etc.
Su funcionalidad principal es servir como organizadores, con agenda, calendario,
gestión de contactos, y posteriormente han ido creciendo, de forma que
actualmente sirven tanto como aparatos en los que leer un libro como en los que
encontrarse en un mapa. La línea que los separa de los teléfonos es cada vez
más difusa.
La mayoría de PDAs empezaron a usarse con una especie de bolígrafo en lugar
de teclado, por lo que incorporaban reconocimiento de escritura a mano. Hoy en
día los PDAs pueden tener teclado y/o reconocimiento de escritura. Algunos PDAs
pueden incluso reaccionar a la voz, mediante tecnologías de reconocimiento de
voz.
Figura 1.1 PDA
Fuente: http://ticintheclassroom.blogspot.com/2010/10/pda-en-educacion.html
16
1.3.2 Cámaras Digitales
Las cámaras digitales permiten tomar fotografías, pero almacenándolas en una
memoria digital, al contrario de las cámaras convencionales en las cuales la
imagen queda expuesta finalmente en un papel, por medio de un proceso químico.
Véase Figura 1.2.
En las cámaras digitales, las imágenes, quedan registradas en una placa que
posee millones de sensores, la cual traspasa la información, a la memoria.
Elemento electrónico, donde se archivan o almacenan las imágenes obtenidas.
En la mayoría de las cámaras digitales, las fotografías se pueden observar de
manera instantánea, en el visor de la misma. De aquella manera, se puede decidir,
de manera inmediata, si la fotografía es del gusto de uno o no. Ya que de no serlo,
se puede borrar de la memoria de manera instantánea.
Figura 1.2 Cámara Digital
Fuente: http://www.memoringo.com/blog/2011/08/%C2%BFcomo-escoger-una-camara-digital/
17
1.3.3 IPod
El iPod es un reproductor de música portátil y de pequeño tamaño creado por
Apple Computer. Ver Figura1.3.
En realidad es un reproductor de audio digital y un disco duro portátil con
capacidad de 10GB, 15GB o 30GB. Puede ser conectado con un ordenador a
través de un puerto fireware o USB. Los usuarios pueden transferir canciones a su
iPod con su ordenador y el software del iPod. Es posible cargar un CD entero en
un iPod en tan sólo 10 segundos, y se pueden cargar hasta 10.000 canciones (o
a audiolibros) en el iPod.
Conocido como extremadamente fácil de usar, se navega en el iPod con una
"rueda de tacto" diseñada para ser utilizada con una sola mano. Además soporta
la mayoría de formatos de archivos de audio, incluyendo MP3 y WAV. También
incluye una variedad de funciones adicionales, incluyendo juegos, un calendario,
un despertador, notas de voz, y notas del texto.
Figura 1.3 IPOD
Fuente: http://www.ipodtotal.com/noticias/nuevo-ipod-classic
18
1.3.4 Consola Portátil
En realidad esta categoría debería llamarse “dispositivos orientados a jugar”,
porque son más que simples consolas. Los dos ejemplos actualmente en el
mercado son la Sony PlayStation Portable (PSP) y la Nintendo DS, que no sólo
sirven para jugar, sino que integran algunas de las funcionalidades típicas de una
PDA, como reproducción de archivos multimedia, integración con agenda y
calendario, o navegador de Internet. Véase Figura 1.4
Figura 1.4 Consola Portátil PSP
Fuente: http://www.gadgetoweb.com/analisis-de-consolas-portatiles/
1.3.5 Smartphone
Dentro de los dispositivos móviles, un smartphone (cuya traducción en español
sería “teléfono inteligente”) es una evolución del teléfono móvil tradicional que
cuenta con ciertas características y prestaciones que lo acercan más a un
ordenador personal que a un teléfono tradicional. Ver figura 1.5
19
Entre dichas características, se puede encontrar una mejora en la capacidad de
proceso y almacenamiento de datos, conexión a Internet mediante Wi-Fi, pantalla
táctil, acelerómetro, posicionador geográfico, teclado QWERTY y diversas
aplicaciones de usuario como navegador web, cliente de correo, aplicaciones
ofimáticas, reproductores de vídeo y audio, etc. incluyendo la posibilidad de
descargar e instalar otras nuevas.
A pesar de estas importantes mejoras con respecto a sus predecesores móviles,
el reducido tamaño de los smartphones conlleva inexorablemente limitaciones de
hardware que los mantienen claramente diferenciados de las computadoras
convencionales. Estas limitaciones se reflejan principalmente en pantallas más
pequeñas, menor capacidad del procesador, restricciones de memoria RAM y
memoria persistente, y necesidad de adaptar el consumo de energía a la
capacidad de una pequeña batería.
Estas limitaciones obligan a tener muy presente la capacidad real del dispositivo a
la hora de desarrollar su software, ya sean aplicaciones de usuario o el propio
sistema operativo.
Figura 1.5 Smartphone Samsung Galaxy2
Fuente:http://www.internetmovil.com/blog/samsung-galaxy-s2-el-nuevo-smartphone-de-samsung/
20
1.3.5.1 Arquitectura de un Smartphone
Bianco (2005) menciona tres componentes principales:
La unidad central de proceso (CPU, es la encargada de llevar a cabo las
operaciones aritméticas y lógicas, es decir, el procesamiento de la información.),
una unidad de memoria de almacenamiento permanente (contiene el sistema
operativo con todos los elementos necesarios para su funcionamiento: archivos de
inicio del sistema, drivers y aplicaciones que vienen desde fábrica.) y una unidad
de memoria RAM (s exclusivamente para la ejecución del sistema operativo y
aplicaciones). Véase la figura 1.1.
Figura 1.6 Arquitectura de un Smartphone
Fuente:http://www.ub.edu.ar/investigaciones/tesinas/155_bianco.pdf
21
1.3.6 Conectividad
La conectividad hoy en día es muy importante ya que para sacar el máximo
partido a todas las funcionalidades que ofrecen cada uno de los dispositivos
móviles es indispensable contar con acceso a Internet. En este sentido, se valora
enormemente el hecho de que cuenten con acceso WiFi, así como conectividad
3G que permitan conectarse a internet desde cualquier lugar.
Estas son algunas opciones de conectividad:
TCP/IP Con cable
 Cable al PC: Alta velocidad, conectividad son costo, (USB).
 Modem: Velocidad 56 kbit/s, costo por plan.
TCP/IP sin cables
 Wi-fi: Velocidad 54 Mbits/s, Costo aplica por el acceso a la Wi-fi
 Wman: Velocidad 2 Mbits/s, Costo plan WiMax.
 Red celular: Velocidad 28 Kbits/s
Otros
 Cable Serial/USB
 Bluetooth
 Infrarrojo
1.3.7 Aplicaciones Móviles
Este tipo de aplicaciones son llamadas así porque la instalación y uso se hace en
un dispositivo móvil, sus funcionalidades son las de utilizar herramientas, realizar
tareas o simplemente divertirnos desde cualquier lugar a cualquier hora, ya que
los dispositivos mayormente son portables y los usuarios los traen consigo.
22
1.3.7.1 Tipos de aplicaciones móviles
Desde un punto vista técnico, las aplicaciones móviles se pueden clasificar de
acuerdo al entorno en el cual se ejecutan, de esta forma, se pueden distinguir 7
grupos:
1. Aplicaciones de sistema.
Estas aplicaciones estarán relacionadas al funcionamiento de nuestro
terminal, como podrían ser compresores de archivos, seguridad del terminal,
registro de llamadas, gestión de mensajes, etc.
2. Aplicaciones ofimáticas.
Las aplicaciones ofimáticas son aquellas que nos permiten trabajar con
documentos de texto, hojas de cálculo, archivos PDF, etc.
3. Organización.
Este tipo de aplicaciones irán destinadas a la organización de nuestros datos,
contactos, notas, entre otros, como podrían ser el calendario, gestor de
contactos, etc.
4. Aplicaciones web.
Para poder utilizar este tipo de aplicaciones hará falta una conexión de
Internet en nuestro móvil. Un ejemplo de este tipo de aplicaciones serían el
GPS, correo electrónico, Google Maps, navegadores web, etc.
5. Aplicaciones Sociales.
Dedicadas a las redes sociales como son Facebook, Twitter, Hi5, etc.
23
6. Aplicaciones de accesibilidad.
Este tipo de aplicaciones facilitará el uso del terminal para personas con algún
tipo de discapacidad. Ejemplos de estas aplicaciones son el reconocimiento de
voz, reconocimiento de caracteres, lectura de texto, etc.
7. Aplicaciones de Multimedia.
Permiten a los usuarios moverse por la información de modo intuitivo. Algunas
de las más utilizadas son las aplicaciones que, ya sea mediante 3G o
conexión wifi, permiten al usuario mantenerse en contacto con otros sin
necesidad de enviar mensajes SMS ni hacer llamadas cortas de teléfono.
1.3.8 Principales plataformas de desarrollo.
A medida que los teléfonos móviles crecen en popularidad, las plataformas de
desarrollo con los que funcionan adquieren mayor importancia. El mercado se rige
por Symbian, Apple, Google, RIM y Microsoft como los mas importantes, y entre
los varios ya casi inexistentes estan Badoo y Meego. Vease la siguiente gráfica
Figura 1.6.
Figura 1.7 Plataformas de Desarrollo Móvil
Fuente: http://www.microsiervos.com/archivo/gadgets/principales-plataformas-moviles-europa.html
Capítulo II: Generalidades de Sistemas Operativos
para Aplicaciones Móviles
25
2.1 Sistemas Operativos para Móviles
Los dispositivos móviles también tienen sus propios sistemas operativos, aunque
son menos famosos que los de PC. Por norma general, antes de la compra de un
dispositivo son pocos los usuarios que atienden al sistema operativo que se instala
en dicho dispositivo ya sea PDA, Pocket PC, PSP entre otros y mucho menos lo
hacen en un teléfono inteligente.
A continuación se detallan los Sistemas Operativos Móviles mas utilizados para el
desarrollo de aplicaciones para dispositivos móviles.
2.2 Android
Android es un sistema operativo inicialmente pensado para teléfonos móviles, al
igual que iOS, Symbian y Blackberry OS. Lo que lo hace diferente es que está
basado en Linux, un núcleo de sistema operativo libre, gratuito y multiplataforma.
El sistema permite programar aplicaciones en una variación de Java llamada
Dalvik. El sistema operativo proporciona todas las interfaces necesarias para
desarrollar aplicaciones que accedan a las funciones del teléfono (como el GPS,
las llamadas, la agenda, etc.) de una forma muy sencilla en un lenguaje de
programación muy conocido como es Java.
26
2.1.1 Historia
Android era un sistema operativo para móviles prácticamente desconocido hasta
que en 2005 Google lo compró. Hasta noviembre de 2007 sólo hubo rumores,
pero en esa fecha se lanzó la Open Handset Alliance, que agrupaba a muchos
fabricantes de teléfonos móviles, chipsets y Google y se proporcionó la primera
versión de Android, junto con el SDK para que los programadores empezaran a
crear sus aplicaciones para este sistema.
Aunque los inicios fueran un poco lentos, debido a que se lanzó antes el sistema
operativo que el primer móvil, rápidamente se ha colocado como el sistema
operativo de móviles más vendido del mundo, situación que se alcanzó en el
último trimestre de 2010.
En febrero de 2011 se anunció la versión 3.0 de Android, llamada con nombre en
clave Honeycomb, que está optimizado para tabletas en lugar de teléfonos
móviles. Por tanto Android ha transcendido los teléfonos móviles para trascender a
dispositivos más grandes.
2.1.2 Arquitectura
Su diseño cuenta, entre otras, con las siguientes características:
 Busca el desarrollo rápido de aplicaciones, que sean reutilizables y
verdaderamente portables entre diferentes dispositivos.
 Los componentes básicos de las aplicaciones se pueden sustituir fácilmente
por otros.
27
 Cuenta con su propia máquina virtual, Dalvik, que interpreta y ejecuta
código escrito en Java.
 Permite la representación de gráficos 2D y 3D.
 Posibilita el uso de bases de datos.
 Soporta un elevado número de formatos multimedia.
 Servicio de localización GSM.
 Controla los diferentes elementos hardware: Bluetooth, Wi-Fi, cámara
fotográfica o de vídeo, GPS, acelerómetro, infrarrojos, etc., siempre y
cuando el dispositivo móvil lo contemple.
 Cuenta con un entorno de desarrollo muy cuidado mediante un SDK
disponible de forma gratuita.
 Ofrece un plug-in para uno de los entornos de desarrollo más populares,
Eclipse, y un emulador integrado para ejecutar las aplicaciones.
La capa más inmediata es la corresponde al núcleo de Android. Android utiliza el
núcleo de Linux 2.6 como una capa de abstracción para el hardware disponible en
los dispositivos móviles. Esta capa contiene los drivers necesarios para que
cualquier componente hardware pueda ser utilizado mediante las llamadas
correspondientes. Para mayor ilustración ver la figura 2.1.
Siempre que un fabricante incluya un nuevo elemento de hardware, lo primero que
se debe realizar para que pueda ser utilizado desde Android es crear las librerías
de control o drivers necesarios dentro de este kernel de Linux embebido en el
propio Android.
La elección de Linux 2.6 se ha debido principalmente a dos razones: la primera, su
naturaleza de código abierto y libre se ajusta al tipo de distribución que se
buscaba para Android (cualquier otra opción comercial disponible hoy día hubiera
comprometido la licencia de Apache); la segunda es que este kernel de Linux
incluye de por sí numerosos drivers, además de contemplar la gestión de
28
memoria, gestión de procesos, módulos de seguridad, comunicación en red y
otras muchas responsabilidades propias de un sistemas operativo.
La siguiente capa se corresponde con las librerías utilizadas por Android. Éstas
han sido escritas utilizando C/C++ y proporcionan a Android la mayor parte de sus
capacidades más características. Junto al núcleo basado en Linux, estas librerías
constituyen el corazón de Android.
Al mismo nivel que las librerías de Android se sitúa el entorno de ejecución. Éste
lo constituyen las CoreLibraries, que son librerías con multitud de clases de Java,
y la máquina virtual Dalvik.
Los dos últimos niveles de la arquitectura de Android están escritos enteramente
en Java. El framework de aplicaciones representa fundamentalmente el conjunto
de herramientas de desarrollo de cualquier aplicación. Toda aplicación que se
desarrolle para Android, ya sean las propias del dispositivo, las desarrolladas por
Google o terceras compañías, o incluso las que el propio usuario cree, utilizan el
mismo conjunto de API y el mismo framework, representado por este nivel.
El último nivel del diseño arquitectónico de Android son las aplicaciones. Éste nivel
incluye tanto las incluidas por defecto de Android como aquellas que el usuario
vaya añadiendo posteriormente, ya sean de terceras empresas o de su propio
desarrollo. Todas estas aplicaciones utilizan los servicios, las API y librerías de
los niveles anteriores. Figura 2.1.
2.1.3 Seguridad en Android
En Android cada aplicación se ejecuta en su propio proceso. La mayoría de las
medidas de seguridad entre el sistema y las aplicaciones deriva de los estándares
de Linux 2.6, cuyo kernel, recuérdese, constituye el núcleo principal de Android.
29
Figura 2.1 Arquitectura Android
Fuente: http://www.xatakandroid.com/sistema-operativo/que-es-android
Cada proceso en Android constituye lo que se llama un cajón de arena o sandbox,
que proporciona un entorno seguro de ejecución. Por defecto, ninguna aplicación
tiene permiso para realizar ninguna operación o comportamiento que pueda
impactar negativamente en la ejecución de otras aplicaciones o del sistema
mismo. Por ejemplo, acciones como leer o escribir archivos privados del usuario
30
(contactos, teléfonos, etc.), leer o escribir archivos de otras aplicaciones, acceso
de red, habilitación de algún recurso hardware del dispositivo, etc., no están
permitidas. La única forma de poder saltar estas restricciones impuestas por
Android, es mediante la declaración explícita de un permiso que autorice a llevar a
cabo una determinada acción habitualmente prohibida.
Además, en Android es obligatorio que cada aplicación esté firmada digitalmente
mediante un certificado, cuya clave privada sea la del desarrollador de dicha
aplicación. No es necesario vincular a una autoridad de certificado, el único
cometido del certificado es crear una relación de confianza entre las aplicaciones.
Mediante la firma, la aplicación lleva adjunta su autoría.
2.1.4 Componentes de una aplicación
Todas las aplicaciones en Android pueden descomponerse en cuatro tipos de
bloques o componentes principales. A continuación se exponen los cuatro tipos de
componentes en los que puede dividirse una aplicación para Android.
 Activity
Sin duda es el componente más habitual de las aplicaciones para Android. Un
componente Activity refleja una determinada actividad llevada a cabo por una
aplicación, y que lleva asociada típicamente una ventana o interfaz de usuario; es
importante señalar que no contempla únicamente el aspecto gráfico, sino que éste
forma parte del componente Activity a través de vistas representadas por clases
como View y sus derivadas. Este componente se implementa mediante la clase de
mismo nombre Activity.
31
 BroadcastIntent Receiver
Un componente BroadcastIntent Receiver se utiliza para lanzar alguna ejecución
dentro de la aplicación actual cuando un determinado evento se produzca
(generalmente, abrir un componente Activity). Por ejemplo, una llamada entrante
o un SMS recibido. No tiene interfaz de usuario asociada, pero puede utilizar el
API Notification Manager, mencionada anteriormente, para avisar al usuario del
evento producido a través de la barra de estado del dispositivo móvil. Este
componente se implementa a través de una clase de nombre BroadcastReceiver.
 Service
Un componente Service representa una aplicación ejecutada sin interfaz de
usuario, y que generalmente tiene lugar en segundo plano mientras otras
aplicaciones (éstas con interfaz) son las que están activas en la pantalla del
dispositivo.
 Content Provider
Con el componente Content Provider, cualquier aplicación en Android puede
almacenar datos en un fichero, en una base de datos SQLite o en cualquier otro
formato que considere. Además, estos datos pueden ser compartidos entre
distintas aplicaciones. Una clase que implemente el componente Content Provider
contendrá una serie de métodos que permite almacenar, recuperar, actualizar y
compartir los datos de una aplicación.
2.1.5 Kit de desarrollo
Es un conjunto de herramientas y programas necesarios para que los
desarrolladores lleven a cabo su trabajo.
32
Resumen de los pasos que debe seguir para configurar el SDK de Android:
1. Prepare su equipo de desarrollo y asegurar que cumple con los requisitos
del sistema.
2. Instalar el paquete de inicio SDK de la tabla anterior. (Si estás en Windows,
descargar el instalador para obtener ayuda con la configuración inicial.)
3. Instalar el plugin ADT para Eclipse (si va a estar en desarrollo en Eclipse).
4. Añadir las plataformas Android y otros componentes de su SDK.
5. Explora el contenido de la SDK de Android (opcional).
El SDK de Android y AVD Manager es la herramienta que se utiliza para instalar y
actualizar los componentes del SDK en su entorno de desarrollo.
Puede lanzar el SDK de Android y AVD Manager en una de las siguientes
maneras.
 Lanzamiento de Eclipse / ADT
Si está desarrollando en Eclipse y ya ha instalado el plugin de ADT, siga estos
pasos para acceder a la herramienta SDK de Android y AVD Manager:
1. Abierto Eclipse
2. Seleccione Ventana > Android SDK y AVD Manager.
 Lanzamiento de la escritura SDK Manager (sólo Windows)
Sólo para Windows, el SDK incluye un script que invoca el SDK de Android y AVD
Manager. Para lanzar la herramienta con el script, haga doble clic en SDK
Manager.exe en la raíz del directorio del SDK.
 Línea de comandos
En todos los entornos de desarrollo, siga estos pasos para acceder a la
herramienta SDK de Android y AVD Manager desde la línea de comandos:
1. Vaya a la < sdk > / tools / directorio.
2. Ejecutar el androide comando de la herramienta, sin opciones.
33
Los siguientes son los pasos para instalar los nuevos componentes de SDK en su
entorno:
1. El lanzamiento del SDK de Android y AVD Manager como se describe en la
sección anterior.
2. Seleccione los paquetes disponibles en el panel izquierdo. Esto revelará
todos los componentes que están actualmente disponibles para descargar
desde el repositorio de SDK.
3. Seleccione el componente (s) que desea instalar y haga clic en Instalar
seleccionada. (Si usted no está seguro de que los paquetes para elegir,
leer los componentes recomendados .)
4. Verificar y aceptar los componentes que desea (asegurarse de que cada
uno se selecciona con una marca verde) y haga clic en Instalar. Los
componentes se instalará ahora en su actual directorio SDK de Android.
5. Las nuevas plataformas se guardan automáticamente en el <sdk> /
plataformas / directorio de su SDK, nuevos add-ons se guardan en la <sdk>
/ complementos /directorio; muestras se guardan en la <sdk> /
samples/android- < nivel de>/, y la nueva documentación se guarda en el
actual <sdk> / docs / directorio (documentos antiguos se sustituyen).
2.2 Symbian
Symbian es un sistema operativo que fue producto de la alianza de varias
empresas de telefonía móvil, entre las que se encuentran Nokia, Sony Ericsson,
Psion, Samsung, Siemens, Arima, Benq, Fujitsu, Lenovo, LG, Motorola, Mitsubishi
Electric, Panasonic, Sharp, etc. Sus orígenes provienen de su antepasado
EPOC32, utilizado en PDA's y Handhelds de PSION.
34
El objetivo de Symbian fue crear un sistema operativo para terminales móviles que
pudiera competir con el de Palm o el Windows Mobile de Microsoft y ahora
Android de Google Inc., IOS de Apple Inc. y Blackberry 6 RIM.
2.2.1 Historia
En 1998 la sociedad SymbianLtd es formada entre Ericsson, Nokia, Motorola y
Psion, para explorar la convergencia entre PDA’s y teléfonos móviles.
En los años de 1998 – 2008 consolidan en el mercado
Para el año 2008 este su mercado creció como se muestra en la figura 2.2
El 24 de Junio de 2008, Nokia decidió compara Symbian, adquiriendo el 52%
restantes de las acciones de la compañía.
En octubre de 20008 se crea la Fundación Symbian. Cooperan Sony Ericsson,
Motorola, Samsung, prometiendo que Symbian SO, se convertirá en un proyecto
de plataforma abierta, como se muestra en la siguiente imagen (Figura 2.2).
En 2010 el 4 de febrero Symbian completó la migración hacia el mundo de código
abierto, dentro de los términos de la Eclipse Public License y otras licencias open
source. El código ya está disponible, se puede acceder a él en la página web de
Symbian.
En el 2011 Nokia tiene un súper sistema operativo táctil.
35
Figura 2.2 Mercado de Symbian
Fuente: http://www.darkclockers.com/foros/thread-4886.html
2.2.2 Características principales
 Uso eficiente de todos los recursos de la máquina, especialmente batería,
RAM y ROM.
 Acceso inmediato a los datos.
 Manejo fiable de los datos incluso en caso de fallo en la comunicación o
falta de recursos, como memoria, disco o batería.
 Adaptabilidad al hardware específico y a las pilas de telefonía de los
fabricantes.
 Consistencia en la comunicación entre los datos
36
2.2.3 Lenguaje que soporta
Las aplicaciones compatibles con Symbian se desarrollan a partir de lenguajes de
programación orientados a objetos como C++, java (con sus variantes como
PJava, J2ME, etc.), Visual Basic para dispositivos móviles, entre otros, incluyendo
algunos lenguajes disponibles en versión libre.
El sistema operativo en sí mismo está programado en C++. La forma de colocar
nuestras aplicaciones, creadas en el entorno de desarrollo, en le teléfono final es a
través del software PC Suite de Nokia o a través de bluetooth.
2.2.4 Arquitectura
Symbian SO posee la siguiente arquitectura como se muestra en la figura 2.3.
Figura 2.3 Arquitectura Symbian
Fuente:http://www.infomafia.net/sistemas-operativos-21/arquitectura-del-sistema-operativo-
symbian-356
37
2.2.5 Kit de desarrollo
Los SDK oficiales contienen documentación, los headers, las librerías necesarias
para compilar un software Symbian, emuladores basados en Windows y un
compilador. Hasta la versión 8 se incluye como compilador GCC, la versión 9 usa
una nueva ABI (application binary interface) y requiere un compilador distinto.
La programación en C++ para Symbian requiere el uso de técnicas especiales
como descriptores o Cleanup Stack, esto puede hacer que programas
relativamente simples sean más difíciles de implementar que en otros entornos.
Actualmente las técnicas de programación necesarias para desarrollar en Symbian
hacen que los programas sean propensos a errores en rutinas de bajo nivel en
lugar de errores en las funcionalidades específicas de la aplicación.
Software que se necesita
 Nokia SDK Series 60
La versión 1.0 trae librerías extras especialmente preparadas para su uso con el
3650, que no están disponibles en la versión 0.9. Si estas realizando aplicaciones
“sólo” para el 7650 es mejor bajarse la versión 0.9, si los programas son para
ambos 7650 y 3650 es mejor bajar la 1.0, de la página web de Nokia. Además, la
versión 0.9 sólo trae el "application wizard".
Acaba de salir la versión 1.2, lleva modificaciones para solucionar algunos fallos,
nuevos ejemplos y nuevas utilidades, como un emulador de recepción/envío de
SMS. Además no incorpora los programas de "3rd parties", así que es necesario
instalar por nuestra cuenta JRE 1.3.1 y Active Perl 518 o superiores.
 Compilador de C++
Puedes usar Visual Studio C++ 6.0, o la versión de Borland preparada para
dispositivos móviles. El kit de Borland puede ser descargado de la página Web de
38
Nokia, este viene con el paquete completo para realizar aplicaciones en C++
Borland C++ Builder 6.0 con licencia gratis para usarlo en programas para
teléfonos móviles y Nokia Add-on. Este kit viene con la versión 0.9 del SDK de
Nokia con una versión de Perl que es más nueva que la que viene por defecto en
el SDK 0.9 cuando se instala aparte. También es posible usar .NET.
 Sistema Operativo
Windows 2000 SP2
Windows XP SP1
Windows NT SP6
 Instalación
Primero instala el SDK, es aconsejable que se mantengan las opciones por
defecto, si por alguna razón prefieres cambiarlas, asegúrate que:
 El SDK, compilador y Perl están en la misma unidad.
 Los nombres de directorios no contienen ningún espacio en blanco
2.3 IOS (IPhone)
El IOS es el sistema operativo que utiliza el iPhone y el iPod touch e Ipad. Está
basado en una variante de mach kernel que se encuentra en Mac OS X. Este
sistema operativo no tenía un nombre oficial hasta que salió la primera versión
beta de iPhone SDK, el 6 de marzo de 2008. Antes de esto, Apple declaró, que “el
iPhone controla un sistema operativo X, una referencia al padre de los sistemas
operativos de los iPhone, el Mac OS X.
39
2.3.1 Historia
Los ingenieros de Apple investigaron la pantalla táctil, bajo la dirección del
presidente de Apple, Steve Jobs. Apple creó el dispositivo con la colaboración
exclusiva y sin precedentes de AT&T con un costo de desarrollo de 150 millones
de dólares. Durante el desarrollo del iPhone el nombre clave con el que se
denomino fue “purple2”.
El 11 de julio de 2008, Apple lanzó el iPhone 3G en 22 países, esperando lanzar el
producto en más de 48 países durante los meses siguientes.
Los primeros días muchas unidades del iPhone 3G fallaron por sobrecarga en los
servidores Apple de iTunes. Apple vendió un millón de iPhone 3G en sus 3
primeros días de venta.
Hasta hace poco era llamado iPhone OS, pero desde que funciona en tres
dispositivos distintos, fue nombrado IOS el 7 de junio de 2010.
2.3.2 Arquitectura
IOS tiene 4 capas de abstracción: la capa del núcleo del sistema operativo, la
capa de Servicios Principales, la capa de Medios de Comunicación y la capa de
Cocoa Touch. Véase figura 2.4
CORE OS
1. El kernel de OSX
2. Sistema de bibliotecas
3. La pila TCP/IP
4. Sockets
5. Seguridad
6. Gestión de energía
7. Keychain
8. Certificados
9. Sistemas de archivos
10.Bonjour
40
CORE SERVICES
1. Colecciones
2. Agenda de direcciones
3. Redes
4. Acceso a archivos
5. SQL Lite
6. Core location
7. Net services
8. Treading
9. Preferencias
10.Utilidades de URL
MEDIA
1. Core Audio
2. openAL
3. mezclador de sonido
4. grabación de audio
5. reproducción de video
6. manejo de jpg, png, tiff, pdf
7. quartz (2d)
8. Core animation
9. OpenGL ES
COCOA TOUCH
1. Eventos y controles multi touch
2. Soporte del acelerómetro
3. Vista jerárquica
4. Localización de aplicaciones
5. Alertas
6. Vista web
7. Selector de contactos
8. Selector de imágenes
9. Soporte de la cámara
2.3.3 Características Principales
 Notificaciones:
1. Desde la parte superior de la pantalla, deslice el dedo hacia abajo para
ver el centro de notificaciones.
2. Las notificaciones nuevas aparecen brevemente en la parte superior de
la pantalla.
3. Puede ver las notificaciones desde la pantalla bloqueada.
41
Figura 2.4 Arquitectura IOS (iPhone)
Fuente:http://www.maestrosdelweb.com/editorial/guia-desarrollo-iphone-ipad/
 Quiosco:
Las suscripciones a periódicos y revistas se ordenan automáticamente en la
pantalla de inicio.
 Recordatorios para gestionar listas de tareas:
1. Sincronización con iCloud, iCal y Outlook.
 Previsión del tiempo hora a hora.
 Valores bursátiles en tiempo real.
 Sincronización inalámbrica con iTunes.
42
 Mejoras de accesibilidad:
1. En el iPhone, cree secuencias de vibración personalizadas para las
llamadas entrantes.
2. Nueva interfaz para usar IOS junto con dispositivos pensados para
ayudar a personas con movilidad reducida.
 Mejoras en Exchange ActiveSync:
1. Sincronice las tareas remotamente.
2. Marque los mensajes como leídos/no leídos o con un indicador.
3. Mejor rendimiento cuando no está conectado.
 Activación y configuración desde el mismo dispositivo con el asistente de
configuración.
 Actualizaciones de software disponibles de forma remota sin necesidad de
conectar el dispositivo al ordenador.
2.3.4 Kit de desarrollo
Para que el SDK del iPhone compile código ARM que es la arquitectura del
sistema real es necesario firmar la aplicación, lo que requiere la certificación de
Apple. Una nueva firma es necesaria para distribuir la aplicación y por supuesto, si
queremos que esta esté disponible en el app Store deberemos solicitar la
aprobación de Apple.
El proceso completo para desarrollar, compilar y publicar una aplicación para el
iPhone es el siguiente:
43
1. Inscribirse en el iPhone Dev Center, aceptar todas las condiciones legales,
y descargar el SDK. Haciendo esto podemos empezar a escribir nuestras
aplicaciones, compilarlas y probarlas en el simulador. Pero todavía NO
podremos instalarlas en nuestro iPhone.
2. Inscribirse en el programa para desarrolladores. Después de completar
todos los formularios y leer más legales, podemos enviar la solicitud y
esperar la respuesta hasta el siguiente día laboral. Esto tiene un costo de
US $99, y con él obtenemos el derecho a ejecutar nuestras aplicaciones en
nuestro propio iPhone
3. Certificados. Por defecto, un iPhone tan solo puede ejecutar aplicaciones
firmadas por Apple y como no es posible estar enviándoles el código cada
vez que se quiere probar algo, es necesario crear un perfil con el
identificador de nuestro teléfono (accesible mediante las Xcode) e
introducirlo en un formulario de la web de Apple. Luego para generar el
certificado con el que firmar nuestras aplicaciones vamos a “Keychain
Access” y en “Asistente para Certificados” generaremos uno nuevo. Si todo
ha ido bien ya podremos experimentar nuestras aplicaciones en el iPhone
4. ¡Desarrollar! Hasta no hace mucho, se prohibía a los desarrolladores hablar
sobre el SDK, lo que dificultaba enormemente el desarrollo en sí. Trabajar
con cualquier plataforma nueva conlleva dificultades que habitualmente se
resuelven en foros y grupos para desarrolladores. Por suerte, Apple ha
abandonado esta política tan cerrada y ahora se puede intercambiar
códigos, conocimientos, etc
5. ¡Distribuir! Para distribuir es necesario otro certificado especial de
distribución que hay que solicitar siguiendo el mismo proceso de antes.
Acceder a Keychain Access, solicitar, aprobar, descargar e instalar.
También necesitamos hacer funcionar un nuevo perfil de distribución en
44
Xcode; proceso sobre el que Apple facilita muchas páginas de información
con toda clase de capturas en las que se detalla el modo de reconfigurar el
proyecto de Xcode para que utilice este certificado de distribución
6. Enviar la aplicación a Apple a través de un nuevo formulario web con
información sobre esta (nombre, descripción, versión y mucho mas), su
icono y algunas capturas de pantalla
7. Esperar… Una vez enviada, la aplicación pasa a la cola de revisión, sin que
sepamos en ningún momento lo que se está haciendo, el estado de la
solicitud, o cuanto queda para que termine el proceso. Si la aplicación no es
aceptada por el motivo que sea, no habrá ayuda al respecto, solo se puede
hacer los arreglos necesarios y volverla a enviar a través de un enlace con
el que enviamos nuevas versiones de una misma aplicación. Si los
problemas continúan, habrá que esperar una semana para saberlo y ver si
la solución que has dado resuelve satisfactoriamente el problema
8. ¡Aceptada!! Ahora queda esperar que dé frutos la aplicación frente de los 10
millones de clientes potenciales que la podrán comprar.
2.4 BlackBerry OS
El Blackberry OS es un sistema operativo móvil desarrollado por Research In
Motion para sus dispositivos Blackberry. El sistema permite multitarea y tiene
soporte para diferentes métodos de entrada adoptados por RIM para su uso en
computadoras de mano, particularmente la trackwheel, trackball, touchpad y
pantallas táctiles.
45
2.4.1 Historia
Blackberry OS debutó en enero de 1999, con el lanzamiento de la versión 1.0 para
Blackberry Pager 580.
La versión 3.6 fue lanzado para el Blackberry 5810 smartphone en marzo de 2002.
En abril de 2010, RIM anunció la nueva versión de Blackberry OS 6.0, que fue
lanzado en el Q3 de 2010.
Los rumores de un 6.1 OS comenzaron en el barrio 1a/2a 2011 junto con las
imágenes del nuevo software.
El 2 de mayo de 2011, RIM anunció que el software se rumorea como Blackberry
OS 7. El software fue lanzado oficialmente en agosto de 2011 haciendo su
aparición en la Blackberry Bold (9900/9930), Blackberry Torch (9810/9850/9860), y
el Blackberry Curve (9350/9360/9370). Los dispositivos anteriores no se pueden
actualizar a Blackberry OS 7.
2.4.2 Arquitectura
Las siguientes seis figuras muestran la arquitectura de Blackberry OS.
46
Figura 2.5 Arquitectura Blackberry OS
Fuente:http://www.slideshare.net/foward/curso-blackberry-academic-program
Un dispositivo BlackBerry puede conectarse a una red inalámbrica mediante
transportes diferentes. No todos los dispositivos tienen acceso a todos los
transportes para visualizar esto vea la figura 2.5.
47
Figura 2.6 Movil Data System (MDS)
Fuente: http://www.slideshare.net/foward/curso-blackberry-academic-program
BlackBerry MDS proporciona proxies HTTP y TCP/IP para BlackBerry Java
Application, que permiten al dispositivo BlackBerry comunicarse con la aplicación y
servidores Web tras el firewall de la empresa sin software adicional VPN. Véase
Figura 2.6
48
Figura 2.7 WAP
Fuente: http://www.slideshare.net/foward/curso-blackberry-academic-program
El transporte WAP crea una conexión a través del gateway AP de un proveedor de
servicios inalámbricos. Son compatibles WAP 1.0, 1.2 y 2.0. Ver Figura 2.7.
Para admitir este transporte, un usuario o el proveedor de servicios inalámbricos
deben configurar los parámetros de la conexión WAP en el dispositivo. Como
resultado, puede que este transporte no lo admitan todas las redes inalámbricas ni
todos los planes de datos.
49
Figura 2.8 Blackberry Internet Service (BIS)
Fuente: http://www.slideshare.net/foward/curso-blackberry-academic-program
El transporte de BlackBerry Internet Service crea una conexión al Internet a través
de BlackBerry Infrastructure. Los datos que envía y recibe mediante este
transporte se comprimen y optimizan para la transmisión por conexiones
inalámbricas. Véase Figura 2.8.
Las aplicaciones que utilizan el transporte BlackBerry Internet Service
automáticamente se benefician de enrutamiento al menor coste. El dispositivo se
conecta con una red Wi-Fi automáticamente, si hay una disponible.
50
Figura 2.9 TCP
Fuente: http://www.slideshare.net/foward/curso-blackberry-academic-program
El transporte TCP móvil crea una conexión a Internet a través del gateway de
Internet de un proveedor de servicios inalámbricos. Este método crea el tipo más
directo de conexión que a través de la radio móvil. Ver figura 2.9.
La mayoría de los proveedores de servicios inalámbricos configuran el
dispositivo BlackBerry de un usuario para utilizar el gateway de Internet del
proveedor. Sin embargo, cuando el usuario esta en itinerancia en una red
diferente, debe configurar el dispositivo para utilizar manualmente el gateway de
Internet de la red de itinerancia.
51
Figura 2.10 TCP Wi-Fi
Fuente: http://www.slideshare.net/foward/curso-blackberry-academic-program
El transporte Wi-Fi crea una conexión a Internet o a redes privadas como una
doméstica o la de una empresa. Cuando la radio Wi-Fi se enciende, un usuario de
dispositivo BlackBerry o una aplicación pueden configurar el dispositivo para que
se conecte a Internet mediante este transporte. Véase figura 2.10.
52
2.4.3 Características principales
 Orientado a su uso profesional como gestor de correo electrónico y agenda.
Se puede sincronizar el dispositivo con el correo electrónico, el calendario,
tareas, notas y contactos de Microsoft Exchange Server.
 Blackberry Enterprise Server (BES) proporciona el acceso y organización
del email a grandes compañías identificando a cada usuario con un único
Blackberry PIN.
 Los usuarios más pequeños cuentan con el software Blackberry Internet
Service, programa más sencillo que proporciona acceso a Internet y a
correo POP3 / IMAP / Outlook Web Access sin tener que usar BES.
2.4.4 Kit de desarrollo
Para desarrollar aplicaciones basadas en Java para smartphones BlackBerry,
puede elegir entre el entorno Eclipse o el entorno de desarrollo Java para
BlackBerry (BlackBerry JDE).
1. BlackBerry Java Plug-in para Eclipse amplía la plataforma de desarrollo
Eclipse para que pueda crear aplicaciones en Java para smartphones
BlackBerry en un entorno conocido.
 Con esta herramienta obtenemos ventajas para los desarrolladores Eclipse.
 Le permite escribir, probar y compilar aplicaciones Java ME que se ejecuten
en smartphones BlackBerry.
 Simula toda la experiencia del usuario, en línea y sin conexión, de una
amplia gama de smartphones BlackBerry desde su equipo de sobremesa.
53
 Incluye la integración clave de solicitudes de especificación Java (JSR), las
cuales permiten usar los últimos desarrollos de Java ME para crear
aplicaciones superiores para dispositivos móviles.
 Le permite aprovechar los puntos fuertes exclusivos del desarrollo para la
plataforma BlackBerry, entre otros:
 Integración con aplicaciones nativas para smartphones para ofrecer
a los usuarios una experiencia perfecta en BlackBerry
 Limitación de la necesidad de conocer los complejos protocolos de
transporte de conexión necesarios para el desarrollo de aplicaciones
para dispositivos inalámbricos
 Aprovechamiento de las capacidades Push de la solución BlackBerry
2. El entorno de desarrollo Java para BlackBerry (BlackBerry JDE) es un
entorno de desarrollo y una herramienta de simulación completamente
integrados para crear aplicaciones en la plataforma Java Micro Edition
(JavaME) para smartphones BlackBerry basados en Java.
El paquete de componentes de BlackBerry JDE comprende un conjunto de
utilidades incluidas en todo el entorno de desarrollo Java para BlackBerry. Estos
componentes son necesarios para el desarrollo de aplicaciones de otros
fabricantes para smartphones BlackBerry usando entornos de desarrollo
integrados (IDE) externos.
2.5 Windows Phone
Windows Phone, anteriormente llamado Windows Mobile es un sistema operativo
móvil compacto desarrollado por Microsoft, y diseñado para su uso en teléfonos
54
inteligentes (Smartphones) y otros dispositivos móviles. Windows Phone hace
parte de los sistemas operativos con interfaz natural de usuario.
Se basa en el núcleo del sistema operativo Windows CE y cuenta con un conjunto
de aplicaciones básicas utilizando las API de Microsoft Windows. Está diseñado
para ser similar a las versiones de escritorio de Windows estéticamente.
2.5.1 Historia
2010 Feb: Windows Phone 7ha anunciado en el Mobile World Congress.
2010 Abril: WP7 anuncia herramientas de desarrollo.
2010 Sep: Versión 7.0.7004.0 Teléfono original versión RTM de Windows 7.
2010 Oct: Primer dispositivos WP7anunciado.
2011 Feb: Versión 7.0.7008.0 medio de prueba de actualización (no cambios de
funcionalidad).
Nokia y Microsoft anunciaron la asociación.
2011 Marzo: Versión 7.0.7389.0 Actualización para los dispositivos más antiguos
incluye todos las características de versión del sistema operativo
preinstalado en los dispositivos más nuevos.
Versión 7.0.7392.0 “NoDo” de actualización (copiar / pegar, mejoras
en el rendimiento, mejoras en el mercado de búsqueda.)
2011 Mayo: Versión 7.0.7392.0 Internet Explorer Mobile actualización de
seguridad.
Versión 7.0.7355 no revelada.
55
2011 Junio: Versión 7.1.7661.0 Mango desarrollo Beta (ciertos servicios públicos
no está disponibles en esta versión, como por ejemplo Twitter).
2011 Julio: Versión 7.1.7712.0 “Mango” desarrollo Beta 2.
2011 Ago: WP7 dispositivos por popularidad. (HTC 7 Pro 1%, Dell Venue Pro
0.2%, HTC Arrive 2%, HTC Mazaa 0.2%)
2011 Oct: Segundo lote deWP7dispositivospara lanzar.
Windows Phone Tango.
Windows Phone Apollo.
Windows 8 fortablets.
2.5.2 Arquitectura
Windows Phone 7 es un sistema operativo de 32-bit y está basado en Windows
Embedded CE 6.0, a diferencia de Windows Mobile 6.x que tiene un kernel
construido en Windows CE 5.0, en WP7 nos encontramos con un diseño interno
similar al de un SO de PC como lo muestra la figura 2.11.
Una de las principales ventajas de qué WP7 venga en sabor de 32-bit, es que
permite un direccionamiento de hasta 4 GB – aquí es donde el lector siente un
líquido cae por su boca – por lo que un terminal generoso en RAM estará limitado
a esa cantidad. Suponiendo que tenemos 4 GB para jugar, el sistema operativo
divide la memoria en 2 espacios, uno dedicado al kernel (2 GB) y otro a las
aplicaciones (2 GB).
56
Como todo sistema operativo, tenemos 2 áreas fundamentales, el kernel y
nonkernel (traducción a gusto de lector); El kernel posee obviamente el núcleo, 2
sistemas de archivos (IMGFS y TexFAT), render gráfico y actualización de
sistema, mientras la parte nonkernel contiene las aplicaciones, la shell y espacio
de usuario.
Figura 2.11 Arquitectura Windows Phone
Fuente: http://www.chw.net/2010/04/filtran-arquitectura-de-windows-phone-7/
2.5.3 Características principales
 Su interfaz es bastante fácil e intuitiva; su sistema de ventanas modulares
ofrece animaciones actualizaciones y avisos mucho más atractivos que la
competencia.
57
 Sincronización posibilidad de interacción con los archivos office.
 Sistema de seguridad desde nuestro PC, podremos llamar a nuestro
teléfono en caso de haberlo perdido, bloquearlo, localizarlo e incluso borrar
parte de su contenido de forma remota.
 Cada Hub (Marketplace, Office, gente, retratos, Xbox Live y Zune) tiene una
estrecha integración con las aplicaciones nativas y de terceros.
2.5.4 Kit de desarrollo
Microsoft provee en forma gratuita el Software Development Kits SDK que incluye
todo lo necesario para el desarrollo de aplicaciones en la plataforma Windows
Phone, pero para instalarlo necesitaremos, como se indica en la sección de
requisitos de la página de descargas, el Microsoft Visual Studio 2005 Standard
Edition o superior (No está soportado el Visual Estudio Express Editions), esto
implica que para desarrollar en WP sea necesario adquirir una licencia de Visual
Studio 2005 o superior.
Una vez descargado e instalado el SDK tendremos todo lo necesario para realizar
aplicaciones para WP incluyendo emuladores (imágenes ROM) para los distintos
tamaños de pantalla de los dispositivos en mercado.
Se pueden desarrollar dos tipos de aplicaciones para Windows Mobile: con código
nativo o con código administrado (managedcode). Llamamos código nativo al
código C++ que utiliza directamente la API de Windows Phone, y código
administrado al que utiliza las clases del .NET Compact Framework con C# o
VB.Net. (Windows Mobile es la única plataforma móvil importante que no soporta
J2ME).
58
Guía de instalación de las herramientas de WP.
1. Instalar las herramientas
Al hacer clic en este botón se instala:
 El instalador de plataforma web (ejecuta el resto de la instalación)
 Visual Studio 2010 Express
 XNA Game Studio 4.0
 Windows Phone Emulator
 Microsoft Expression Blend para Windows Phone
 Plataformas: Silverlight, .NET Framework 4.0
2. Instale la actualización de enero de las herramientas de desarrollo de
Windows Phone.
3. Instale la corrección de las herramientas de desarrollo de Windows Phone.
Capítulo III: Bases de Datos para Aplicaciones
Móviles
60
3.1 Sistemas Gestores de Bases de Datos Móviles
La computación móvil introduce el concepto de base de datos móvil. Una base de
datos móvil es una base de datos portable, físicamente independiente del servidor
corporativo de base de datos y capaz de comunicarse con ese servidor desde
sitios remotos para compartir datos corporativos. Utilizando bases de datos
móviles, los trabajadores pueden acceder a los datos corporativos desde cualquier
dispositivo que disponga de conexión a Internet.
Muchos fabricantes ofrecen SGBD móviles capaces de comunicarse con los
principales SGBD relacionales. Estos SGBD móviles están adaptados a los
recursos limitados de las unidades móviles y proporcionan una serie de
funcionalidades adicionales:
 Comunicación con el servidor centralizado de base de datos mediante
técnicas de comunicación inalámbrica.
 Replicación de datos en el servidor centralizado de base de datos y en el
dispositivo móvil.
 Sincronización de datos entre el servidor centralizado de base de datos y el
dispositivo móvil.
 Gestión de datos en el dispositivo móvil.
 Análisis de los datos almacenados en el dispositivo móvil.
 Crear aplicaciones móviles personalizadas.
61
3.1.1 Aplicaciones móviles y tipos de datos
Las aplicaciones móviles se clasifican en las dos siguientes categorías:
Aplicaciones verticales y aplicaciones horizontales (Imielinski y Badrinath, 1994).
En las aplicaciones verticales, los usuarios acceden a los datos en una celda
específica; fuera de la celda los datos no están disponibles. Un ejemplo de
aplicación vertical es la obtención de información sobre las plazas libres de un
determinado parking. En las aplicaciones horizontales, los datos están distribuidos
por todo el sistema, y los usuarios pueden acceder a ellos desde cualquier celda.
La aplicación horizontal más común es el acceso al correo electrónico.
Los datos se clasifican en tres categorías:
1. Datos privados: pertenecen a un usuario y sólo él puede acceder a ellos y
manejarlos. Por ejemplo, los datos del perfil de un usuario de cualquier
aplicación que gestione datos personales.
2. Datos públicos: pueden ser consultados por cualquier usuario, pero sólo
pueden ser modificados por una única fuente. Por ejemplo, los datos de las
cotizaciones de la bolsa.
3. Datos compartidos: pueden ser accedidos por un grupo determinado de
usuarios, quienes tienen permisos para leerlos y para escribirlos.
A continuación se muestran cuatro Gestores de Bases de Datos Móviles.
62
3.2 Oracle Database Lite 10g
Oracle lite 10g es la solución de Oracle para desarrollar aplicaciones en entornos
móviles. Proporciona un cliente que permite la realización de consultas SQL para
acceder a los datos locales del dispositivo y un servidor para gestionar los datos
de forma centralizada. Además extiende el poder de Grid Computing a una fuerza
de trabajo móvil con una base de datos completa, integrada y segura para crear,
implementar y administrar aplicaciones móviles para un amplio rango de
dispositivos móviles.
Oracle Database Lite 10g permite el acceso persistente a las aplicaciones y la
información critica sin requerir una conectividad continua con los sistemas
empresariales de back-end. Como resultado, los usuarios aumentan la eficiencia,
productividad y capacidad de respuesta de la fuerza de trabajo móvil mientras se
reducen los costos y se mejora la satisfacción del cliente.
3.2.1 Arquitectura de las aplicaciones de Oracle Database Lite 10g
Esta arquitectura contiene los siguientes componentes (Ver figura 3.1):
 Mobile Sync Module: aplicación instalada en el dispositivo móvil que
permite la sincronización de datos con el servidor empresarial.
 Oracle Lite RDBMS: sistema gestor de bases de datos relacionales creado
específicamente para dispositivos móviles. Proporciona interfaces ODBC,
JDBC, SODA y ADO para permitir la utilización de aplicaciones
desarrolladas en lenguajes como Java, C/C++ y Visual Basic.
 Oracle Lite database: base de datos instalada en el dispositivo móvil.
63
 Mobile Server: servidor intermedio entre los dispositivos móviles y el
servidor empresarial. Permite la instalación y actualización de aplicaciones
en los dispositivos móviles y se comunica con el módulo Mobile Sync para
sincronizar los datos entre el dispositivo móvil y el servidor empresarial.
 Message Generator and Processor (MGP): módulo utilizado en la
sincronización de datos para detectar y solucionar cualquier conflicto que
pueda producirse en la actualización de los datos del servidor.
 Mobile Server Repository: repositorio que contiene información necesaria
para que el Mobile Server pueda ejecutarse. Esta información se almacena
junto a los datos del negocio, en la misma base de datos.
Figura 3.1 Arquitectura de Oracle Lite 10g
Fuente: http://docs.oracle.com/cd/B14156_01/doc/B13788/html/nvovw.htm
64
3.2.2 Características principales
 Sistema de Sincronización
Oracle Database Lite, incluye un servidor de sincronización bidireccional seguro
basado en un modelo de dato que permite suscripción y servicios sincronizados
entre miles de usuarios móviles y la base de datos de la empresa.
El servidor de sincronización no requiere de middleware adicional, y puede
integrarse con sistemas corporativos existentes.
Las redes nunca son 100 % seguras. Oracle Database Lite incluye sistemas
avanzados de recuperación ante cualquier fallo de la red. Además mantiene
actualizado un marcador de recuperación (point-in-time). Si un usuario
experimenta un fallo de la red durante la sincronización Oracle Lite resumirá las
funciones (upload/download), desde la última marca. Esto mejora en conjunto el
rendimiento de la aplicación y reduce el costo de comunicación.
Database Lite introduce nuevas características para la creación de sincronización
lógica. El servidor móvil analiza la información contenida en la aplicación móvil.
Para crear automáticamente la sincronización lógica en el servidor de la
aplicación. Los conflictos ocurren cuando el mismo artículo de datos ha sido
modificado en el servidor y el Cliente o múltiples clientes. Oracle Lite detecta
automáticamente estos conflictos y los resuelve sobre la base de reglas de
resolución, reglas estándares rápidamente configurables.
 Administración de sistema
Incluye un sistema de administración completo para distribuir, instalar y manejar el
software de datos y los archivos sobre dispositivos móviles y sistemas remotos.
65
Una administración de interfaz basada 100% en web, administración de todas las
aplicaciones móviles, dispositivos, usuarios y servicios móviles.
 Soporté de Desarrollo
Los entornos de desarrollo de Oracle Lite 10g incluyen soporte para herramientas
Java y .NET tales como Oracle JDeveloper 10g y Microsoft Visual Studio .NET.
También soporta la interface Microsoft ADO.NET, brindando a los desarrolladores
integración, productividad y desempeño entre los entornos Java y .NET. Las
aplicaciones pueden crearse utilizando lenguajes de programación como Java,
C/C++ y Visual Studio para plataformas, con inclusión de Linux, Windows
CE/NT/2000/XP/2003, Palm OS, y Pocket PC.
Oracle Database Lite incluye un asistente (PackagingWizard) para combinar todos
componentes de aplicación (executables, DLLs, images, etc.) en un único archivo
ejecutable para desarrollo simple en ambientes de negocio móviles.
La base de datos móvil es una herramienta de desarrollo visual para construir
replica de base de datos.
 Rendimiento alto y escalabilidad
Permite a los usuarios acceder rápida y eficientemente a la información.
Multiproceso y soporte de ajuste del tamaño de caché dinámico aseguran el
máximo rendimiento para bases de datos más grandes y más usuarios
conectados. El apoyo para los usuarios como puestas en funcionamiento
multiusuario garantiza que sus aplicaciones de Oracle Database Lite pueden
adaptarse a las demandas de ambientes cambiantes.
Provee herramientas para los rendimientos de sincronización de datos así mismo
el punto de referencia los datos pueden ser usado para capacidad y planificación
de escalabilidad.
66
 Seguridad
La seguridad se cubre con las medidas como: la autentificación, la autorización, y
la encriptación.
Oracle Database Lite, incluye las características de encriptado de 128 bit
exhaustivas que garantizan la seguridad de punta con punta.
3.2.3 Principales beneficios
 Acceso a Datos Seguros desde Dispositivos Móviles.
La poca cantidad de espacio que utiliza de la base de datos permite el acceso
offline a sus datos corporativos en cualquier momento y desde cualquier
dispositivo.
 Acceso Continuo a los Datos Corporativos.
Los cambios realizados offline en Oracle Lite son rastreados y posteriormente
sincronizados con el back-end de la base de datos Oracle.
 Administración Integral del Ciclo de Vida.
Herramientas completas para administrar centralmente sus aplicaciones, usuarios,
dispositivos y sistemas.
 Menor Tiempo de Desarrollo para Aplicaciones Móviles.
Soporta un amplio rango de IDEs; desarrolla aplicaciones nativas Java o basadas
en la Web utilizando herramientas listas para usar, APIs y modelos de códigos.
67
3.3 SQL Anywhere
SQL Anywhere es una suite integral de soluciones que proporciona tecnologías
para la administración, sincronización e intercambio de datos que permiten el
rápido desarrollo y la implementación.
Alimentación de algunas de las aplicaciones empresariales móviles más grande
del mundo de hoy, SQL Anywhere se ha demostrado que la escala de un
dispositivo móvil a cientos de miles de dispositivos móviles. SQL Anywhere ofrece
una serie de bases de datos móviles para satisfacer sus necesidades de
desarrollo y plataforma. Que ofrece la tecnología de sincronización más avanzada
en el mercado, la sincronización con los sistemas empresariales más que
cualquier otro proveedor.
3.3.1 Arquitectura de SQL Anywhere
El siguiente diagrama (Figura 3.2) muestra la arquitectura del gestor de base de
datos Sql Anywhere.
3.3.3 Casos de Uso en Aplicaciones Móviles
Características y beneficios en el apartado de aplicaciones móviles en los casas
de usos que se muestran en la figura 3.3.
68
Figura 3.2 Arquitectura SQL Anywhere
Fuente: http://www.sybase.com.mx/products/databasemanagement/sqlanywhere
Figura 3.3 Casos de uso
Fuente: http://www.sybase.com.mx/products/databasemanagement/sqlanywhere
69
 Gestionar datos móviles
 El apalancamiento de la empresa características como la base de datos
ANSI SQL interfaz, procedimientos almacenados, disparadores, búsqueda
de texto completo, OLAP y más con SQL Anywhere
 Aproveche la inteligencia de localización mediante el almacenamiento y
consulta de datos espaciales 2D y 3D.
 Enlace UltraLite en proceso de base de datos con una función de
sincronización en su aplicación.
 De soporte de Windows Mobile, Blackberry, iPhone y más.
 Sincronizar los sistemas empresariales
 Sincronizar bases de datos móviles con una Oracle, Microsoft SQL Server,
MySQL, Sybase ASE o SQL Anywhere y otros sistemas empresariales
como SAP y sistemas de información geoespacial.
 Escala hasta decenas de miles de usuarios de telefonía móvil de
sincronización con los datos de su empresa.
 Características de clase empresarial con la sincronización basada en la
prioridad de sincronización de datos horizontales y verticales de detección
de subconjuntos, los conflictos y la resolución programable.
 Ampliar los sistemas de mensajería de la empresa como JMS, MQSeries,
Tibco y MSMQ para dispositivos móviles con QAnywhere.
70
 Facilitar el desarrollo de aplicaciones
 Configurar la base de datos móvil y el servidor de sincronización en minutos
con Synchronization Model Wizard.
 Prueba de aplicaciones móviles sin necesidad de IT para hacer agujeros en
el cortafuegos de la empresa con Hosted Relay Service.
 Cifrar todos los archivos de base de datos y comunicación de datos con
certificación FIPS 128-bit.
3.3.4 Principales beneficios
 Fácil Uso y Administración
Características de auto-administración, auto-afinamiento y soporte remoto lo
hacen ideal para ambientes ampliamente desplegados y de cero administración.
 Rendimiento y Escalabilidad de Nivel Empresarial
Escale a miles de usuarios y cientos de Gb de datos, con características como
soporte a SMP, paralelismo, vistas materializadas y aislamiento snapshot.
 Seguridad de Extremo a Extremo
Seguridad validada por FIPS 140-2, certificación Common Criteria, algoritmos de
cifrado y protocolos estándar, que incluyen AES, ECC, RSA y SSL aseguran la
seguridad de extremo a extremo.
 Soporte a Múltiples Plataformas
71
Soporta una gran variedad de sistemas operativos, desde servidores UNIX de 64
bits, hasta XP embebido y plataformas populares handheld, para proveer la más
alta flexibilidad en el despliegue de una base de datos SQL.
 API Abierto y Soporte a Herramientas
Soporta muchos estándares para un fácil y eficiente acceso a los datos. SQL
Anywhere le permite explotar sus inversiones existentes en herramientas y
habilidades de desarrollo.
 Amplio Soporte a Servicios Web
Simplifica el desarrollo de aplicaciones móviles orientadas a servicios Web y
bases de datos, integrándose con sistemas existentes y permitiendo el
despliegue de aplicaciones entre diferentes ambientes de tecnología de
información.
 Soporte a Dispositivos Handheld y Dispositivos Inteligentes
La base de datos UltraLite y las capacidades de sincronización proporcionan una
solución ideal para ambientes con pocos recursos de memoria, tales como
dispositivos handheld.
3.4 SQLite
SQLite es una librería compacta y auto contenida de código abierto y distribuida
bajo dominio público que implementa un gestor de bases de datos SQL embebido,
sin configuración y transaccional.
Los usuarios más conocidos que la utilizan actualmente en sus aplicaciones son:
Adobe, Apple, Mozilla, Google, McAfee, Microsoft, Philips, Sun y Toshiba, entre
otros.
72
Combina el motor y el interfaz de la base de datos en una única biblioteca, y
almacena los datos en un único archivo de texto plano. Esto hace que cada
usuario pueda crear tantas bases de datos como desee sin la necesidad de la
intervención de un administrador de bases de datos que gestione los espacios de
trabajo, usuarios y permisos de acceso. El hecho de almacenar toda la base de
datos en un único archivo, facilita la portabilidad de los datos, y solamente tiene la
restricción del espacio de disco asignado al usuario en el servidor.
Formas de uso de SQLite
 Como gestor de base de datos local en un PC. De esta forma podemos
gestionar bases de datos con SQLite igual que si estuviéramos trabajando
con un sistema gestor de base de datos como MySQL sin necesidad de
instalar nada, ya que SQLite se compone de un único archivo ejecutable.
 Como una extensión más de PHP, utilizando las funcionalidades de SQLite
configuradas, o bien como módulo de PHP, o como librería; sin necesidad
de tener instalado o conectar con un servidor de base de datos. Ofrece un
rápido interfaz de base de datos almacenado en archivo de texto plano.
3.4.1 Arquitectura SQLite
Cada motor de base de datos compila cada sentencia SQL en algún tipo de
estructura de datos interna que luego se utilizará para llevar a cabo la labor de la
declaración. En SQLite, compilar la forma de las declaraciones es un breve
programa en un lenguaje de máquina como representación. Los usuarios
podemos ver la máquina virtual antes poniendo EXPLAIN como palabra clave para
una consulta. El uso de la VM dentro de SQLite ha sido un gran beneficio para el
73
desarrollo de la biblioteca, ya que proporciona un cruce entre la interfaz de usuario
que analiza las sentencias SQL y la par-te en la cual la máquina virtual ejecuta el
código para calcular el resultado, así también utilizar la capacidad de rastreo de la
ejecución de la VMen cada sentencia e imprimir las mismas.
3.4.2 Principales Características
 Embebido
La mayoría de motores de bases de datos, como MySQL, Oracle o SQL Server,
están implementados como un servicio (o demonio en Unix). Los programas que
quieren acceder a la base de datos se comunican con el servidor usando algún
tipo de protocolo para enviar peticiones y recibir resultados. Esto es lo que se
conoce como una aplicación cliente-servidor.
SQLite no funciona de esta manera. Con SQLite, el proceso que quiere acceder a
la base de datos, lee y escribe directamente en disco. No hay servicio
intermediario. De esta manera se puede hacer una aplicación totalmente
autónoma y portable.
Esto tiene ventajas y desventajas. La principal ventaja es que no debemos tener
un servicio que instalar, configurar, inicializar, mantener, etc.
Por otro lado, el uso de un servidor para la base de datos provee mayor protección
frente a bugs en el lado de cliente. Un fallo de segmentación en el cliente no
puede afectar a la memoria que se encuentra en el servidor. Además, como el
servidor es un único proceso, puede controlar mejor la concurrencia.
74
No obstante, una característica de SQLite es que es la única base de datos sin
servidor (que el autor sepa) que permite el acceso de múltiples aplicaciones a la
misma base de datos.
 No necesita configuración
Debido a que SQLite es un SGBD embebido en la aplicación, no necesita instalar
ni configurar nada más aparte de la aplicación en cuestión.
 Transaccional
Una base de datos transaccional es aquella cuyos cambios y consultas son
atómicos, consistentes, aislados y durables (ACID), y por tanto es capaz de
realizar transacciones seguras. Las transacciones en SQLite tienen estas
características, incluso cuando se interrumpen por el fallo del programa, del
sistema operativo o de la alimentación del ordenador. Todos los cambios de una
transacción en SQLite se hacen completamente o nose hacen.
3.4.3 Casos en los que es adecuado el uso de SQLite
 En aplicaciones autónomas que no queramos que dependan de otros
procesos, como podría ser un programa para llevar la contabilidad de una
pequeña/mediana empresa.
 Para su uso como formato de almacenamiento para cualquier aplicación.
 En pequeños dispositivos que no disponen de servicio SQL (PDAs, Móviles,
etc.) y 6SQLite 3 Daniel Ponsoda Montiel con pocos recursos de memoria.
 Bases de datos internas de programas que necesiten manejar gran
cantidad de información temporal (p. ej. videojuegos, programas de análisis,
etc.).
75
3.4.4 Limitaciones
 Limitaciones en Where: esta limitación está dada por el soporte para
clausuras anidadas.
 Falta de Clave Foránea: se hace caso omiso de las claves foráneas; esto
quiere decir, cuando se realice la creación de la tabla desde el modo
consola, está permitiendo el uso de la clausura, aunque no realizara el
chequeo de la misma.
 Falta de documentación en español: al momento de escribir este artículo es
muy escasa la documentación disponible en español sobre SQLite.
3.5 Almacenamiento Aislado
El almacenamiento aislado es un mecanismo de almacenamiento de datos que
proporciona aislamiento y seguridad mediante la definición de modos estándar de
asociar código a los datos guardados. La estandarización ofrece además otras
ventajas. Los administradores pueden usar herramientas diseñadas para
manipular el almacenamiento aislado para configurar el espacio de
almacenamiento de archivos, establecer directivas de seguridad y eliminar los
datos no utilizados. Con el almacenamiento aislado, el código ya no requiere rutas
de acceso únicas para especificar ubicaciones seguras en el sistema de archivos y
los datos están protegidos de otras aplicaciones que solo tienen acceso a un
almacenamiento aislado. La información en código que indica la ubicación del área
de almacenamiento de la aplicación no es necesaria.
El almacenamiento aislado proporciona una capa de abstracción del host de
sistema de archivos, por lo que en lugar de tratar de almacenamiento de archivos
directa, de interfaz con un mecanismo indirecto que proporciona carpetas y
archivos en un entorno limitado aislado.
76
Por otra parte el almacenamiento aislado también tiene algunas ventajas
potentes. Mientras que proporciona un diccionario de configuración similar a la
configuración de página y aplicación que se ha descrito anteriormente, también le
permite organizar los datos en carpetas y archivos. De hecho, cualquier tipo de
archivo: XML, binario o texto, se puede crear y acceder en el almacenamiento
aislado. No hay ninguna cuota para el tamaño de almacenamiento aislado en el
teléfono, por lo que efectivamente está limitado por la cantidad de memoria y
almacenamiento de información disponible en el teléfono. El único inconveniente
es que el proceso de escribir para almacenamiento y recuperación de
almacenamiento de información es un poco más lento que los otros métodos que
almacenan las listas en la memoria activa.
A continuación se describen cinco de los escenarios más fáciles de identificar:
 Controles descargados.
Los controles de código administrado descargados de Internet no tienen permiso
para escribir en el disco duro mediante clases de E/S normales, pero puede usar
el almacenamiento aislado para almacenar la configuración del usuario y los
estados de la aplicación.
 Almacenamiento de componentes compartidos.
Los componentes compartidos entre aplicaciones pueden usar el almacenamiento
aislado para proporcionar acceso controlado a los almacenes de datos.
 Almacenamiento en servidor.
Las aplicaciones de servidor pueden usar el almacenamiento aislado para
proporcionar almacenes individuales a un gran número de usuarios que hacen
solicitudes a la aplicación. Puesto que el almacenamiento aislado siempre se aísla
por usuario, el servidor debe suplantar al usuario que hace la solicitud. En este
caso, los datos se aíslan basándose en la identidad de seguridad, que es la
identidad que usa la aplicación para diferenciar a los usuarios.
77
 Movilidad.
Las aplicaciones pueden usar también el almacenamiento aislado con perfiles de
usuario móvil. De esta manera los almacenes aislados de un usuario se pueden
trasladar con el perfil.
Aunque el almacenamiento aislado es adecuado para los escenarios descritos
hasta aquí, existen algunos casos en que NO se debe utilizar:
 No utilice el almacenamiento aislado para guardar información confidencial,
como claves sin cifrar o contraseñas, ya que no está protegido contra
código de plena confianza, contra código no administrado ni contra usuarios
de confianza del equipo.
 No utilice el almacenamiento aislado para almacenar código.
 No utilice el almacenamiento aislado para guardar valores de configuración
e implementación, que controlan los administradores. (Las preferencias de
usuario no se consideran valores de configuración porque los
administradores no las controlan.)
Muchas de las aplicaciones actuales usan bases de datos para almacenar y aislar
los datos y, en ese caso, una o varias filas de la base de datos pueden representar
el almacenamiento de un usuario concreto. Se puede elegir usar el
almacenamiento aislado en lugar de una base de datos si el número de usuarios
es reducido, si la sobrecarga resultante de usar una base de datos es alta o si no
existe una utilidad de bases de datos. Además, si la aplicación requiere un tipo de
almacenamiento más flexible y complejo que el que ofrece una fila de una base de
datos, el almacenamiento aislado puede ser una alternativa viable.
CONCLUSIONES
Desarrollo de Apps Móviles
Desarrollo de Apps Móviles
Desarrollo de Apps Móviles
Desarrollo de Apps Móviles
Desarrollo de Apps Móviles
Desarrollo de Apps Móviles
Desarrollo de Apps Móviles
Desarrollo de Apps Móviles
Desarrollo de Apps Móviles
Desarrollo de Apps Móviles
Desarrollo de Apps Móviles

Más contenido relacionado

La actualidad más candente

Diagnóstico y benchmarking para la implementación de un cluster de software d...
Diagnóstico y benchmarking para la implementación de un cluster de software d...Diagnóstico y benchmarking para la implementación de un cluster de software d...
Diagnóstico y benchmarking para la implementación de un cluster de software d...Instituto Tecnologico De Pachuca
 
"Propuesta de un laboratorio de ensayos no destructivos”
"Propuesta de un laboratorio de ensayos no destructivos”"Propuesta de un laboratorio de ensayos no destructivos”
"Propuesta de un laboratorio de ensayos no destructivos”Jose Lars
 
Especialidad erika
Especialidad erikaEspecialidad erika
Especialidad erikaupel
 
Cancinos andrea proceso de seleccion
Cancinos andrea proceso de seleccionCancinos andrea proceso de seleccion
Cancinos andrea proceso de seleccionEILLENMILAGROSVEGASA1
 
Trabajo de grado RESPONSABILIDAD SOCIAL Y SU RELEVANCIA EN LA FORMACIÓN PROFE...
Trabajo de grado RESPONSABILIDAD SOCIAL Y SU RELEVANCIA EN LA FORMACIÓN PROFE...Trabajo de grado RESPONSABILIDAD SOCIAL Y SU RELEVANCIA EN LA FORMACIÓN PROFE...
Trabajo de grado RESPONSABILIDAD SOCIAL Y SU RELEVANCIA EN LA FORMACIÓN PROFE...Kharina Manjarres Palencia
 
Trabajo de grado - Rehabilitación urbano-ambiental en el sur-occidente de la ...
Trabajo de grado - Rehabilitación urbano-ambiental en el sur-occidente de la ...Trabajo de grado - Rehabilitación urbano-ambiental en el sur-occidente de la ...
Trabajo de grado - Rehabilitación urbano-ambiental en el sur-occidente de la ...DanielaVillaV
 
292 coeficientes de gasto vertedores variable
292 coeficientes de gasto vertedores variable292 coeficientes de gasto vertedores variable
292 coeficientes de gasto vertedores variablebenigno duran aguilar
 
interpretación de estados financieros
interpretación de estados financierosinterpretación de estados financieros
interpretación de estados financierosRizitaas
 
ESTUDIO DE IMPACTO AMBIENTAL - JINOTEGA
ESTUDIO DE IMPACTO AMBIENTAL - JINOTEGAESTUDIO DE IMPACTO AMBIENTAL - JINOTEGA
ESTUDIO DE IMPACTO AMBIENTAL - JINOTEGAIndependent
 

La actualidad más candente (18)

Modelo de tesis
Modelo de tesisModelo de tesis
Modelo de tesis
 
Diagnóstico y benchmarking para la implementación de un cluster de software d...
Diagnóstico y benchmarking para la implementación de un cluster de software d...Diagnóstico y benchmarking para la implementación de un cluster de software d...
Diagnóstico y benchmarking para la implementación de un cluster de software d...
 
"Propuesta de un laboratorio de ensayos no destructivos”
"Propuesta de un laboratorio de ensayos no destructivos”"Propuesta de un laboratorio de ensayos no destructivos”
"Propuesta de un laboratorio de ensayos no destructivos”
 
Especialidad erika
Especialidad erikaEspecialidad erika
Especialidad erika
 
Cancinos andrea proceso de seleccion
Cancinos andrea proceso de seleccionCancinos andrea proceso de seleccion
Cancinos andrea proceso de seleccion
 
Tegmayerlinla
TegmayerlinlaTegmayerlinla
Tegmayerlinla
 
Trabajo de grado RESPONSABILIDAD SOCIAL Y SU RELEVANCIA EN LA FORMACIÓN PROFE...
Trabajo de grado RESPONSABILIDAD SOCIAL Y SU RELEVANCIA EN LA FORMACIÓN PROFE...Trabajo de grado RESPONSABILIDAD SOCIAL Y SU RELEVANCIA EN LA FORMACIÓN PROFE...
Trabajo de grado RESPONSABILIDAD SOCIAL Y SU RELEVANCIA EN LA FORMACIÓN PROFE...
 
Yara
YaraYara
Yara
 
T-UCSG-PRE-ECO-GES-652.pdf
T-UCSG-PRE-ECO-GES-652.pdfT-UCSG-PRE-ECO-GES-652.pdf
T-UCSG-PRE-ECO-GES-652.pdf
 
Ups ct002383
Ups ct002383Ups ct002383
Ups ct002383
 
Asfalto tesis occ
Asfalto tesis occAsfalto tesis occ
Asfalto tesis occ
 
Trabajo de grado - Rehabilitación urbano-ambiental en el sur-occidente de la ...
Trabajo de grado - Rehabilitación urbano-ambiental en el sur-occidente de la ...Trabajo de grado - Rehabilitación urbano-ambiental en el sur-occidente de la ...
Trabajo de grado - Rehabilitación urbano-ambiental en el sur-occidente de la ...
 
292 coeficientes de gasto vertedores variable
292 coeficientes de gasto vertedores variable292 coeficientes de gasto vertedores variable
292 coeficientes de gasto vertedores variable
 
Ariza sandra2012
Ariza sandra2012Ariza sandra2012
Ariza sandra2012
 
Reposi
ReposiReposi
Reposi
 
interpretación de estados financieros
interpretación de estados financierosinterpretación de estados financieros
interpretación de estados financieros
 
ESTUDIO DE IMPACTO AMBIENTAL - JINOTEGA
ESTUDIO DE IMPACTO AMBIENTAL - JINOTEGAESTUDIO DE IMPACTO AMBIENTAL - JINOTEGA
ESTUDIO DE IMPACTO AMBIENTAL - JINOTEGA
 
Tesis mercedes soraya
Tesis mercedes soraya Tesis mercedes soraya
Tesis mercedes soraya
 

Similar a Desarrollo de Apps Móviles

Tl paz muro_janeth_arvis
Tl paz muro_janeth_arvisTl paz muro_janeth_arvis
Tl paz muro_janeth_arvisJhony Arango
 
Disergonomia3_IAFJSR
Disergonomia3_IAFJSRDisergonomia3_IAFJSR
Disergonomia3_IAFJSRMauri Rojas
 
FACTORES QUE INFLUYEN EN EL COMERCIO INFORMAL EN LA CIUDAD DE LA PAZ: ESTUDIO...
FACTORES QUE INFLUYEN EN EL COMERCIO INFORMAL EN LA CIUDAD DE LA PAZ: ESTUDIO...FACTORES QUE INFLUYEN EN EL COMERCIO INFORMAL EN LA CIUDAD DE LA PAZ: ESTUDIO...
FACTORES QUE INFLUYEN EN EL COMERCIO INFORMAL EN LA CIUDAD DE LA PAZ: ESTUDIO...lionel119694
 
La importancia de una eficiente administracion del area de reclamos y su efec...
La importancia de una eficiente administracion del area de reclamos y su efec...La importancia de una eficiente administracion del area de reclamos y su efec...
La importancia de una eficiente administracion del area de reclamos y su efec...Mirta Granados
 
La importancia de una eficiente administracion del area de reclamos y su efec...
La importancia de una eficiente administracion del area de reclamos y su efec...La importancia de una eficiente administracion del area de reclamos y su efec...
La importancia de una eficiente administracion del area de reclamos y su efec...Mirta Granados
 
Guía padres y madres con hijas adolescentes que sufren violencia de género
Guía padres y madres con hijas adolescentes que sufren violencia de géneroGuía padres y madres con hijas adolescentes que sufren violencia de género
Guía padres y madres con hijas adolescentes que sufren violencia de géneroAngelica Suarez
 
Prácticas artisticas para potencializar la resiliencia en niños niñas y adole...
Prácticas artisticas para potencializar la resiliencia en niños niñas y adole...Prácticas artisticas para potencializar la resiliencia en niños niñas y adole...
Prácticas artisticas para potencializar la resiliencia en niños niñas y adole...lina maria Botero Martinez
 
Tesis sobre El Análisis de la Gestión de Seguridad de TI en las Pymes de la C...
Tesis sobre El Análisis de la Gestión de Seguridad de TI en las Pymes de la C...Tesis sobre El Análisis de la Gestión de Seguridad de TI en las Pymes de la C...
Tesis sobre El Análisis de la Gestión de Seguridad de TI en las Pymes de la C...Ramón Alexander Paula Reynoso
 
Material participante análisis-textual
Material participante análisis-textualMaterial participante análisis-textual
Material participante análisis-textualLA CAMPESINA
 
Las redes sociales - ¿Buenas o Malas?
Las redes sociales - ¿Buenas o Malas?Las redes sociales - ¿Buenas o Malas?
Las redes sociales - ¿Buenas o Malas?Carlos Leiva Silva
 
PROYECTO ESCRITO
PROYECTO ESCRITOPROYECTO ESCRITO
PROYECTO ESCRITOJhamit A
 
implementacion de sistema para restaurantes para gestion de pedidos.pdf
implementacion de sistema para restaurantes para gestion de pedidos.pdfimplementacion de sistema para restaurantes para gestion de pedidos.pdf
implementacion de sistema para restaurantes para gestion de pedidos.pdfRUTHPACOMPIASUCAPUCA
 
Uso del Facebook como estrategia de enseñanza
Uso del Facebook como estrategia de enseñanzaUso del Facebook como estrategia de enseñanza
Uso del Facebook como estrategia de enseñanzaJesus Mendez
 
MODELO DE PLAN DE CONTINGENCIA EN LOS CENTROS GERONTOLÓGICOS RESIDENCIALES AU...
MODELO DE PLAN DE CONTINGENCIA EN LOS CENTROS GERONTOLÓGICOS RESIDENCIALES AU...MODELO DE PLAN DE CONTINGENCIA EN LOS CENTROS GERONTOLÓGICOS RESIDENCIALES AU...
MODELO DE PLAN DE CONTINGENCIA EN LOS CENTROS GERONTOLÓGICOS RESIDENCIALES AU...Unidad de Emprendimiento ambulante
 
Plan de vida y carrera, manual de desarrollo humano
Plan de vida y carrera, manual de desarrollo humano Plan de vida y carrera, manual de desarrollo humano
Plan de vida y carrera, manual de desarrollo humano karensanchez96
 

Similar a Desarrollo de Apps Móviles (20)

Diseño de programa de formación humana.
Diseño de programa de formación humana.Diseño de programa de formación humana.
Diseño de programa de formación humana.
 
La tecno pedagogia libro
La tecno pedagogia libroLa tecno pedagogia libro
La tecno pedagogia libro
 
Tl paz muro_janeth_arvis
Tl paz muro_janeth_arvisTl paz muro_janeth_arvis
Tl paz muro_janeth_arvis
 
Disergonomia3_IAFJSR
Disergonomia3_IAFJSRDisergonomia3_IAFJSR
Disergonomia3_IAFJSR
 
FACTORES QUE INFLUYEN EN EL COMERCIO INFORMAL EN LA CIUDAD DE LA PAZ: ESTUDIO...
FACTORES QUE INFLUYEN EN EL COMERCIO INFORMAL EN LA CIUDAD DE LA PAZ: ESTUDIO...FACTORES QUE INFLUYEN EN EL COMERCIO INFORMAL EN LA CIUDAD DE LA PAZ: ESTUDIO...
FACTORES QUE INFLUYEN EN EL COMERCIO INFORMAL EN LA CIUDAD DE LA PAZ: ESTUDIO...
 
La importancia de una eficiente administracion del area de reclamos y su efec...
La importancia de una eficiente administracion del area de reclamos y su efec...La importancia de una eficiente administracion del area de reclamos y su efec...
La importancia de una eficiente administracion del area de reclamos y su efec...
 
La importancia de una eficiente administracion del area de reclamos y su efec...
La importancia de una eficiente administracion del area de reclamos y su efec...La importancia de una eficiente administracion del area de reclamos y su efec...
La importancia de una eficiente administracion del area de reclamos y su efec...
 
Luz hugo tesis_bachiller_2016
Luz hugo tesis_bachiller_2016Luz hugo tesis_bachiller_2016
Luz hugo tesis_bachiller_2016
 
Guía padres y madres con hijas adolescentes que sufren violencia de género
Guía padres y madres con hijas adolescentes que sufren violencia de géneroGuía padres y madres con hijas adolescentes que sufren violencia de género
Guía padres y madres con hijas adolescentes que sufren violencia de género
 
Prácticas artisticas para potencializar la resiliencia en niños niñas y adole...
Prácticas artisticas para potencializar la resiliencia en niños niñas y adole...Prácticas artisticas para potencializar la resiliencia en niños niñas y adole...
Prácticas artisticas para potencializar la resiliencia en niños niñas y adole...
 
Elaboración de un censo empresarial para el municipio de san martin departame...
Elaboración de un censo empresarial para el municipio de san martin departame...Elaboración de un censo empresarial para el municipio de san martin departame...
Elaboración de un censo empresarial para el municipio de san martin departame...
 
Tesis sobre El Análisis de la Gestión de Seguridad de TI en las Pymes de la C...
Tesis sobre El Análisis de la Gestión de Seguridad de TI en las Pymes de la C...Tesis sobre El Análisis de la Gestión de Seguridad de TI en las Pymes de la C...
Tesis sobre El Análisis de la Gestión de Seguridad de TI en las Pymes de la C...
 
Material participante análisis-textual
Material participante análisis-textualMaterial participante análisis-textual
Material participante análisis-textual
 
Las redes sociales - ¿Buenas o Malas?
Las redes sociales - ¿Buenas o Malas?Las redes sociales - ¿Buenas o Malas?
Las redes sociales - ¿Buenas o Malas?
 
PROYECTO ESCRITO
PROYECTO ESCRITOPROYECTO ESCRITO
PROYECTO ESCRITO
 
implementacion de sistema para restaurantes para gestion de pedidos.pdf
implementacion de sistema para restaurantes para gestion de pedidos.pdfimplementacion de sistema para restaurantes para gestion de pedidos.pdf
implementacion de sistema para restaurantes para gestion de pedidos.pdf
 
LACTANCIA MATERNA FINAL3.pdf
LACTANCIA MATERNA FINAL3.pdfLACTANCIA MATERNA FINAL3.pdf
LACTANCIA MATERNA FINAL3.pdf
 
Uso del Facebook como estrategia de enseñanza
Uso del Facebook como estrategia de enseñanzaUso del Facebook como estrategia de enseñanza
Uso del Facebook como estrategia de enseñanza
 
MODELO DE PLAN DE CONTINGENCIA EN LOS CENTROS GERONTOLÓGICOS RESIDENCIALES AU...
MODELO DE PLAN DE CONTINGENCIA EN LOS CENTROS GERONTOLÓGICOS RESIDENCIALES AU...MODELO DE PLAN DE CONTINGENCIA EN LOS CENTROS GERONTOLÓGICOS RESIDENCIALES AU...
MODELO DE PLAN DE CONTINGENCIA EN LOS CENTROS GERONTOLÓGICOS RESIDENCIALES AU...
 
Plan de vida y carrera, manual de desarrollo humano
Plan de vida y carrera, manual de desarrollo humano Plan de vida y carrera, manual de desarrollo humano
Plan de vida y carrera, manual de desarrollo humano
 

Desarrollo de Apps Móviles

  • 1. UNIVERSIDAD VERACRUZANA Facultad de Contaduría y Administración “Software de desarrollo para aplicaciones móviles” M O N O G R A F Í A Para obtener el Título de: Licenciado en Sistemas Computacionales Administrativos Presenta: Grecia Gonzalez Melgarejo Asesor: M.T.E. Mayra Minerva Méndez Anota Xalapa-Enríquez, Veracruz Enero 2012
  • 2.
  • 3. UNIVERSIDAD VERACRUZANA Facultad de Contaduría y Administración “Software de desarrollo para aplicaciones móviles” M O N O G R A F Í A Para obtener el Título de: Licenciado en Sistemas Computacionales Administrativos Presenta: Grecia Gonzalez Melgarejo Asesor: M.T.E. Mayra Minerva Méndez Anota Xalapa-Enríquez, Veracruz Enero 2012
  • 4. DEDICATORIA Primordialmente, debo mencionar que le dedico este trabajo a DIOS por darme la oportunidad de terminar esta etapa de mi vida con éxito, por colmarme de serenidad y paciencia ante las peores circunstancias y por ultimo pero no menos importante, por rodearme de personas maravillosas. Les dedico con mucho amor y gratitud a todas esas personas importantes de mi vida que me apoyaron en el camino recorrido para logar que mi meta se cumpliera.
  • 5. AGRADECIMIENTOS Con cariño y afecto les estoy enormemente agradecida a todas aquellas personas que estuvieron a mi lado, que nunca dejaron de creer en mí, que no me cerraron sus puertas y me tendieron no solo una mano sino ambas. Gracias a ustedes y sus bendiciones. Agradezco: A mis Padres Joaquin Gonzalez Anell y María de Lourdes Susana Melgarejo Contreras, por su interés de forjarme una educación, por la preocupación del día a día y ahora es cuando se ve reflejado su esfuerzo emprendido hace 22 años. Padre se que hemos tenido nuestras diferencias pero no quito crédito a lo que has logrado con mi persona. Madre la mujer más maravillosa que haya conocido jamás se que nunca llegare a ser lo que tu pero también sé que tus valores inculcados me llevaran muy lejos. A ustedes no solo les debo la vida sino lo que soy ahora, los quiero. A mi hermanito Joaquin Gonzalez Melgarejo, por llenarme de vida de ese positivismo que un niño de su edad transmite con facilidad, mi niño te quiero mucho. A ti el gran amor de mi vida Jesús Martínez Cruz, la persona que me brinda su hombro cuando necesito llorar, el que me abraza cuando necesito consuelo, el que me toma de la mano para hacerme entender que no estoy sola, siempre has creído en mi en que podía lograrlo y no te equivocaste, te amo. A mi profesora Mayra Minerva Méndez Anota, por haber aceptado el ser mi directora y apoyarme, orientarme y dedicarle tiempo a la realización de mi trabajo recepcional, que sin su ayuda no hubiese sido posible.
  • 6. A mis amigos, Carina Landa López, Gricelda Cadena García, Ernesto Domínguez Pérez, Rosario Baltazar Aburto y Oscar Gerardo Cayetano Ponce, con quienes compartí más que un salón de clases, sino alegrías, tristezas, aventuras inolvidable, noches de mucho trabajo, han sido parte importante de mi vida, sin ustedes la universidad no hubiese sido la misma, les deseo éxito en todo. A mis profesores, que me orientaron con sus mejores propósitos de difundir conocimiento, valores e ideales, no solo como catedráticos sino también como personas que alguna vez estuvieron en nuestro lugar. A ti, que me ayudaste a ver nuevos horizontes, que me enseñaste que en esta vida lo que vale la pena no es fácil y que los sacrificios rinden frutos hoy solo me queda decirte que ocupas un espacio en mi corazón nunca te olvidare, nuevamente ¡Gracias!
  • 7. IV ÍNDICE RESUMEN .............................................................................................................. 1 INTRODUCCIÓN .................................................................................................... 2 CAPÍTULO I: DISPOSITIVOS MÓVILES ................................................................ 6 1.1 Definición........................................................................................................... 7 1.2 Historia de los dispositivos móviles ................................................................... 7 1.2.1 Primera Generación 1-G............................................................................. 9 1.2.2 Segunda Generación 2-G ......................................................................... 10 1.2.3 Generación Dos Punto Cinco 2.5-G.......................................................... 11 1.2.4. Tercera Generación 3-G .......................................................................... 11 1.3 Tipos de dispositivos móviles. ......................................................................... 12 1.3.1 PDA (Personal Digital Assistant)............................................................... 14 1.3.2 Cámaras Digitales..................................................................................... 16 1.3.3 IPod........................................................................................................... 17 1.3.4 Consola Portátil......................................................................................... 18 1.3.5 Smartphone............................................................................................... 18 1.3.5.1 Arquitectura de un Smartphone .......................................................... 20 1.3.6 Conectividad ............................................................................................. 21 1.3.7 Aplicaciones Móviles................................................................................. 21 1.3.7.1 Tipos de aplicaciones móviles ............................................................ 22 1.3.8 Principales plataformas de desarrollo. ...................................................... 23 Capítulo II: Generalidades de Sistemas Operativos para Aplicaciones Móviles.... 23 2.1 Sistemas Operativos para Móviles .................................................................. 25 2.2 Android............................................................................................................ 25 2.1.1 Historia...................................................................................................... 26 2.1.2 Arquitectura............................................................................................... 26 2.1.3 Seguridad en Android ............................................................................... 28 2.1.4 Componentes de una aplicación............................................................... 30 2.1.5 Kit de desarrollo ........................................................................................ 31 2.2 Symbian .......................................................................................................... 33
  • 8. V 2.2.1 Historia...................................................................................................... 34 2.2.2 Características principales ........................................................................ 35 2.2.3 Lenguaje que soporta ............................................................................... 36 2.2.4 Arquitectura............................................................................................... 36 2.2.5 Kit de desarrollo ........................................................................................ 37 2.3 IOS (IPhone) ................................................................................................... 38 2.3.1 Historia...................................................................................................... 39 2.3.2 Arquitectura............................................................................................... 39 2.3.3 Características Principales........................................................................ 40 2.3.4 Kit de desarrollo..................................................................................... 42 2.4 BlackBerry OS................................................................................................. 44 2.4.1 Historia...................................................................................................... 45 2.4.2 Arquitectura............................................................................................... 45 2.4.3 Características principales ........................................................................ 52 2.4.4 Kit de desarrollo ........................................................................................ 52 2.5 Windows Phone .............................................................................................. 53 2.5.1 Historia...................................................................................................... 54 2.5.2 Arquitectura............................................................................................... 55 2.5.3 Características principales ........................................................................ 56 2.5.4 Kit de desarrollo ........................................................................................ 57 Capítulo III: Bases de Datos para Aplicaciones Móviles ....................................... 58 3.1 Sistemas Gestores de Bases de Datos Móviles.............................................. 60 3.1.1 Aplicaciones móviles y tipos de datos....................................................... 61 3.2 Oracle Database Lite 10g................................................................................ 62 3.2.1 Arquitectura de las aplicaciones de Oracle Database Lite 10g ................. 62 3.2.2 Características principales ........................................................................ 64 3.2.3 Principales beneficios ............................................................................... 66 3.3 SQL Anywhere ................................................................................................ 67 3.3.1 Arquitectura de SQL Anywhere................................................................. 67 3.3.3 Casos de Uso en Aplicaciones Móviles .................................................... 67 3.3.4 Principales beneficios ............................................................................... 70
  • 9. VI 3.4 SQLite ............................................................................................................. 71 3.4.1 Arquitectura SQLite................................................................................... 72 3.4.2 Principales Características........................................................................ 73 3.4.3 Casos en los que es adecuado el uso de SQLite...................................... 74 3.4.4 Limitaciones .............................................................................................. 75 3.5 Almacenamiento Aislado................................................................................. 75 CONCLUSIONES.................................................................................................. 77 FUENTES DE INFORMACIÓN ............................................................................. 82 GLOSARIO............................................................................................................ 84 ÍNDICE DE FIGURAS ........................................................................................... 88
  • 10. 1 RESUMEN Hace relativamente poco tiempo, las empresas que desarrollan aplicaciones móviles, buscaban realizar un solo desarrollo multiplataforma, y que valiera para el mayor número de dispositivos posible. El costo de desarrollar estas aplicaciones es alto ya que se necesita realizar adaptaciones para sacar el mayor rendimiento de cada dispositivo; ahora lo que se efectúa es el desarrollo de aplicaciones nativas para cada plataforma. El interés por crear aplicaciones para Dispositivos Móviles ha aumentado en la misma medida que estos han demostrado su funcionalidad. Cuando se considera elaborar aplicaciones móviles, la principal dificultad es la elección de una plataforma de desarrollo, entendida como una combinación de metodología de análisis y diseño de sistemas, lenguaje de programación, sistema operativo, entre otros.
  • 12. 3 El mundo de la tecnología es cambiante. El pasado es hace un año, y el futuro es dentro de un minuto. Esto se acentúa en la tecnología móvil, donde los cambios son constantes. Una empresa dedicada al desarrollo de software para móvil, no puede permitirse el desconocer las plataformas más importantes que envuelven el mercado. En el primer capítulo se menciona ¿que son los dispositivos móviles? Así como su historia y los tipos que existen esto es debido a que si hablamos de software para móviles debemos tener en cuenta que no existe desarrollo si no tenemos donde aplicarlo. Los dispositivos móviles han contribuido para que la sociedad se mantenga comunicada, no solo por llamadas y SMS, sino también mediante el acceso a internet que nos permite estar en línea por medios como el chat o mensajeros, correos electrónicos, video-llamadas y las famosas redes sociales (twitter, fecebook, myspace, entre otros). Otro aspecto positivos es el acceso móvil a la información ya que ha aumentado su importancia en el entorno de trabajo gracias a la capacidad de acceder y gestionar documentos, y no podemos dejar atrás la comodidad que nos proporcionan debido a que podemos navegar por la red cuando queramos no importando en el espacio que nos encontremos. Cabe mencionar que los dispositivos móviles tienen utilidades varias, la principal es la comunicación; sin embargo el crecimiento tecnológico y las necesidades banales de las personas han incrementado el uso de estos aparatos no solo para realizar llamadas o mensajes sino también para su diversión, entretenimiento y organización con juegos interactivos, música, calendarios, agendas, relojes, calculadoras todos ellos llamados como widgets que no son más que mini
  • 13. 4 aplicaciones o programas que son diseñados para proveer información y mejorar la apariencia de los dispositivos. El segundo capítulo recopila información acerca de los sistemas operativos para móviles, es muy significativo conocerlos ya que juegan un papel muy importante en el desarrollo de las aplicaciones, puesto que a la hora de comprar nuestro móvil no solo hay que escoger el diseño del mismo si no también las características del sistema para que nos permita realizar las tareas que nosotros deseamos, en consecuencia de que no hagamos esta detallada elección podemos quedar insatisfechos en la compra. La utilidad que se le da a cada uno de ellos es amplia aunque en la actualidad pretendemos hacer todo con solo uno de nuestros dispositivos por ende el desarrollo de aplicaciones para cada uno de los SO móviles debe ser personalizable, estético y servible. Se hace hincapié en que existen varios sistemas operativos pero los fabricantes solo utilizan algunos y sobre todo cuando son marcas propias como lo es IOS propio de IPhone entre otros. Los SO móviles más utilizados hoy en día son Symbian, Android, Blackberry OS, IOS y Windows Phone, cada uno de ellos con sus características propias, arquitectura, lenguaje y diseño propio cada uno ciertamente competitivo. No obstante los desarrolladores deben considerar las limitantes de dichos SO en el desarrollo de las aplicaciones, considerando una metodología de análisis y diseño adecuado, muy probablemente orientada a objetos teniendo en cuenta las restricciones propias del dispositivo y la correcta aplicación de la plataforma con un desarrollo eficiente, rápido y económico. En el capítulo final hacemos mención de bases de datos para móviles otra parte muy importante para la creación de aplicaciones ya que estos nos permiten la portabilidad de la información siempre y cuando tengamos conexión a internet,
  • 14. 5 también nos proporciona la independencia de datos en los programas y procesos ya que permiten acceder a los datos sin cambiar de aplicación. Además se explicaran algunos de los Sistemas Gestores de Bases de Datos Móviles como son Oracle Database 10g , SQL Anywhere, SQLite y almacenamiento aislado, estos son las principales BD utilizadas por los desarrolladores de aplicaciones móviles para los distintos dispositivos móviles de los cuales se desprenden los smartphones, tables, ipads, y algunos otros. Algunas de las empresas que se dedican a la elaboración de sistemas utilizando estos SGBD son Android, Symbian y Blackberry. El objetivo de ocupar estos sistemas es la adecuada administración de los datos para que al usuario le sea más sencillo y seguro acceder a ellos; además proporcionan gran soporte a múltiples plataformas y cuentan con una característica principal dentro mundo empresarial siendo este el rendimiento en el trabajo y así mismo en los procesos organizacionales. Cada uno de los capítulos es complementario para comprender la importancia que tienen las aplicaciones en un dispositivo móvil es necesario conocer cada característica desde la arquitectura de un hardware (peso, tamaño, portabilidad, color, teclado, pantalla, audio, cámara) hasta el software (almacenamientos, multimedia, conectividad, accesibilidad, paquetería, plataforma, SO, red, seguridad) que hace posible tener todo integrado. Si nuestro dispositivo llegase a cubrir todos estos aspectos con gran calidad y estética, no solo hablaríamos de estar a la vanguardia sino de vivir una experiencia única con la mejor tecnología en nuestras manos.
  • 16. 7 1.1 Definición Los dispositivos móviles se pueden definir como aquellos microordenadores que son lo suficientemente ligeros como para ser transportados por una persona, y que disponen de la capacidad de batería suficiente para poder funcionar de forma autónoma (Escuela de Administración Pública de Castilla y León, 2011). Los dispositivos móviles son aquellos suficientemente pequeños para ser transportados y empleados durante su transporte. Normalmente se sincronizan con un sistema de sobremesa para actualizar aplicaciones y datos (Fernández Luna, 2006). Los dispositivos móviles son aparatos de tamaño pequeño que cuentan con características tales como capacidades especiales de procesamiento, conexión permanente o intermitente a una red, memoria limitada, diseños específicos para una función especial y versatilidad para el desarrollo de otras funciones, tanto su posesión como su operación se asocia al uso individual de una persona, lo cual puede configurarlos a su gusto (UNAM, 2010). 1.2 Historia de los dispositivos móviles La telefonía móvil usa ondas de radio para poder ejecutar todas y cada una de las operaciones, realizar una llamar, mandar un mensaje de texto, entre otras, y esto es producto de lo que sucedió hace algunas décadas (Fernández & Fernández, 2004).
  • 17. 8 La comunicación inalámbrica tiene sus raíces en la invención del radio por Nikola Tesla en los años 1880, aunque formalmente presentado en 1894 por un joven italiano llamado Guglielmo Marconi. El teléfono móvil se remonta a los inicios de la Segunda Guerra Mundial, donde ya se veía que era necesaria la comunicación a distancia, es por eso quela compañía Motorola creó un equipo llamado Handie Talkie H12-16, que es un equipo que permite el contacto con las tropas vía ondas de radio que en ese tiempo no superaban más de 600 kHz. Fue sólo cuestión de tiempo para que las dos tecnologías de Tesla y Marconise unieran y dieran a la luz la comunicación mediante radio-teléfonos: Martin Cooper, pionero y considerado como el padre de la telefonía celular, al introducir el primer radio teléfono, en 1973, en Estados Unidos, mientras trabajaba para Motorola. En 1979 aparecieron los primeros sistemas a la venta en Tokio (Japón), fabricados por la Compañía NTT. Los países europeos no se quedaron atrás y en 1981 se introdujo en Escandinavia un sistema similar a AMPS (Advanced Mobile Phone System). Y si bien Europa y Asia dieron los primeros pasos, en Estados Unidos, gracias a que la entidad reguladora de ese país adoptó reglas para la creación de un servicio comercial de telefonía celular, en 1983 se puso en operación el primer sistema comercial en la ciudad de Chicago. En conclusión, este fue el inicio de una de las tecnologías que tuvo gran aceptación, en sentido a la necesidad de desarrollar e implementar otras formas de acceso múltiple al canal, y transformar los sistemas analógicos y digitales, con el objeto de darles capacidad a más usuarios.
  • 18. 9 1.2.1 Primera Generación 1-G Hizo su aparición 1979 y se caracterizó por ser análoga y estrictamente para voz, es decir que la transmisión y recepción de datos se apoyaba sobre un conjunto de ondas de radio que cambiaban de modo continuo. La calidad de los enlaces era muy baja, tenían poca velocidad (2400 bauds) y en cuanto a la transferencia era muy imprecisa. El hecho de que fueran analógicos traía consigo una serie de inconvenientes, su seguridad nula posibilitaba escuchar llamadas ajenas con un simple sintonizador de radio o, incluso hacer uso de las frecuencias cargando el importe de las llamadas a otras personas. Los estándares más utilizados se mencionan a continuación y se definen según el Glosario Técnico de Telecom.  NMT (Nordic Mobile Telephone) Es un sistema de telefonía móvil que se creó en 1981 como una respuesta a la creciente congestión y los requisitos pesados de la red de telefonía móvil ARP. Se basa en la tecnología analógica (la primera generación o 1G) y dos variantes existentes: NMT 450 y NMT 900. Los números indican las bandas de frecuencia utiliza. NMT 900 se introdujo en 1986, ya que tiene más canales que la anterior red NMT 450.  AMPS (Advanced Mobile Phone System) Es un sistema analógico que utiliza diferentes portadoras de frecuencia para crear canales de comunicaciones en una técnica conocida como acceso múltiple por división de frecuencia (FDMA). El AMPS sigue utilizándose ampliamente y constituye la base de cierto número de otras normas de radiocomunicaciones celulares tales como TACS (Total Access Communications System y D-AMPS (Digital Advanced Mobile PhoneSystem).
  • 19. 10 1.2.2 Segunda Generación 2-G Arribo hasta 1990 y a diferencia de la primera se definió por ser digital, permitiendo, mediante la introducción de una serie de protocolos, la mejora del manejo de llamadas, más enlaces simultáneos en el mismo ancho de banda y la integración de otros servicios adicionales al de la voz, de entre los que destaca el Servicio de Mensajes Cortos (Short Message Service). Estos protocolos fueron implementados por diversas compañías, siendo este hecho el origen de uno de los principales problemas de esta generación la incompatibilidad entre protocolos, debido a que el radio de utilización del teléfono quedaba limitado al área en el que su compañía le diera soporte. Estándares más utilizados.  GSM (Global System for Mobile Communications/Sistema Global para Comunicaciones Móviles). El GSM da soporte a voz, datos y mensajería de texto, y permite la itinerancia entre diferentes redes (lo que significa que los usuarios GSM pueden llevar consigo sus teléfonos a muchas partes del mundo). Los sistemas GSM operan actualmente a 800 MHz, 900 MHz, 1 800 MHz o 1 900 MHz.  CDMA (Code Division Multiple Access/Acceso Múltiple por División de Código) En el CDMA los canales de comunicaciones se crear asignando un esquema de codificación especial a los flujos de información. Los sistemas de radiocomunicaciones celulares de segunda generación basados en el AMDC se utilizan en partes de Asia y de América del Norte y del Sur.
  • 20. 11  GPRS (General Packet Radio Service/Servicio General de Radio por Paquetes). Las conexiones GPRS están siempre abiertas, lo que permite a los usuarios de terminales móviles el mismo tipo de disponibilidad de red que la que puede obtenerse en las redes empresariales. No hay tiempos de establecimiento ni de liberación asociados con las llamadas de datos efectuadas vía GPRS. Por tanto, los terminales pueden formar parte efectiva de la Internet. 1.2.3 Generación Dos Punto Cinco 2.5-G Muchos de los proveedores de servicios de telecomunicaciones, se moderan a las redes 2.5G antes de entrar masivamente a la 3. La tecnología 2.5G es más rápida, y más económica para actualizar a 3G. La generación 2.5G ofrece características extendidas, ya que cuenta con más capacidades adicionales que los sistemas 2G, como: GPRS (General Packet Radios System), HSCSD (High Speed Circuit Switched), EDGE (Enhanced Data ratesfor Gobal Evolution), IS-136B eIS-95m entre otros. 1.2.4. Tercera Generación 3-G El año 2001 fue un año revolucionario en el ámbito de la telefonía móvil ya que se especializa por contener a la convergencia de voz y datos con accesos inalámbrico a Internet; en otras palabras, es apta para aplicaciones multimedia y altas transmisiones de datos.
  • 21. 12 Todo este conjunto de nuevos servicios integrados en el terminal junto con un nuevo estándar dieron lugar a la denominada hoy en día ”tercera generación de móviles” o móviles 3G, siendo esta la tecnología actual. Estándar más utilizado:  UMTS (Universal Mobile Telecommunications System /Servicios Universales de Comunicaciones Móviles). Es un llamado de "Tercera Generación (3G)," de banda ancha , de paquetes basado en la transmisión de texto, voz digitalizada, vídeo y multimedia a velocidades de datos hasta y posiblemente superior a 2 megabits por segundo (Mbps ), que ofrece un conjunto consistente de servicios de informática móvil y los usuarios de teléfonos sin importar dónde se encuentren en el mundo. 1.3 Tipos de dispositivos móviles. La clasificación que aquí se propone utilizar como principal criterio la funcionalidad o servicio principal para la que ha sido diseñado bien el propio dispositivo móvil, o bien aquel dispositivo del que directamente procede y del que supone una evolución mejorada. Tal y como se deduce de todo lo anteriormente explicado, la pertenencia a una categoría concreta no implica en absoluto que el dispositivo no pueda ofrecer otras muchas características propias de otras categorías. Dicho la anterior, los dispositivos móviles pueden ser clasificados en los siguientes grupos (Ortí Pascual, 2011):
  • 22. 13  Dispositivo de comunicación Un dispositivo de comunicación es aquel dispositivo móvil cuyo cometido principal es ofrecer una infraestructura de comunicación, principalmente telefónica. Estos dispositivos ofrecen además servicios como el envío de mensajes SMS y MMS, o acceso WAP. En esta categoría se incluiría el tradicional teléfono móvil, precursor indiscutible dentro de los dispositivos móviles, BlackBerry y Smartphone, que amplía considerablemente las prestaciones del primero mediante pantalla táctil, conexión a Internet o la ejecución de aplicaciones (por ejemplo, iPhone o HTC G1).  Dispositivo de computación Los dispositivos de computación son aquellos dispositivos móviles que ofrecen mayores capacidades de procesamiento de datos y cuentan con una pantalla y teclado más cercanos a una computadora de sobremesa. Dentro de este grupo encontramos a las PDA, muy populares a finales de los años 90 y que permitían al usuario disponer de un organizador mucho más completo que los ofrecidos por los teléfonos móviles del momento, e incluso en ocasiones la visualización de documentos o acceso a Internet. Por otro lado, dispositivo de computación también es un ordenador portátil o laptop, que dentro de los dispositivos móviles son sin duda los que mayores prestaciones hardware ofrecen (igualando o superando a los de sobremesa) pero también los que tienen, con diferencia, un mayor tamaño, peso y precio. Las calculadoras gráficas pueden ser igualmente incluidas en este grupo de dispositivos de computación.  Reproductor multimedia Un reproductor multimedia es aquel dispositivo móvil que ha sido específicamente diseñado para proporcionar al usuario la reproducción de uno o varios formatos de datos digitales, ya sea audio, vídeo o imágenes. Dentro de estos dispositivos
  • 23. 14 encontramos reproductores de MP3, los DVD portátiles, los eBooks, y en los últimos años los reproductores multimedia de la popular familia iPod de Apple, que ofrecen tanto audio y como vídeo. Estos dispositivos son con frecuencia los de más reducido tamaño y, junto a los teléfonos móviles y smartphones, los más extendidos.  Grabador multimedia Dentro de los dispositivos móviles, un grabador multimedia es aquel dispositivo que posibilita la grabación de datos en un determinado formato digital, principalmente de audio y vídeo. En esta categoría se hallan las cámaras fotográficas digitales o las cámaras de vídeo digital.  Consola portátil Una consola portátil es un dispositivo móvil cuya única función es la de proporcionar al usuario una plataforma de juego. Las consolas portátiles fueron, junto a los teléfonos, los primeros dispositivos móviles en convertirse en un producto de masas. Hoy en día representan un importantísimo volumen de ventas dada su gran aceptación en la sociedad y son objeto de auténticas guerras comerciales entre las principales compañías del sector. Algunos ejemplos de esta categoría son la Nintendo DS de Nintendo, o la PSP de Sony. 1.3.1 PDA (Personal Digital Assistant) Un PDA (Personal Digital Assistant o Ayudante personal digital) es un dispositivo de pequeño tamaño que combina un ordenador, teléfono/fax, Internet y conexiones de red, véase Figura 1.1.
  • 24. 15 A los PDAs también se les llama palmtops, handheld computers (computadoras de mano) y pocket computers (computadoras de bolsillo). Un PDA típico puede funcionar como teléfono móvil, fax, explorador de internet, organizador personal, GPS, etc. Su funcionalidad principal es servir como organizadores, con agenda, calendario, gestión de contactos, y posteriormente han ido creciendo, de forma que actualmente sirven tanto como aparatos en los que leer un libro como en los que encontrarse en un mapa. La línea que los separa de los teléfonos es cada vez más difusa. La mayoría de PDAs empezaron a usarse con una especie de bolígrafo en lugar de teclado, por lo que incorporaban reconocimiento de escritura a mano. Hoy en día los PDAs pueden tener teclado y/o reconocimiento de escritura. Algunos PDAs pueden incluso reaccionar a la voz, mediante tecnologías de reconocimiento de voz. Figura 1.1 PDA Fuente: http://ticintheclassroom.blogspot.com/2010/10/pda-en-educacion.html
  • 25. 16 1.3.2 Cámaras Digitales Las cámaras digitales permiten tomar fotografías, pero almacenándolas en una memoria digital, al contrario de las cámaras convencionales en las cuales la imagen queda expuesta finalmente en un papel, por medio de un proceso químico. Véase Figura 1.2. En las cámaras digitales, las imágenes, quedan registradas en una placa que posee millones de sensores, la cual traspasa la información, a la memoria. Elemento electrónico, donde se archivan o almacenan las imágenes obtenidas. En la mayoría de las cámaras digitales, las fotografías se pueden observar de manera instantánea, en el visor de la misma. De aquella manera, se puede decidir, de manera inmediata, si la fotografía es del gusto de uno o no. Ya que de no serlo, se puede borrar de la memoria de manera instantánea. Figura 1.2 Cámara Digital Fuente: http://www.memoringo.com/blog/2011/08/%C2%BFcomo-escoger-una-camara-digital/
  • 26. 17 1.3.3 IPod El iPod es un reproductor de música portátil y de pequeño tamaño creado por Apple Computer. Ver Figura1.3. En realidad es un reproductor de audio digital y un disco duro portátil con capacidad de 10GB, 15GB o 30GB. Puede ser conectado con un ordenador a través de un puerto fireware o USB. Los usuarios pueden transferir canciones a su iPod con su ordenador y el software del iPod. Es posible cargar un CD entero en un iPod en tan sólo 10 segundos, y se pueden cargar hasta 10.000 canciones (o a audiolibros) en el iPod. Conocido como extremadamente fácil de usar, se navega en el iPod con una "rueda de tacto" diseñada para ser utilizada con una sola mano. Además soporta la mayoría de formatos de archivos de audio, incluyendo MP3 y WAV. También incluye una variedad de funciones adicionales, incluyendo juegos, un calendario, un despertador, notas de voz, y notas del texto. Figura 1.3 IPOD Fuente: http://www.ipodtotal.com/noticias/nuevo-ipod-classic
  • 27. 18 1.3.4 Consola Portátil En realidad esta categoría debería llamarse “dispositivos orientados a jugar”, porque son más que simples consolas. Los dos ejemplos actualmente en el mercado son la Sony PlayStation Portable (PSP) y la Nintendo DS, que no sólo sirven para jugar, sino que integran algunas de las funcionalidades típicas de una PDA, como reproducción de archivos multimedia, integración con agenda y calendario, o navegador de Internet. Véase Figura 1.4 Figura 1.4 Consola Portátil PSP Fuente: http://www.gadgetoweb.com/analisis-de-consolas-portatiles/ 1.3.5 Smartphone Dentro de los dispositivos móviles, un smartphone (cuya traducción en español sería “teléfono inteligente”) es una evolución del teléfono móvil tradicional que cuenta con ciertas características y prestaciones que lo acercan más a un ordenador personal que a un teléfono tradicional. Ver figura 1.5
  • 28. 19 Entre dichas características, se puede encontrar una mejora en la capacidad de proceso y almacenamiento de datos, conexión a Internet mediante Wi-Fi, pantalla táctil, acelerómetro, posicionador geográfico, teclado QWERTY y diversas aplicaciones de usuario como navegador web, cliente de correo, aplicaciones ofimáticas, reproductores de vídeo y audio, etc. incluyendo la posibilidad de descargar e instalar otras nuevas. A pesar de estas importantes mejoras con respecto a sus predecesores móviles, el reducido tamaño de los smartphones conlleva inexorablemente limitaciones de hardware que los mantienen claramente diferenciados de las computadoras convencionales. Estas limitaciones se reflejan principalmente en pantallas más pequeñas, menor capacidad del procesador, restricciones de memoria RAM y memoria persistente, y necesidad de adaptar el consumo de energía a la capacidad de una pequeña batería. Estas limitaciones obligan a tener muy presente la capacidad real del dispositivo a la hora de desarrollar su software, ya sean aplicaciones de usuario o el propio sistema operativo. Figura 1.5 Smartphone Samsung Galaxy2 Fuente:http://www.internetmovil.com/blog/samsung-galaxy-s2-el-nuevo-smartphone-de-samsung/
  • 29. 20 1.3.5.1 Arquitectura de un Smartphone Bianco (2005) menciona tres componentes principales: La unidad central de proceso (CPU, es la encargada de llevar a cabo las operaciones aritméticas y lógicas, es decir, el procesamiento de la información.), una unidad de memoria de almacenamiento permanente (contiene el sistema operativo con todos los elementos necesarios para su funcionamiento: archivos de inicio del sistema, drivers y aplicaciones que vienen desde fábrica.) y una unidad de memoria RAM (s exclusivamente para la ejecución del sistema operativo y aplicaciones). Véase la figura 1.1. Figura 1.6 Arquitectura de un Smartphone Fuente:http://www.ub.edu.ar/investigaciones/tesinas/155_bianco.pdf
  • 30. 21 1.3.6 Conectividad La conectividad hoy en día es muy importante ya que para sacar el máximo partido a todas las funcionalidades que ofrecen cada uno de los dispositivos móviles es indispensable contar con acceso a Internet. En este sentido, se valora enormemente el hecho de que cuenten con acceso WiFi, así como conectividad 3G que permitan conectarse a internet desde cualquier lugar. Estas son algunas opciones de conectividad: TCP/IP Con cable  Cable al PC: Alta velocidad, conectividad son costo, (USB).  Modem: Velocidad 56 kbit/s, costo por plan. TCP/IP sin cables  Wi-fi: Velocidad 54 Mbits/s, Costo aplica por el acceso a la Wi-fi  Wman: Velocidad 2 Mbits/s, Costo plan WiMax.  Red celular: Velocidad 28 Kbits/s Otros  Cable Serial/USB  Bluetooth  Infrarrojo 1.3.7 Aplicaciones Móviles Este tipo de aplicaciones son llamadas así porque la instalación y uso se hace en un dispositivo móvil, sus funcionalidades son las de utilizar herramientas, realizar tareas o simplemente divertirnos desde cualquier lugar a cualquier hora, ya que los dispositivos mayormente son portables y los usuarios los traen consigo.
  • 31. 22 1.3.7.1 Tipos de aplicaciones móviles Desde un punto vista técnico, las aplicaciones móviles se pueden clasificar de acuerdo al entorno en el cual se ejecutan, de esta forma, se pueden distinguir 7 grupos: 1. Aplicaciones de sistema. Estas aplicaciones estarán relacionadas al funcionamiento de nuestro terminal, como podrían ser compresores de archivos, seguridad del terminal, registro de llamadas, gestión de mensajes, etc. 2. Aplicaciones ofimáticas. Las aplicaciones ofimáticas son aquellas que nos permiten trabajar con documentos de texto, hojas de cálculo, archivos PDF, etc. 3. Organización. Este tipo de aplicaciones irán destinadas a la organización de nuestros datos, contactos, notas, entre otros, como podrían ser el calendario, gestor de contactos, etc. 4. Aplicaciones web. Para poder utilizar este tipo de aplicaciones hará falta una conexión de Internet en nuestro móvil. Un ejemplo de este tipo de aplicaciones serían el GPS, correo electrónico, Google Maps, navegadores web, etc. 5. Aplicaciones Sociales. Dedicadas a las redes sociales como son Facebook, Twitter, Hi5, etc.
  • 32. 23 6. Aplicaciones de accesibilidad. Este tipo de aplicaciones facilitará el uso del terminal para personas con algún tipo de discapacidad. Ejemplos de estas aplicaciones son el reconocimiento de voz, reconocimiento de caracteres, lectura de texto, etc. 7. Aplicaciones de Multimedia. Permiten a los usuarios moverse por la información de modo intuitivo. Algunas de las más utilizadas son las aplicaciones que, ya sea mediante 3G o conexión wifi, permiten al usuario mantenerse en contacto con otros sin necesidad de enviar mensajes SMS ni hacer llamadas cortas de teléfono. 1.3.8 Principales plataformas de desarrollo. A medida que los teléfonos móviles crecen en popularidad, las plataformas de desarrollo con los que funcionan adquieren mayor importancia. El mercado se rige por Symbian, Apple, Google, RIM y Microsoft como los mas importantes, y entre los varios ya casi inexistentes estan Badoo y Meego. Vease la siguiente gráfica Figura 1.6. Figura 1.7 Plataformas de Desarrollo Móvil Fuente: http://www.microsiervos.com/archivo/gadgets/principales-plataformas-moviles-europa.html
  • 33. Capítulo II: Generalidades de Sistemas Operativos para Aplicaciones Móviles
  • 34. 25 2.1 Sistemas Operativos para Móviles Los dispositivos móviles también tienen sus propios sistemas operativos, aunque son menos famosos que los de PC. Por norma general, antes de la compra de un dispositivo son pocos los usuarios que atienden al sistema operativo que se instala en dicho dispositivo ya sea PDA, Pocket PC, PSP entre otros y mucho menos lo hacen en un teléfono inteligente. A continuación se detallan los Sistemas Operativos Móviles mas utilizados para el desarrollo de aplicaciones para dispositivos móviles. 2.2 Android Android es un sistema operativo inicialmente pensado para teléfonos móviles, al igual que iOS, Symbian y Blackberry OS. Lo que lo hace diferente es que está basado en Linux, un núcleo de sistema operativo libre, gratuito y multiplataforma. El sistema permite programar aplicaciones en una variación de Java llamada Dalvik. El sistema operativo proporciona todas las interfaces necesarias para desarrollar aplicaciones que accedan a las funciones del teléfono (como el GPS, las llamadas, la agenda, etc.) de una forma muy sencilla en un lenguaje de programación muy conocido como es Java.
  • 35. 26 2.1.1 Historia Android era un sistema operativo para móviles prácticamente desconocido hasta que en 2005 Google lo compró. Hasta noviembre de 2007 sólo hubo rumores, pero en esa fecha se lanzó la Open Handset Alliance, que agrupaba a muchos fabricantes de teléfonos móviles, chipsets y Google y se proporcionó la primera versión de Android, junto con el SDK para que los programadores empezaran a crear sus aplicaciones para este sistema. Aunque los inicios fueran un poco lentos, debido a que se lanzó antes el sistema operativo que el primer móvil, rápidamente se ha colocado como el sistema operativo de móviles más vendido del mundo, situación que se alcanzó en el último trimestre de 2010. En febrero de 2011 se anunció la versión 3.0 de Android, llamada con nombre en clave Honeycomb, que está optimizado para tabletas en lugar de teléfonos móviles. Por tanto Android ha transcendido los teléfonos móviles para trascender a dispositivos más grandes. 2.1.2 Arquitectura Su diseño cuenta, entre otras, con las siguientes características:  Busca el desarrollo rápido de aplicaciones, que sean reutilizables y verdaderamente portables entre diferentes dispositivos.  Los componentes básicos de las aplicaciones se pueden sustituir fácilmente por otros.
  • 36. 27  Cuenta con su propia máquina virtual, Dalvik, que interpreta y ejecuta código escrito en Java.  Permite la representación de gráficos 2D y 3D.  Posibilita el uso de bases de datos.  Soporta un elevado número de formatos multimedia.  Servicio de localización GSM.  Controla los diferentes elementos hardware: Bluetooth, Wi-Fi, cámara fotográfica o de vídeo, GPS, acelerómetro, infrarrojos, etc., siempre y cuando el dispositivo móvil lo contemple.  Cuenta con un entorno de desarrollo muy cuidado mediante un SDK disponible de forma gratuita.  Ofrece un plug-in para uno de los entornos de desarrollo más populares, Eclipse, y un emulador integrado para ejecutar las aplicaciones. La capa más inmediata es la corresponde al núcleo de Android. Android utiliza el núcleo de Linux 2.6 como una capa de abstracción para el hardware disponible en los dispositivos móviles. Esta capa contiene los drivers necesarios para que cualquier componente hardware pueda ser utilizado mediante las llamadas correspondientes. Para mayor ilustración ver la figura 2.1. Siempre que un fabricante incluya un nuevo elemento de hardware, lo primero que se debe realizar para que pueda ser utilizado desde Android es crear las librerías de control o drivers necesarios dentro de este kernel de Linux embebido en el propio Android. La elección de Linux 2.6 se ha debido principalmente a dos razones: la primera, su naturaleza de código abierto y libre se ajusta al tipo de distribución que se buscaba para Android (cualquier otra opción comercial disponible hoy día hubiera comprometido la licencia de Apache); la segunda es que este kernel de Linux incluye de por sí numerosos drivers, además de contemplar la gestión de
  • 37. 28 memoria, gestión de procesos, módulos de seguridad, comunicación en red y otras muchas responsabilidades propias de un sistemas operativo. La siguiente capa se corresponde con las librerías utilizadas por Android. Éstas han sido escritas utilizando C/C++ y proporcionan a Android la mayor parte de sus capacidades más características. Junto al núcleo basado en Linux, estas librerías constituyen el corazón de Android. Al mismo nivel que las librerías de Android se sitúa el entorno de ejecución. Éste lo constituyen las CoreLibraries, que son librerías con multitud de clases de Java, y la máquina virtual Dalvik. Los dos últimos niveles de la arquitectura de Android están escritos enteramente en Java. El framework de aplicaciones representa fundamentalmente el conjunto de herramientas de desarrollo de cualquier aplicación. Toda aplicación que se desarrolle para Android, ya sean las propias del dispositivo, las desarrolladas por Google o terceras compañías, o incluso las que el propio usuario cree, utilizan el mismo conjunto de API y el mismo framework, representado por este nivel. El último nivel del diseño arquitectónico de Android son las aplicaciones. Éste nivel incluye tanto las incluidas por defecto de Android como aquellas que el usuario vaya añadiendo posteriormente, ya sean de terceras empresas o de su propio desarrollo. Todas estas aplicaciones utilizan los servicios, las API y librerías de los niveles anteriores. Figura 2.1. 2.1.3 Seguridad en Android En Android cada aplicación se ejecuta en su propio proceso. La mayoría de las medidas de seguridad entre el sistema y las aplicaciones deriva de los estándares de Linux 2.6, cuyo kernel, recuérdese, constituye el núcleo principal de Android.
  • 38. 29 Figura 2.1 Arquitectura Android Fuente: http://www.xatakandroid.com/sistema-operativo/que-es-android Cada proceso en Android constituye lo que se llama un cajón de arena o sandbox, que proporciona un entorno seguro de ejecución. Por defecto, ninguna aplicación tiene permiso para realizar ninguna operación o comportamiento que pueda impactar negativamente en la ejecución de otras aplicaciones o del sistema mismo. Por ejemplo, acciones como leer o escribir archivos privados del usuario
  • 39. 30 (contactos, teléfonos, etc.), leer o escribir archivos de otras aplicaciones, acceso de red, habilitación de algún recurso hardware del dispositivo, etc., no están permitidas. La única forma de poder saltar estas restricciones impuestas por Android, es mediante la declaración explícita de un permiso que autorice a llevar a cabo una determinada acción habitualmente prohibida. Además, en Android es obligatorio que cada aplicación esté firmada digitalmente mediante un certificado, cuya clave privada sea la del desarrollador de dicha aplicación. No es necesario vincular a una autoridad de certificado, el único cometido del certificado es crear una relación de confianza entre las aplicaciones. Mediante la firma, la aplicación lleva adjunta su autoría. 2.1.4 Componentes de una aplicación Todas las aplicaciones en Android pueden descomponerse en cuatro tipos de bloques o componentes principales. A continuación se exponen los cuatro tipos de componentes en los que puede dividirse una aplicación para Android.  Activity Sin duda es el componente más habitual de las aplicaciones para Android. Un componente Activity refleja una determinada actividad llevada a cabo por una aplicación, y que lleva asociada típicamente una ventana o interfaz de usuario; es importante señalar que no contempla únicamente el aspecto gráfico, sino que éste forma parte del componente Activity a través de vistas representadas por clases como View y sus derivadas. Este componente se implementa mediante la clase de mismo nombre Activity.
  • 40. 31  BroadcastIntent Receiver Un componente BroadcastIntent Receiver se utiliza para lanzar alguna ejecución dentro de la aplicación actual cuando un determinado evento se produzca (generalmente, abrir un componente Activity). Por ejemplo, una llamada entrante o un SMS recibido. No tiene interfaz de usuario asociada, pero puede utilizar el API Notification Manager, mencionada anteriormente, para avisar al usuario del evento producido a través de la barra de estado del dispositivo móvil. Este componente se implementa a través de una clase de nombre BroadcastReceiver.  Service Un componente Service representa una aplicación ejecutada sin interfaz de usuario, y que generalmente tiene lugar en segundo plano mientras otras aplicaciones (éstas con interfaz) son las que están activas en la pantalla del dispositivo.  Content Provider Con el componente Content Provider, cualquier aplicación en Android puede almacenar datos en un fichero, en una base de datos SQLite o en cualquier otro formato que considere. Además, estos datos pueden ser compartidos entre distintas aplicaciones. Una clase que implemente el componente Content Provider contendrá una serie de métodos que permite almacenar, recuperar, actualizar y compartir los datos de una aplicación. 2.1.5 Kit de desarrollo Es un conjunto de herramientas y programas necesarios para que los desarrolladores lleven a cabo su trabajo.
  • 41. 32 Resumen de los pasos que debe seguir para configurar el SDK de Android: 1. Prepare su equipo de desarrollo y asegurar que cumple con los requisitos del sistema. 2. Instalar el paquete de inicio SDK de la tabla anterior. (Si estás en Windows, descargar el instalador para obtener ayuda con la configuración inicial.) 3. Instalar el plugin ADT para Eclipse (si va a estar en desarrollo en Eclipse). 4. Añadir las plataformas Android y otros componentes de su SDK. 5. Explora el contenido de la SDK de Android (opcional). El SDK de Android y AVD Manager es la herramienta que se utiliza para instalar y actualizar los componentes del SDK en su entorno de desarrollo. Puede lanzar el SDK de Android y AVD Manager en una de las siguientes maneras.  Lanzamiento de Eclipse / ADT Si está desarrollando en Eclipse y ya ha instalado el plugin de ADT, siga estos pasos para acceder a la herramienta SDK de Android y AVD Manager: 1. Abierto Eclipse 2. Seleccione Ventana > Android SDK y AVD Manager.  Lanzamiento de la escritura SDK Manager (sólo Windows) Sólo para Windows, el SDK incluye un script que invoca el SDK de Android y AVD Manager. Para lanzar la herramienta con el script, haga doble clic en SDK Manager.exe en la raíz del directorio del SDK.  Línea de comandos En todos los entornos de desarrollo, siga estos pasos para acceder a la herramienta SDK de Android y AVD Manager desde la línea de comandos: 1. Vaya a la < sdk > / tools / directorio. 2. Ejecutar el androide comando de la herramienta, sin opciones.
  • 42. 33 Los siguientes son los pasos para instalar los nuevos componentes de SDK en su entorno: 1. El lanzamiento del SDK de Android y AVD Manager como se describe en la sección anterior. 2. Seleccione los paquetes disponibles en el panel izquierdo. Esto revelará todos los componentes que están actualmente disponibles para descargar desde el repositorio de SDK. 3. Seleccione el componente (s) que desea instalar y haga clic en Instalar seleccionada. (Si usted no está seguro de que los paquetes para elegir, leer los componentes recomendados .) 4. Verificar y aceptar los componentes que desea (asegurarse de que cada uno se selecciona con una marca verde) y haga clic en Instalar. Los componentes se instalará ahora en su actual directorio SDK de Android. 5. Las nuevas plataformas se guardan automáticamente en el <sdk> / plataformas / directorio de su SDK, nuevos add-ons se guardan en la <sdk> / complementos /directorio; muestras se guardan en la <sdk> / samples/android- < nivel de>/, y la nueva documentación se guarda en el actual <sdk> / docs / directorio (documentos antiguos se sustituyen). 2.2 Symbian Symbian es un sistema operativo que fue producto de la alianza de varias empresas de telefonía móvil, entre las que se encuentran Nokia, Sony Ericsson, Psion, Samsung, Siemens, Arima, Benq, Fujitsu, Lenovo, LG, Motorola, Mitsubishi Electric, Panasonic, Sharp, etc. Sus orígenes provienen de su antepasado EPOC32, utilizado en PDA's y Handhelds de PSION.
  • 43. 34 El objetivo de Symbian fue crear un sistema operativo para terminales móviles que pudiera competir con el de Palm o el Windows Mobile de Microsoft y ahora Android de Google Inc., IOS de Apple Inc. y Blackberry 6 RIM. 2.2.1 Historia En 1998 la sociedad SymbianLtd es formada entre Ericsson, Nokia, Motorola y Psion, para explorar la convergencia entre PDA’s y teléfonos móviles. En los años de 1998 – 2008 consolidan en el mercado Para el año 2008 este su mercado creció como se muestra en la figura 2.2 El 24 de Junio de 2008, Nokia decidió compara Symbian, adquiriendo el 52% restantes de las acciones de la compañía. En octubre de 20008 se crea la Fundación Symbian. Cooperan Sony Ericsson, Motorola, Samsung, prometiendo que Symbian SO, se convertirá en un proyecto de plataforma abierta, como se muestra en la siguiente imagen (Figura 2.2). En 2010 el 4 de febrero Symbian completó la migración hacia el mundo de código abierto, dentro de los términos de la Eclipse Public License y otras licencias open source. El código ya está disponible, se puede acceder a él en la página web de Symbian. En el 2011 Nokia tiene un súper sistema operativo táctil.
  • 44. 35 Figura 2.2 Mercado de Symbian Fuente: http://www.darkclockers.com/foros/thread-4886.html 2.2.2 Características principales  Uso eficiente de todos los recursos de la máquina, especialmente batería, RAM y ROM.  Acceso inmediato a los datos.  Manejo fiable de los datos incluso en caso de fallo en la comunicación o falta de recursos, como memoria, disco o batería.  Adaptabilidad al hardware específico y a las pilas de telefonía de los fabricantes.  Consistencia en la comunicación entre los datos
  • 45. 36 2.2.3 Lenguaje que soporta Las aplicaciones compatibles con Symbian se desarrollan a partir de lenguajes de programación orientados a objetos como C++, java (con sus variantes como PJava, J2ME, etc.), Visual Basic para dispositivos móviles, entre otros, incluyendo algunos lenguajes disponibles en versión libre. El sistema operativo en sí mismo está programado en C++. La forma de colocar nuestras aplicaciones, creadas en el entorno de desarrollo, en le teléfono final es a través del software PC Suite de Nokia o a través de bluetooth. 2.2.4 Arquitectura Symbian SO posee la siguiente arquitectura como se muestra en la figura 2.3. Figura 2.3 Arquitectura Symbian Fuente:http://www.infomafia.net/sistemas-operativos-21/arquitectura-del-sistema-operativo- symbian-356
  • 46. 37 2.2.5 Kit de desarrollo Los SDK oficiales contienen documentación, los headers, las librerías necesarias para compilar un software Symbian, emuladores basados en Windows y un compilador. Hasta la versión 8 se incluye como compilador GCC, la versión 9 usa una nueva ABI (application binary interface) y requiere un compilador distinto. La programación en C++ para Symbian requiere el uso de técnicas especiales como descriptores o Cleanup Stack, esto puede hacer que programas relativamente simples sean más difíciles de implementar que en otros entornos. Actualmente las técnicas de programación necesarias para desarrollar en Symbian hacen que los programas sean propensos a errores en rutinas de bajo nivel en lugar de errores en las funcionalidades específicas de la aplicación. Software que se necesita  Nokia SDK Series 60 La versión 1.0 trae librerías extras especialmente preparadas para su uso con el 3650, que no están disponibles en la versión 0.9. Si estas realizando aplicaciones “sólo” para el 7650 es mejor bajarse la versión 0.9, si los programas son para ambos 7650 y 3650 es mejor bajar la 1.0, de la página web de Nokia. Además, la versión 0.9 sólo trae el "application wizard". Acaba de salir la versión 1.2, lleva modificaciones para solucionar algunos fallos, nuevos ejemplos y nuevas utilidades, como un emulador de recepción/envío de SMS. Además no incorpora los programas de "3rd parties", así que es necesario instalar por nuestra cuenta JRE 1.3.1 y Active Perl 518 o superiores.  Compilador de C++ Puedes usar Visual Studio C++ 6.0, o la versión de Borland preparada para dispositivos móviles. El kit de Borland puede ser descargado de la página Web de
  • 47. 38 Nokia, este viene con el paquete completo para realizar aplicaciones en C++ Borland C++ Builder 6.0 con licencia gratis para usarlo en programas para teléfonos móviles y Nokia Add-on. Este kit viene con la versión 0.9 del SDK de Nokia con una versión de Perl que es más nueva que la que viene por defecto en el SDK 0.9 cuando se instala aparte. También es posible usar .NET.  Sistema Operativo Windows 2000 SP2 Windows XP SP1 Windows NT SP6  Instalación Primero instala el SDK, es aconsejable que se mantengan las opciones por defecto, si por alguna razón prefieres cambiarlas, asegúrate que:  El SDK, compilador y Perl están en la misma unidad.  Los nombres de directorios no contienen ningún espacio en blanco 2.3 IOS (IPhone) El IOS es el sistema operativo que utiliza el iPhone y el iPod touch e Ipad. Está basado en una variante de mach kernel que se encuentra en Mac OS X. Este sistema operativo no tenía un nombre oficial hasta que salió la primera versión beta de iPhone SDK, el 6 de marzo de 2008. Antes de esto, Apple declaró, que “el iPhone controla un sistema operativo X, una referencia al padre de los sistemas operativos de los iPhone, el Mac OS X.
  • 48. 39 2.3.1 Historia Los ingenieros de Apple investigaron la pantalla táctil, bajo la dirección del presidente de Apple, Steve Jobs. Apple creó el dispositivo con la colaboración exclusiva y sin precedentes de AT&T con un costo de desarrollo de 150 millones de dólares. Durante el desarrollo del iPhone el nombre clave con el que se denomino fue “purple2”. El 11 de julio de 2008, Apple lanzó el iPhone 3G en 22 países, esperando lanzar el producto en más de 48 países durante los meses siguientes. Los primeros días muchas unidades del iPhone 3G fallaron por sobrecarga en los servidores Apple de iTunes. Apple vendió un millón de iPhone 3G en sus 3 primeros días de venta. Hasta hace poco era llamado iPhone OS, pero desde que funciona en tres dispositivos distintos, fue nombrado IOS el 7 de junio de 2010. 2.3.2 Arquitectura IOS tiene 4 capas de abstracción: la capa del núcleo del sistema operativo, la capa de Servicios Principales, la capa de Medios de Comunicación y la capa de Cocoa Touch. Véase figura 2.4 CORE OS 1. El kernel de OSX 2. Sistema de bibliotecas 3. La pila TCP/IP 4. Sockets 5. Seguridad 6. Gestión de energía 7. Keychain 8. Certificados 9. Sistemas de archivos 10.Bonjour
  • 49. 40 CORE SERVICES 1. Colecciones 2. Agenda de direcciones 3. Redes 4. Acceso a archivos 5. SQL Lite 6. Core location 7. Net services 8. Treading 9. Preferencias 10.Utilidades de URL MEDIA 1. Core Audio 2. openAL 3. mezclador de sonido 4. grabación de audio 5. reproducción de video 6. manejo de jpg, png, tiff, pdf 7. quartz (2d) 8. Core animation 9. OpenGL ES COCOA TOUCH 1. Eventos y controles multi touch 2. Soporte del acelerómetro 3. Vista jerárquica 4. Localización de aplicaciones 5. Alertas 6. Vista web 7. Selector de contactos 8. Selector de imágenes 9. Soporte de la cámara 2.3.3 Características Principales  Notificaciones: 1. Desde la parte superior de la pantalla, deslice el dedo hacia abajo para ver el centro de notificaciones. 2. Las notificaciones nuevas aparecen brevemente en la parte superior de la pantalla. 3. Puede ver las notificaciones desde la pantalla bloqueada.
  • 50. 41 Figura 2.4 Arquitectura IOS (iPhone) Fuente:http://www.maestrosdelweb.com/editorial/guia-desarrollo-iphone-ipad/  Quiosco: Las suscripciones a periódicos y revistas se ordenan automáticamente en la pantalla de inicio.  Recordatorios para gestionar listas de tareas: 1. Sincronización con iCloud, iCal y Outlook.  Previsión del tiempo hora a hora.  Valores bursátiles en tiempo real.  Sincronización inalámbrica con iTunes.
  • 51. 42  Mejoras de accesibilidad: 1. En el iPhone, cree secuencias de vibración personalizadas para las llamadas entrantes. 2. Nueva interfaz para usar IOS junto con dispositivos pensados para ayudar a personas con movilidad reducida.  Mejoras en Exchange ActiveSync: 1. Sincronice las tareas remotamente. 2. Marque los mensajes como leídos/no leídos o con un indicador. 3. Mejor rendimiento cuando no está conectado.  Activación y configuración desde el mismo dispositivo con el asistente de configuración.  Actualizaciones de software disponibles de forma remota sin necesidad de conectar el dispositivo al ordenador. 2.3.4 Kit de desarrollo Para que el SDK del iPhone compile código ARM que es la arquitectura del sistema real es necesario firmar la aplicación, lo que requiere la certificación de Apple. Una nueva firma es necesaria para distribuir la aplicación y por supuesto, si queremos que esta esté disponible en el app Store deberemos solicitar la aprobación de Apple. El proceso completo para desarrollar, compilar y publicar una aplicación para el iPhone es el siguiente:
  • 52. 43 1. Inscribirse en el iPhone Dev Center, aceptar todas las condiciones legales, y descargar el SDK. Haciendo esto podemos empezar a escribir nuestras aplicaciones, compilarlas y probarlas en el simulador. Pero todavía NO podremos instalarlas en nuestro iPhone. 2. Inscribirse en el programa para desarrolladores. Después de completar todos los formularios y leer más legales, podemos enviar la solicitud y esperar la respuesta hasta el siguiente día laboral. Esto tiene un costo de US $99, y con él obtenemos el derecho a ejecutar nuestras aplicaciones en nuestro propio iPhone 3. Certificados. Por defecto, un iPhone tan solo puede ejecutar aplicaciones firmadas por Apple y como no es posible estar enviándoles el código cada vez que se quiere probar algo, es necesario crear un perfil con el identificador de nuestro teléfono (accesible mediante las Xcode) e introducirlo en un formulario de la web de Apple. Luego para generar el certificado con el que firmar nuestras aplicaciones vamos a “Keychain Access” y en “Asistente para Certificados” generaremos uno nuevo. Si todo ha ido bien ya podremos experimentar nuestras aplicaciones en el iPhone 4. ¡Desarrollar! Hasta no hace mucho, se prohibía a los desarrolladores hablar sobre el SDK, lo que dificultaba enormemente el desarrollo en sí. Trabajar con cualquier plataforma nueva conlleva dificultades que habitualmente se resuelven en foros y grupos para desarrolladores. Por suerte, Apple ha abandonado esta política tan cerrada y ahora se puede intercambiar códigos, conocimientos, etc 5. ¡Distribuir! Para distribuir es necesario otro certificado especial de distribución que hay que solicitar siguiendo el mismo proceso de antes. Acceder a Keychain Access, solicitar, aprobar, descargar e instalar. También necesitamos hacer funcionar un nuevo perfil de distribución en
  • 53. 44 Xcode; proceso sobre el que Apple facilita muchas páginas de información con toda clase de capturas en las que se detalla el modo de reconfigurar el proyecto de Xcode para que utilice este certificado de distribución 6. Enviar la aplicación a Apple a través de un nuevo formulario web con información sobre esta (nombre, descripción, versión y mucho mas), su icono y algunas capturas de pantalla 7. Esperar… Una vez enviada, la aplicación pasa a la cola de revisión, sin que sepamos en ningún momento lo que se está haciendo, el estado de la solicitud, o cuanto queda para que termine el proceso. Si la aplicación no es aceptada por el motivo que sea, no habrá ayuda al respecto, solo se puede hacer los arreglos necesarios y volverla a enviar a través de un enlace con el que enviamos nuevas versiones de una misma aplicación. Si los problemas continúan, habrá que esperar una semana para saberlo y ver si la solución que has dado resuelve satisfactoriamente el problema 8. ¡Aceptada!! Ahora queda esperar que dé frutos la aplicación frente de los 10 millones de clientes potenciales que la podrán comprar. 2.4 BlackBerry OS El Blackberry OS es un sistema operativo móvil desarrollado por Research In Motion para sus dispositivos Blackberry. El sistema permite multitarea y tiene soporte para diferentes métodos de entrada adoptados por RIM para su uso en computadoras de mano, particularmente la trackwheel, trackball, touchpad y pantallas táctiles.
  • 54. 45 2.4.1 Historia Blackberry OS debutó en enero de 1999, con el lanzamiento de la versión 1.0 para Blackberry Pager 580. La versión 3.6 fue lanzado para el Blackberry 5810 smartphone en marzo de 2002. En abril de 2010, RIM anunció la nueva versión de Blackberry OS 6.0, que fue lanzado en el Q3 de 2010. Los rumores de un 6.1 OS comenzaron en el barrio 1a/2a 2011 junto con las imágenes del nuevo software. El 2 de mayo de 2011, RIM anunció que el software se rumorea como Blackberry OS 7. El software fue lanzado oficialmente en agosto de 2011 haciendo su aparición en la Blackberry Bold (9900/9930), Blackberry Torch (9810/9850/9860), y el Blackberry Curve (9350/9360/9370). Los dispositivos anteriores no se pueden actualizar a Blackberry OS 7. 2.4.2 Arquitectura Las siguientes seis figuras muestran la arquitectura de Blackberry OS.
  • 55. 46 Figura 2.5 Arquitectura Blackberry OS Fuente:http://www.slideshare.net/foward/curso-blackberry-academic-program Un dispositivo BlackBerry puede conectarse a una red inalámbrica mediante transportes diferentes. No todos los dispositivos tienen acceso a todos los transportes para visualizar esto vea la figura 2.5.
  • 56. 47 Figura 2.6 Movil Data System (MDS) Fuente: http://www.slideshare.net/foward/curso-blackberry-academic-program BlackBerry MDS proporciona proxies HTTP y TCP/IP para BlackBerry Java Application, que permiten al dispositivo BlackBerry comunicarse con la aplicación y servidores Web tras el firewall de la empresa sin software adicional VPN. Véase Figura 2.6
  • 57. 48 Figura 2.7 WAP Fuente: http://www.slideshare.net/foward/curso-blackberry-academic-program El transporte WAP crea una conexión a través del gateway AP de un proveedor de servicios inalámbricos. Son compatibles WAP 1.0, 1.2 y 2.0. Ver Figura 2.7. Para admitir este transporte, un usuario o el proveedor de servicios inalámbricos deben configurar los parámetros de la conexión WAP en el dispositivo. Como resultado, puede que este transporte no lo admitan todas las redes inalámbricas ni todos los planes de datos.
  • 58. 49 Figura 2.8 Blackberry Internet Service (BIS) Fuente: http://www.slideshare.net/foward/curso-blackberry-academic-program El transporte de BlackBerry Internet Service crea una conexión al Internet a través de BlackBerry Infrastructure. Los datos que envía y recibe mediante este transporte se comprimen y optimizan para la transmisión por conexiones inalámbricas. Véase Figura 2.8. Las aplicaciones que utilizan el transporte BlackBerry Internet Service automáticamente se benefician de enrutamiento al menor coste. El dispositivo se conecta con una red Wi-Fi automáticamente, si hay una disponible.
  • 59. 50 Figura 2.9 TCP Fuente: http://www.slideshare.net/foward/curso-blackberry-academic-program El transporte TCP móvil crea una conexión a Internet a través del gateway de Internet de un proveedor de servicios inalámbricos. Este método crea el tipo más directo de conexión que a través de la radio móvil. Ver figura 2.9. La mayoría de los proveedores de servicios inalámbricos configuran el dispositivo BlackBerry de un usuario para utilizar el gateway de Internet del proveedor. Sin embargo, cuando el usuario esta en itinerancia en una red diferente, debe configurar el dispositivo para utilizar manualmente el gateway de Internet de la red de itinerancia.
  • 60. 51 Figura 2.10 TCP Wi-Fi Fuente: http://www.slideshare.net/foward/curso-blackberry-academic-program El transporte Wi-Fi crea una conexión a Internet o a redes privadas como una doméstica o la de una empresa. Cuando la radio Wi-Fi se enciende, un usuario de dispositivo BlackBerry o una aplicación pueden configurar el dispositivo para que se conecte a Internet mediante este transporte. Véase figura 2.10.
  • 61. 52 2.4.3 Características principales  Orientado a su uso profesional como gestor de correo electrónico y agenda. Se puede sincronizar el dispositivo con el correo electrónico, el calendario, tareas, notas y contactos de Microsoft Exchange Server.  Blackberry Enterprise Server (BES) proporciona el acceso y organización del email a grandes compañías identificando a cada usuario con un único Blackberry PIN.  Los usuarios más pequeños cuentan con el software Blackberry Internet Service, programa más sencillo que proporciona acceso a Internet y a correo POP3 / IMAP / Outlook Web Access sin tener que usar BES. 2.4.4 Kit de desarrollo Para desarrollar aplicaciones basadas en Java para smartphones BlackBerry, puede elegir entre el entorno Eclipse o el entorno de desarrollo Java para BlackBerry (BlackBerry JDE). 1. BlackBerry Java Plug-in para Eclipse amplía la plataforma de desarrollo Eclipse para que pueda crear aplicaciones en Java para smartphones BlackBerry en un entorno conocido.  Con esta herramienta obtenemos ventajas para los desarrolladores Eclipse.  Le permite escribir, probar y compilar aplicaciones Java ME que se ejecuten en smartphones BlackBerry.  Simula toda la experiencia del usuario, en línea y sin conexión, de una amplia gama de smartphones BlackBerry desde su equipo de sobremesa.
  • 62. 53  Incluye la integración clave de solicitudes de especificación Java (JSR), las cuales permiten usar los últimos desarrollos de Java ME para crear aplicaciones superiores para dispositivos móviles.  Le permite aprovechar los puntos fuertes exclusivos del desarrollo para la plataforma BlackBerry, entre otros:  Integración con aplicaciones nativas para smartphones para ofrecer a los usuarios una experiencia perfecta en BlackBerry  Limitación de la necesidad de conocer los complejos protocolos de transporte de conexión necesarios para el desarrollo de aplicaciones para dispositivos inalámbricos  Aprovechamiento de las capacidades Push de la solución BlackBerry 2. El entorno de desarrollo Java para BlackBerry (BlackBerry JDE) es un entorno de desarrollo y una herramienta de simulación completamente integrados para crear aplicaciones en la plataforma Java Micro Edition (JavaME) para smartphones BlackBerry basados en Java. El paquete de componentes de BlackBerry JDE comprende un conjunto de utilidades incluidas en todo el entorno de desarrollo Java para BlackBerry. Estos componentes son necesarios para el desarrollo de aplicaciones de otros fabricantes para smartphones BlackBerry usando entornos de desarrollo integrados (IDE) externos. 2.5 Windows Phone Windows Phone, anteriormente llamado Windows Mobile es un sistema operativo móvil compacto desarrollado por Microsoft, y diseñado para su uso en teléfonos
  • 63. 54 inteligentes (Smartphones) y otros dispositivos móviles. Windows Phone hace parte de los sistemas operativos con interfaz natural de usuario. Se basa en el núcleo del sistema operativo Windows CE y cuenta con un conjunto de aplicaciones básicas utilizando las API de Microsoft Windows. Está diseñado para ser similar a las versiones de escritorio de Windows estéticamente. 2.5.1 Historia 2010 Feb: Windows Phone 7ha anunciado en el Mobile World Congress. 2010 Abril: WP7 anuncia herramientas de desarrollo. 2010 Sep: Versión 7.0.7004.0 Teléfono original versión RTM de Windows 7. 2010 Oct: Primer dispositivos WP7anunciado. 2011 Feb: Versión 7.0.7008.0 medio de prueba de actualización (no cambios de funcionalidad). Nokia y Microsoft anunciaron la asociación. 2011 Marzo: Versión 7.0.7389.0 Actualización para los dispositivos más antiguos incluye todos las características de versión del sistema operativo preinstalado en los dispositivos más nuevos. Versión 7.0.7392.0 “NoDo” de actualización (copiar / pegar, mejoras en el rendimiento, mejoras en el mercado de búsqueda.) 2011 Mayo: Versión 7.0.7392.0 Internet Explorer Mobile actualización de seguridad. Versión 7.0.7355 no revelada.
  • 64. 55 2011 Junio: Versión 7.1.7661.0 Mango desarrollo Beta (ciertos servicios públicos no está disponibles en esta versión, como por ejemplo Twitter). 2011 Julio: Versión 7.1.7712.0 “Mango” desarrollo Beta 2. 2011 Ago: WP7 dispositivos por popularidad. (HTC 7 Pro 1%, Dell Venue Pro 0.2%, HTC Arrive 2%, HTC Mazaa 0.2%) 2011 Oct: Segundo lote deWP7dispositivospara lanzar. Windows Phone Tango. Windows Phone Apollo. Windows 8 fortablets. 2.5.2 Arquitectura Windows Phone 7 es un sistema operativo de 32-bit y está basado en Windows Embedded CE 6.0, a diferencia de Windows Mobile 6.x que tiene un kernel construido en Windows CE 5.0, en WP7 nos encontramos con un diseño interno similar al de un SO de PC como lo muestra la figura 2.11. Una de las principales ventajas de qué WP7 venga en sabor de 32-bit, es que permite un direccionamiento de hasta 4 GB – aquí es donde el lector siente un líquido cae por su boca – por lo que un terminal generoso en RAM estará limitado a esa cantidad. Suponiendo que tenemos 4 GB para jugar, el sistema operativo divide la memoria en 2 espacios, uno dedicado al kernel (2 GB) y otro a las aplicaciones (2 GB).
  • 65. 56 Como todo sistema operativo, tenemos 2 áreas fundamentales, el kernel y nonkernel (traducción a gusto de lector); El kernel posee obviamente el núcleo, 2 sistemas de archivos (IMGFS y TexFAT), render gráfico y actualización de sistema, mientras la parte nonkernel contiene las aplicaciones, la shell y espacio de usuario. Figura 2.11 Arquitectura Windows Phone Fuente: http://www.chw.net/2010/04/filtran-arquitectura-de-windows-phone-7/ 2.5.3 Características principales  Su interfaz es bastante fácil e intuitiva; su sistema de ventanas modulares ofrece animaciones actualizaciones y avisos mucho más atractivos que la competencia.
  • 66. 57  Sincronización posibilidad de interacción con los archivos office.  Sistema de seguridad desde nuestro PC, podremos llamar a nuestro teléfono en caso de haberlo perdido, bloquearlo, localizarlo e incluso borrar parte de su contenido de forma remota.  Cada Hub (Marketplace, Office, gente, retratos, Xbox Live y Zune) tiene una estrecha integración con las aplicaciones nativas y de terceros. 2.5.4 Kit de desarrollo Microsoft provee en forma gratuita el Software Development Kits SDK que incluye todo lo necesario para el desarrollo de aplicaciones en la plataforma Windows Phone, pero para instalarlo necesitaremos, como se indica en la sección de requisitos de la página de descargas, el Microsoft Visual Studio 2005 Standard Edition o superior (No está soportado el Visual Estudio Express Editions), esto implica que para desarrollar en WP sea necesario adquirir una licencia de Visual Studio 2005 o superior. Una vez descargado e instalado el SDK tendremos todo lo necesario para realizar aplicaciones para WP incluyendo emuladores (imágenes ROM) para los distintos tamaños de pantalla de los dispositivos en mercado. Se pueden desarrollar dos tipos de aplicaciones para Windows Mobile: con código nativo o con código administrado (managedcode). Llamamos código nativo al código C++ que utiliza directamente la API de Windows Phone, y código administrado al que utiliza las clases del .NET Compact Framework con C# o VB.Net. (Windows Mobile es la única plataforma móvil importante que no soporta J2ME).
  • 67. 58 Guía de instalación de las herramientas de WP. 1. Instalar las herramientas Al hacer clic en este botón se instala:  El instalador de plataforma web (ejecuta el resto de la instalación)  Visual Studio 2010 Express  XNA Game Studio 4.0  Windows Phone Emulator  Microsoft Expression Blend para Windows Phone  Plataformas: Silverlight, .NET Framework 4.0 2. Instale la actualización de enero de las herramientas de desarrollo de Windows Phone. 3. Instale la corrección de las herramientas de desarrollo de Windows Phone.
  • 68. Capítulo III: Bases de Datos para Aplicaciones Móviles
  • 69. 60 3.1 Sistemas Gestores de Bases de Datos Móviles La computación móvil introduce el concepto de base de datos móvil. Una base de datos móvil es una base de datos portable, físicamente independiente del servidor corporativo de base de datos y capaz de comunicarse con ese servidor desde sitios remotos para compartir datos corporativos. Utilizando bases de datos móviles, los trabajadores pueden acceder a los datos corporativos desde cualquier dispositivo que disponga de conexión a Internet. Muchos fabricantes ofrecen SGBD móviles capaces de comunicarse con los principales SGBD relacionales. Estos SGBD móviles están adaptados a los recursos limitados de las unidades móviles y proporcionan una serie de funcionalidades adicionales:  Comunicación con el servidor centralizado de base de datos mediante técnicas de comunicación inalámbrica.  Replicación de datos en el servidor centralizado de base de datos y en el dispositivo móvil.  Sincronización de datos entre el servidor centralizado de base de datos y el dispositivo móvil.  Gestión de datos en el dispositivo móvil.  Análisis de los datos almacenados en el dispositivo móvil.  Crear aplicaciones móviles personalizadas.
  • 70. 61 3.1.1 Aplicaciones móviles y tipos de datos Las aplicaciones móviles se clasifican en las dos siguientes categorías: Aplicaciones verticales y aplicaciones horizontales (Imielinski y Badrinath, 1994). En las aplicaciones verticales, los usuarios acceden a los datos en una celda específica; fuera de la celda los datos no están disponibles. Un ejemplo de aplicación vertical es la obtención de información sobre las plazas libres de un determinado parking. En las aplicaciones horizontales, los datos están distribuidos por todo el sistema, y los usuarios pueden acceder a ellos desde cualquier celda. La aplicación horizontal más común es el acceso al correo electrónico. Los datos se clasifican en tres categorías: 1. Datos privados: pertenecen a un usuario y sólo él puede acceder a ellos y manejarlos. Por ejemplo, los datos del perfil de un usuario de cualquier aplicación que gestione datos personales. 2. Datos públicos: pueden ser consultados por cualquier usuario, pero sólo pueden ser modificados por una única fuente. Por ejemplo, los datos de las cotizaciones de la bolsa. 3. Datos compartidos: pueden ser accedidos por un grupo determinado de usuarios, quienes tienen permisos para leerlos y para escribirlos. A continuación se muestran cuatro Gestores de Bases de Datos Móviles.
  • 71. 62 3.2 Oracle Database Lite 10g Oracle lite 10g es la solución de Oracle para desarrollar aplicaciones en entornos móviles. Proporciona un cliente que permite la realización de consultas SQL para acceder a los datos locales del dispositivo y un servidor para gestionar los datos de forma centralizada. Además extiende el poder de Grid Computing a una fuerza de trabajo móvil con una base de datos completa, integrada y segura para crear, implementar y administrar aplicaciones móviles para un amplio rango de dispositivos móviles. Oracle Database Lite 10g permite el acceso persistente a las aplicaciones y la información critica sin requerir una conectividad continua con los sistemas empresariales de back-end. Como resultado, los usuarios aumentan la eficiencia, productividad y capacidad de respuesta de la fuerza de trabajo móvil mientras se reducen los costos y se mejora la satisfacción del cliente. 3.2.1 Arquitectura de las aplicaciones de Oracle Database Lite 10g Esta arquitectura contiene los siguientes componentes (Ver figura 3.1):  Mobile Sync Module: aplicación instalada en el dispositivo móvil que permite la sincronización de datos con el servidor empresarial.  Oracle Lite RDBMS: sistema gestor de bases de datos relacionales creado específicamente para dispositivos móviles. Proporciona interfaces ODBC, JDBC, SODA y ADO para permitir la utilización de aplicaciones desarrolladas en lenguajes como Java, C/C++ y Visual Basic.  Oracle Lite database: base de datos instalada en el dispositivo móvil.
  • 72. 63  Mobile Server: servidor intermedio entre los dispositivos móviles y el servidor empresarial. Permite la instalación y actualización de aplicaciones en los dispositivos móviles y se comunica con el módulo Mobile Sync para sincronizar los datos entre el dispositivo móvil y el servidor empresarial.  Message Generator and Processor (MGP): módulo utilizado en la sincronización de datos para detectar y solucionar cualquier conflicto que pueda producirse en la actualización de los datos del servidor.  Mobile Server Repository: repositorio que contiene información necesaria para que el Mobile Server pueda ejecutarse. Esta información se almacena junto a los datos del negocio, en la misma base de datos. Figura 3.1 Arquitectura de Oracle Lite 10g Fuente: http://docs.oracle.com/cd/B14156_01/doc/B13788/html/nvovw.htm
  • 73. 64 3.2.2 Características principales  Sistema de Sincronización Oracle Database Lite, incluye un servidor de sincronización bidireccional seguro basado en un modelo de dato que permite suscripción y servicios sincronizados entre miles de usuarios móviles y la base de datos de la empresa. El servidor de sincronización no requiere de middleware adicional, y puede integrarse con sistemas corporativos existentes. Las redes nunca son 100 % seguras. Oracle Database Lite incluye sistemas avanzados de recuperación ante cualquier fallo de la red. Además mantiene actualizado un marcador de recuperación (point-in-time). Si un usuario experimenta un fallo de la red durante la sincronización Oracle Lite resumirá las funciones (upload/download), desde la última marca. Esto mejora en conjunto el rendimiento de la aplicación y reduce el costo de comunicación. Database Lite introduce nuevas características para la creación de sincronización lógica. El servidor móvil analiza la información contenida en la aplicación móvil. Para crear automáticamente la sincronización lógica en el servidor de la aplicación. Los conflictos ocurren cuando el mismo artículo de datos ha sido modificado en el servidor y el Cliente o múltiples clientes. Oracle Lite detecta automáticamente estos conflictos y los resuelve sobre la base de reglas de resolución, reglas estándares rápidamente configurables.  Administración de sistema Incluye un sistema de administración completo para distribuir, instalar y manejar el software de datos y los archivos sobre dispositivos móviles y sistemas remotos.
  • 74. 65 Una administración de interfaz basada 100% en web, administración de todas las aplicaciones móviles, dispositivos, usuarios y servicios móviles.  Soporté de Desarrollo Los entornos de desarrollo de Oracle Lite 10g incluyen soporte para herramientas Java y .NET tales como Oracle JDeveloper 10g y Microsoft Visual Studio .NET. También soporta la interface Microsoft ADO.NET, brindando a los desarrolladores integración, productividad y desempeño entre los entornos Java y .NET. Las aplicaciones pueden crearse utilizando lenguajes de programación como Java, C/C++ y Visual Studio para plataformas, con inclusión de Linux, Windows CE/NT/2000/XP/2003, Palm OS, y Pocket PC. Oracle Database Lite incluye un asistente (PackagingWizard) para combinar todos componentes de aplicación (executables, DLLs, images, etc.) en un único archivo ejecutable para desarrollo simple en ambientes de negocio móviles. La base de datos móvil es una herramienta de desarrollo visual para construir replica de base de datos.  Rendimiento alto y escalabilidad Permite a los usuarios acceder rápida y eficientemente a la información. Multiproceso y soporte de ajuste del tamaño de caché dinámico aseguran el máximo rendimiento para bases de datos más grandes y más usuarios conectados. El apoyo para los usuarios como puestas en funcionamiento multiusuario garantiza que sus aplicaciones de Oracle Database Lite pueden adaptarse a las demandas de ambientes cambiantes. Provee herramientas para los rendimientos de sincronización de datos así mismo el punto de referencia los datos pueden ser usado para capacidad y planificación de escalabilidad.
  • 75. 66  Seguridad La seguridad se cubre con las medidas como: la autentificación, la autorización, y la encriptación. Oracle Database Lite, incluye las características de encriptado de 128 bit exhaustivas que garantizan la seguridad de punta con punta. 3.2.3 Principales beneficios  Acceso a Datos Seguros desde Dispositivos Móviles. La poca cantidad de espacio que utiliza de la base de datos permite el acceso offline a sus datos corporativos en cualquier momento y desde cualquier dispositivo.  Acceso Continuo a los Datos Corporativos. Los cambios realizados offline en Oracle Lite son rastreados y posteriormente sincronizados con el back-end de la base de datos Oracle.  Administración Integral del Ciclo de Vida. Herramientas completas para administrar centralmente sus aplicaciones, usuarios, dispositivos y sistemas.  Menor Tiempo de Desarrollo para Aplicaciones Móviles. Soporta un amplio rango de IDEs; desarrolla aplicaciones nativas Java o basadas en la Web utilizando herramientas listas para usar, APIs y modelos de códigos.
  • 76. 67 3.3 SQL Anywhere SQL Anywhere es una suite integral de soluciones que proporciona tecnologías para la administración, sincronización e intercambio de datos que permiten el rápido desarrollo y la implementación. Alimentación de algunas de las aplicaciones empresariales móviles más grande del mundo de hoy, SQL Anywhere se ha demostrado que la escala de un dispositivo móvil a cientos de miles de dispositivos móviles. SQL Anywhere ofrece una serie de bases de datos móviles para satisfacer sus necesidades de desarrollo y plataforma. Que ofrece la tecnología de sincronización más avanzada en el mercado, la sincronización con los sistemas empresariales más que cualquier otro proveedor. 3.3.1 Arquitectura de SQL Anywhere El siguiente diagrama (Figura 3.2) muestra la arquitectura del gestor de base de datos Sql Anywhere. 3.3.3 Casos de Uso en Aplicaciones Móviles Características y beneficios en el apartado de aplicaciones móviles en los casas de usos que se muestran en la figura 3.3.
  • 77. 68 Figura 3.2 Arquitectura SQL Anywhere Fuente: http://www.sybase.com.mx/products/databasemanagement/sqlanywhere Figura 3.3 Casos de uso Fuente: http://www.sybase.com.mx/products/databasemanagement/sqlanywhere
  • 78. 69  Gestionar datos móviles  El apalancamiento de la empresa características como la base de datos ANSI SQL interfaz, procedimientos almacenados, disparadores, búsqueda de texto completo, OLAP y más con SQL Anywhere  Aproveche la inteligencia de localización mediante el almacenamiento y consulta de datos espaciales 2D y 3D.  Enlace UltraLite en proceso de base de datos con una función de sincronización en su aplicación.  De soporte de Windows Mobile, Blackberry, iPhone y más.  Sincronizar los sistemas empresariales  Sincronizar bases de datos móviles con una Oracle, Microsoft SQL Server, MySQL, Sybase ASE o SQL Anywhere y otros sistemas empresariales como SAP y sistemas de información geoespacial.  Escala hasta decenas de miles de usuarios de telefonía móvil de sincronización con los datos de su empresa.  Características de clase empresarial con la sincronización basada en la prioridad de sincronización de datos horizontales y verticales de detección de subconjuntos, los conflictos y la resolución programable.  Ampliar los sistemas de mensajería de la empresa como JMS, MQSeries, Tibco y MSMQ para dispositivos móviles con QAnywhere.
  • 79. 70  Facilitar el desarrollo de aplicaciones  Configurar la base de datos móvil y el servidor de sincronización en minutos con Synchronization Model Wizard.  Prueba de aplicaciones móviles sin necesidad de IT para hacer agujeros en el cortafuegos de la empresa con Hosted Relay Service.  Cifrar todos los archivos de base de datos y comunicación de datos con certificación FIPS 128-bit. 3.3.4 Principales beneficios  Fácil Uso y Administración Características de auto-administración, auto-afinamiento y soporte remoto lo hacen ideal para ambientes ampliamente desplegados y de cero administración.  Rendimiento y Escalabilidad de Nivel Empresarial Escale a miles de usuarios y cientos de Gb de datos, con características como soporte a SMP, paralelismo, vistas materializadas y aislamiento snapshot.  Seguridad de Extremo a Extremo Seguridad validada por FIPS 140-2, certificación Common Criteria, algoritmos de cifrado y protocolos estándar, que incluyen AES, ECC, RSA y SSL aseguran la seguridad de extremo a extremo.  Soporte a Múltiples Plataformas
  • 80. 71 Soporta una gran variedad de sistemas operativos, desde servidores UNIX de 64 bits, hasta XP embebido y plataformas populares handheld, para proveer la más alta flexibilidad en el despliegue de una base de datos SQL.  API Abierto y Soporte a Herramientas Soporta muchos estándares para un fácil y eficiente acceso a los datos. SQL Anywhere le permite explotar sus inversiones existentes en herramientas y habilidades de desarrollo.  Amplio Soporte a Servicios Web Simplifica el desarrollo de aplicaciones móviles orientadas a servicios Web y bases de datos, integrándose con sistemas existentes y permitiendo el despliegue de aplicaciones entre diferentes ambientes de tecnología de información.  Soporte a Dispositivos Handheld y Dispositivos Inteligentes La base de datos UltraLite y las capacidades de sincronización proporcionan una solución ideal para ambientes con pocos recursos de memoria, tales como dispositivos handheld. 3.4 SQLite SQLite es una librería compacta y auto contenida de código abierto y distribuida bajo dominio público que implementa un gestor de bases de datos SQL embebido, sin configuración y transaccional. Los usuarios más conocidos que la utilizan actualmente en sus aplicaciones son: Adobe, Apple, Mozilla, Google, McAfee, Microsoft, Philips, Sun y Toshiba, entre otros.
  • 81. 72 Combina el motor y el interfaz de la base de datos en una única biblioteca, y almacena los datos en un único archivo de texto plano. Esto hace que cada usuario pueda crear tantas bases de datos como desee sin la necesidad de la intervención de un administrador de bases de datos que gestione los espacios de trabajo, usuarios y permisos de acceso. El hecho de almacenar toda la base de datos en un único archivo, facilita la portabilidad de los datos, y solamente tiene la restricción del espacio de disco asignado al usuario en el servidor. Formas de uso de SQLite  Como gestor de base de datos local en un PC. De esta forma podemos gestionar bases de datos con SQLite igual que si estuviéramos trabajando con un sistema gestor de base de datos como MySQL sin necesidad de instalar nada, ya que SQLite se compone de un único archivo ejecutable.  Como una extensión más de PHP, utilizando las funcionalidades de SQLite configuradas, o bien como módulo de PHP, o como librería; sin necesidad de tener instalado o conectar con un servidor de base de datos. Ofrece un rápido interfaz de base de datos almacenado en archivo de texto plano. 3.4.1 Arquitectura SQLite Cada motor de base de datos compila cada sentencia SQL en algún tipo de estructura de datos interna que luego se utilizará para llevar a cabo la labor de la declaración. En SQLite, compilar la forma de las declaraciones es un breve programa en un lenguaje de máquina como representación. Los usuarios podemos ver la máquina virtual antes poniendo EXPLAIN como palabra clave para una consulta. El uso de la VM dentro de SQLite ha sido un gran beneficio para el
  • 82. 73 desarrollo de la biblioteca, ya que proporciona un cruce entre la interfaz de usuario que analiza las sentencias SQL y la par-te en la cual la máquina virtual ejecuta el código para calcular el resultado, así también utilizar la capacidad de rastreo de la ejecución de la VMen cada sentencia e imprimir las mismas. 3.4.2 Principales Características  Embebido La mayoría de motores de bases de datos, como MySQL, Oracle o SQL Server, están implementados como un servicio (o demonio en Unix). Los programas que quieren acceder a la base de datos se comunican con el servidor usando algún tipo de protocolo para enviar peticiones y recibir resultados. Esto es lo que se conoce como una aplicación cliente-servidor. SQLite no funciona de esta manera. Con SQLite, el proceso que quiere acceder a la base de datos, lee y escribe directamente en disco. No hay servicio intermediario. De esta manera se puede hacer una aplicación totalmente autónoma y portable. Esto tiene ventajas y desventajas. La principal ventaja es que no debemos tener un servicio que instalar, configurar, inicializar, mantener, etc. Por otro lado, el uso de un servidor para la base de datos provee mayor protección frente a bugs en el lado de cliente. Un fallo de segmentación en el cliente no puede afectar a la memoria que se encuentra en el servidor. Además, como el servidor es un único proceso, puede controlar mejor la concurrencia.
  • 83. 74 No obstante, una característica de SQLite es que es la única base de datos sin servidor (que el autor sepa) que permite el acceso de múltiples aplicaciones a la misma base de datos.  No necesita configuración Debido a que SQLite es un SGBD embebido en la aplicación, no necesita instalar ni configurar nada más aparte de la aplicación en cuestión.  Transaccional Una base de datos transaccional es aquella cuyos cambios y consultas son atómicos, consistentes, aislados y durables (ACID), y por tanto es capaz de realizar transacciones seguras. Las transacciones en SQLite tienen estas características, incluso cuando se interrumpen por el fallo del programa, del sistema operativo o de la alimentación del ordenador. Todos los cambios de una transacción en SQLite se hacen completamente o nose hacen. 3.4.3 Casos en los que es adecuado el uso de SQLite  En aplicaciones autónomas que no queramos que dependan de otros procesos, como podría ser un programa para llevar la contabilidad de una pequeña/mediana empresa.  Para su uso como formato de almacenamiento para cualquier aplicación.  En pequeños dispositivos que no disponen de servicio SQL (PDAs, Móviles, etc.) y 6SQLite 3 Daniel Ponsoda Montiel con pocos recursos de memoria.  Bases de datos internas de programas que necesiten manejar gran cantidad de información temporal (p. ej. videojuegos, programas de análisis, etc.).
  • 84. 75 3.4.4 Limitaciones  Limitaciones en Where: esta limitación está dada por el soporte para clausuras anidadas.  Falta de Clave Foránea: se hace caso omiso de las claves foráneas; esto quiere decir, cuando se realice la creación de la tabla desde el modo consola, está permitiendo el uso de la clausura, aunque no realizara el chequeo de la misma.  Falta de documentación en español: al momento de escribir este artículo es muy escasa la documentación disponible en español sobre SQLite. 3.5 Almacenamiento Aislado El almacenamiento aislado es un mecanismo de almacenamiento de datos que proporciona aislamiento y seguridad mediante la definición de modos estándar de asociar código a los datos guardados. La estandarización ofrece además otras ventajas. Los administradores pueden usar herramientas diseñadas para manipular el almacenamiento aislado para configurar el espacio de almacenamiento de archivos, establecer directivas de seguridad y eliminar los datos no utilizados. Con el almacenamiento aislado, el código ya no requiere rutas de acceso únicas para especificar ubicaciones seguras en el sistema de archivos y los datos están protegidos de otras aplicaciones que solo tienen acceso a un almacenamiento aislado. La información en código que indica la ubicación del área de almacenamiento de la aplicación no es necesaria. El almacenamiento aislado proporciona una capa de abstracción del host de sistema de archivos, por lo que en lugar de tratar de almacenamiento de archivos directa, de interfaz con un mecanismo indirecto que proporciona carpetas y archivos en un entorno limitado aislado.
  • 85. 76 Por otra parte el almacenamiento aislado también tiene algunas ventajas potentes. Mientras que proporciona un diccionario de configuración similar a la configuración de página y aplicación que se ha descrito anteriormente, también le permite organizar los datos en carpetas y archivos. De hecho, cualquier tipo de archivo: XML, binario o texto, se puede crear y acceder en el almacenamiento aislado. No hay ninguna cuota para el tamaño de almacenamiento aislado en el teléfono, por lo que efectivamente está limitado por la cantidad de memoria y almacenamiento de información disponible en el teléfono. El único inconveniente es que el proceso de escribir para almacenamiento y recuperación de almacenamiento de información es un poco más lento que los otros métodos que almacenan las listas en la memoria activa. A continuación se describen cinco de los escenarios más fáciles de identificar:  Controles descargados. Los controles de código administrado descargados de Internet no tienen permiso para escribir en el disco duro mediante clases de E/S normales, pero puede usar el almacenamiento aislado para almacenar la configuración del usuario y los estados de la aplicación.  Almacenamiento de componentes compartidos. Los componentes compartidos entre aplicaciones pueden usar el almacenamiento aislado para proporcionar acceso controlado a los almacenes de datos.  Almacenamiento en servidor. Las aplicaciones de servidor pueden usar el almacenamiento aislado para proporcionar almacenes individuales a un gran número de usuarios que hacen solicitudes a la aplicación. Puesto que el almacenamiento aislado siempre se aísla por usuario, el servidor debe suplantar al usuario que hace la solicitud. En este caso, los datos se aíslan basándose en la identidad de seguridad, que es la identidad que usa la aplicación para diferenciar a los usuarios.
  • 86. 77  Movilidad. Las aplicaciones pueden usar también el almacenamiento aislado con perfiles de usuario móvil. De esta manera los almacenes aislados de un usuario se pueden trasladar con el perfil. Aunque el almacenamiento aislado es adecuado para los escenarios descritos hasta aquí, existen algunos casos en que NO se debe utilizar:  No utilice el almacenamiento aislado para guardar información confidencial, como claves sin cifrar o contraseñas, ya que no está protegido contra código de plena confianza, contra código no administrado ni contra usuarios de confianza del equipo.  No utilice el almacenamiento aislado para almacenar código.  No utilice el almacenamiento aislado para guardar valores de configuración e implementación, que controlan los administradores. (Las preferencias de usuario no se consideran valores de configuración porque los administradores no las controlan.) Muchas de las aplicaciones actuales usan bases de datos para almacenar y aislar los datos y, en ese caso, una o varias filas de la base de datos pueden representar el almacenamiento de un usuario concreto. Se puede elegir usar el almacenamiento aislado en lugar de una base de datos si el número de usuarios es reducido, si la sobrecarga resultante de usar una base de datos es alta o si no existe una utilidad de bases de datos. Además, si la aplicación requiere un tipo de almacenamiento más flexible y complejo que el que ofrece una fila de una base de datos, el almacenamiento aislado puede ser una alternativa viable.