Download Desarrollando Aplicaciones en dispositivos móviles ligeros PDAs

Document related concepts
no text concepts found
Transcript
Desarrollando Aplicaciones
en dispositivos móviles
ligeros PDA’s
Introducción (1/4)
‹
Un Dispositivo Móvil es
e un computador de mano
de alta movilidad operado con baterías, el cual es
capaz de capturar, procesar, presentar y
transmitir datos desde y hacia un servidor.
Ejemplos:
•
•
•
•
PDA´s
Teléfonos celulares
LapTops
etc.
Introducción (2/4)
‹
¿Por que voltear a ver a los
dispositivos móviles?
‹
Su cada vez mayor poder de computo.
‹
El desarrollo de las redes inalámbricas
‹
La llegada de la Web a los dispositivos
móviles.
Introducción (3/4)
‹
Tratando de alcanzar a la ficción:
• Los tricorders de StarTrek :
Scanner de superficie
‹ Analizador biológico y meteorológico
‹ Analizador de estructuras
‹ etc.
‹
Introducción (4/4)
‹
PDA del inglés Personal Digital Assistant, (Ayudante personal
digital) es una computadora de mano originalmente diseñada
como agenda electrónica. Hoy en día se puede usar como algo
más que una simple agenda.
•
•
•
•
•
•
•
•
•
Apple Newton
Casio Cassiopeia
Franklin eBookMan
Handspring Visor (la compañía fue adquirida por
PalmOne)
HP iPAQ Pocket PC (anteriormente Compaq iPAQ hasta
la unión con HP en 2002)
Palm (antes PalmOne)
Sharp,Wizard y Zaurus
Xircom,REX 5000 y REX 6000
Nokia Series 60
Aplicaciones para las PDA’s
Compras en contexto
‹ Mapas y navegación
‹ Búsqueda, acceso tradicional a
Internet.
‹ Comunicaciones, Chat de texto
‹ Aplicaciones corporativas
‹
• Inventario
• Fichas médicas
• etc
Limitantes de las aplicaciones en
PDA´s
‹
‹
‹
Dificultades en la comunicación con el humano:
pantallas muy chicas, dispositivos de entrada
lentos y que resultan ser en la mayoría de las
veces cansado para el usuario.
Dificultades tecnológicas: fuente de energía
limitada y menor velocidad de procesamiento.
Dificultades en la conexión de red: tiempos de
latencia muy prolongados, y ancho de banda
altamente variable, por infinidad de factores
como el cambio de celda, condiciones de tráfico,
competencia con la señal, etc
Algunos modelos de PDA´s
Programando PDA´s con Windows
‹
‹
‹
‹
Windows CE 3.0
Pocket PC
Pocket PC 2002
Smartphone 2002
PDA HP iPaq- rz1710
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Dimensiones (Ancho x Profundidad x
Altura) 7 cm x 1.3 cm x 11.4 cm
Peso 120 g
Procesador: Samsung S3C2410 203 MHz
Memoria ROM: 32 MB
Memoria RAM: 32 MB
Conectividad: Inalámbrica IrDA
Dispositivo de entrada: Pantalla sensible al
tacto, botón de navegación de 5 vías, lápiz
Batería Ion de litio
Tiempo medio de ejecución 7 hora(s)
Sistemas operativos Microsoft Windows
Mobile 2003 Second Edition for PocketPC
Arquitectura de las PDA’s Windows
Visual Studio .NET
Embedded VC++
Managed
Native
MFC
ATL
Server side
ASP .NET
Mobile Controls
.NET Compact
Framework
Win32
Software Platform (APIs)
Device Management
Communication
Presentation
Data Access
Remote API
Configuration
Bluetooth
Security
Connection Manager
TAPI
SMS
MAPI
POOM
ActiveSync
Multimedia
Home Screen
User Interface/Shell
HTML Control
ADO CE
XML
CE DB
OLE DB
GAPI
Windows Mobile
Windows CE
CE DB
ActiveSync
Pocket Outlook
Pocket Internet Explorer
Windows Media Player
Drivers
Device
Hardware
Processor
Memory
Display
USB or Serial
Radio
GSM/GPRS
CDMA/1xRTT
WiFi
Bluetooth
Programando PDA´s con Linux
‹
‹
‹
‹
‹
‹
Linux embedded
Pocket PC
Pocket PC 2002
Smartphone 2002
Zaurus
iPack
PDA Sharp Zaurus-5600
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
‹
Procesador: Procesador Intel XScale 400 MHz
PXA250.
Memoria de almacenamiento (ROM): 32 MB.
Memoria (RAM):64 MB.
Pantalla: TFT LCD (panel sensible apoyado), de 3.5
pulgadas, con una resolución de 240 x 320 píxeles,
65.536 colores.
Sonido: Estéreo, auricular incluido, microfono y
altavoz incluido.
Puertos: Serial/USB (puerto IR).
Ranura de expansión: 1 ranura compacta flash Card, 1
ranura de tarjeta SD/MMC.
Batería: Lithium-ion, adaptador EA-70S AC incluido.
Sistema Operativo: Linux2 base SO (Embedix3)
Qtopia, Java personal.
Software incluido: Calendario, agenda telefonica, ToDo.
Web Browser: Equivalente HTML 4.0, JavaScript 1.5.
Dimensiones: Ancho: 7.36 cm, grueso: 1.77 a 2.28 cm,
alto: 13.71 cm.
Peso: 213 gr.
Arquitectura de la Sharp Zaurus
QT C++
‹
‹
‹
Qt es un entorno de trabajo de C++,
multiplataforma, que permite a los
desarrolladores escribir una
aplicación que correrá nativamente
en Windows, Linux/Unix,Mac OS X, y
Linux integrado con una simple
recompilación.
Es elegante, intuitivo y
completamente orientado a objetos.
Encapsula cuatro diferentes APIs de
plataforma-específica, y los APIs
para manejo de archivos, redes,
manejo de procesos, cadenas
(threading), acceso a base de datos,
etc.
Desarrollando aplicaciones con
C++/QT
‹
‹
El desarrollo nativo de la Zaurus se realiza utilizando C++ y Qt de
TrollTech.
QPE viene con un marco búfer (frame buffer) virtual llamado qvfb,
que permite probar aplicaciones sobre X11 sin necesidad de tener una
Zaurus.
‹
Para desarrollar en Qt se necesita obtener el Kit de Desarrollo de
Software (SDK) de TrollTech, ya sea la versión GPL ó la comercial.
‹
Se cuenta también con un Qt designer el cual es una herramienta para
desarrollo de aplicaciones en Qt
‹
Se cuenta ademas con Tmake, el cual es una herramienta de
Trolltech, fácil de usar de usar que permite mantener makefiles para
proyectos de software.
Personal Java
‹
‹
Java es una plataforma estándar y
abierta, en donde, se pueden crear
aplicaciones usando las herramientas
de desarrollo existentes para Java. La
versión Personal Java está diseñada
específicamente para dispositivos
móviles de alto nivel integrados.
La Máquina Virtual PersonalJava es una
versión compactada de la familiar
Máquina Virtual Java (JVM), para poder
encajar en la limitada capacidad de
memoria de éstos dispositivos
portables.
Personal Java
‹
‹
‹
‹
PersonalJava fué descontinuado e integrado como un perfil
dentro de J2ME , el perfil Connected Device Configuration
(CDC)
Éste es un entorno de trabajo con bases estándares para
construir y distribuir aplicaciones para una variedad de
dispositivos móviles.
CDC está diseñado para escenarios de productos con
recursos comprometidos, típicamente 2 Mb de RAM y 2.5
MB de ROM para el entorno de aplicaciones Java.
CDC está además basado en compatiblidad con las APIs
estandares de J2SE.
Java Jeode
‹
‹
‹
Las PDAs Sharp-Zaurus series SL-5XXX tienen
implementado el entorno de ejecución de Java Jeode.
Mediante la implementación de Java, una plataforma
estándar y abierta, se pueden crear aplicaciones usando las
herramientas de desarrollo existentes para Java.
El paquete de herramientas de ventanas abstractas ( AWT Abstract Windowing Toolkit ) de Jeode ha sido
implementado para manejar el sistema nativo de ventanas
de cada plataforma.
Además una completa implementación del protocolo de la
Interfaz Nativa de Java (JNI) que permite a los
desarrolladores el soportar funcionalidad plataformaexpecífica ( ej. Lectores de códigos de barra, etc.) a través
de clases Java.
Java Jeode
‹
‹
Para soportar aún más las necesidades de la comunidad de
las PDAs, Esmertec ha hecho mejoras significantes en el
tiempo de arranque del motor de arranque de Jeode EVM
por medio de la implementación de librerías de clases precargadas.
Esmertec, ofrece el primer entorno JVM en el mercado que
provee soporte de plugins para correr applets de Java
dentro del navegador de internet - Pocket Internet
Explorer. Jeode además soporta otros navegadores
populares para PDAs incluyendo Espial Escape, Netclue
Clue.
Fragmentación de Java
Comparación de la API de
Java J2ME CDC
Seguridad de la programación
Móvil de la Zaurus
‹
Un canal seguro de comunicación
‹
Autenticación/No repudio
Resolviendo los problemas de
seguridad con Java
‹
‹
Creando nuestras propias librerías
criprográficas.
Usando librerías ya existentes como
JSSE
JSSE 1.0.3
Domestic and Global
Key Length
Cryptographic Suite
RSA public key (authentication and
key exchange)
2048 bits (authentication),
2048 bits (key exchange)
RC4 (bulk encryption)
128 bits
DES (bulk encryption)
64 bits (56 effective)
Triple DES (bulk encryption)
192 bits (112 effective)
Diffie-Hellman public key (key
agreement)
1024 bits
DSA public key (authentication)
1024 bits
Conclusiones
‹
‹
‹
‹
Una PDA no es una computadora con limitantes es una
computadora que abre las expectativas del computo móvil,
hacia un computo ubicuo.
La programación de una PDA hoy en día es tan fácil como la
programación de cualquier PC
Como en todos los entornos, está en nuestras manos
mantener la información confidencial segura.
Las PDA´s cuentan con las herramientas necesarias para
ofrecer aplicaciones seguras tanto como en las PC´s