DISPOSITIVOS MÓVILES 1. TECNOLOGÍAS 1.1 PCS vs 3GSM y CDMA PCS (Personal Communication Services) es como el TDMA que teníamos (comunicación por tiempos) pero este trae un canal llamado DCCH (digital control channel) que es una mejora a uno de los canales existentes en TDMA. Este DCCH mejora considerablemente la comunicación por tiempos gracias a la mayor utilización de celdas por comunicación. En TDMA una sola celda se encargaba del tráfico, el PCS gracias al DCCH busca mientras se habla ocupar un número mayo r de celdas y a la vez va saltando de una a otra para mantener el tráfico lo más libre posible para el tipo de uso que se le está haciendo al móvil. No es lo mismo hablar con otro móvil que mandar un SMS. El resto si es lo mismo que los otros servicios, su capacidad depende del espectro electromagnético que se le adjudique; pero hay una diferencia y es la duración de la batería. El sistema PCS maneja estados del móvil como "Sleep mode" y "Stand by" lo cual alarga la duración de las baterías. Los PCS no son otra cosa que teléfonos móviles, similares a los celulares que hoy se encuentran en el mercado. La diferencia fundamental es que operan con un ancho de banda mayor, el cual les sirve para transmitir voz, datos e imágenes con una mayor rapidez Actualmente los celulares funcionan en una banda de 800 Mhz mientras que los PCS entrarían a operar una banda de 1.900 Mhz. Mientras las antenas que emplean las compañías celulares están más separadas, las de los PCS estarán una más cerca de la otra, lo cual permite una mejor difusión de la señal, pero al mismo tiempo implica mayores costos de infraestructura para el operador, en este caso Empresas Públicas de Medellín y Empresa de Teléfonos de Bogotá. Para competir, los operadores celulares como BellSouth y Comcel están migrando hacia tecnologías Cdma OneX y GSM -respectivamente-, para las cuales han realizado millonarias inversiones en un intento por prestar servicios similares a los PCS y lograr mantener en sus filas a los 4,5 millones de usuarios de la telefonía móvil. Todos estos nuevos sistemas tienen el mismo principio de la telefonía celular tradicional: una antena tiene un área específica de alcance para su señal. Este perímetro se conoce como ‘celda’ y cuando los usuarios están en él, pueden conectarse a dicha antena. Las celdas se relacionan entre sí para que la persona siempre se comunique con la antena que tiene más cerca, cuando hace una llamada mientras se traslada de un sitio a otro. Cada vez que sale de una celda y entra a otra, el sistema cambia su llamada a la siguiente antena, sin que el usuario lo note. 1.2 BLUETOOTH vs 802.11 Bluetooth y el estándar 802.11b comparten la misma banda de transmisión (2.4 -2.485 GHz). Bluetooth es mejor en pequeños dispositivos mientras que 802.11b es mejor en configuraciones wlan. Este estándar ha sido implementado básicamente para redes rápidas y confiables de negocios, por esto mismo es utilizado para expandir y asociarse con redes cableadas y también las puede reemplazar. La diferencia primordial entre Bluetooth y el estándar 802.11b es la velocidad. Bluetooth opera a una velocidad alrededor de 720kbps, que es muy inferior a la del estándar 802.11b que es aproximadamente de 11mbps. Bluetooth fue diseñado para conectar dispositivos point-to-point mientras que 802.11b fue diseñado para actuar como una red normal pero lógicamente puede conectar un computador directamente a otro. Bluetooth es más favorable para conectar un dispositivo en una red pequeña donde la rapidez no es indispensable y el bajo consumo de energía es fundamental. Por otro lado el estándar 802.11b es mejor cuando un computador necesita conectarse a Internet (gracias a su rapidez), pero su desventaja aparece cuando se quiere conectar un dispositivo rápidamente en un ambiente seguro. 1.3 WAP vs I-MODE I-MODE: Es básicamente un servicio de transmisión por paquetes que permite una conexión continua con Internet a través de los teléfonos móviles. I-mode usa un subtexto de HTML llamado HTML compacto para convertir la información. Los servicios más utilizados por los usuarios son mail "i-mode", banca móvil e información de transporte en general. Las tarifas se basan en el volumen de información enviada y recibida. WAP: Wireless Application Protocol. Es una especificación para un conjunto de protocolos de comunicación inalámbrica para el acceso a Internet. Las capas de wap son: 1 Wireless Application Environment (WAE) 2 Wireless Session Layer (WSL) 3 Wireless Transport Layer Security (WTLS) 4 Wireless Transport Layer (WTP) El WAP Gateway manda un contenido wml al dispositivo wap, y el Gateway se debe comunicar con el web server usando el protocolo http. I-MODE Desarrollado por NTT DoCoMo Wireless Application Protocol (WAP) Usa cHTML (html compacto) Desarrollado por Wireless Phone Industry Está abierto para todo el mundo(estándar) Usa wml (hecho con xml) Solo está en Japón y Hong Kong Está en todo el mundo Color screens (256 colors) No tiene color Es un estándar de un propietario Siempre al aire (es más sencillo) Tiene que marcar para obtener el servicio El contenido es mostrado usando WAP gateways para todo el mundo HTTP con un centro I- mode bajo el que tenga conexión a Internet control de DoCoMo Cargo por los datos transmitidos Cargo por lo que esté conectado Servicio inalá mbrico de internet Es un protocol Puede usar .GIF imágenes No puede utilizar imágenes Entertainment and consumer focus Business applications 1.4 CDC vs CLDC Una configuración define las capacidades mínimas de librerías y de máquina virtual de Java que se esperan que estén disponibles respecto a rango de dispositivos en diferentese áreas y requerimientos similares de tamaño de memoria y capacidad de procesamiento. J2ME tiene dos configuraciones básicas: CDC y CLDC: ü CLDC (Connected Limited Device Configuration): Configuración que establece como requerimientos mínimos 160 kb de memoria no volátil y 32 kb de memoria volátil, un procesador de 16 o 32 bits, bajo consumo de energía (normalmente batería), conexión inalámbrica y no soporta el punto flotante. Con esta configuración se busca permitir bajar dinámicamente aplicaciones a dispositivos móviles así como el desarrollo de software para estos dispositivos. CLDC no implementa completamente el modelo de seguridad de J2SE, sin embargo, cuenta con un modelo de 2 partes. La primera es un nivel bajo de seguridad en la virtual machine que nos dice que una aplicación que esté corriendo en la virtual machine no debe dañar un dispositivo de ninguna manera. Esto se logra a través del verificador del tipo de archivos. La segunda es la seguridad a nivel de aplicaciones a través del Sandbox Model. En este caso solo un limitado conjunto de los APIs de Java está disponible para el programador de aplicaciones, quien no puede sobrescribir el mecanismo de carga de clases estándar ni tampoco el sistema de clases de la máquina virtual. ü CDC (Connected Device Configuration): Configuración que establece como especificaciones mínimas: 512 kb de memoria ROM, 256 kb de memoria RAM, maneja un ancho de banda de 9600 bps o menor. Es un súper conjunto de la configuración anterior, CLDC. Soporta la especificación completa de Java 2 Full Virtual Machine, CVM virtual machine y las librerías y APIs mínimos para que un sistema corra. Sin embargo, removieron todos los APIs que no fueran críticos o que no sean utilizados. 2. TIPOS DE APLICACIÓN Ø Ø Ø Ø Ø Ø Ø Manejar inventarios, sistematizar la fuerza de venta y enviar reportes Juegos GPS Agendas Música y videos Correo Intercambio de Archivos y de Información 3. ARQUITECTURAS 3.1 P2P vx Paradigmas de computación distribuida P2P (Peer to Peer) . Descubre y se adapta a nuevas fuentes de información. Replica información a través de otros puntos. Construye servicios complejos combinando simples. Incrementa el desempeño a medida que hay más puntos dentro de la red. Protege la información replicándole. Las principales ventajas del P2P son la mejor utilización del ancho de banda, procesador, almacenamiento y otros recursos del computador. NETWORK TRAFFIC INTELLECTUAL PROPERTY DIRECCIONES PERFORMANCE CLIENT-SERVER Asimétrico, flujo de transmisión más lento. Controlado por el servidor Direcciones estáticas utilizando DNS y NAT Tiende a decaer entre más usuarios haya. P2P Simétrico Propagado por los puntos Direcciones dinámicas. A más usuarios, mejor desempeño. 3.2 JXTA JXTA es una plataforma abierta para computación de punto a punto. Visto de una manera simple es un grupo de protocolos para interoperabilidad basados en XML. El código es abierto. Un punto JXTA puede tomar diferentes formas mientras se comunique utilizando protocolos JXTA: Ø Minimal (PDA, Cell Phone): enviar y recibir mensajes. No enruta ni guarda avisos en caché. Ø Simple: Punto minimal pero guarda en caché los avisos pero no reenvía las peticiones. Ø Rendezvous: Punto simple pero reenvía las peticiones que encontró para ayudar otros puntos. Un punto puede configurarse para utilizar uno o más puntos rendezvous. Un punto rendezvous tiene una lista de todos los rendezvous que ha utilizado y lo han utilizado. Ø Relay: Es utilizado para rutear puntos dentro de la red física que necesitan atravesar un NAT o un firewall. Cada peer o punto tiene asignado un único PeerID de 128 bits. Cada punto puede pertenecer a uno o más grupos de puntos donde cooperan entre sí configurándose dinámicamente.. Los puntos utilizan unos canales virtuales de comunicación de doble vía llamados Pipes los cuales tienen un único PipeID. Los objetivos de JXTA son Ø Interoperabilidad entre sistemas P2P y comunidades. Ø Independencia de lenguajes de programación, plataformas y redes. Ø Cualquier dispositivo que tenga un heartbeat. Los protocolos JXTA tienen 2 funcionalidades básicas: Ø Crear, encontrar, unirse y dejar grupos. Ø Todas las funciones anteriores se realizan publicando e intercambiando mensajes y avisos XML entre puntos. Para dispositivos móviles existe la siguiente implementación: JXTA-ME utilizando CLDC/MIDP – J2ME. Sin embargo, ésta no es la única implementación. Existe una implementación para C, J2SE, Perl entre otros. Utilizando JXTA-ME cualquier dispositivo MIDP es capaz de participar de actividades P2P con otro punto JXTA que esté corriendo en workstations/servers/desktop. JXTA con relación al tema de seguridad distribuye certificados (X509 versión 3) utilizando encripción de llaves públicas y privadas(PKI). Cada punto tiene su certificado de root. Los puntos JXTA operan en un modelo basado en roles en el cual puntos individuales actúan bajo los permisos otorgados por otro punto. 3.3 JXTA vs JINI Jini es una tecnología para conectar servicios distribuidos dentro de una red Java. Utiliza un servicio centralizado. Por su parte, como mencionamos anteriormente, JXTA conecta servicios distribuidos en una red P2P utilizando un modelo de datos bajamente acoplado como XML y puede ser implementado en cualquier lenguaje. Las aplicaciones y/o servicios JXTA pueden participar en Federaciones Jini. 3.4 JXTA vs UDDI UDDI es una forma centralizada de registrarse que permite B2B. Está basado en XML. Los clientes UDDI buscan y comparten oportunidades de negocio a través de un sistema. Las aplicaciones y/o servicios JXTA pueden reorganizarse para crear, unir o monitorear grupos de puntos de una manera totalmente descentralizada. No requiere registro centralizado. Se puede compartir oportunidades de negocio sin importar en que grupo estén. 3.5 JXTA vs SOAP SOAP utiliza XML y permite acceso remoto. JXTA, además de acceso remoto, provee otras especificaciones de protocolos y canales Pipes para seguridad. Los mensajes SOAP pueden ser enviados a través de canales JXTA. Sobre la plataforma JXTA existe una capa SOAP. 4. METODOLOGÍAS DE LAS APLICACIONES Para el desarrollo de aplicaciones para dispositivo móviles existen algunas restricciones: Ø Ø Ø Ø Ø 9,6 kbps a 128 kbps 33MHZ Palm El tamaño máximo del heap es de 64KB La energía (batería) Librerías limitadas En el desarrollo de aplicaciones J2EE-J2ME se utiliza el patrón MVC (modell, view, controller) lo cual permite que muchas vistas compartan el mismo modelo de datos. Al separar el modelo(abstracción de datos) de la vista (presentación de los datos), se convierte en una aplicación cliente-servidor. El control se le puede delegar al cliente o al servidor. El protocolo HTTP sirve como puente entre el modelo y la vista. Es útil realizar la persistencia en el servidor para reducir el tamaño de los mensajes enviados desde el cliente al servidor, almacenando información personalizada (aspectos del cliente que no varían de una sesión a otra como la dirección) y estados de la sesión. Con lo anterior logramos que el cliente no tenga que retransmitir la misma información con cada request y es más fácil soportar varios clientes. Sin embargo, no toda la información necesita ser almacenada en el servidor. Hay que distinguir entre la información genérica y la específica de las preferencias de los dispositivos. Por ejemplo, las preferencias del tipo de letra de un usuario móvil es única para ese usuario y no tiene que ver con el servicio. Debido a que la interacción del usuario sucede en una pantalla con un tamaño reducido, se debe simplificar y minimizar la navegación: Ø Presentar información compacta Ø Poner la información clave en la primera página Ø En alguna selección, es preferible que el usuario elija de una lista de opciones a que tenga que escribirla. Ø Diseñar menús sencillos, en el cual aparezcan pocas opciones por menú y pueda moverse utilizando los botones principales 5. BIBLIOGRAFÍA 1. Java Programming for Wire devices using J2ME TM– CLDC/MIDP APIs. Sun Microsystems 2. Connected Device Configuration (CDC) and the Foundation Profile. Technical White Paper. Sun Microsystems 3. Team Kris, Gross,Tim Heyen, Rachel Turpen. BMA373. Bradley University en http://students.bradley.edu/~theyen/bma373/final%20paper.doc 4. Srikanth Raju. Developing peer-to-peer applications using JXTAand Java. Sun Microsystems