Motivación Wireless Application Protocol WAP Wireless Application Environment WAE Wireless Telephony Applications WTA Wireless Session Protocol WSP Wireless Transaction Protocol WTP Wireless Datagram Protocol WDP Push Wireless Markup Language WML Despliegue de servicios WAP Discusión del enfoque WAP Otras soluciones Referencias Professional WAP. Varios Autores. Wrox Press 2000. • Understanding WAP. M. Van der Heijden, M. Taylor. Artech House 2000. • Especificaciones WAP, disponibles en el sitio del WAP Forum www.wapforum.org • www.wapforum.org www.ericsson.com/developerszone www.nokia.com www.kannel.org Motivación • Gran número de usuarios potenciales (más terminales móviles que PCs). • Coste del terminal muy reducido. • “Sencillez” de utilización del terminal. • Acceso a servicios de Internet en cualquier lugar, en cualquier momento. Motivación • • • • • • • Tamaño limitado de pantalla. Prestaciones de la pantalla. Entrada de datos limitada. CPU. Memoria. Consumo. Prestaciones del canal radio. Wireless Application Protocol WAP WAP Protocolos de comunicación y entornos de aplicación para el despliegue de recursos de información, servicios avanzados y acceso a servicios de Internet desde terminales móviles. Wireless Application Protocol WAP. • Antecedentes: – Handheld Device Markup Language HDML (Unwired Planet), 1995. – NTT DoCoMo I-mode, 1999. • WAP Forum: Openwave (anteriormente Phone.com, Unwired Planet), Ericsson, Nokia, Motorola. • Elabora las especificaciones WAP. • Actualmente en la versión 2.0. • Sustituido por la Open Mobile Alliance. El modelo WWW. 2. Contenido y aplicaciones presentados con formatos normalizados. Acceso con navegadores. Servidor de Información Cliente Petición (URL) Agentes de usuario Servidor HTTP Respuesta (contenido) Contenido El modelo WAP. Aporta: Push Soporte a telefonía (WTA) Servidor de Información Cliente Micronavegador WAP, con WTA Petición (URL) Servidor HTTP Contenido Respuesta (contenido) Push (contenido) Iniciador de Push El modelo WAP (II): pasarelas. Servidor de Información % , +, )* #$ Contenido codificado !" Micronavegador Petición codificada (URL) WAP '&(% Pasarela Cliente Petición (URL) Contenido HTTP Server Contenido Pasarela OPCIONAL en WAP2.0, obligatoria en WAP1.X Funciones de la pasarela (proxy): Pasarela de protocolos. Adaptación WAP 1.x. Codificadores y decodificadores de contenidos. Caché. Gestión de perfiles. Comparativa WAP y WWW WWW WAP 1.X WAP 2.0 Navegadores Pantalla WWW. Gráficos muy potentes. Muy limitada, blanco y negro. Limitada, algunas capacidades de color. Contenido Páginas HTML. WML. Barajas y cartas. XHTML. WML2.0 para compatibilidad hacia atrás. Arquitectura Servidores WWW. Navegdores en los clientes. Pasarela WAP entre servidores y clientes. Pasarela OPCIONAL entre servidores y clientes. Protocolos HTTP sobre TCP/IP Torre WAP: WSP, WTP , WTLS, WDP WP-HTTP, TLS, WP-TCP Wireless Application Protocol WAP 1.X Protocolo Inalámbrico de Aplicaciones (WAP) Capa de Aplicación (WAE) Otros Servicios Capa de sesión (WSP) y Aplicaciones Capa de Transacción (WTP) Capa de Seguridad (WTLS) Capa de Transporte (WDP) Protocolos Portadores GSM IS-136 CDMA PHS CDPD DECT TETRA Etc. Wireless Application Protocol WAP 1.X Internet HTML, JavaScript Protocolo Inalámbrico de Aplicaciones (WAP) Capa de Aplicación (WAE) Otros Servicios Capa de sesión (WSP) y Aplicaciones HTTP Capa de Transacción (WTP) TLS - SSL Capa de Seguridad (WTLS) Capa de Transporte (WDP) TCP/IP UDP/IP Protocolos Portadores GSM IS-136 CDMA PHS CDPD DECT TETRA Etc Wireless Application Environment WAE • Objetivo: construir un entorno de aplicación de propósito general basado en la filosofía y tecnología WWW. • Se pretende establecer un entorno que permita a los operadores y proveedores de servicios construir aplicaciones y servicios que puedan utilizarse en una amplia variedad de plataformas inalámbricas de forma útil y eficiente. Wireless Application Environment WAE Modelo WWW convencional Cliente Petición (URL) Agentes de usuario Respuesta (contenido) Servidor de Información CGI, Scripts, etc. Contenido Modelo WAP Cliente WML agente usuario Servicios WAE Pasarela Codificador WML Compilador WMLScript Servidor de Información WML Decks WML Scripts CGI, Scripts, etc. Contenido Wireless Application Environment WAE WAE Agentes de Usuario Agente de Usuario para WML Agente de Usuario para WTA Otros Agentes Servicios/Formatos WMLScript Servicios WTA WML URLs Otros Servicios y formatos Servicios y Pila del Protocolo WAP Servicios / Sistema Operativo del Dispositivo Otras Aplicaciones y Servicios Wireless Telephony Applications WTA • Aplicaciones con mecanismos para interaccionar con las funciones de telefonía del terminal y de la red: – En el móvil: hacer y recibir llamadas, enviar y recibir mensajes cortos, manejar las entradas de la agenda de teléfonos, examinar los registros de llamada, señalización DTMF durante una llamada, manejo de teclado durante una llamada. – En la red: retener, transferir y desviar llamadas, conferencias, buzón de voz, servicios de red inteligente. Wireless Telephony Applications WTA Wireless Telephony Applications WTA • Agente de usuario WTA. Agente de usuario WAE, con la diferencia de que tiene una gestión de contexto en tiempo real rígida: ignora eventos obsoletos, no almacena historia, ... • Servidor WTA. Servidor de contenidos para WTA. Consideraciones especiales para seguridad. Control completo por parte del operador. No hay proveedores WTA externos. Wireless Telephony Applications WTA • Servicios WTA. Iniciados por: Usuario accediendo al servidor WTA. – Push. – Evento WTA que dispara un manejador. – • Interfaces WTA. Biblioteca disponible en el terminal: Funciones WTAI públicas: llamar, enviar tonos DTMF, añadir una entrada telefónica. – Funciones WTAI de red comunes. Se aplican a todos los teléfonos que soporten WAP. – Funciones WTAI de red específicas. Distintas dependiendo de si la red es GSM, TETRA, PDC, ... – Wireless Telephony Applications WTA Repositorio • Módulo de almacenamiento persistente para eliminar accesos a red asociados a servicios WTA de uso frecuente. • Contenido almacenado: – Recursos: datos descargados con WSP, junto con sus metadatos. – Canales: conjunto de enlaces a otros recursos e información de control. Wireless Session Protocol WSP • El Protocolo Inalámbrico de Sesión (WSP) proporciona a la Capa de Aplicación de WAP una interfaz con dos servicios de sesión: – Orientado a conexión. Funciona por encima de la Capa de Transacciones. – No orientado a conexión. Funciona por encima de la Capa de Transporte. Wireless Session Protocol WSP • Esta capa consiste en servicios adaptados a aplicaciones basadas en la navegación Web, proporcionando las siguientes funcionalidades: Establecer una conexión fiable entre el cliente y el servidor, y liberar esta sesión de una forma ordenada. – Semántica y funcionalidades del HTTP/1.1 en una codificación compacta. – Negociación de las características del Protocolo. – Suspensión de la sesión y reanudación de la misma incluso ante cambio de portadora. – Wireless Session Protocol WSP • El servicio de sesión orientado a conexión esta dividido en facilidades o servicios, algunos de estos son asimétricos. Las facilidades son: – – – – – – Administración de la sesión Invocación de métodos Informe de excepciones Push de datos Push de datos confirmado Reanudar una sesión Wireless Transaction Protocol WTP - - - • Protocolo ligero de transacciones apto para su implantación en clientes “ligeros”, como terminales móviles. • Se sitúa por encima de WDP y, de forma opcional, de WTLS. • Ofrece tres clases de servicio de transacción: Clase 0: peticiones no fiables, sin mensaje de resultado. Clase 1: peticiones fiables, sin mensaje de resultado. Clase 2: peticiones fiables, con, exactamente, un mensaje de resultado seguro. Wireless Transaction Protocol WTP • Clase 0 – Petición no fiable, sin mensaje de resultado. – Proporciona un servicio de datagramas no fiable. – Se utiliza básicamente para enviar un datagrama en el contexto de una sesión existente (push no fiable) Initiator Responder Invoke (TID=N, TG, c0… ) Wireless Transaction Protocol WTP • Clase 1 – Petición fiable, sin mensaje de resultado. – Proporciona un servicio de datagramas fiable. – Utilizado por aplicaciones que requieren de un servicio de Push fiable. Initiator Responder Invoke (TID=N, TG, c1… ) Ack (TID=N* ) Wireless Transaction Protocol WTP • Transacción de clase 2 – Petición fiable con, exactamente, un mensaje de resultado seguro. – Proporciona el servicio básico de petición / respuesta. – Una sesión WSP puede contener varias transacciones de este tipo. Initiator Responder Invoke (TID=N, TG, c2 … ) Result (TID=N*, TG ... ) Ack (TID=N) Wireless Transaction Protocol WTP • • • • • • • • • Fiabilidad conseguida con identificadores de transacción únicos, ACKs, eliminación de duplicados, y retransmisiones. No hay fases explícitas de apertura y cierre de conexiones. Fiabilidad usuario a usuario opcional. Opcionalmente el último ACK de la transacción puede llevar información fuera de banda sobre la transacción. Posible concatenación de PDUs en una SDU de WDP. Orientado a mensaje. Minimizar el número de repeticiones por duplicados. Posibilidad de abortar transacciones. Posibilidad de transacciones asíncronas. Wireless Datagram Protocol WDP • WDP proporciona un servicio de datagramas a los protocolos de las capas superiores de WAP y permite la comunicación de forma transparente sobre los protocolos portadores. • Debido a que este protocolo proporciona una interfaz común a los protocolos de las capas superiores, las capas superiores pueden trabajar independientemente de la red inalámbrica que da soporte al sistema. Wireless Datagram Protocol WDP Punto de Acceso al Servicio de Transporte (TSAP) Protocolo de Datagramas Inalámbrico (WDP) Adaptación Portadora A Servicio Portadora A Adaptación Portadora B Servicio Portadora B Adaptación Portadora C Servicio Portadora C Capa Física. Tecnologías de Enlace Inalámbrico Wireless Datagram Protocol WDP Móvil Pasarela de datos Pasarela WAP WAE WAE WSP WSP WTP WDP & Adaptation Bearer WTP WDP & Adaptation Bearer Tunnel Tunnel Subnetwork Subnetwork Wireless Datagram Protocol WDP WDP Sobre GSM SMS Móvil Pasarela de datos Pasarela WAP WAE WAE WSP WSP WTP WDP & Adaptation SMS WTP WDP && Adaptation SMS Tunnel (SME-IF) Subnetwork Tunnel (SME-IF) Subnetwork Wireless Datagram Protocol WDP WDP Sobre GSM GPRS Mobile BSS SGSN GGSN WAP Proxy/Server WAE WAE WSP WSP WTP WTP UDP UDP IP IP GPRS stack GSM-RF Base Station GSM-RF Physical SubGPRS Network stack SubNetwork SubNetwork Physical Physical Physical IP TCP/IP or other subnetwork Physical Push Cliente Servidor Tecnología “Pull” Tecnología “Push” Push Operación del Push WAP Push Access Protocol Push Over-The-Air Protocol Push Initiator WAP Client Push Proxy Gateway Push Push Proxy Gateway (PPG) PPG Es el punto de entrada de contenido Push desde internet destinado al dominio del WAP. Ofrece los siguientes servicios: Operación Push Push Access Protocol Push Over-The-Air Protocol WAP Client Push Initiator Push Proxy Gateway Control de acceso • Detección de errores • Resolución de direcciones • Compilación y codificación binaria • Conversión del protocolo • Push Push Access Protocol (PAP) Operación Push WAP Client Es el medio a través del cual un iniciador realiza una operación Push a través de la PPG hacia la red móvil Push Access Protocol Push OverThe-Air Protocol Push Initiator Push Proxy Gateway Mensajes Push (del iniciador a PPG) • Notificación de resultado (de PPG al iniciador) • Cancelación de Push (del iniciador a PPG) • Estado de la Pregunta (del iniciador a PPG) • Push Push Over-The-Air Protocol (OTA) Operación Push WAP Client Es el responsable de transportar el cotenido de la PPG a los usuarios. Push Access Protocol Push OverThe-Air Protocol Push Initiator Push Proxy Gateway Usa sesiones WSP para entregar el contenido. •Requiere que una sesión este activa •Concepto de aplicación de iniciación de sesión. • Push Infraestructura del cliente en el marco Push • Aplicación de Iniciación de Sesión (SIA) – El cliente recibe una solicitud de sesión – El cliente establece una sesión con la PPG • Despachador de aplicación (Application Dispatcher). – Determina la aplicación destino del mensaje Push – Rechaza el contenido si no tiene una aplicación destino apropiada para el mensaje – Confirma la operación Push a la PPG Wireless Markup Language WML • Derivado de XML. • Organiza los contenidos en barajas de cartas (deck and cards metaphor). • El dispositivo presenta una carta cada vez. • El dispositivo puede almacenar varias cartas. • Motivación: reducir la latencia. – Enviar varias cartas de una vez. M 2 3C .T _7 fC e. T ]C .T 7 : f 3 U :3 63 h f 3 RR 6 C ]3 2 _ 06 7 : U :3 63 h RR . E . ]C 9 f \ 3 9 \f> >C G = hg L P P 6 _7 f = Hg _7 e. M 2 3C . 23 >C KN KL IJ H YP U IF TF YT N XG KW V TTU R > S OPQ T 23 FI M FT M cd2 3 @ ? @ ? 0 7b @ 2 : GH @ ? . ? 10/ TTL 542 3 Z > \\>[ 678 ;:<9 ^] TT = > @ ? M A M @ M >B DC/ M _ . ]: ` EF a7 Wireless Markup Language WML • Tradicionalmente los visores HTML son bastante tolerantes a errores sintácticos. • En WML (por ser un lenguaje derivado de XML) esto no es aceptable. • No se muestra contenido WML mal formado. Wireless Markup Language WML • Gráficos en WML: WBMP. • Imágenes en blanco y negro no comprimidas. • Consume más ancho de banda pero reduce los requisitos de procesamiento en el terminal. Wireless Markup Language WML WMLScript • Ejecución de scripts en el cliente. • Tipado débil. • Basado en ECMAScript (versión normalizada de JavaScript). • Bibliotecas de funciones. • Manejo de errores un tanto pobre. Wireless Markup Language WML Objetivos: • Aplicaciones intuitivas. • Aplicaciones eficientes. • Procesos fáciles de recordar. • Tolerancia a fallos. Reglas: • • • • • • • • Identificar las funciones más usadas. Ajustarlas para máxima rapidez. Minimizar la entrada de datos. Personalización. Mensajes breves y claros. Siempre proporcionar la posibilidad de retroceder. Consistencia. Push. Wireless Markup Language WML • Interoperabilidad de WML. – Diferentes dispositivos pueden implantar las mismas funcionalidades de forma diversa. – Las capacidades de los dispositivos pueden ser diferentes. Ej. Nokia 7110 sólo soporta gráficos de 96x44. • XML + XSLT puede ser una solución. • Otras soluciones asociadas a generación dinámica de contenidos: ASP, JSP. Despliegue de servicios WAP • Servidores de contenidos. – Pueden ser servidores web convencionales. – Lo más adecuado es que sirvan contenido en WML. – El contenido puede ser estático o dinámico, al igual que en el acceso convencional a Web. – En este último caso, se puede tener en cuenta el tipo de dispositivo al que se envía el contenido. Despliegue de servicios WAP Pasarelas • Puente entre el mundo inalámbrico e Internet. • Funciones: – – – – – – – – Implantación de las capas WAP. Control de acceso. Conversión de protocolo WSP-HTTP. Resolución de nombres. Conversión de HTML a WML. Codificación del contenido WML. Seguridad. Caché del contenido de acceso frecuente. Despliegue de servicios WAP Pasarelas • Implantación de las capas WAP: – CO, no seguro: WSP/WTP/WDP – CO, seguro: WSP/WTP/WTLS/WDP – CL, no seguro: WSP/WDP – CL, seguro: WSP/WTLS/WDP • Control de acceso: – Mecanismos dependientes de la portadora: MSISDN, dirección IP, ... – Mecanismos de autenticación de usuario. – ... Despliegue de servicios WAP Pasarelas • Conversión WSP-HTTP – WSP soporta funcionalidad HTTP1.1: • Métodos de petición/respuesta GET, POST, • etc. Cabeceras HTTP: – Petición: información enviada con una petición HTTP. – Respuesta: metainformación incluida en la respuesta. – Entidad: metainformación sobre las entidades incluidas en las respuestas. En WSP las cabeceras están compactadas. • Negociación de contenidos. Despliegue de servicios WAP Pasarelas • Resolución de nombres: para los URLs. • Conversión HTML a WML. OPCIONAL. – La conversión no es perfecta. – La presentación puede ser problemática. – Mejor disponer de contenidos nativos en WML. • Codificación del contenido WML. – Comprobación sintáctica. – Compactación. – Compilación de los WMLScripts • Seguridad. Provisión de WTLS. OPCIONAL. • Caché de contenido de acceso frecuente. Como en los proxies de Internet. Despliegue de servicios WAP Pasarelas • De los diferentes fabricantes: – Ericsson. – Nokia. – Motorola. – ... Suelen tener versiones de evaluación de prestaciones limitadas. • Gratuitas: – Kannel www.kannel.org • No tan potente como las otras. Discusión del enfoque WAP • WAP está basado en la idea de un intermediario (“proxy”) entre dos mundos (inalámbrico e Internet fija). • Rompe el esquema extremo a extremo tradicional de la Internet. • ¿Es algo no deseable? – – – – – NAT. Proxy. Cortafuegos. Web Cache. ... Discusión del enfoque WAP • La seguridad se proporciona en Internet con un esquema extremo a extremo: SSL. • En el acceso WAP la aproximación extremo a extremo se rompe en la pasarela. – El tramo inalámbrico puede estar protegido por WTLS. – El tramo terrestre por SSL. – En la pasarela los contenidos están en claro. – La pasarela puede protegerse con cortafuegos. Discusión del enfoque WAP • Ejemplo: aplicaciones de banca electrónica. Con acceso fijo a Internet se tiene seguridad extremo a extremo. – Con acceso WAP, en la pasarela se ponen los contenidos en claro. – ¿Confiamos en quien ofrece la pasarela? – ¿Cambiamos de pasarela en función de la aplicación? – Discusión del enfoque WAP • Críticas sobre su viabilidad a medio plazo: “WAP no será necesario cuando 3G esté desplegada, al dejar el ancho de banda de ser un problema.” • ¿Es WAP realmente un “parche”, una solución temporal? Modelo de negocio de I-mode. k j i Solución de NTT DoCoMo: “semi-walled garden” Pago por acceso a contenidos: los sitios oficiales pueden cobrar por el acceso. n m l DoCoMo recibe el 9%. Al usuario le aparece el cargo en la factura telefónica: Los sitios oficiales no montan un complejo sistema de cobro, el operador lo hace por ellos. s r q p o I-mode en cifras: 34,4 millones de abonados. 3150 sitios oficiales. Tarifas: 300 yenes al mes + 0,3 yenes/pq. 128 b. Red de conmutación de paquetes (canales de 9,6 Kbps), y también nueva red 3G (FOMA: hasta 64 Kbps ascendente, hasta 384 Kbps descendente). Servicios y contenidos en imode. DATOS VOZ i-menu LLAMADA Mensajes Noticias Tarjetas cr. Compras Melodías Entret. Banca Viajes Gourmet Juegos Ciudad Sitios www Internet e-mail NTT DoCoMo i-mode RED DE COMUNICACIONES MÓVILES • Menú i-mode. • Correo electrónico. • Mensajes. • iappli (servicio basado en Java). Protocolo: HTTP(S). – Aplicaciones autónomas. – Aplicaciones cliente/servidor. – Aplicaciones de tipo agente. Tecnologías de soporte de imode. • Lenguaje: cHTML. • Red de conmutación de paquetes. v u t • Velocidad de un canal: 9600 bps. Posibilidad de usar más de uno. Despliegue de redes 3G (FOMA). El acceso a sitios se hace a través de un nodo de relé intermedio (i-mode server). Red de DoCoMo Servidor i-mode Internet Red de paquetes Proveedor oficial de contenido Proveedor no oficial de contenido