Gonzalezmelgarejogrecia dispositivos mov

98
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

Transcript of Gonzalezmelgarejogrecia dispositivos mov

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

79

En la actualidad, el desarrollo de aplicaciones móviles se ha convertido en un gran

negocio. Debido a la utilización masiva de teléfonos móviles y teléfonos

inteligentes, muchas empresas han percibido el valor de este negocio en el

proceso de desarrollo de aplicaciones móviles. Estas aplicaciones pueden ser

preinstaladas en los dispositivos móviles o se pueden descargar por el usuario

final de plataformas de distribución móviles diferentes.

Se debe tener en cuenta que el desarrollo de software para dispositivos móviles

requiere de algunas técnicas de especial consideración debido a las restricciones

de hardware y software que poseen los dispositivos actuales. Entre esas técnicas

destaco aquellas ligadas al uso eficiente de los recursos de memoria de ejecución,

de almacenamiento, uso del espacio de visualización y métodos de entrada de

datos.

En la realización de esta monografía conocimos más sobre el ámbito de

Tecnológico de los famosos hoy en día dispositivos móviles. También

descubrimos los diversos sistemas operativos, sus arquitecturas y sus sistemas

gestores de bases de datos. Ahora es cuando se entiende que el software para

diseñar dichas aplicaciones móviles es muy variado tenemos opciones que nos

permiten la creación de cada una de ellas con características personalizables y

adaptadas a nuestras necesidades para esto solo se necesita conocer con que

herramientas trabajaremos, cual es la que mejor se adapta, la de mayor

practicidad, más utilizada y de menor complejidad. El desarrollo de una aplicación

móvil no es una tarea sencilla. Los diseñadores de aplicaciones móviles y

desarrolladores que enfrentan muchos obstáculos y desafíos para desarrollar

aplicaciones de usuario orientada a que son compatibles con cualquier dispositivo

de teléfono inteligente.

80

Es importante contar con un ambiente de mejora que ofrezca a los desarrolladores

facilidad de aprendizaje y la posibilidad de generar código administrado debido a

las exigencias de los mercados de lograr desarrollos rápidos, confiables y que

puedan ser liberados en el menor tiempo posible. Con lo anterior darán nuevos

servicios y también una mejor calidad de vida a los seres humanos, acercándonos

al ideal de Sociedad de la Información y el Conocimiento.

Día a día la lucha por conquistar un mercado totalmente innovador es un total

desafío para los desarrolladores de aplicaciones móviles puesto que dicho

mercado es altamente competitivo y cada una de las aplicaciones móviles va

dirigida a un usuario cada vez más exigente.

Basándonos en todo esto sin duda alguna podremos decir que nuestra tecnología

enfocada en dispositivos móviles ha evolucionando satisfactoriamente durante un

periodo corto de tiempo, no podemos dejar de mencionar que así como evoluciono

dicha tecnología en un par de años podremos disfrutar aun mas una amplia

modernización de dispositivos sofisticados y con una arquitectura más compleja.

No importando cuantos dispositivos enlistemos en este trabajo lo que se pretende

a futuro es tener un Smartphone que simplifique la vida de las personas tanto en lo

cotidiano como en lo laboral permitiéndole acceder a toda su información estando

en cualquier lugar. Pero porque escoger un teléfono inteligente porque es un

aparato que integra un reproductor de música, cámara digital, conexión a internet,

entre muchas otras cosas, características que se hacen propias de algunos otros

dispositivos, es decir, que solo pueden hacer una solo función.

Como lo vimos en el presente trabajo Android, Blackberry así como IPhone son sin

duda alguna los dispositivos que abarcan un mercado de aplicaciones basadas

en tecnología móvil; la gran demanda de cada uno los respalda como líderes en

ventas con tan innovadores y sofisticados teléfonos inteligentes que se asemejan

81

a una laptop pero a su vez mas portables y prácticas en el uso y los costos de

estos mismos.

Todos estos dispositivos muy bien equipados a la vista del público totalmente

distintos en arquitectura, diseño y lenguaje de programación como ya lo notamos

pero completamente semejantes uno del otro, sobretodo en su funcionamiento.

Los desarrolladores de dichas empresas (Google, RIM, Microsoft, Apple, etc.) se

encuentran a cada minuto buscando la nueva forma de hacer aplicaciones más

sencillas y fáciles de manejar por las personas a las que van dirigidas tratando de

ser aceptadas satisfactoriamente y que funcionen no solo en una plataforma.

En un futuro no muy lejano al nuestro podremos contemplar el surgimiento de

nuevas tecnologías más complejas a las que contemplamos actualmente con

mejores características, lenguajes y plataformas de desarrollo y seremos testigo

de la extinción de las tecnologías que conocemos hasta el día de hoy.

