Download Internet Movil - Tecnologia y Aplicaciones (J2ME y WAP).

Document related concepts
no text concepts found
Transcript
Seminario de Arquitectura e Implementación
de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y
Aplicaciones (J2ME y WAP)
Fecha: 26–Junio -2003
Autores: Julián Molina,
Romina Torres
Internet Móvil: ¿Cuánto de propaganda,
cuanto de verdad?
Página 2
1997, Junio: 4 compañías: Motorola, Nokia, Ericsson y Unwired
Planet se unen para crear un estándar que lleve servicios de Internet
a los usuarios móviles
 1998, Abril: Las especificaciones de WAP 1.0 son publicadas
 1999, Septiembre. WAP es lanzado al público en medio de una
gigantesca campaña publicitaria
 2000, Otoño: Nielsen Norman Group conduce un estudio sobre
usabilidad de WAP; las conclusiones son desalentadoras
 2000, Diciembre: 1.6% de adopción por parte de los usuarios en
Europa Occidental
 Se estima un 10% de adopción para el año 2003 (Fuente: Carl H. Marcussen, Centre for

Regional and Tourism Research, www.crt.dk)
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Pero la tecnología evoluciona
Página 3
La interfaz, la velocidad de procesamiento y la cantidad de memoria
de los dispositivos móbiles aumenta día a día
 Las redes celulares también aumentan su capacidad de transmisión
 Un teléfono tecnológicamente avanzado hoy día posee:




Interfaz gráfica, 4096 colores
7 MB de memoria
384 kbps (downlink) y 64 kpsd (uplink)
Estándares tales como WAP y J2ME se ponen al día de manera de
aprovechar los progresos del hardware
 La Internet Móvil todavía es posible

Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Página 4
Parte I: Wireless Application Protocol
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
¿Qué es WAP?
Página 5
WAP: Wireless Application Protocol
 Especificación abierta que permite a los usuarios tener acceso e
interactuar con información y servicios de manera instantánea
 Controlado por la Open Mobile Aliance (OMA), organización que
reúne a los más importantes fabricantes de equipamiento para redes
inalámbricas del mundo
 WAP 1.0 y 1.1 está ampliamente difundido entre los operadores, WAP
2.0 en proceso de adopción

Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Infraestructura WAP
Página 6
Infraestructura del Operador
Applicación
WAP
Red Celular
(GSM, IS-136)
Cliente WAP
(Browser)
WSP/WTP
Internet
WAP Gateway
HTTP
Servidor HTTP
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
WML: Wireless MarkUp Language
Página 7
Lenguaje para especificar documentos, con soporte de hipertexto,
interpretado por el cliente WAP
 Similar a HTML. Sin embargo, no es un subconjunto
 WML es XML:



Todo tag debe cerrarse
Existe un archivo DTD que contiene la definición del WML
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Estructura de un documento WML
Página 8
Un documento WML es un “mazo” (Deck), compuesto por una serie
de “cartas” (cards)
 Una carta es una unidad de información. Normalmente, un usuario
puede visualizar en su browser solamente una carta
 Cada carta tiene por lo menos un párrafo de texto (<p> tag)
 Es posible definir entradas de datos



Texto simple (<input> tag)
Opción Múltiple (<select> tag)
Es posible también que cada carta reaccione a un conjunto
predeterminado de acciones de usuario (<do> tag)
 Al igual que HTML, es posible enviar los datos ingresados por el
usuario a una dirección URL para ser procesados (<go> <method>
tags)

Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
WML: Ejemplo
Página 9
<wml>
<card>
<p>
<b>Bienvenido a Survey Servlet</b>
</p>
<p>
Seleccione una Encuesta
</p>
<p>
<anchor title="Fun Survey">
Fun Survey
<go href="http://sapi/se/SurveyServlet" method="get">
<postfield name="idUser" value="123"/>
<postfield name="idProduct" value="1"/>
</go>
</anchor>
</p>
<p>
<anchor title="Market Survey">
Market Survey
<go href="http://sapi/se/SurveyServlet" method="get">
<postfield name="idUser" value="123"/>
<postfield name="idProduct" value="2"/>
</go>
</anchor>
</p>
</card>
</wml>
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Hacia WAP 2.0: Nuevas características (1)
Página 10
WAP Push: Permite que el servidor envíe información hacia el cliente
sin que exista un requerimiento previo
 User Agent Profile: Permite describir las capacidades de los clientes y
al usuario especificar preferencias
 Wireless Telephony Application: Permite a las aplicaciones WAP
interactuar con servicios de telefonía (Marcar números de teléfono,
terminar una llamada, etc.)
 External Functionality Interface: Permite generar aplicaciones para
ser empotradas en los clientes que interactúan con aplicaciones WAP
(Mecanismo análogo al plug-in de los browsers en Internet)

Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Hacia WAP 2.0: Nuevas características (2)
Página 11
Persistent Storage Interface: Define un conjunto de servicios que
permiten almacenar datos en un cliente WAP
 Multimedia Messaging Service (MMS): Especificación que permite la
mensajería de contenido multimedia
 Provisioning: Este permite estandarizar la manera en que se
configura un cliente WAP para operar en una red móvil
 Pictogram: Permite el uso de imágenes pequeñas, tales como el de
una forma consistente

Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Hacia WAP 2.0: XHTML y WML 2.0
Página 12
Un browser que cumple con la especificación WAP 2.0 soporta
XHTML Mobile profile, un subconjunto del XHTML 1.1 (a su vez
basado en HTML 4.0 y XML)
 WML 2.0 incorpora extensiones a XHTML, de manera de hacerlo
