Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

26
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

description

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?. - PowerPoint PPT Presentation

Transcript of Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Page 1: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

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

Page 2: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 2

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Internet Móvil: ¿Cuánto de propaganda, cuanto de verdad?

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)

Page 3: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 3

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Pero la tecnología evoluciona

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

Page 4: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 4

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Parte I: Wireless Application Protocol

Page 5: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 5

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

¿Qué es WAP?

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

Page 6: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 6

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Red Celular (GSM, IS-136)

Internet

Infraestructura WAP

WAP GatewayCliente WAP

(Browser) Servidor HTTP

Applicación WAP

WSP/WTP HTTP

Infraestructura del Operador

Page 7: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 7

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

WML: Wireless MarkUp Language

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

Page 8: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 8

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Estructura de un documento WML

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)

Page 9: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 9

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

WML: Ejemplo

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

Page 10: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 10

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)

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)

Page 11: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 11

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)

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

Page 12: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 12

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

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

Page 13: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 13

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Parte II: Java 2 MicroEdition

Page 14: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 14

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Plataforma Java 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”)

Page 15: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 15

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Arquitectura de la Plataforma Java 2

HotSpot CVM KVM Card VM

Java 2Enterprise

EditionJava 2

StandardEdition

TVProfile

Auto Profil

e

Java 2Micro Edition

Java 2 Micro Edition Smart

CardProfile

Page 16: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 16

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Arquitectura J2ME

J2ME CDC J2ME CLDC

FoundationProfile

RMIProfile

CVM KVM

PersonalProfile

TVProfile

AutoProfile

HandheldProfile

MIDProfile

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:

CDC

CLDC

Page 17: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 17

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Configuración

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

Page 18: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 18

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

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)

Qué fue removido con respecto a J2SE:

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

CDC 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

Page 19: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 19

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

¿Qué son los Profiles?

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

Page 20: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 20

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Ejemplos de Profiles

Profiles para CLCD: 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

Page 21: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 21

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

MIDP 1.0 and MIDlets

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

Page 22: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 22

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

MIDP 2.0

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

Page 23: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 23

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Aplicaciones de J2ME

Juegos Mensajería Acceso Remoto a Directorios Aplicaciones Financieras

Page 24: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 24

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Conclusiones

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

Page 25: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 25

Arquitectura e Implementación de Aplicaciones Inalámbricas

Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Preguntas

Page 26: Internet Móvil: Tecnología y Aplicaciones (J2ME y WAP)

Página 26

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:1.

2.

3.