Mucho hemos hablado sobre toda este tipo tecnología sin embargo es solo un

grano de arena dentro de un desierto de información, se dio la información más

actual sobre este tipo de dispositivos y sus funciones básicas que los hacen tan

especiales.

No está por demás decir que vivimos en un mundo de desarrollo constante en

todo tipo de tecnología así que esta es una gran oportunidad que un LSCA puede

aprovechar para sumergirse en este mundo laboral tan demandado actualmente

con una gran posibilidad de éxito dentro de este rango.

Un juego, un programa, una base de datos son una de las mayores posibilidades

de desenvolvimiento como desarrollador de pequeñas aplicaciones hasta lograr

algo más complejo sea un nuevo lenguaje de programación sobre cualquier

plataforma.

82

FUENTES DE INFORMACIÓN

Aranaz, J. (2009). Desarrollo de aplicaciones para dispositivos móviles sobre la

plataforma Android de Google. Consultado en noviembre 30, 2011 en

http://www.seccperu.org/files/Clustering%20and%20Grid%20Computing.pdf

Guevara, A. (2010). Dispositivos móviles. Consultado en septiembre 28, 2011 en

http://revista.seguridad.unam.mx/numero-07/dispositivos-m%C3%B3viles

Félix, J. (2007). Dispositivos móviles. Consultado en octubre 8, 2001 en

http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/tfbasterretche.

pdf

Fernández, F & Fernández, M. (2004). Telefonía Celular. Consultado en octubre

17, 2011 en http://tecnologia.mendoza.edu.ar/trabajos_profesores/gfernandez/

investigacion_celular.pdf

Fernández, J. M. (2006). Tipos de dispositivos móviles. Consultado en octubre 11,

2011 en http://leo.ugr.es/J2ME/INTRO/intro_4.htm

Gomez, J. & Herrera, C. & Santiago J. (2009). Diseño e implementación de

herramientas básicas de ingeniería de comunicaciones y electrónica para Pocket

PC. Consultado en octubre 23, 2011 en

http://itzamna.bnct.ipn.mx:8080/dspace/bitstream/123456789/6781/1/DISENOIMP

LEMENT.pdf

Gorricho, M. & Gorricho, J. (2002). Comunicaciones móviles. Barcelona: Edicions

UPC.

83

Malla, P. (2008). Oracle Lite 10g. Consultado en diciembre 28, 2011 en

http://www.slideshare.net/pemalla64/oracle-lite-10-i-presentation

Ortí, V. (2011). Programación con las APIS de flickr y youtube en dispositivos

Android. Consultado en diciembre 18, 2011 en

http://www.vision.uji.es/~montoliu/docs/pfc/VictorLuisOrti.pdf

Osuma, S. & Busón, C. (2008). Convergencia de medios: La integración

tecnológica en la era digital. Barcelona: Icaria Editorial.

Posada, D. (2008). SQLite. Consultado en diciembre 28, 2011 en

http://www.iessanvicente.com/colaboraciones/sqlite.pdf

Riveros, F. (2011). Introducción al desarrollo de aplicaciones móviles BlackBerry.

Consultado en diciembre 12, 2011 en http://www.slideshare.net/foward/curso-

blackberry-academic-program

Rosell, A. & Vergara, M. & Blanco, M. (2009). Bases de datos federadas y bases

de datos móviles. Consultado en diciembre 27, 2011 en http://alarcos.inf-

cr.uclm.es/doc/bbddavanzadas/08-09/Presentaci%C3%B3n-Distribucion2.pdf

Vázquez, J. (2008). Consulta y actualización de bases de datos mediante equipos

móviles. Colombia: ITM.

(2002). ITU-TELECOM. Consultado en noviembre 15, 2011 en

http://www.itu.int/telecom-wt99/press_service/information_for_the_press/press_

kit/backgrounders/technology_glossary-next-es.html

(2005). Desarrollos móviles. Consultado en diciembre 5, 2011 en

http://firt.mobi/downloads/desarrollosmoviles.pdf

84

(2010). Belatrix software Factory. Consultado en diciembre 5, 2011 en

http://www.belatrixsf.com/index.php/spdesarrollosmoviles#3.1.1

(2010). Todo Symbian. Consultado en diciembre 13, 2011 en

http://www.todosymbian.com/secart23.html

MSDN. Consultado en diciembre 20, 2011 en http://msdn.microsoft.com/es-

cl/ff380145

(2011). Nuevas tecnologías. Consultado en diciembre 10, 2011 en

http://www.eclap.jcyl.es/web/jcyl/binarios/680/307/SOP_INF_T02_FINAL.pdf?blobh

eader=application%2Fpdf%3Bcharset%3DUTF-8&blobheadername1=Cache-Con

trol&blobheadername2=Expires&blobheadername3=Site&blobheadervalue1=no-