compatible con WML 1.0

Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Página 13
Parte II: Java 2 MicroEdition
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Plataforma Java
Página 14
Lenguaje de programación
 Compilado e interpretado:





Un compilador Java genera byte-code
Una máquina virtual interpreta el byte-code y ejecuta las aplicaciones
El byte-code es independiente de la plataforma (HW+sistema operativo), la máquina
virtual no
El lema de Java es “Write once, run everywhere” (“Escríbalo una vez,
ejecútelo donde sea”)
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Arquitectura de la Plataforma Java 2
Java 2
Enterprise
Edition
Java 2
Standard
Edition
TV
Profile
Página 15
Auto
Profil
e
Java 2
Java 2
Micro Edition
Micro Edition
Smart
Card
Profile
Arquitectura e Implementación de Aplicaciones Inalámbricas
HotSpot
Card VM
CVMMóvil: Tecnología yKVM
Internet
Aplicaciones (J2ME y WAP)
Arquitectura J2ME
Página 16
Profiles (Perfiles)
Provee soporte para las necesidades
específicas de una cierta familia de
dispositivos
Configuración
Plataforma mínima requerida
para un grupo de dispositivos
Disponibles:
Personal
Profile
Auto
TV
Profile Profile
RMI
Profile
Foundation
Profile
Handheld
MID
Profile
Profile
J2ME CDC
J2ME CLDC
CVM
KVM
CDC
CLDC
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Configuración
Página 17
Una configuración es una especificación
 Una configuración define una clase de dispositivos en términos de
hardware: tipo y velocidad del procesador, capacidad de memoria,
tipo de conectividad en redes
 Define un mínimo de bibliotecas Java y capacidades de máquina
virtual que un desarrollador puede esperar encontrar en todos los
dispositivos implementando la especificación de la configuración
 Una configuración se traduce en una máquina virtual

Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Configuraciones CLDC Vs. CDC

CLDC

Requerimientos de Hardware


Qué fue removido con respecto a
J2SE:







CDC

Memoria total disponible: 160 Kbytes a 512
Kbytes.
Procesador de 16-bit o 32-bit
Bajo consumo de poder (battery empowered)
Conectividad con Ancho de banda bajo
(Ejemplo: 9600bps)
Página 18
Al menos 2MB de ROM + RAM
Procesador de 32-bit
Conectividad con alta banda ancha,
frecuentemente utilizando TCP/IP
Ejemplo:
high end PDA
set-top boxes
Teléfonos 3G
Soporte punto flotante
Interfaz Nativa de Java
Class Loaders defidos por el usuario
Reflexión
Grupos de Threads y daemon Threads
Finalización
CLDC no soporta:


Funcionalidad de interfaz usuario
Manejo de eventos
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
¿Qué son los Profiles?





Página 19
Un profile también es una especificación
Un profile define un conjunto de clases que extienden una
configuración añadiendo una particular funcionalidad
Hay profiles para extender CLDC y profiles para extender CDC
Un profile puede depender de otro profile para funcionalidad
Un profile se traduce en bibliotecas java
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Ejemplos de Profiles

Profiles para CLCD:



Página 20
MIDP: Mobile information device profile
• display y almacenamiento para teléfonos móviles
• Conectividad de redes basado en http v1.1.
• Código para dispositivos MIDP son denominados “MIDlets”
PDAP
• Mejor pantalla y más memoria (no implementado)
Profiles para CDC:



Foundation
• Incluye casi completo las clases de java 2 v1.3
Personal Basis Profile
• Interfaz de usuario básica
RMI profile, Game profile
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
MIDP 1.0 and MIDlets

Página 21
Mobile Information Device Profile (MIDP 1.0).
MIDP + CLDC = Parte del ambiente Runtime J2ME

MIDP 1.0 soporta:






Interfaz usuario
Almacenamiento persistente (utilizando un modelo de Base de datos orientado al
registro)
Conectividad de Redes (extiende al framework genérico de conectividad de CLDC)
Administración del ciclo de vida
Manejo de eventos
Paquetes MIDP 1.0:




javax.microedition.io
javax.microedition.lcdui
javax.microedition.midlet
javax.microedition.rms
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
MIDP 2.0
Página 22
MIDP 1.0 estabeció un ambiente Java estandar para pequeños
dispositivos con conectividad inalámbrica.
 MIDP 2.0 expande considerablemente en la especificación original
con soporte para:








Soporte para Https
Multimedia
• APIs sólo para audio
Mejoras a los formularios
La API para juegos
Soporte para manipulación de imágenes RGB
Permisos y firmas de código
Paquetes agregados desde 1.0 a 2.0




javax.microedition.lcdui.game
javax.microedition.lcdui.media
javax.microedition.lcdui.media.control
javax.microedition.lcdui.pki
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Aplicaciones de J2ME
Página 23
Juegos
 Mensajería
 Acceso Remoto a Directorios
 Aplicaciones Financieras

Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Conclusiones
Página 24
Los dispositivos inalámbricos están aumentando su capacidad
gráfica, de procesamiento y de conectividad a pasos agigantados
 J2ME, al igual que WAP, está tomando nota de estos avances, y lo
está incorporando
 Estas tecnologías sin duda jugarán un rol muy importante en un
futuro próximo: la Internet Móvil todavía está por venir

Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Preguntas
Página 25
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)
Gracias !

Esta Presentación está disponible en
www.motorola.com/cl/seminario

Referencias:
Página 26
1.
2.
3.
Arquitectura e Implementación de Aplicaciones Inalámbricas
Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)