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