Software para el desarrollo de aplicaciones móviles Rubén Darío

Anuncio
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
Descargar