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.
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.
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).
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.
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
.NET Compact Framework /MMIT.NET Compact Framework.
.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.
.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.
.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) Manejada Nativa Capa de adaptación a plataforma Sistema operativo de Host
.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.
.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.
.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.
.NET Compact Framework/MMIT XML XmlTextReader y XmlTextWriter Parseo de datos XML hacia adelante únicamente. XmlDocument No soportados: XPath, XSL/T
.NET Compact Framework/MMIT Imágenes Microsoft Smart Device reviewers guide
.NET Compact Framework/MMIT http://samples.gotdotnet.com/quickstart/compactframework
.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
MMIT Características Controles de formas Web para dispositivos móviles IDE Interface Developer Enviroment Capacidades de navegación en Internet mediante ASP.NET
MMIT Funcionamiento http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6
MMIT http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6
MMIT http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6
MMIT http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6
MMIT http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6
MMIT http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6
MMIT http://www.asp.net/mobile/flasharchitecture.aspx?tabindex=6
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.
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
WEBSERVICES XML WEBSERVICES Descubrimiento UDDI,DISCO Descripción WSDL,XML Schema, Docs Formato del mensaje SOAP Codificación XML Transporte HTTP,SMTP..
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
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
WEBSERVICES Método tradicional XML WEBSERVICES public bool Validate( DateTime expdate) { Bool valor=false; if(expdate >= DateTime.Today) valor=true; return valor; }
WEBSERVICES Webservice XML WEBSERVICES [webmethod] public bool Validate( DateTime expdate) { Bool valor=false; if(expdate >= DateTime.Today) valor=false; return valor; }
WEBSERVICES Instancia: XML WEBSERVICES 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."; }
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
J2ME J2ME Permite llevar las características de java a pequeños dispositivos. Incluye características de interfaz, seguridad, compatibilidad con múltiples protocolos
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
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.
J2ME J2ME ARQUITECTURA Se pretende tener en cuenta todos los dispositivos para ofrecer la mejor experiencia para el usuario
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.
J2ME J2ME CONFIGURACIONES CLDC: Conected Limited Device configuration CDC: Conected Device Configuration
J2ME J2ME ARQUITECTURA Imagen tomada de http://java.sun.com/j2me/docs/j2me-ds.pdf
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
J2ME CDC: J2ME CONFIGURACIONES 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
J2ME J2ME ARQUITECTURA Imagen tomada de http://java.sun.com/j2me/docs/j2me-ds.pdf
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
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
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
J2ME J2ME ARQUITECTURA Imagen tomada de http://java.sun.com/j2me/docs/j2me-ds.pdf
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.
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.
J2ME J2ME ARQUITECTURA Imagen tomada de http://java.sun.com/j2me/docs/j2me-ds.pdf
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.
Replicación Bases de datos
Replicación Bases de datos
BREW QUALCOMM BREW 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
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.
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.
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.
BREW
CONCLUSIONES CONCLUSIONES rusanche@escuelaing.edu.co rsanchez@systecnologias.com