store%2Cno-cache%2Cmust-revalidate&blobheadervalue2=0&blobheadervalue3

=Portal_ECLAP&blobnocache=true

(2011). BlackBerry. Consultado en diciembre 12, 2011 en

http://docs.blackberry.com/es-es/developers/deliverables/25206/Arch_Network_

transports_1293358_11.jsp

Android developers. Consulado en diciembre 13, 2011 en

http://developer.android.com/sdk/index.html

SyBase. Consultado en enero 5, 2011 en

http://www.sybase.com.mx/products/databasemanagement/sqlanywhere

GLOSARIO

86

API: Conjunto de rutinas, procedimientos, protocolos, funciones y herramientas

que una determinada biblioteca pone a disposición para que sean utilizados por

otro software como una capa de abstracción.

App Store: es como una tienda virtual de Apple (al estilo de iTunes) que los

desarrolladores crearon para la red y desde la que se pueden descargar todo tipo

de herramientas móviles para el iPhone y el iPod Touch.

FIP: (Federal Information Processing Estándar en español Estándares Federales

de Procesamiento de la Información) son estándares anunciados públicamente

desarrollados por el gobierno de los Estados Unidos para la utilización por parte

de todas las agencias del gobierno no militares y por los contratistas del gobierno.

IDE: (Integrated Development Environment - Entorno integrado de desarrollo).

Aplicación compuesta por un conjunto de herramientas útiles para un

programador. Puede ser exclusivo para un lenguaje de programación o bien,

poder utilizarse para varios. Suele consistir de un editor de código, un compilador,

un debugger y un constructor de interfaz gráfica GUI.

Kernel: (Núcleo) Parte esencial de un sistema operativo que provee los servicios

más básicos del sistema. Se encarga de gestionar los recursos como el acceso

seguro al hardware de la computadora. Se encarga también del multiplexado,

determinando qué programa accederá a un determinado hardware si dos o más

quieren usarlo al mismo tiempo.

Protocolo TCP/IP: Siglas de Protocolo de Control de Transmisión/Protocolo de

Internet, un sistema de protocolos que hacen posibles servicios Telnet, FTP, E-

mail, y otros entre computadoras que no pertenecen a la misma red.

87

plug-in: es un módulo de hardware o software que añade una característica o un

servicio específico a un sistema más grande.

TCP: Transmission Control Protocol (en español Protocolo de Control de

Transmisión) Es uno de los protocolos fundamentales en Internet. El protocolo

garantiza que los datos serán entregados en su destino sin errores y en el mismo

orden en que se transmitieron. También proporciona un mecanismo para distinguir

distintas aplicaciones dentro de una misma máquina.

WAP: Wireless Application Protocol (protocolo de aplicaciones inalámbricas), un

estándar seguro que permite que los usuarios accedan a información de forma

instantánea a ravés de dispositivos inalámbricos como PDAs, teléfonos móviles,

buscas, walkie-talkies y teléfonos inteligentes (smartphones).

Wi-Fi: (o Wi-fi, WiFi o Wifi, que de todas estas formas está bien escrito) significa

Wireless Fidelity, y es un conjunto de especificaciones de comunicación

inalámbrica basados en el estándar 802.11. A veces se le define simplemente

como Wireless, que significa sin cable, en contraposición a Wired, que se

traduciría como cableado o cableada, en referencia a una red.

88

ÍNDICE DE FIGURAS

Figura 1.2 Cámara Digital…………………………………………………...……....16

Figura 1.3 IPOD……………………………………………………………………....17

Figura 1.4 Consola Portátil PSP……………………………………...…………….18

Figura 1.5 Smartphone Samsung Galaxy2…………………………….…………19

Figura 1.6 Arquitectura de un Smartphone……………………………………….20

Figura 1.7 Plataformas de Desarrollo Móvil……………………………………….23

Figura 2.1 Arquitectura Android…………………………………………………….29

Figura 2.2 Mercado de Symbian……………………………………………………35

Figura 2.3 Arquitectura Symbian…………………………………………………...36

Figura 2.4 Arquitectura IOS (iPhone)……………………………………………...41

Figura 2.5 Arquitectura Blackberry OS…………………………………………….46

Figura 2.6 Movil Data System (MDS)………………………………………………47

Figura 2.7 WAP……………………………………………………………………….48

Figura 2.8 Blackberry Internet Service(BIS)……………...……….………………49

Figura 2.9 TCP………………………………………………………………………..50

Figura 2.10 TCP Wi-Fi………………………………………………………………...51

Figura 2.11 Arquitectura Windows Phone…………………………………….........56

Figura 3.1 Arquitectura de Oracle Lite 10g………………………………………..63

Figura 3.2 Arquitectura SQL Anywhere……………………………………………68

Figura 3.3 Casos de uso………………………………………………………….....68