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 Embedded VC++ MFC Native Win32 ATL Managed.NET Compact Framework Visual Studio.NET Server side ASP.NET Mobile Controls Software Platform (APIs) Device Management Remote API Configuration Bluetooth Security Communication Connection Manager TAPI SMS MAPI POOM ActiveSync Presentation Home Screen User Interface/Shell HTML Control Data Access ADO CE XML CE DB OLE DB Multimedia 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 ion,, adaptador EA-70S AC incluido. Sistema Operativo: Linux2 base SO (Embedix3) Qtopia,, Java personal. Software incluido: Calendario, agenda telefonica, To- Do. 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 plataforma- expecí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 pre- cargadas. 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 Cryptographic Suite Domestic and Global Key Length RSA public key (authentication and key exchange) RC4 (bulk encryption) DES (bulk encryption) Triple DES (bulk encryption) Diffie-Hellman public key (key agreement) 2048 bits (authentication), 2048 bits (key exchange) 128 bits 64 bits (56 effective) 192 bits (112 effective) 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