Software para el desarrollo de aplicaciones móviles Rubén Darío Sánchez rusanche@escuelaing.edu.co Programa Introducción. NET Compact Framework / MMIT. WebServices / Servicios WEB. J2ME. Replicación – Bases de datos. Brew. Conclusiones. Software para el desarrollo de aplicaciones móviles Introducción Las soluciones móviles e inalámbricas son una opción diferente de conectividad. Permite dar un valor agregado a las operaciones empresariales. EXTIENDE el modelo de negocio actual de las empresas para permitir la automatización. Software para el desarrollo de aplicaciones móviles Introducción Móvil & Inalámbrica Móvil: Permite portar aplicaciones y soluciones - no sincronización de datos en tiempo real. Inalámbrica: Permite la transmisión de información en tiempo real, así como acceder a aplicaciones remotas (ASP). Software para el desarrollo de aplicaciones móviles Introducción Cambios en la computación Móvil 90’s Aplicaciones CRM. Handheld se transforma en PDA. Evolución rápida de aplicaciones para compatibilidad con últimas tecnologías gracias a los patrones de diseño, la ingeniería de software y procesos. Software para el desarrollo de aplicaciones móviles Introducción Impacto de las soluciones móviles a nivel de infraestructura y capas Aplicación: Muchos de los esfuerzos para la adopción de APMI se enfocan en la manera en que se soluciona el problema del negocio. La escogencia de una infraestructura móvil no tiene porque afectar el problema sino la manera en que éste se aborda. • The CIO Wireless Resource Book, Synchrologic, www. synchrologic.com Software para el desarrollo de aplicaciones móviles .NET Compact Framework /MMIT .NET Compact Framework. Software para el desarrollo de aplicaciones móviles .NET Compact Framework .NET CF Iniciativa Microsoft para desarrollo de aplicaciones para dispositivos Inteligentes (Móviles). Es un subconjunto de .NET para desktop. Permite reutilizar conocimientos y experiencia de desarrollo sin necesidad de aprender nuevos lenguajes. Software para el desarrollo de aplicaciones móviles .NET Compact Framework/MMIT Reduce costos e incrementa la eficiencia. Soporte el desarrollo con Visual Basic .NET and C#. Desarrollo y Debug con Visual Studio .NET. Software para el desarrollo de aplicaciones móviles .NET Compact Framework/MMIT .NET Compact Framework Aplicaciones Librerías de Clase para plataforma específica Librerías Básicas Motor de Ejecución (MSCOREE.DLL) Capa de adaptación a plataforma Sistema operativo de Host Manejada Nativa .NET Compact Framework/MMIT Windows Forms Conectividad. Networking, HTTP classes, XML Web services Acceso a datos. ADO.NET, SQL Server CE, SQL Server XML. XmlDocument, XmlReader/Writer Clases básicas comunes. IO, collections, reflection, math, drawing. Software para el desarrollo de aplicaciones móviles .NET Compact Framework/MMIT El subconjunto de clases es de aproximadamente el 25% de lo encontrado en el .NET compact Framework. Adiciones dependiendo de dispositivo Soporte IrDA. Clases para manejo de SQL Server. Controles específicos para dispositivo. Software para el desarrollo de aplicaciones móviles .NET Compact Framework/MMIT Tamaño del Framework 1.35MB (ROM) Windows CE .NET Necesita aproximadamente 1Mb más lo necesitado por la aplicación. El tamaño de las aplicaciones es de 5 a 500k aproximadamente Gracias a las características del framework. Software para el desarrollo de aplicaciones móviles .NET Compact Framework/MMIT XML XmlTextReader y XmlTextWriter Parseo de datos XML hacia adelante únicamente. XmlDocument No soportados: XPath, XSL/T Software para el desarrollo de aplicaciones móviles .NET Compact Framework/MMIT Imágenes – Microsoft Smart Device reviewers guide Software para el desarrollo de aplicaciones móviles .NET Compact Framework/MMIT http://samples.gotdotnet.com/quickstart/CompactFramework Software para el desarrollo de aplicaciones móviles .NET Compact Framework/MMIT Microsoft Mobile Internet Toolkit Se origina debido a: Tamaños Resoluciones Servicios que prestan Velocidades de conexión Lenguajes de navegación que soportan Sistemas operativos Software para el desarrollo de aplicaciones móviles MMIT Características Controles de formas Web para dispositivos móviles IDE “Interface Developer Enviroment” Capacidades de navegación en Internet mediante ASP.NET Software para el desarrollo de aplicaciones móviles MMIT Funcionamiento http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6 Software para el desarrollo de aplicaciones móviles MMIT http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6 Software para el desarrollo de aplicaciones móviles MMIT http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6 Software para el desarrollo de aplicaciones móviles MMIT http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6 Software para el desarrollo de aplicaciones móviles MMIT http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6 Software para el desarrollo de aplicaciones móviles MMIT http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6 Software para el desarrollo de aplicaciones móviles MMIT http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6 Software para el desarrollo de aplicaciones móviles MMIT Características El MMIT, para poder desplegar el lenguaje adecuado, almacena los Tags en formato XML y después de identificar el tipo de dispositivo en tiempo de ejecución, despliega la página, utilizando el lenguaje correspondiente. Software para el desarrollo de aplicaciones móviles WEBSERVICES XML WEBSERVICES Características de una solución remota en la red: Interoperabilidad Amigabilidad con Internet Tipos de datos no ambiguos Aprovechar estándares de Internet Soporte para diferentes lenguajes Soporte para estructura de componentes distribuidas Software para el desarrollo de aplicaciones móviles WEBSERVICES XML WEBSERVICES Descubrimiento UDDI,DISCO Descripción WSDL,XML Schema, Docs Formato del mensaje SOAP Codificación XML Transporte HTTP,SMTP ….. Software para el desarrollo de aplicaciones móviles WEBSERVICES XML WEBSERVICES Descubrimiento: Descripción: Permite resolver la ubicación de un servicio remoto. Permite dar información sobre los datos al cliente Formato del mensaje: Para evitar traducir cabeceras de los protocolos como HTML y SMTP se utiliza. SOAP permite asociar información de cabecera con el cuerpo del mensaje Software para el desarrollo de aplicaciones móviles WEBSERVICES XML WEBSERVICES Codificación: Esquema de codificación que utiliza texto con caracteres estándar. Ej.. Little Indian y Big Indian Transporte: Se pretende utilizar protocolos aprobados, estandarizados y de alta utilización por eso se apoda HTML y SMTP Software para el desarrollo de aplicaciones móviles WEBSERVICES XML WEBSERVICES Método tradicional public bool Validate( DateTime expDate) { Bool valor=false; if(expDate >= DateTime.Today) valor=true; return valor; } Software para el desarrollo de aplicaciones móviles WEBSERVICES XML WEBSERVICES Webservice [webMethod] public bool Validate( DateTime expDate) { Bool valor=false; if(expDate >= DateTime.Today) valor=false; return valor; } Software para el desarrollo de aplicaciones móviles WEBSERVICES XML WEBSERVICES Instancia: localhost.CreditCard cc = new localhost.CreditCard(); Llamado a la función: if(cc.Validate(TextBox1.Text, Calendar1.SelectedDate)) { Status.Text = ”Tarjeta correcta."; } else { Status.Text = ”Tarjeta invalida."; } Software para el desarrollo de aplicaciones móviles J2ME J2ME Creado para teléfonos móviles, PDAs, TV set-top boxes, sistemas telemáticos para vehículos entre otros. La plataforma es un conjunto de APIs java definidos por el proceso java community Software para el desarrollo de aplicaciones móviles J2ME J2ME Permite llevar las características de java a pequeños dispositivos. Incluye características de interfaz, seguridad, compatibilidad con múltiples protocolos Software para el desarrollo de aplicaciones móviles J2ME J2ME – ARQUITECTURA La arquitectura J2me define perfiles, configuraciones, y paquetes adicionales que permiten crear ambientes java que cumplen con los requerimientos de los dispositivos Software para el desarrollo de aplicaciones móviles J2ME J2ME – ARQUITECTURA Para cada desarrollo se tienen en cuenta optimización de memoria , capacidad de procesamiento, capacidad de entrada y salida dependiendo de la categoría del dispositivo. Software para el desarrollo de aplicaciones móviles J2ME J2ME – ARQUITECTURA Se pretende tener en cuenta todos los dispositivos para ofrecer la mejor experiencia para el usuario Software para el desarrollo de aplicaciones móviles J2ME J2ME – CONFIGURACIONES Las configuraciones son un conjunto mínimo de librerías y una máquina virtual. Proveen la funcionalidad Java para cierto rango de dispositivos que comparten características similares. Software para el desarrollo de aplicaciones móviles J2ME J2ME – CONFIGURACIONES CLDC: Conected Limited Device configuration CDC: Conected Device Configuration Software para el desarrollo de aplicaciones móviles J2ME J2ME – ARQUITECTURA Imagen tomada de http://java.sun.com/j2me/docs/j2me-ds.pdf Software para el desarrollo de aplicaciones móviles J2ME J2ME – CONFIGURACIONES CLDC: Diseñada para dispositivos con conexiones intermitentes a Internet, procesadores lentos, y memoria restringida. Tel Celulares, Pagers y PDAs CPU 16 y 32 Bits – 128Kb a 512 Kb Software para el desarrollo de aplicaciones móviles J2ME J2ME – CONFIGURACIONES CDC: •Diseñada para dispositivos con más memoria, procesadores rápidos y con posibilidad para mayores anchos de banda. •Sistemas telemáticos para vehículos, TV Set-Top Boxes y PDAs. •Memoria de mínimo 2 Mb –CPU de 32 bits Software para el desarrollo de aplicaciones móviles J2ME J2ME – ARQUITECTURA Imagen tomada de http://java.sun.com/j2me/docs/j2me-ds.pdf Software para el desarrollo de aplicaciones móviles J2ME J2ME – PROFILES -PERFILES Son creados para poder prestar un ambiente específico completo en tiempo de ejecución dependiendo del dispositivo Estos definen el ciclo de vida de las aplicaciones, interfaz de usuario y acceso a propiedades especificas del dispositivo Software para el desarrollo de aplicaciones móviles J2ME J2ME – PROFILES -PERFILES Mobile Information Device Profile: •Diseñado para teléfonos móviles y PDAs de baja capacidad. •Provee aplicaciones de conectividad, almacenamiento, Interfaz •Es combinado con el CDLC Software para el desarrollo de aplicaciones móviles J2ME J2ME – PROFILES -PERFILES Fundation Profile (FP): Los perfiles para CDC pueden ser aplicados en capas para añadir mas funcionalidad de aplicación a los dispositivos cuando sea necesario Es el nivel más bajo del CDC, provee una implementación para red sin interfaz de usuario Software para el desarrollo de aplicaciones móviles J2ME J2ME – ARQUITECTURA Imagen tomada de http://java.sun.com/j2me/docs/j2me-ds.pdf Software para el desarrollo de aplicaciones móviles J2ME J2ME – PROFILES -PERFILES Personal Profile (PP): Es el perfil de CDC para dispositivos que requieren un GUI completo o soporte para applets. Consolas, PDAs avanzadas, dispositivos de comunicación avanzados. Incluye un AWT (Abstract window Toolkit). Es el reemplazo de personal java para ajustarse a la plataforma J2ME. Software para el desarrollo de aplicaciones móviles J2ME J2ME – PROFILES -PERFILES Personal Basis Profile (PBP): Es un subconjunto del PP :provee un ambiente de aplicación para dispositivos con un nivel básico de presentación gráfica. Sistemas telemáticos para vehículos, kioscos de información, TV Set-Top Boxes. Se encuentra sobre el CDC. Software para el desarrollo de aplicaciones móviles J2ME J2ME – ARQUITECTURA Imagen tomada de http://java.sun.com/j2me/docs/j2me-ds.pdf Software para el desarrollo de aplicaciones móviles J2ME J2ME – OPCIONALES Paquetes opcionales: Para requerimientos específicos, como bluetooth, webservices, multimedia, conexión a bases de datos etc. Son modulares lo que permite adicionar nuevos paquetes según la necesidad. Software para el desarrollo de aplicaciones móviles Replicación – Bases de datos Software para el desarrollo de aplicaciones móviles Replicación – Bases de datos Software para el desarrollo de aplicaciones móviles BREW BREW QUALCOMM Pionera y lider mundial en tecnología inalámbrica digital de acceso multiple por división de código (CDMA) . Fuerte en EU y Asia. Débil en Europa por GSM Software para el desarrollo de aplicaciones móviles BREW Es una solución que proporciona las herramientas necesarias y los servicios a los desarrolladores, a los fabricantes del dispositivo y a los operadores para el desarrollo ,la distribución y configuración del dispositivo móvil. Software para el desarrollo de aplicaciones móviles BREW El lenguaje nativo de BREW C/C++ pero a la vez permite el desarrollo de aplicaciones Java y XML La arquitectura de BREW es fácil de escribir y entendible para terceros. Software para el desarrollo de aplicaciones móviles BREW El entorno de ejecución de BREW es un capa de interfaz que reside en un dispositivo móvil entre el ASIC (Application Specific Integrated Circuit) y las aplicaciones, permitiendo a los usuarios finales bajar y ejecutar programas en dispositivos BREW-enabled. Software para el desarrollo de aplicaciones móviles BREW Software para el desarrollo de aplicaciones móviles CONCLUSIONES CONCLUSIONES rusanche@escuelaing.edu.co rsanchez@systecnologias.com