PROFESORA
M.T.I. MONTSERRAT MASDEFIOL SUÁREZ CARRERA
ING. EN SISTEMAS COMPUTACIONALES MATERIA
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES TRABAJO
APUNTES: UNIDAD IV NOMBRE DEL ALUMNO:
SERRANO BLAS, EPIFANIO GRUPO 604 “A”
SAN ANDRÉS TUXTLA, VER., 29 DE MAYO DEL 2013.
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Contenido
INTRODUCCIÓN ................................................ .......................................................................... .................................................... .......................... 6 UNIDAD 4 APLICACIONES DE INTERNET INALAMBRICO .................................. .................................. 7 Objetivo................................................ Objetivo.......................................................................... .................................................... ...................................... ............ 7 Criterios de evaluación .................................................................. ........................................................................................ ...................... 7 Temario.................................................... Temario.............................................................................. .................................................... .................................. ........ 7 4.1 ARQUITECTURA Y EL USO DEL CLIENTE DELGADO. ................................. ................................. 9 CONCEPTOS .................................................. ............................................................................ .................................................... .......................... 9 CLIENTE DELGADO ........................................................ .................................................................................. ................................... ......... 9 4.2 PROTOCOLO WAP W AP ........................................................ ................................................................................. ................................ ....... 13 HISTORIA ................................................ .......................................................................... .................................................... ................................ ...... 13 OBJETIVOS DEL WAP...................................................... WAP............................................................................... ................................ ....... 14 SOLUCIONES IMPLEMENTADAS EN WAP.................................................. ..................................................... ... 14 CARACTERÍSTICAS ................................................ ......................................................................... ......................................... ................ 15 VENTAJAS DE LA TECNOLOGÍA WAP ........................................................ ........................................................... ... 16 POSIBILIDADES DEL WAP A NIVEL CORPORATIVO .................................... .................................... 16 DESVENTAJAS DE LA TECNOLOGÍA WAP W AP ................................................. .................................................... ... 17 ARQUITECTURA BÁSICA DEL WAP ............................................... ............................................................... ................ 18 COMPONENTES DEL PROTOCOLO WAP ............................................... ...................................................... ....... 23 CAPA DE APLICACIÓN (WAE) ..................................................................... ..................................................................... 23 CAPA DE SESIÓN (WSP) ................................................. ........................................................................... ............................ .. 24 CAPA DE TRANSACCIONES T RANSACCIONES (WTP) ............................................................ ............................................................ 25 CAPA DE SEGURIDAD (WTLS) Y PROTOCOLO SSL Y SET...................... 26 CAPA DE TRANSPORTE T RANSPORTE (WDP) .................................................................. .................................................................. 29 GPRS (FUTURO DEL WAP Y BREVE EXPLICACIÓN).................................... .................................... 31 M.T.I. M.T .I. MON MONTSER TSERRAT RAT MAS MASDEFIO DEFIOL L SU REZ
2
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES EL ENTORNO INALÁMBRICO DE APLICACIONES ........................................ 32 4.3 TECNOLOGÍAS DE GENERACIÓN DE CONTENIDOS Y LENGUAJES INALÁMBRICOS. ................................................ .......................................................................... .................................................. ........................ 34 APLICACIÓN MÓVIL ................................................ ......................................................................... ......................................... ................ 34 Aplicaciones web optimizadas para móviles. .................................................. ..................................................... ... 34 Características de aplicaciones móviles web ................................................. ................................................. 34 Desarrollo móvil nativo ...................................... ............................................................... ............................................. .................... 34 Aplicaciones híbridas ............................... ......................................................... ................................................... ............................ ... 35 Desde la perspectiva per spectiva del usuario ............................................... ................................................................... .................... 35 Desde la perspectiva per spectiva del desarrollador ...................................... .......................................................... .................... 35 Entornos para la creación de aplicaciones a plicaciones móviles ........................................ ........................................ 35 Entornos web para la creación de aplicaciones móviles ................................ ................................ 38 App inventor de Google...................................................... Google................................................................................ ............................ .. 39 Plataformas para el desarrollo de aplicaciones móviles web ............................. ............................. 41 AppMakr ................................................... ............................................................................. .................................................... ............................ .. 41 UppSite ................................................ .......................................................................... .................................................... ................................ ...... 42 EL CONTENIDO WEB ................................................... ............................................................................ .................................... ........... 43 Contenido apropiado para los lectores ................................................ ........................................................... ........... 43 El diseño de autoservicio ........................................................... ............................................................................... .................... 43 El formato de los textos .................................................. ............................................................................ ................................ ...... 44 Estructura del contenido........................... contenido..................................................... .................................................... ............................ .. 44 Palabras clave y enlaces de calidad ........................................................... .............................................................. ... 45 TECNOLOGÍAS DE GENERACIÓN DE CONTENIDO Y LENGUAJE .............. 45 Emulador .................................................. ............................................................................ .................................................... ............................ .. 45 Estructura ................................................ .......................................................................... .................................................... ................................ ...... 46 M.T.I. M.T .I. MON MONTSER TSERRAT RAT MAS MASDEFIO DEFIOL L SU REZ
3
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Simulador de CPU ............................................................................................. 48 Hardware y código máquina .............................................................................. 48 MICRONAVEGADOR........................................................................................ 49 Utilidad de los Micronavegadores móviles ..................................................... 49 Funcionamiento de los micronavegadores ..................................................... 50 Micronavegador en teléfonos celulares, teléfonos inteligentes y tabletas: ..... 51 Instalables por el usuario ................................................................................... 51 LENGUAJE DE MARCOS ................................................................................. 54 Lenguaje HTML Marcos ................................................................................ 54 LENGUAJE DE NAVEGADORES ..................................................................... 57 Ventajas ......................................................................................................... 58 Desventajas ................................................................................................... 58 Lenguajes utilizados y Plug-ins ...................................................................... 58 Solicitud y ejecución de información (HTTP).................................................. 59 Consideraciones al utilizar Navegadores ....................................................... 60 Consideraciones de una aplicación inalámbrica ............................................ 60 Lenguajes del lado del cliente. ....................................................................... 61 Lenguaje del servidor ..................................................................................... 65 Lenguajes del lado cliente-servidor ................................................................ 67 WML y HDML ................................................................................................. 69 WMLScript...................................................................................................... 69 CONCLUSIÓN ...................................................................................................... 70 BIBLIOGRAFÍA ..................................................................................................... 71
M.T.I. MONTSERRAT MASDEFIOL SU REZ
4
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
M.T.I. MONTSERRAT MASDEFIOL SU REZ
5
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
INTRODUCCIÓN En el presente trabajo de investigación se hablará sobre el protocolo WAP, el cual brinda al mundo actual un servicio que opera bajo las redes de comunicaciones inalámbricas, es decir, sin cable. De igual forma, se dará a conocer conceptos fundamentales para el entendimiento de la tecnología WAP y cuál es el proceso para realizar una conexión desde un dispositivo con tecnología WAP. Se analizará la arquitectura de este protocolo, la cual está dividida en distintas capas de las cuales se dará un pequeño análisis de las funciones y el objetivo que cada una cumple. En la presente investigación se mencionaran a grandes rasgos el concepto de un contendió Web, las tecnologías para generar dichos contenidos, emuladores, micro navegadores, leguajes de marcos y los principales leguajes de navegadores correspondiente a los clientes, a los servidores y a los clientesservidores.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
6
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
UNIDAD 4 APLICACIONES DE INTERNET INALAMBRICO
OBJETIVO
Conocer la forma en que se da la comunicación inalámbrica entre los dispositivos móviles.
CRITERIOS DE EVALUACIÓN
Examen
40 %
Trabajo de investigación
30 %
Exposición de temas
30 %
4.1 Arquitectura y uso del cliente delgado
4.2 Protocolo WAP
4.3 Tecnologías de generación de contenidos y lenguajes
TEMARIO
inalámbricos.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
7
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
M.T.I. MONTSERRAT MASDEFIOL SU REZ
8
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
4.1 ARQUITECTURA Y EL USO DEL CLIENTE DELGADO. CONCEPTOS
Cliente servidor
Es el encargado de recibir las peticiones y enviar la información a los clientes.
Cliente
Es aquella en el cual se ejecuta solamente una parte o totalidad de la aplicación. Despliega los datos al servidor. Los clientes realizan generalmente funciones como:
Manejo de la interfaz de usuario
Captura y validación de los datos de entrada.
Generación de consultas e informes sobre las bases de dato.
Cliente gordo
Como aquella típicamente la aplicación debe de estar instalada tanto en el cliente como el servidor. El servidor es el que tendrá toda información requerida por el usuario.
CLIENTE DELGADO Es un término genérico que se le da las tecnologías emergentes que red hacen el mantenimiento de Hardware. Es un equipo de cómputo que no contiene procesador, memoria, discos duros, u otro dispositivo periférico que utiliza Pc convencional.
No procesa nada de información.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
9
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
Propiedades de los clientes delgados
Elimina la necesidad de almacenamiento local.
Estaciones de trabajo sin disco.
Componentes de cliente delgado
Servidor: puede ser un servidor de arranque
Cliente: proveer acceso a los datos
Comunicación: despliega la información enviada por el servidor, deben instalarse protocolos de presentación remota en el dispositivo cliente.
Características de los clientes delgados
Ambiente homogéneo para usuarios.
Permite trabajar a los usuarios trabajar con una interfaz idéntica en cada cliente.
La forma de acceder a sus aplicaciones será la al misma y el usuario se conectara al mismo servidor.
Ambiente heterogéneo de hardware
La coexistencia y administración de ciertos modelos informáticos, que contemplan una diversidad de perfiles de hardware.
Ambiente heterogéneo de hardware en cliente servidor implica más costos.
Debe de existir la homogeneidad o similitud en componentes de procesador, disco, y memoria para mantener un rendimiento aceptable.
Ambiente heterogéneo de hardware en cliente DELGADO
M.T.I. MONTSERRAT MASDEFIOL SU REZ
10
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
Este es el responsable de ejecutar el 100 la aplicación.
Las computadoras clientes son solo un medio por el cual se despliega una interfaz visual de la aplicación.
Arquitectura cliente delgado
Una capa es un área funcional distintas a otras arquitecturas
Capa de presentación
Interfaz gráfica de usuario.
Muestra datos fácil de leer
Capa lógica de negocios
Tambien captura la entrada del usuario.
Capa lógica de negocios o
Aquí se guardan las reglas de negocios para la aplicación.
Capa de admiración de datos. o
Encargado de hacer persistente toda la información, se administra y se almacena información para el nivel de negocio.
BENEFICIOS DEL CLIENTE DELGADO
Si se requiere una modificación del código, solo se necesita saber dónde será le cambio.
Es muy fácil de implementar.
Reducción de costos de mantenimientos
Bajo consumo de energía
M.T.I. MONTSERRAT MASDEFIOL SU REZ
11
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
Reducción en costos de mantenimiento
Movilidad de sesiones de usuarios.
Menores costes
Actualizaciones de software y parches en un solo punto.
DESVENTAJAS
Se incrementa el tráfico en la red.
Se necesitan servidores costosos.
La seguridad puede llegar a convertirse en una pesadilla.
La base de código puede ser muy extenso y difícil de mantenimiento.
DESARROLLO DE UN CLIENTE DELGADO
Tener un sistema operativo abierto
El arranque es remoto
Seguridad alta
Componentes de hardware estándar
Configuración sencilla
Facilidad de uso.
Administración centralizada
Bajo consumo de banda ancha.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
12
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
4.2 PROTOCOLO WAP WAP (Wireles Application Protocol, por sus siglas en inglés) es el protocolo para aplicaciones inalámbricas, el cual es un intento de estandarizar el acceso inalámbrico desde cualquier sitio a cualquier momento, es decir, es un estándar impulsado por la industria del sector de las telecomunicaciones con el objetivo de proporcionar un sistema avanzado de servicios de internet para dispositivos móviles.
HISTORIA Existe una patente sobre la tecnología inalámbrica de Geoworks Corp. de Alameda, California en 1994, se considera la primera compañía en iniciar un proyecto con el propósito de crear un protocolo genérico fue Ericsson en 1995. Este protocolo, denominado ITTP (Intelligent Terminal Transfer Protocol), pretendía ofrecer nuevos servicios mediante telefonía móvil estableciendo comunicaciones entre un nodo (donde resida la aplicación) y un teléfono móvil inteligente. Posteriormente Nokia y Unwired Planet (que luego paso a ser Phone.com) empezaron a crear sus propios productos con sus propios protocolos con la intención de que alguno de ellos se estandarizase y obtener ventajas competitivas. La cantidad de diferentes protocolos en el mercado hacía peligrar la estandarización de uno de ellos, por lo que finalmente algunas de las principales compañías se unieron para crear una organización que se denominó Foro WAP (Wireless Application Protocol Fórum), el objetivo de este Foro era proponer unas especificaciones comunes que se convirtieran en un estándar "de facto" para asegurar el crecimiento de la telefonía móvil y compatibilidad de todos los componentes WAP independientemente de la compañía que lo haya desarrollado. En abril de 1998 apareció la primera versión (WAP 1.0). Este protocolo ya ha tenido dos actualizaciones (WAP 1.1 y WAP 1.2).
M.T.I. MONTSERRAT MASDEFIOL SU REZ
13
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
OBJETIVOS DEL WAP
Acercar los contenidos de Internet y los servicios avanzados de datos a los teléfonos celulares digitales y a otros terminales de comunicaciones sin cable.
Crear un protocolo que permita trabajar con diferentes redes de comunicaciones sin cable.
La tecnología WAP está posicionada en el punto de convergencia de dos tecnologías de red que evolucionan de forma muy rápida que son las comunicaciones inalámbricas y el Internet. Muchas de las tecnologías desarrolladas para Internet han sido diseñadas para el escritorio de ordenadores del segmento medio o alto y con anchos de banda amplios. Se debe tener en cuenta que WAP funciona sobre unos equipos que son mucho más limitados en cuando a potencia del CPU, menos memoria RAM, menos consumo posible, menor ancho de banda, con unos displays muy pequeños (no se trata de un monitor) y con unos dispositivos de entrada también muy limitados (como puede ser el teclado de un teléfono móvil).
SOLUCIONES IMPLEMENTADAS EN WAP Se deben cumplir los requisitos de interoperabilidad, escalabilidad, eficiencia y seguridad.
Interoperabilidad: Tener en cuenta que terminales de diferentes fabricantes deberán poder comunicarse con los servicios que proporcione la red móvil.
Escalabilidad: Se refiere a que los proveedores de telefonía puedan ampliar los servicios de acuerdo a las necesidades de cada cliente.
Eficiencia: Se refiere a que hay que proporcionar una calidad de servicio en cuanto a tiempo de respuesta y que haya un tipo de información interesante para el usuario.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
14
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
Seguridad: Asegurar la privacidad y la integridad de los datos del usuario, así como proteger a los terminales y a los servicios de problemas como la denegación de servicio (Denial Of Service).
CARACTERÍSTICAS
El propósito de WAP es habilitar la entrega rápida y fácil de información y servicios a los usuarios de móviles.
WAP es escalable, permitiendo así a las aplicaciones disponer de las capacidades de pantalla y recursos de red según su necesidad y en un gran número de tipos de terminales. Los servicios podrán ser aplicables a pantallas de una sola línea o a terminales mucho más complejos.
WAP trabaja con dispositivos inalámbricos digitales como teléfonos móviles, PDAs
(Personal
Digital
Assistant),
Handhelds,
pagers,
radios
bidireccionales, smartphones y comunicadores.
WAP está diseñado para trabajar con la mayoría de las redes inalámbricas actuales como CDPD, CDMA, GSM, PDC, PHS, TDMA, FLEX, ReFLEX, iDEN, TETRA, DECT, DataTAC, Mobitex, asi como para las redes futuras como UMTS.
WAP es un protocolo de comunicaciones y un entorno de la aplicación. Puede implantarse en cualquier sistema operativo incluso Palm OS, EPOC, Windows CE, FLEXOS, OS/9, Java OS etc. Proporciona interoperabilidad de servicio incluso entre diferentes familias de dispositivos.
WAP es el estándar "de-facto", es decir, es de hecho el estándar más usado aunque no haya sido creado o regulado por una organización internacional de estandarización.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
15
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
VENTAJAS DE LA TECNOLOGÍA WAP A continuación se enumeran algunas de las ventajas que proporciona esta tecnología.
Portabilidad: acceso a Internet desde cualquier lugar.
Arquitectura cliente/servidor: dispositivos con micro-navegador y almacenamiento de servicios/aplicaciones temporalmente.
Soporte HTTP 1.1 basado en WML (migración desde HTML)
Mayor nivel de seguridad en las transacciones.
Dispositivo como cartera móvil en comercio electrónico.
Unificación de mensajería y contenidos en servicios Internet.
Soporte para la tercera generación de telefonía celular.
POSIBILIDADES DEL WAP A NIVEL CORPORATIVO De cara a empresas y profesionales
Agendas corporativas WAP.
Gestión de pedidos (fuerza de ventas).
Servicios de localización.
Gestión de flotas.
Servicios de mensajería.
Tiendas virtuales.
Comercio electrónico móvil.
De cara como al consumidor o
Servicios de banca on-line (mobile home-banking, bolsa).
o
Venta y reserva de billetes (transportes).
o
Ticketing: espectáculos.
o
Información tiempo, tráfico, horarios, turística.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
16
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
DESVENTAJAS DE LA TECNOLOGÍA WAP Los principales inconvenientes que surgen de las características en las que se encuentra actualmente el mercado. Cabe destacar los siguientes:
Disponibilidad y coste de dispositivos adaptados en el mercado.
Limitaciones físicas de los terminales presentados (manejabilidad y usabilidad principalmente). Esto es debido a que las pantallas son pequeñas, monocromas y las posibilidades de navegación escasas.
También son importantes otros factores como la CPU, la memoria y las baterías.
Disponibilidad de contenidos Internet con versión WAP: portales, proveedores y empresas de servicios aún muy limitadas en este protocolo.
Especificaciones incompletas: soporte a tecnología Push o aplicaciones de telefonía inalámbricas no definidas totalmente.
El coste de las llamadas podría resultar un problema, dependiendo de la compañía que preste el servicio de telefonía celular y el tipo de suscripción a la misma.
Velocidad de transferencia baja (pico máximo de 9 Kbit/s) y no garantizada.
Alta latencia. La latencia consiste en largos períodos de tiempo en la que la sesión abierta está en estado latente, es decir, sin recibir datos.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
17
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
ARQUITECTURA BÁSICA DEL WAP La arquitectura de Internet proporciona una plataforma muy flexible para programar aplicaciones. Las aplicaciones y los contenidos son presentados en formatos de datos estándar y son mostrados mediante los navegadores. Un navegador es una aplicación que manda peticiones a un servidor a través de la red. Una vez llega la petición al servidor, éste la procesa y si la acepta envía el emisor de la petición el contenido de la información solicitada para que el cliente la pueda mostrar en su navegador.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
18
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES La tecnología WAP se basa en 3 elementos:
Cliente: el cliente será el micro-navegador WML de un terminal móvil. Este será el equivalente al navegador de un PC en el internet "fijo" que todos conocen.
Pasarela: se refiere a un programa intermedio típicamente reside entre clientes y servidores que no tienen medios para tener una comunicación directa. Es lo que se conoce como el WAP Gateway.
Servidor Web: es el servidor que tiene el origen de los datos, en toda arquitectura cliente / servidor se tiene un servidor encargado de procesar las peticiones del cliente y enviar las páginas solicitadas. La figura 1 siguiente esquematiza la interconexión de los elementos
anteriores:
Figura 1 El cliente o dispositivo WAP está provisto de un micro-navegador que constituye la interfaz de usuario para realizar las funciones de navegación. El micro-navegador interpreta páginas WML. El WML sería el equivalente al HTML del internet "fijo". La pasarela realiza dos funciones básicas: conversión de protocolos (de HTTP a WSP/WTP y viceversa) y codificación/decodificación de las páginas WML. Estos procesos permiten la adaptación a la red inalámbrica del protocolo y de los contenidos. M.T.I. MONTSERRAT MASDEFIOL SU REZ
19
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Finalmente, en el servidor web residen las páginas, así como cualquier otra lógica basada en CGIs, acceso a bases de datos o lenguajes de script . WAP es compatible con servidores HTTP 1.1, lo que facilita la adopción del estándar por parte de los proveedores de contenidos web ya existentes. En la figura 2, se muestra el funcionamiento de la tecnología WAP con el dispositivo móvil.
Figura 2. WAP funciona de la siguiente forma: el cliente tiene un teléfono móvil que soporta la tecnología WAP, desde su teléfono realiza una petición codificada que envía a través de las redes móviles al servidor que hace de pasarela y que tiene codificadores y decodificadores. El GATEWAY WAP o pasarela WAP tiene la función de ser un puro traductor o mejor dicho el de compilador de leguajes tanto de entrada como de salida, que traduce los paquetes que vengan con formato WML y WMLScript en forma binaria, o sea con encabezado del protocolo Wap a WML y WMLSript con encabezado de protocolo web Http del teléfono Wap al servidor web y al contrario del servidor web en respuesta para el teléfono Wap. Cuando este servidor ha decodificado el mensaje manda la petición al servidor origen donde se procesa la petición a través de los CGI’s, Scripts, etc. M.T.I. MONTSERRAT MASDEFIOL SU REZ
20
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Este servidor web, no tiene por qué ser un servidor con formato http, ya que los teléfonos Wap pueden conectarse con cualquier tipo de estación siempre y cuando el gateway tenga el software adecuado para convertir los lenguajes de entrada y de salida en WML y WMLScript con sus protocolos correspondientes. Una vez tiene el contenido el servidor origen manda al servidor pasarela la información del contenido que solicitó el cliente. Una vez tiene la respuesta el servidor que hace de pasarela se manda la respuesta codificada a través de las redes móviles para encontrar al teléfono móvil del usuario y proporcionarle la información que solicitó. WAP emplea al proxy para poder interconectar a las redes inalámbricas y a la Internet. El proxy WAP ofrece normalmente dos tipos de funcionalidades. La primera de ellas es la pasarela que sirve para traducir las peticiones codificadas desde la pila de protocolos WAP (como pueden ser WSP, WTP, WTLS y WDP) a la pila de protocolos de Internet (como pueden ser HTTP y TCP/IP). La segunda funcionalidad es la de ofrecer el contenido de los codificadores y decodificadores, que realizan la labor de traducir el contenido WAP en otro formato comprimido para reducir el tamaño de los datos a través de la red. Esta infraestructura asegura que el programador WAP puede implementar servicios nuevos basándose en esta arquitectura y también asegura los servicios por parte de los servidores que soporten el uso de CGI’s, Scripts, etc. A continuación, se mencionarán los pasos que se deben seguir para realizar una conexión desde un teléfono WAP:
El usuario selecciona en su terminal WAP una dirección, es decir, un URL.
El terminal móvil Wap manda esta petición del URL al Gateway Wap utilizando el protocolo WAP.
El Gateway convierte esta petición WML y/o WMLScript WAP a WML y/o WMLScript HTTP convencional y manda la petición de búsqueda del URL al servidor web.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
21
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
El servidor web evalúa la petición HTTP y determina qué tipo de petición es, si el URL es un simple archivo, el servidor web le adjuntará un encabezado Http y ya estará en web y si la petición es una aplicación Script o un CGI el servidor web abrirá la aplicación.
El servidor web devolverá una respuesta en WML, WMLScript con encabezado HTTP.
La pasarela o Gateway verificará el encabezado HTTP y los contenidos WML así como las aplicaciones Script los convertirá en forma binaria creando una respuesta para el terminal Wap en WML y/o WMLScript con encabezado WAP y lo mandará al terminal móvil.
El terminal WAP recibirá la respuesta con el protocolo WAP y evaluará los contenidos WML y/o WMLScript y los visualizará según la configuración del terminal.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
22
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
COMPONENTES DEL PROTOCOLO WAP La arquitectura WAP está planteada para proporcionar un “entorno
escalable y extensible para el desarrollo de aplicaciones para dispositivos de comunicación móvil”. Para ello, se define una estructura en capas, en la cual cada
capa es accesible por la capa superior así como por otros servicios y aplicaciones a través de un conjunto de interfaces muy bien definidos y especificados. Este esquema de capas de la arquitectura WAP se puede ver en la Figura 3.
Figura 3. Las aplicaciones externas pueden acceder directamente a las capas de sesión, transacción, seguridad y de transporte. A continuación se describe cada capa de esta arquitectura.
CAPA DE APLICACIÓN (WAE) El Entorno Inalámbrico de Aplicación (WAE) es un entorno de aplicación de propósito general basado en la combinación del World Wide Web y tecnologías de Comunicaciones Móviles. El principal objetivo de esta capa de aplicación es proporcionar la interoperabilidad necesaria tanto a los fabricantes de telefonía como a los operadores que proporcionan servicios de Internet. También se encarga del desarrollo de aplicaciones para el usuario final que le permitan consultar cualquier tipo de información de Internet de una forma sencilla y además la aplicación debe correr sobre esta capa. M.T.I. MONTSERRAT MASDEFIOL SU REZ
23
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Este entorno incluye un micro navegador, del cual ya se ha mencionado anteriormente, que posee las siguientes funcionalidades:
Un lenguaje denominado WML6 similar al HTML, pero optimizado para su uso en terminales móviles.
Un lenguaje denominado WMLScript, similar al JavaScript (esto es, un lenguaje para su uso en forma de Script)
Un conjunto de formatos de contenido, que son un conjunto de formatos de datos bien definidos entre los que se encuentran imágenes, entradas en la agenda de teléfonos e información de calendario.
CAPA DE SESIÓN (WSP) La capa WAE está sobre la capa de transacción de la cual adquirirá servicios. En esta capa WSP se proporcionan los servicios a los navegadores WAP mediante el uso de la codificación HTTP pero realizándolo de forma que esta codificación se transmita a través de las ondas por el aire. Proporciona también la negociación de protocolos para permitir la comunicación y permite suspender y migrar sesiones. El Protocolo Inalámbrico de Sesión (WSP) proporciona a la Capa de Aplicación de WAP interfaz con dos servicios de sesión: Un servicio orientado a conexión que funciona por encima de la Capa de Transacciones y un servicio no orientado a conexión que funciona por encima de la Capa de Transporte (y que proporciona servicio de datagramas seguro o servicio de datagramas no seguro). Los protocolos de la capa WSP están optimizados para redes que tengan un escaso ancho de banda y con una latencia relativamente grande.
Los
navegadores que soportan estos tipos de protocolos se denominan WSP/B y están diseñados para permitir que el proxy WAP pueda conectar el cliente WSP/B a un servidor HTTP. Actualmente, esta capa consiste en servicios adaptados a aplicaciones basadas en la navegación Web, proporcionando las siguientes funcionalidades: M.T.I. MONTSERRAT MASDEFIOL SU REZ
24
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
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 con cambio de sesión.
CAPA DE TRANSACCIONES (WTP) WTP significa Wireless Transaction Protocol y se encarga de proporcionar servicios a los pequeños usuarios de móviles que realizan pequeñas transacciones desde estaciones móviles. La capa WTP permite operar con redes móviles seguras y no seguras basadas en datagramas y proporciona tres tipos de servicios de transacción. El primero de estos servicios es el de realizar una petición de información en un único sentido y de modo que sea no fiable. El otro servicio disponible es realizar una petición en un único sentido, pero esta vez que pueda ser fiable. Por último, el tercer servicio permite una comunicación full dúplex, es decir, permite realizar una comunicación tanto en un sentido como en otro proporcionando además un servicio fiable. También se puede especificar opcionalmente el envío de ACK’s de
reconocimiento cuando la información se transmite entre usuarios finales. Puede realizar concatenaciones de los paquetes de información o incluso retardar los ACK’s para disminuir el número de mensajes enviados. También se permite las transacciones asíncronas. El Protocolo Inalámbrico de Transacción (WTP) funciona por encima de un servicio de datagramas, tanto seguros como no seguros, proporcionando las siguientes funcionalidades:
Tres clases de servicio de transacciones: o
Peticiones inseguras de un solo camino.
o
Peticiones seguras de un solo camino.
o
Transacciones seguras de dos caminos (petición-respuesta).
Seguridad usuario-a-usuario opcional.
Transacciones asíncronas.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
25
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES CAPA DE SEGURIDAD (WTLS) Y PROTOCOLO SSL Y SET La Capa Inalámbrica de Seguridad de Transporte (WTLS) es un protocolo basado en el estándar SSL, utilizado en el entorno Web para la proporción de seguridad en la realización de transferencias de datos. Este protocolo ha sido especialmente diseñado para los protocolos de transporte de WAP y optimizado para ser utilizado en canales de comunicación de banda estrecha. Característi cas de la c apa d e seg uri dad (WTLS)
Integridad de los datos. Este protocolo asegura que los datos intercambiados entre el terminal y un servidor de aplicaciones no han sido modificados y no es información corrupta.
Privacidad de los datos. Este protocolo asegura que la información intercambiada entre el terminal y un servidor de aplicaciones no puede ser entendida por terceras partes que puedan interceptar el flujo de datos.
Autentificación. Este protocolo contiene servicios para establecer la comunicación del terminal y del servidor de aplicaciones. Adicionalmente, el WTLS puede ser utilizado para la realización de comunicación segura entre terminales, por ejemplo en el caso de operaciones de comercio electrónico entre terminales móviles.
Denegación. La denegación del servicio para detectar y rechazar datos que son reenviados y que no son convenientemente verificados. Las implementaciones de WTLS pueden soportar tres modelos diferentes.
El primero de ellos es aquél en el que no existe autenticación ni del cliente (terminal WAP) ni de la pasarela WAP.
El segundo de ellos es igual al modelo
primero, pero añadiendo autenticación de la pasarela WAP (este nivel es el equivalente al implementado usualmente con SSL en Internet). Y por último, el modelo tercero es igual al segundo, pero se añade esta vez la autenticación de terminal WAP. Entre SSL-TLS (Secure Socket Layer – Transport Layer Security) y WTLS existen varias diferencias. Una de ellas es que la negociación se hace sobre M.T.I. MONTSERRAT MASDEFIOL SU REZ
26
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES datagramas WDP (equivalentes a los datagramas de UDP), no sobre conexiones fiables TCP, puesto que no existe TCP en WAP. Otra diferencia es que se permite una autenticación basada en un secreto compartido. Esto permite que los terminales WAP no tengan que tener ningún tipo de hardware que implemente criptografía. Existen mecanismos de negociación optimizados para mejorar el tiempo de transacción segura en los que el servidor busca el certificado del cliente por su cuenta sin esperar que tal certificado viaje a través de la red móvil. Se emplean algoritmos criptográficos basados en curvas elípticas, que ofrecen ventajas en cuanto a memoria y prestaciones. También se sigue soportando los algoritmos ya conocidos como son Diffie-Hellman y RSA para realizar el intercambio de claves y DES e IDEA para cifrado simétrico. Además, la especificación permite el uso de certificados WTLS que están optimizados para reducir el tamaño. Por tanto, WTLS no es más que TLS (o SSL) modificado para permitir la utilización de terminales WAP como agentes de usuario.
Aunque estas
modificaciones lo hacen también más vulnerable, probablemente las posteriores versiones del protocolo lo hagan más fiable y una herramienta totalmente eficaz de seguridad de transporte en el tramo entre el terminal y la pasarela. Cada aplicación implementada es libre de habilitar o deshabilitar los servicios que ofrece la capa WTLS. Esto se permite debido a que dependiendo del tipo de aplicación será más importante el preservar la integridad o la privacidad que por ejemplo la autentificación. En el protocolo SSL (Secure Sockets Layer) se dispone un nivel seguro de transporte entre el servicio clásico de transporte en Internet (TCP) y las aplicaciones que se comunican a través de él, como garantía de la seguridad en el acceso a servicios como compra (comercio electrónico) o transacciones bancarias. El modo de funcionamiento de SSL es bastante sencillo y se compone de dos partes diferenciadas: M.T.I. MONTSERRAT MASDEFIOL SU REZ
27
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
Handshake Protocol: Se encarga de establecer la conexión, verificando la identidad de las partes (opcionalmente) y determinando los parámetros que se van a utilizar posteriormente (fundamentalmente se trata de acordar cual va a ser la clave simétrica que se utilizará para transmitir los datos durante esa conexión, para lo cual se utiliza criptografía de clave pública).
Record Protocol: Comprime, cifra, descifra y verifica la información que se transmite tras el inicio de la conexión. Luego entonces SSL, como protocolo de seguridad de transporte, sólo
proporciona algunos de los servicios de seguridad como son la confidencialidad, la autenticación y la integridad. En cuanto a la confidencialidad, la información que circula entre el cliente y el servidor que actúa de frontal del servicio se cifra utilizando criptografía de clave simétrica. En cuanto a la autenticación, las partes que mantienen la comunicación se autentican mediante certificados basados en criptografía de clave pública. Esto no es siempre así, siendo lo más habitual que sea únicamente el servidor el que se autentica mediante un certificado digital. Por último, respecto a la integridad de los datos transmitidos se asegura usando códigos de integridad (MAC) calculados mediante funciones de hash. El uso de SSL como soporte de compras o transacciones seguras es muy común. En el caso de una compra en línea, es habitual facilitar los datos de tarjeta de crédito sobre una conexión protegida con SSL. Pero este modelo tiene el problema de que el propietario de la tarjeta repudie la transacción alegando que él no realizó dicha transacción. Debido a esto, se creó SET (Secure Electronic Transactions) para garantizar la irrenunciabilidad en el pago electrónico utilizando tarjetas de crédito. Otra forma de garantizar la irrenunciabilidad es utilizar SSL como capa de transporte seguro e implementar un protocolo a nivel de aplicación que, mediante firmas digitales, garantice la irrenunciabilidad de las operaciones.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
28
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES CAPA DE TRANSPORTE (WDP) WDP significa Wireless Datagram Protocol y es la capa de transporte en la arquitectura WAP. La capa de transporte WDP que proporciona un servicio fiable a los protocolos de las capas superiores de WAP, además, opera sobre las portadoras de datos que se emplean en las comunicaciones. Ofrece un servicio general de transporte a las capas superiores de la arquitectura WAP y que ya se ha mencionado anteriormente para que puedan comunicarse de forma transparente a través de la señal portadora. De la misma forma, la capa WDP proporciona a la capa de seguridad, sesión y aplicación la posibilidad de realizar sus funciones independientemente de las subcapas que existan en la red de telefonía móvil.
Para asegurar total
interoperabilidad entre las posibles portadoras con las que se puede comunicar se ofrecen pasarelas para permitir ofrecer una interfaz común a las capas superiores de la arquitectura WAP. Algunos ejemplos de las portadoras que se emplean son GSM, CDMA, IS-136, FLEX, PHS, etc. USSD significa Unstructured Supplementary Service Data y es un mecanismo de transporte de banda estrecha. USSD es un servicio suplementario de GSM, emplea los canales señalizando la portadora y es hall dúplex, es decir, sólo una parte tiene permitido el envío en un momento determinado. La arquitectura de la capa de transporte se muestra de la siguiente manera en la figura 4.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
29
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
Figura 4. De este modo, WDP ofrece un servicio a través del TSAP (Transport Service Access Point) a las capas superiores del protocolo WAP. Este tipo de servicio permite a las aplicaciones trabajar de forma transparente con las diferentes tecnologías que existen para transmitir la señal y el enlace con la capa física y aérea. Las alturas diferentes que se muestran en el dibujo mostrado anteriormente vienen dadas por las diferentes funciones que proveen cada tipo de portadora. WDP puede ser mapeado en diferentes portadoras, con diferentes características. Pueden ocurrir errores en WDP, por ejemplo cuando los datagramas son enviados desde un proveedor WDP a otro, o si la aplicación no está escuchando en el puerto de destino, o incluso si el receptor no tiene suficiente espacio en buffers para recibir un mensaje grande. Para resolver este problema existe WCMP (Wireless Control Message Protocol) que proporciona una comprobación de errores para WDP y así proporcionar los datagramas WDP de forma correcta a las capas superiores o a otros protocolos o aplicaciones. M.T.I. MONTSERRAT MASDEFIOL SU REZ
30
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
GPRS (FUTURO DEL WAP Y BREVE EXPLICACIÓN) GPRS significa exactamente General Packet Radio Service, o tecnología de transmisión de datos por conmutación de paquetes. También se le conoce como GSM-IP debido a que emplea la tecnología Internet Protocol (IP). El GPRS es la segunda generación de servicios para GSM y consiste en adaptar las redes ya existentes para que puedan circular por ellas los datos a mayor velocidad. Por supuesto, también habrá que modificar los terminales telefónicos. La principal novedad que presenta esta tecnología es que permite que la voz y los datos se transmitan al mismo tiempo, con lo que se podrán mantener y recibir datos sin necesidad de cortar la conversación. Además, la información viaja por paquetes, como Internet, y no por circuitos conmutados, como ocurre con el GSM y el teléfono actual. Los datos viajan comprimidos y se pueden enviar a intervalos regulares. Se tiene la idea de que se trata de una tecnología puente entre WAP y UMTS. El incremento de velocidad que ofrece GPRS se debe a que los datos se comprimen, algo que sólo es posible con la conmutación de paquetes. Además desde los terminales GPRS se podrá acceder a los servicios de WAP. Una de las características de esta tecnología es que siempre se encuentra en funcionamiento, no importa si se está utilizando o no. Además permite la conexión simultánea de varios usuarios, con lo que se optimizan los recursos. El posible problema es que al disponer de conexión permanente, las operadoras podrían hacer el negocio del siglo si mantuviesen el cobro por tiempo de uso. La tecnología GPRS permite, entre otras muchas cosas, jugar en línea, acceder a contenidos de Internet, enviar y recibir mensajes de correo electrónico con una calidad superior a la de WAP. Además, se podrán desarrollar actividades financieras, como banca móvil y transacciones bursátiles y multimedia, y la transferencia de archivos. M.T.I. MONTSERRAT MASDEFIOL SU REZ
31
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
EL ENTORNO INALÁMBRICO DE APLICACIONES El objetivo del Entorno Inalámbrico de Aplicaciones es construir un entorno de aplicación de propósito general, basado fundamentalmente en la filosofía y tecnología del World Wide Web (WWW). Principalmente, 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. De esta forma, la arquitectura del Entorno Inalámbrico de Aplicaciones (en adelante WAE) está enfocado principalmente sobre los aspectos del cliente de la arquitectura del sistema de WAP, esto es, de los puntos relacionados con los agentes de usuario. Esto es debido a que la parte que más interesa de la arquitectura es aquella que afecta principalmente a los terminales móviles, es decir, a aquellos puntos en los cuales van a estar ejecutándose los diversos agentes de usuario. Como anteriormente se mostró en la figura 1, se puede observar que entre los agentes de usuario localizados en el cliente (en el terminal móvil) y los servidores de información se define un nuevo elemento: Las Pasarelas. Su función es codificar
y decodificar la información intercambiada con el cliente, para así
minimizar la cantidad de datos radiados, así como minimizar el proceso de la información por parte del cliente. Tal y como se muestra en la Figura 5, se divide en dos partes, dos capas lógicas:
M.T.I. MONTSERRAT MASDEFIOL SU REZ
32
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
Los Agentes de Usuario, que incluye aquellos elementos como navegadores, agendas telefónicas, editores de mensajes, etc. Los Servicios y Formatos, que incluyen todos aquellos elementos y formatos comunes, accesibles a los Agentes de Usuario, tales como WML, WMLScript, formatos de imagen, etc. Como se puede ver en la Figura 5, dentro de WAE se separan Servicios de Agentes de Usuario, lo que proporciona flexibilidad para combinar varios Servicios dentro de un único Agente de Usuario, o para distribuir los Servicios entre varios Agentes de Usuario. Los dos Agentes de Usuario más importantes son el Agente de Usuario para WML y el Agente de Usuario para WTA. El Agente de Usuario para WML es el Agente de Usuario fundamental en la arquitectura del Entorno Inalámbrico de Aplicación.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
33
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
4.3 TECNOLOGÍAS DE GENERACIÓN DE CONTENIDOS Y LENGUAJES INALÁMBRICOS. APLICACIÓN MÓVIL Un desarrollador, debe orientar al cliente a escoger de manera adecuada que rumbo coger en su siguiente aplicación, dentro de las tres opciones disponibles:
APLICACIONES WEB OPTIMIZADAS PARA MÓVILES. El desarrollo móvil web es el desarrollo de aplicaciones web regulares, pero optimizadas para ser visualizadas desde un dispositivo móvil o tablet.
Características de aplicaciones móviles web
Serán accedidas desde un navegador desde el teléfono.
Para todos los dispositivos se desplegará casi que de la misma forma.
Es prácticamente lo mismo que desarrollar cualquier aplicación o sitio web: utilizas HTML, CSS y JavaScript.
Desarrollo móvil nativo Es el desarrollo de aplicaciones que serán instaladas en el sistema de archivos de cada dispositivo y serán distribuidas por los mercados de aplicaciones móviles, como el AppStore (iOS) o el Play Market (Android). Característi cas d e las aplicac ion es móv iles nat ivas
Serán descargadas desde el mercado de aplicaciones para el sistema operativo: Play Market o el AppStore.
Es una aplicación distinta por sistema operativo: una para Android y otra para iOS.
Se desarrollan con lenguajes como Java u Objective-C, pero hay alternativas como Appcelerator que permiten desarrollarlas utilizando JavaScript puro, para ambas plataformas.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
34
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Aplicaciones híbridas Permite el uso de tecnologías multiplataforma como HTML, Javascript y CSS pero permiten acceder a buena parte de los dispositivos y sensores del teléfono. Buena parte de la infraestructura es tipo web y la comunicación con los elementos del teléfono se hace mediante comunicadores tales como phonegap.
Desde la perspectiva del usuario Una aplicación móvil es un programa que puede ser descargable desde un gestor de descargar y una vez descargada e instalada se puede acceder a la aplicación directamente desde un equipo móvil.
Desde la perspectiva del desarrollador Desarrollo de aplicaciones móviles es un término para el proceso de escribir aplicaciones para Smartphones. Los teléfonos ejecutan un sistema operativo como plataforma para proporcionar servicios a las aplicaciones, por lo tanto el desarrollo en dispositivos móviles es parecido al desarrollo de escritorio pero con diferentes matices. Para simplificar el desarrollo, muchos desarrolladores inicialmente ejecutan, depuran y prueban sus aplicaciones en una versión de software del teléfono, también conocido como emulador. Este permite la creación de la aplicación en un entorno estándar y conocido, y puede ser implementado en un teléfono cuando está listo para su uso.
Entornos para la creación de aplicaciones móviles Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación, es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica. Los IDEs pueden ser aplicación por si solas o pueden ser parte de aplicaciones existentes.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
35
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES CARBIDE.C++:
Es una herramienta para el desarrollo de software en lenguaje C++ destinado a dispositivos que funcionan bajo Symbian OS. Se usa tanto para desarrollar las versiones de Symbian OS y para las aplicaciones que ejecutan estos.
Está formada por una familia de IDEs desarrollada por NOKIA, basada en Eclipse, al que se han incorporado plug-ins para el desarrollo de Symbian OS.
Desde la versión 2.2, Carbide.C++ es gratuito y se ofrece en tres versiones (Developer, Porfessional y OEM).
XCODE:
Es un entorno de desarrollo integrado de Apple Inc. Y se suministra gratuitamente junto con Mac OS X. Xcode trabaja conjuntamente con la interface Builder, una herencia de NeXT, una herramienta grafica para la creación de interfaces de usuario. Xcode incluye la colección de compiladores del proyecto GNU y puede compilar código C, C++, Objective-C, Objective-C++, Java y AppleScript mediante una amplia gama de modelos de programación, incluyendo, pero no limitado a Cocoa, Carbon y Java. Entre las características masa apreciadas de Xcode está la tecnología para distribuir el proceso de construcción a partir de código fuente entre varios ordenadores, utilizando Bonjour. Xcode está diseñado especialmente para desarrollo en Cocoa. Cuando creamos un proyecto, Xcode configura su ambiente de desarrollo inicial usando plantillas de proyectos correspondientes a tipos de proyectos Cocoa: aplicación, aplicación basada en documentos, aplicación Core Data, herramienta, colección, marco de trabajo etc.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
36
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Xcode usa el compilador GNU para depurar ese software, usa el depurador de nivel fuente GNU. Microsoft visu al estudio desarrollador Microso ft
Microsoft visual studio 2010-E general Lanzamiento inicial 30 de julio de 1998, hace 12 años última versión estable 10.0.30319.1 RTM. Es un entorno de desarrollo integrado (IDE) para sistemas operativos Windows. Soporta varios lenguajes de programación tales como visual C++, visual C#, visual J#, ASP.NET y visual Basic.Net, aunque actualmente se han desarrollado las extensiones necesarias para muchos otros. Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma.Net. Así se pueden crear aplicaciones que se intercomuniquen entre estaciones de trabajo, páginas web y dispositivos móviles. NETBEANS
Es un entorno de desarrollo en una herramienta para los programadores pueden escribir, compilar, depurar y ejecutar programas. Está escrito en java pero puede servir para cualquier otro lenguaje de programación: J2ME y ANDROID. ECLIPSE
Es un entorno de desarrollo integrado de código abierto multiplataforma para desarrollar lo que el proyecto llama “Aplicaciones de Cliente Enriquecido”,
opuesto a las aplicaciones “Cliente - liviano” basadas en navegadores: J2ME y Android.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
37
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Entornos web para la creación de aplicaciones móviles Según un estudio realizado en 2009, el tráfico de datos por teléfono móvil supero al de comunicación por voz. El lugar ocupado por las aplicaciones avala la idea de que el futuro de Internet está ligado a los Smartphones. Por lo tanto, cada cliente puede empezar a desarrollar sus propias aplicaciones. En la actualidad, existen numerosos sitios web y plataformas que permiten realizar aplicaciones. Mobile roadie para iPhon e y And roid
Esta página ofrece 3 versiones de su plataforma de creación y gestión de aplicaciones para iPhone y Android:
La versión Core. Tiene un valor de $499.00 por la instalación luego $29.00 al mes. La creación de una aplicación se hace en línea mediante una interfaz bastante sencilla. Se puede definir completamente la interfaz (logo, fondo de pantalla) e integrar contenido de un blog o página web mediante canales RSS o simplemente utilizar CMS. Mobile Roadie permite además conectar una página con numerosos medios de comunicación y redes sociales.
La versión Plus. Tiene un valor de $999.00 por la instalación luego $49.00 al mes. Más completa que la anterior, ofrece funcionalidades más técnicas y casi 3 veces más de instalaciones autorizadas.
La versión Pro. Esta es mucho más cara. Alrededor de $1,999.00 por la instalación y luego $99.00 al mes. Sin embargo, ofrece muchas más funcionalidades que las versiones anteriores; los usuarios poseen muchas más opciones de personalización, pueden personalizar el menú de la aplicación y utilizar la vista horizontal. Cada uno es libre de determinar si la aplicación que va a crear será gratuita o de pago, y definir el precio de venta. También es posible establecer restricciones de acceso para los países, lo que resulta interesante en materia de gestión de derechos. Una vez terminado el proceso de creación de la aplicación, ésta es sometida a validación por parte de Apple. M.T.I. MONTSERRAT MASDEFIOL SU REZ
38
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES App inventor de Google App inventor es un programa libre WYSIWYG (What you see is what you get ) para crear aplicaciones para móviles. Previamente se debe registrarse en la página web. El programa es como un rompecabezas (botones, zonas de texto, imágenes, sonido, geolocalización, selección de contactos o números de teléfono, acceso a una base de datos). Utilizando una interfaz web, cualquier usuario puede crear su propio proyecto luego arrastrar/soltar varios tipos de elementos como botones, menús desplegables o iconos. Aunque aún necesita ciertas mejoras, su uso es bastante intuitivo. La paleta de opciones disponibles es muy buena, desde la fuente al color de fondo pasando por la integración de diversos efectos multimedia. App Inventor posee además la ventaja de poseer un emulador, por lo que no hay necesidad de tener un Smartphone a la mano para trabajar. Una vez terminado el proyecto, simplemente se debe de guardar localmente o directamente en un Smartphone de Android conectado por USB. Ovi App Wizard de Nokia
Ovi App Wizard de Nokia es un servicio ofrecido por Nokia. Permite al usuario crear una aplicación dedicada a difundir la actualidad de su página web, blog o red social. Su uso es muy sencillo, una vez creada la cuenta de la página, las dos primeras etapas consisten a ingresar las direcciones de las fuentes RSS de las páginas web y personalizar la aplicación. Posteriormente el usuario puede insertar publicidad en asociación con alguna empresa de publicidad para teléfonos móviles, para lo que se deberá probar que el contenido le pertenece. La cuarta etapa consiste únicamente a ingresar los descriptivos para la Ovi Store, luego publicarlo. La validación demora 24 horas. Una vez que la aplicación ya esté en la Ovi Store, estarán disponibles las estadísticas de visitas y descargas. La aplicación será compatible con más de cuatro millones de móviles Nokia. M.T.I. MONTSERRAT MASDEFIOL SU REZ
39
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
M.T.I. MONTSERRAT MASDEFIOL SU REZ
40
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
PLATAFORMAS PARA EL DESARROLLO DE APLICACIONES MÓVILES WEB Uno de los terrenos digitales que más exploran las empresas en los últimos tiempos es el móvil, y en concreto el de las aplicaciones. Las aplicaciones son programas que dan servicio al usuario de un teléfono móvil o tableta sin necesidad de que este abra la web. Sobre todo, porque la velocidad de navegación vía web en los dispositivos móviles es más lenta que si se realiza mediante las aplicaciones. Además, el usuario puede personar esas aplicaciones y, como la web, disponen de soportes para publicidad. Existen compañías que desarrollan aplicaciones, e incluso ayudan a rentabilizar la publicidad en esas aplicaciones. Pero en este artículo vamos a ver tres plataformas que permiten crear aplicaciones para tu negocio de modo gratuito y sencillo.
AppMakr AppMakr es una plataforma dedicada, sobre todo, a crear aplicaciones que distribuyan el contenido que crea una empresa en su web. Lo realiza a través de canales RSS, y permite enviar tanto repositorios de artículos como galerías de fotos, además de enviar notificaciones al usuario. El creador de la aplicación puede, con facilidad, elegir de qué manera mostrar los contenidos, ajustar los colores para varias secciones, subir logotipo del negocio. Una aplicación creada en AppMakr puede ser difundida a través de la tienda de Apple (App Store, para usuarios de iPhone y iPad) y de Google Play.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
41
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES UppSite UppSite es una herramienta que crea aplicaciones para dispositivos móviles centrándose en ofrecer los contenidos de la web de la empresa de un modo rápido. Aunque esta plataforma tiene un concepto más básico, el diseño de la aplicación permite modificar con flexibilidad el orden de las secciones que incluyen contenido de la web. Es compatible tanto con sistemas Apple como Android y Windows Phone. Y además de distribuirse en la App Store (Apple) y Google Play (Android), UppSite dispone de tienda online.
Mobincube Mobincube es una plataforma algo más ambiciosa que las dos anteriores. Ofrece la posibilidad de diseñar y desarrollar aplicaciones de cualquier tipo. Con Mobincube, se puede crear una aplicación para cualquier smartphone o tableta utilizando un buen número de plantillas que la propia herramienta ofrece y que se adaptan al sector de negocio y tipo de app que se pretenda conseguir. Los resultados de Mobincube son compatibles con sistemas operativos de Apple, Android y BlackBerry. Y su distribución se realiza vía SMS, bluetooth o a través de descargas en tiendas online de aplicaciones.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
42
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
EL CONTENIDO WEB En este artículo se trata del contenido web. El contenido es el recurso más importante de una web, más que el diseño, los gráficos o cualquier otro elemento. Su estructura es:
Contenido apropiado para los lectores.
El diseño de autoservicio.
El formato de los textos.
Estructura del contenido.
Palabras clave y enlaces de calidad.
Contenido apropiado para los lectores Los textos deben de tratar sobre las preocupaciones de los usuarios, lo que es importante para ellos, y en su lenguaje. Normalmente se debe de explica el problema que a resolver y la manera de cómo se resolvió. Esto es lo que les importa a las personas que visitan el contenido de las Webs. Es mucho más importante la calidad que la cantidad de los contenidos. Éstos deben de estar bien redactados y actualizados. La clave es que el contenido apropiado llegue a la persona correcta con el menor coste posible. El lector busca encontrar en la web algo útil lo más rápidamente posible, si no se le presenta la información con claridad, se irá rápidamente a otro sitio y perderá la visita.
El diseño de autoservicio Una web es un autoservicio y un establecimiento de este tipo está centrado en la conveniencia, la velocidad y lo económico: Es
conveniente cuando el usuario apenas tiene que pensar.
Es
veloz cuando se reduce el tiempo que tarda el usuario en encontrar lo
que quiere.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
43
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Es
económico cuando con poco esfuerzo el usuario consigue realizar su
acción u obtener la información que buscaba.
Si el contenido web consigue ser excelente en estas tres áreas, el lector quedará muy contento, volverá y recomendara el sitio. El diseño de autoservicio requiere enfocarse por completo en la simplicidad y en la claridad del mensaje.
El formato de los textos Los usuarios escanean las páginas Web, leyendo frases y palabras sueltas en pocos segundos con la intención de hacerse una idea del contenido en la Web. El formato de los textos debe ser acorde con ello. Es recomendable utilizar negritas, y párrafos de poca anchura y con una única idea. También ayuda utilizar un color diferente en algunas palabras que requiera que se resalten. El tamaño de las letras es importante ya que cuesta más leer en la pantalla que en el papel. Lo ideal es que este tamaño sea suficientemente grande para que se pueda leer bien.
Estructura del contenido A los usuarios no les gustan los textos largos sino que prefieren los cortos y con mensajes concretos. La información más relevante de la página tiene que presentarse arriba de la misma, sin que haya necesidad de avanzar página para leerla. Los inicios de las frases son fundamentales para captar la atención del lector. Se recomienda que el contenido de la Web utilice un lenguaje que todos los lectores puedan entender, es preferible que sea algo informal y con un tono conversacional. Es recomendable utilizar el estilo de pirámide invertida, las conclusiones y lo más importante se presenta primero, y a continuación los detalles y la información de soporte. Lo ideal es que el usuario encuentre en la primera línea la información esencial. M.T.I. MONTSERRAT MASDEFIOL SU REZ
44
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Palabras clave y enlaces de calidad Con la finalidad de posicionar bien las páginas en los buscadores, se tiene que conocer las palabras clave (keywords) por las que los usuarios buscan webs. En esta cuestión se debe de tener presente que lo fundamental es la relación con el lector, con lo que el mensaje no debe estar condicionado por los motores de búsqueda. Además, si se exageras mucho en el uso de estos términos clave, el buscador puede penalizar y dejarte fuera de la lista de resultados.
TECNOLOGÍAS DE GENERACIÓN DE CONTENIDO Y LENGUAJE Emulador Un emulador no es más que un programa como otro cualquiera. Este programa ejecutado en una máquina (por ejemplo, un PC) es capaz de traducir las órdenes de otro programa diseñado para otra máquina muy distinta (por ejemplo, una consola SuperNintendo); de esta forma mediante el emulador nuestro PC será capaz de ejecutar las instrucciones de un juego.
En informática,
un
emulador
es
un
software
que
permite
ejecutar programas o videojuegos en una plataforma (sea una arquitectura de hardware o un sistema operativo) diferente de aquella para la cual fueron escritos originalmente. A diferencia de un simulador, que sólo trata de reproducir el comportamiento del programa, un emulador trata de modelar de forma precisa el M.T.I. MONTSERRAT MASDEFIOL SU REZ
45
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES dispositivo de manera que este funcione como si estuviese siendo usado en el aparato original. Un uso popular de los emuladores es el de imitar la experiencia de los videojuegos
de máquinas
recreativas o videoconsolas en computadoras
personales, o el poder ser jugados en otras videoconsolas. La emulación de videojuegos de sistemas antiguos en las modernas computadoras personales y videoconsolas de hoy día resulta generalmente más cómoda y práctico que en los dispositivos originales. Sin embargo, puede ser requerido a los creadores de emuladores una licencia de software para escribir programas originales que dupliquen la funcionabilidad de la ROM y BIOS del hardware original, lo que comúnmente se conoce como high-level emulation o emulación de alto nivel. En sentido teórico, implica que cualquier ambiente funcional puede ser emulado dentro de cualquier otro. En la práctica, esto puede resultar realmente difícil, particularmente cuando el comportamiento exacto del sistema emulado no está documentado y debe ser deducido mediante ingeniería inversa. Tampoco se habla sobre las diferencias en sincronización; si el emulador no actúa tan rápidamente como el hardware original, el software de emulación va a ir más lento que si fuese el hardware original.
ESTRUCTURA La
mayoría
de
los
emuladores
solo
emulan
una
determinada
configuración arquitectura de hardware, si el sistema de explotación (o sistema operativo) también se requiere para emular cierto programa entonces ha de ser emulado también. Tanto el sistema de explotación como el programa deben ser M.T.I. MONTSERRAT MASDEFIOL SU REZ
46
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES interpretados por el emulador, como si estuviese ejecutándose en el equipo original. Aparte de la interpretación del lenguaje de la máquina emulada, es preciso emular el resto del equipo, como los dispositivos de entrada y salida, de forma virtual: si escribir en una región específica de la memoria debe influir en el contenido en pantalla, por ejemplo, esto también debe ser emulado. En vez de una emulación completa del equipo, una compatibilidad superficial puede ser suficiente. Esto traduce las llamadas del sistema emulado a llamadas del sistema anfitrión. Los desarrolladores de programas para máquinas con sistemas computarizados y consolas de videojuego comúnmente utilizan emuladores especialmente exactos llamados simuladores antes de ejecutarlos en el equipo real. Esto permite que el programa pueda ser producido y probado antes de que la versión final del equipo para el cual se está desarrollando sea producida en grandes cantidades, de esta forma puede ser probado sin tener que copiar el programa en el equipo, de modo que puedan ser eliminados errores en un nivel bajo sin tener los efectos colaterales de un depurador. Típicamente, un emulador se divide en módulos que corresponden de forma precisa a los subsistemas del equipo emulado. Lo más común, es que un emulador este compuesto por los siguientes módulos:
Un emulador de la unidad central de procesamiento.
Un módulo para el subsistema de memoria.
Varios emuladores para los dispositivos de entrada y salida.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
47
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Lo más común es que los buses no sean emulados, por razones de simplicidad y rendimiento, y para que los periféricos virtuales se comuniquen directamente con la UCP y los subsistemas de memoria.
SIMULADOR DE CPU El simulador de la unidad central de procesamiento (CPU) es a menudo la parte más compleja de un emulador. Muchos emuladores son escritos utilizando simuladores de CPU "pre empaquetados", para así poder realizar una emulación fiel y eficiente de una máquina específica. El simulador de CPU más simple sería un intérprete informático, que sigue el flujo de ejecución del código de programación emulado y, por cada instrucción de código de la máquina emulada, ejecuta en el procesador en que se carga, instrucciones semánticamente equivalentes a las originales. Esto es posible asignando una variable a cada registro y flag de la CPU emulada. La lógica de la CPU simulada puede ser más o menos traducida directamente a algoritmos de software, creando una reimplementación del software que básicamente refleja la implementación original del hardware.
HARDWARE Y CÓDIGO MÁQUINA Se sabe que una computadora consta de varios dispositivos hardware (físicos) que tienen como objeto realizar una determinada función. Por ejemplo, el chip gráfico se encarga de mostrar imágenes por pantalla, el de audio de emitir sonidos, etc... Todos ellos gobernados por el procesador principal (por ejemplo, un Pentium o un K6). Estos componentes poseen unas patillas por las cuales reciben órdenes codificadas numéricamente. M.T.I. MONTSERRAT MASDEFIOL SU REZ
48
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Éste programa será ejecutado por el procesador principal, y es precisamente un emulador.
MICRONAVEGADOR. Un Micronavegador (Microbrowser (Microbrowser )
o navegador
móvil es
un navegador
web diseñado para el uso en dispositivos móviles y de reducidas dimensiones, como PDAs, Teléfonos móviles, Smartphones y Tablets. Los micronavegadores están optimizados para mostrar contenido de Internet en pantallas reducidas, y utilizan tamaños de archivo reducidos para ser instalados en dispositivos con memorias de baja capacidad. Generalmente es usado en teléfonos basados en WAP, que requieren un Gateway para traducir páginas web, feeds y otros contenidos de internet.
Utilidad de los Micronavegadores móviles Mediante estos Micronavegadores es posible gestionar aplicaciones web, reproducir videos online y desarrollar las operaciones más básicas que nos ofrece la red, incluyendo correo electrónico, mensajería instantánea o telefonía IP. En primer término, es necesario saber que la experiencia en la web con estos artefactos será completamente distinta. Al disponer de pantallas más pequeñas, y al estar el diseño de los portales pensado para su uso en monitores de mayor tamaño, es probable que solamente se pueda acceder a una parte de la totalidad de la imagen de la web, aunque en algunos casos existen sistemas que permiten un acercamiento o zoom sobre algunos sectores de la página.
M.T.I. M.T .I. MON MONTSER TSERRAT RAT MAS MASDEFIO DEFIOL L SU REZ
49
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Esto también permite ampliar el tamaño de las letras, que de lo contrario son prácticamente ilegibles. A este detalle se suma la complejidad para manejar el teclado de un smartphone o celular inteligente, aunque hoy ya es posible conectarles teclados alternativos.
Funcionamiento de los micronavegadores Los micronavegadores sirven para acceder a Internet desde teléfonos móviles. Desde que un usuario solicita ver una página web hasta que lo consigue, se pasa por las siguientes fases:
1. El propietario pr opietario del teléfono móvil pide una página con el microbrowser. 2. La petición pe tición llega a una estación base, es decir, de cir, a una torre de transmisión/recepción de radiofrecuencia. 3. En algún momento puede que se cambie de medio físico de radiofrecuencia a líneas de transmisión cableadas. 4. La información es interpretada por el middleware y pasa por las pasarelas necesarias para alcanzar al servidor. 5. Internet In ternet es la red por la que se comunican todos los servidores. 6. La petición pe tición llega al servidor web que se encargará en cargará de devolver la información. 7. La L a página web se envía, suele estar escrita en lenguaje HTML. 8. Si es necesario, nece sario, se convierte el lenguaje HTML a uno entendible por el móvil. 9. El microbrowser microb rowser presenta la información en la pantalla.
M.T.I. M.T .I. MON MONTSER TSERRAT RAT MAS MASDEFIO DEFIOL L SU REZ
50
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
Micronavegador en teléfonos celulares, teléfonos inteligentes y tabletas:
NetFront de Access Co. Ltd. (Japón).
Safari de Apple Corp. de iOS.
Nokia Series 40 Browser y Nokia Series 60 Browser, de Nokia.
Obigo de Obigo AB (Sweden), de Teleca Systems AB (antes AU
Systems).
Openwave (Redwood, CA) (antes Phone.com, firmament Unwired
Planet).
Opera de Opera Software ASA (Noruega).
Pocket Internet Explorer de Microsoft.
Internet Explorer Mobile de Microsoft.
Navegador web de la PlayStation Portable, de Sony.
Navegador web de Samsung Galaxy Tab.
INSTALABLES POR EL USUARIO
Opera Mini u Opera Mobile.
TeaShark.
M.T.I. M.T .I. MON MONTSER TSERRAT RAT MAS MASDEFIO DEFIOL L SU REZ
51
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
Andromeda.
Bluelark compro por Handspring Inc.
Doris de Anygraaf Oy (Vantaa, Finland).
NicheView de Interniche Technologies Inc.
Minimo de Mozilla Foundation.
Palm™ Web Browser Pro de PalmOne, Inc. (Milpitas, CA).
Picsel de Picsel Technologies Ltd. (Glasgow, Scotland).
Pixo de Sun Microsystems (Pixo acquired by Sun July 2003).
RocketBrowser Rocket Mobile, Inc. (Silicon Valley, CA).
SAS.
Skweezer de Greenlight Wireless Corporation.
Thunderhawk de Bitstream Inc. (Cambridge, MA).
Wapaka.
WebViewer de Reqwireless.
Novarra.
Opera Mobile: Es sin duda el más empleado en este segmento, y es
posible utilizarlo con los sistemas operativos Windows Mobile, Symbian y UIQ. Para evitar el trabajo de teclear en el móvil, este programa va guardando las direcciones web y permite un acceso más ágil a los sitios.
Skyfire: Es un navegador en etapa abierta de pruebas, que envía las
páginas compresas que piden los usuarios y se especializa en obtener una
M.T.I. MONTSERRAT MASDEFIOL SU REZ
52
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES mayor velocidad de navegación. Su objetivo es lograr mostrar las webs de la misma manera que pueden verse en un ordenador tradicional.
Internet Explorer Mobile: Se ha quedado un tanto desactualizado,
por lo que no registra muchos avances. Es probable que tenga muchos problemas para acceder a distintos portales con este programa, dado que la tecnología que emplea no está adecuada al estado actual de la web.
Safari de iPhone: Es una posibilidad interesante dentro de los
software que vienen instalados por defecto, con la alternativa de habilitar hasta ocho pestañas al mismo tiempo y poder ampliar la pantalla mediante el sistema táctil de acercamiento a diferentes objetivos.
Fennec: Llamado Firefox Browser, todavía en versión Alpha y
disponible para muy pocos modelos de móviles. Posee, para destacar, un excelente Pop-up Blocker.
TeaShark: Solo disponible en Java MIDP 2.0, es específico para los
más celulares avanzados.
UCWEB Mobile Browser: Muy popular en China, este mini
navegador está disponible para Java y Symbian. Su última versión es la 6.3, mientras que Opera va por la 4.2.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
53
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
Opera Mini: Con 20 millones de usuarios quizás sea el más popular
de todos los navegadores móviles, el mismo viene preinstalado en la mayoría de los móviles con acceso. La opinión del público en base a este navegador no es la mejor, lo consideran básico.
LENGUAJE DE MARCOS Lenguaje HTML Marcos Los marcos HTML permiten a los autores presentar documentos con vistas múltiples, que pueden ser ventanas o subventanas independientes. Las vistas múltiples ofrecen a los autores una manera de mantener cierta información visible mientras otras vistas se desplazan o se sustituyen. Por ejemplo, dentro de una misma ventana, un marco podría mostrar un gráfico estático, un segundo marco un menú de navegación, y un tercero el documento principal que puede ser desplazado, o reemplazado al navegar por el segundo marco. Los marcos aportan un método de dividir la ventana del navegador en secciones para visualizar varios documentos web al mismo tiempo. Las diferencias principales entre un documento con marcos y un documento HTML normal son dos:
La declaración del DOCTYPE.
Un documentos con marcos carece del elemento body , en su
lugar se usará el elemento frameset . Elemento frameset
Sus etiquetas son
(ambas obligatorias) M.T.I. MONTSERRAT MASDEFIOL SU REZ
54
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Sus principales atributos son: Rows
(lista de multilongitudes): Este atributo especifica la
disposición de los marcos horizontales. Es una lista de longitudes en píxeles, porcentajes o longitudes relativas, separadas por comas. El valor por defecto es 100%, que significa una fila. Cols
(lista de multilongitudes): Este atributo especifica la
disposición de los marcos verticales. Es una lista de longitudes en píxeles, porcentajes o longitudes relativas, separadas por comas. El valor por defecto es 100%, que significa una columna. Elemento frame
Sus etiquetas son
(la de cierre opcional). Sus principales atributos son: Name:
Este atributo asigna un nombre al marco actual. Este nombre
puede utilizarse como el destino de vínculos subsiguientes. Longdesc
(uri): Este atributo especifica un vínculo a una descripción
larga del marco. Esta descripción debería complementar la descripción corta proporcionada por el atributo title, y puede ser particularmente útil para agentes de usuario no visuales. Src
(uri): Este atributo especifica la localización de los contenidos
iniciales que contendrá el marco. Noresize:
Si está presente, este atributo booleano le dice al agente
de usuario que la ventana del marco no debe ser redimensionable.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
55
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES (auto|
Scrolling
yes| no):
Este atributo especifica información
sobre el desplazamiento de la ventana del marco. Valores posibles: Auto:
Este valor le dice al agente de usuario que proporcione
mecanismos de desplazamiento en la ventana del marco cuando sea necesario. Este es el valor por defecto. Yes:
Este valor le dice al agente de usuario que siempre
proporcione mecanismos de desplazamiento en la ventana del marco. No:
Este valor le dice al agente de usuario que nunca
proporcione mecanismos de desplazamiento en la ventana del marco. Elemento n oframes
Sus etiquetas son
Esta marca indica a todo browser incapaz de gestionar los frames el texto que debe presentar al usuario en lugar de los paneles. Dicho texto ira entre las marcas
y . En realidad dichos browsers ignoraran las marcas FRAMESET y NOFRAMES pero casualmente no el texto comprendido entre estas últimas. Por el contrario un browser capaz de gestionar paneles interpretara las marcas
y y sabrá que debe ignorar el texto comprendido entre ellas. Enlazando frames
El uso de marcos o también llamados frame es una herramienta muy útil para crear páginas dinámicas ya que se hace el uso de no solo un archivo sino un número determinado de archivos. El número de archivos usados para hacer el uso M.T.I. MONTSERRAT MASDEFIOL SU REZ
56
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES de un frame es el número de frame mas uno que es el que controla todos los frame.
LENGUAJE DE NAVEGADORES El navegador es una especie de aplicación capaz de interpretar las órdenes recibidas en forma de código HTML fundamentalmente y convertirlas en las páginas que son el resultado de dicha orden. Cuando se da clic sobre un enlace hipertexto, en realidad lo que pasa es que establece una petición de un archivo HTML residente en el servidor el cual es enviado e interpretado por el navegador (el cliente). Así pues, los lenguajes del lado servidor son aquellos lenguajes que son reconocidos, ejecutados e interpretados por el propio servidor y que se envían al cliente en un formato comprensible. Por otro lado, los lenguajes de lado cliente (entre los cuales no sólo se encuentra el HTML sino también el Java y el JavaScript los cuales son simplemente incluidos en el código HTML) son aquellos que pueden ser directamente digeridos por el navegador y no necesitan un pre tratamiento. Los Navegadores llevan a cabo el contacto con cualquier usuario final que se encuentra en Internet. Este tipo de programa se encuentra en casi toda computadora hoy en día, siendo los de mayor uso Internet Explorer y Netscape Navigator, sin embargo, cabe mencionar que existen una gran gamma de Navegadores: desde Lynx para terminales ASCII, KFM utilizado en ambientes KDE Unix, aquellos utilizados por
M.T.I. MONTSERRAT MASDEFIOL SU REZ
57
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES aparatos inalámbricos (Teléfonos celulares y PDAs), Safari para ambientes Macintosh (OS X ) y otras implementaciones como Opera y Mozilla. Un Navegador está compuesto por una serie de estructuras programáticas que le permiten desplegar y ejecutar documentos e instrucciones que son cargados en él, este tipo de instrucciones pueden variar desde documentos estáticos (HTML), contenido dinámico (JavaScript), contenido gráfico rico (Flash) y hasta otro ambiente de navegación por separado al "Browser" (Applet o Shockwave).
Ventajas
Logran un estándar para la comunidad tecnológica que desea
publicar documentos en Internet.
Agrupan una serie de tareas complejas (despliegue y ejecución) en
un solo paquete.
Algunos extienden funcionalidades hacia otras áreas como lectura de
correos electrónicos y apertura de diversos documentos en distintos formatos.
Desventajas
Debido a los diversos productos y tecnología cambiante, la
estandarización puede ser ilusoria.
Para ciertas tareas o interfaces su uso puede ser considerado torpe.
Lenguajes utilizados y Plug-ins El lenguaje que más comúnmente interpreta un navegador es: HTML / XHTML (Hypertext Markup Language), el cual define las reglas de despliegue para documentos distribuidos en Internet. Otros lenguajes con los que puede trabajar un Navegador son denominados Scripting Languages, los cuales permiten definir M.T.I. MONTSERRAT MASDEFIOL SU REZ
58
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES acciones para determinados eventos, uno de los Scripting Languages en mayor uso hoy en día es JavaScript, sin embargo, también existen otros aunque en menor uso como Tcl/Tk. Además de estos Scripting Languages también existen otras variaciones para aplicaciones puramente gráficas como: Flash y Shockwave, así como también lenguajes que otorgan una mayor versatilidad al contenido que puede ser ejecutado en un navegador, tal es el caso Java a través Applets. Debido a esta gran cantidad de lenguajes, muchos Navegadores no están equipados, o bien, no se encuentran actualizados para ejecutar correctamente este tipo de aplicaciones, y por lo tanto en ocasiones es necesario obtener un Plug-ins que funciona como un adaptador para que el Browser sea capaz de interpretar determinada página de un sitio en Internet.
Solicitud y ejecución de información (HTTP) Cuando un Navegador solicita información a cualquier sitio en Internet, esta requisición siempre es enviada a través de unos fragmentos llamados Headers, descritos a continuación: Estos Headers le indican al Navegador información acerca de la página solicitada como: última fecha de modificación (importante para el Cache del Navegador), el tamaño del documento y algunas funciones más. Seguido de estos Headers se encuentra la información que será desplegada y/o ejecutada por el Browser ya sea HTML / XHTML, JavaScript, Shockwave, Tcl/Tk, Java u otro lenguaje.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
59
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Consideraciones al utilizar Navegadores Al diseñar la información que será enviada a un Navegador se deben contemplar diversos aspectos, entre los principales se encuentran:
No todo navegador es capaz de ejecutar o desplegar cierto tipo de
comandos que son considerados propietarios, esto es, Internet Explorer ha desarrollado ciertos elementos únicamente ejecutables dentro de este Navegador al igual que Netscape Navigator, asegúrese de apegarse a un estándar común.
Aunque utilice estándares HTML y JavaScript el usuario final tiene la
última palabra sobre la ejecución y despliegue de información.
No todos los usuarios tienen las últimas versiones de Navegadores
y Plug-ins instaladas en sus equipos, asegúrese de utilizar un mínimo común denominador en base al tipo de visitantes que espera.
Consideraciones de una aplicación inalámbrica Al diseñar una aplicación de este tipo deben ser contemplados aspectos tanto en la aplicación de cliente como en la aplicación de servidor, estos detalles y algunos más se mencionan a continuación. Cliente
A diferencia del cliente típico que es utilizado en Internet: Un
Navegador en una Computadora Personal (PC), el cliente que es utilizado para una aplicación inalámbrica es Un navegador en un Teléfono Celular o PDA, las diferencias entre una Computadora Personal y un Teléfono Celular y/o PDA de inmediato influyen sobre la aplicación: M.T.I. MONTSERRAT MASDEFIOL SU REZ
60
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
La pantalla es más pequeña y de menor resolución en un
aparato inalámbrico.
La memoria para procesar y ejecutar instrucciones en un
aparato inalámbrico es limitada.
El tipo de conexión (Bandwidth) para un aparato inalámbrico
es más limitado que para un aparato alámbrico (PC). Si suele abusar de la Interface gráfica o está acostumbrado a velocidades de DSL, tendrá que ir cambiando sus costumbres. Inclusive aunque realice diseños apropiados (bajo en gráficas y alto en contenido), también tendrá que aprender otra cosa nueva ya que los navegadores de "Aparatos Inalámbricos" NO ENTIENDEN HTML (algunos dispositivos (10-15% del mercado) si lo interpretan, pero muy limitado). Servidor
Lenguajes del lado del cliente. HTML
El lenguaje llamado HTML indica al navegador donde colocar cada texto, cada imagen o cada video y la forma que tendrán estos al ser colocados en la página. HTML también puede describir, hasta un cierto punto, la apariencia de un documento, y puede incluir un script (por ejemplo, JavaScript), el cual puede afectar el comportamiento de navegadores web y otros procesadores de HTML. El lenguaje consta de etiquetas que tienen esta forma
o . Cada etiqueta significa una cosa, por ejemplo significa que se escriba en negrita (bold) o
significa un párrafo, es un enlace, etc. Casi todas las etiquetas M.T.I. MONTSERRAT MASDEFIOL SU REZ
61
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES tienen su correspondiente etiqueta de cierre, que indica que a partir de ese punto no debe de afectar la etiqueta. Por ejemplo se utiliza para indicar que se deje de escribir en negrita. Así que el HTML no es más que una serie de etiquetas que se utilizan para definir la forma o estilo que se quiere aplicar a nuestro documento. JAVASCRIPT
El JavaScript es un lenguaje de programación que surgió por la necesidad de ampliar las posibilidades del HTML. En efecto, al poco tiempo de que las páginas web apareciesen, se hizo patente que se necesitaba algo más que las limitadas prestaciones del lenguaje básico, ya que el HTML solamente provee de elementos que actúan exclusivamente sobre el texto y su estilo, pero no permite, como ejemplo sencillo, ni siquiera abrir una nueva ventana o emitir un mensaje de aviso. La temprana aparición de este lenguaje, es posiblemente la causa de que se haya convertido en un estándar soportado por todos los navegadores actuales, a diferencia de otros, que solo funcionan en los navegadores de sus firmas creadoras. JavaScript es un lenguaje de programación utilizado para crear pequeños programas encargados de realizar acciones dentro del ámbito de una página web. Se trata de un lenguaje de programación del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Su uso se basa fundamentalmente en la creación de efectos especiales en las páginas y la definición de interactividades con el usuario.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
62
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Las sentencias escritas en JavaScript se encapsulan entre las etiquetas <script> y . Por ejemplo, si en el código de una página Web se incluye la sentencia. <script> window.alert("Bienvenido a mi sitio web. Gracias...") Al abrir la página con el navegador se mostrará una ventana de bienvenida. APPLETS DE JAVA.
Es otra manera de incluir código a ejecutar en los clientes que visualizan una página web. Se trata de pequeños programas hechos en Java, que se transfieren con las páginas web y que el navegador ejecuta en el espacio de la página. Los applets de Java están programados en Java y precompilados, es por ello que la manera de trabajar de éstos varía un poco con respecto a los lenguajes de script como JavaScript. Los applets son más difíciles de programar que los scripts en Javascript y requerirán unos conocimientos básicos o medios del lenguaje Java.
Ventajas La principal ventaja de utilizar applets consiste en que son mucho menos dependientes del navegador que los scripts en Javascript, incluso independientes del sistema operativo del ordenador donde se ejecutan. Además, Java es más M.T.I. MONTSERRAT MASDEFIOL SU REZ
63
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES potente que Javascript, por lo que el número de aplicaciones de los applets podrá ser mayor.
Desventajas Como desventajas en relación con Javascript cabe señalar que los applets son más lentos de procesar y que tienen espacio muy delimitado en la página donde se ejecutan, es decir, no se mezclan con todos los componentes de la página ni tienen acceso a ellos. Es por ello que con los applets de Java no se podrá hacer directamente cosas como abrir ventanas secundarias, controlar Frames, formularios, capas, etc. VISUAL B ASIC SCRIPT
Es un lenguaje de programación de scripts del lado del cliente, pero sólo compatible con Internet Explorer. Es por ello que su utilización está desaconsejada a favor de Javascript. Está basado en Visual Basic, un popular lenguaje para crear aplicaciones Windows. Tanto su sintaxis como la manera de trabajar están muy inspiradas en él. Sin embargo, no todo lo que se puede hacer en Visual Basic se podrá hacer en Visual Basic Script, pues este último es una versión reducida del primero. El modo de funcionamiento de Visual Basic Script para construir efectos especiales en páginas web es muy similar al utilizado en Javascript y los recursos a los que se puede acceder también son los mismos.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
64
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES FLASH
Flash es una tecnología, y un programa, para crear efectos especiales en páginas web. Con Flash también se consigue hacer páginas dinámicas del lado del cliente. Flash en realidad no es un lenguaje, sin embargo, si se tuviese que catalogarlo en algún sitio quedaría dentro del ámbito de las páginas dinámicas de cliente. Para visualizar las películas Flash, el navegador debe tener instalado los correspondientes plug-in que le permita visualizarlas. CSS
Es una tecnología que permite crear páginas web de una manera más exacta. Gracias a las CSS los desarrolladores son mucho más dueños de los resultados finales de la página, pudiendo hacer muchas cosas que no se podía hacer utilizando solamente HTML, como incluir márgenes, tipos de letra, fondos, colores, entre otros, incluso se pueden definir estilos propios en un archivo externo a nuestras páginas; así, si en algún momento se quiere cambiar alguno de ellos, automáticamente se actualizarán todas las páginas vinculadas del sitio. CSS son las siglas de Cascading Style Sheets, en español Hojas de estilo en Cascada.
Lenguaje del servidor CGI
M.T.I. MONTSERRAT MASDEFIOL SU REZ
65
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES Es el sistema más antiguo que existe para la programación de las páginas dinámicas de servidor. Actualmente se encuentra un poco desfasado por diversas razones entre las que destaca la dificultad con la que se desarrollan los programas y la pesada carga que supone para el servidor que los ejecuta. Los CGI se escriben habitualmente en el lenguaje Perl, sin embargo, otros lenguajes como C, C++ o Visual Basic pueden ser también empleados para construirlos. PERL
Perl es un lenguaje de programación interpretado, al igual que muchos otros lenguajes de Internet como Javascript o ASP. Esto quiere decir que el código de los scripts en Perl no se compila sino que cada vez que se quiere ejecutar se lee el código y se pone en marcha interpretando lo que hay escrito. Además es extensible a partir de otros lenguajes, ya que desde Perl se pueden hacer llamadas a subprogramas escritos en otros lenguajes. También desde otros lenguajes se puede ejecutar código Perl. A SP
ASP (Active Server Pages) es la tecnología desarrollada por Microsoft para la creación de páginas dinámicas del servidor. ASP se escribe en la misma página web, utilizando el lenguaje Visual Basic Script o JScript (Javascript de Microsoft). PHP
M.T.I. MONTSERRAT MASDEFIOL SU REZ
66
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES PHP es el acrónimo de Hipertext Preprocesor. Es un lenguaje de programación del lado del servidor gratuito e independiente de plataforma, rápido, con una gran librería de funciones y mucha documentación. J SP
JSP es un acrónimo de Java Server Pages, que en castellano vendría a decir algo como Páginas de Servidor Java. Es una tecnología orientada a crear páginas web con programación en Java. Con JSP se pueden crear aplicaciones web que se ejecuten en variados servidores web, de múltiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Por tanto, las JSP se podrán escribirse con el editor HTML/XML habitual.
Lenguajes del lado cliente-servidor DHTML
DHTML no es precisamente un lenguaje de programación. Más bien se trata de una nueva capacidad de la que disponen los navegadores modernos, por la cual se puede tener un mayor control sobre la página que antes. Cualquier página que responde a las actividades del usuario y realiza efectos y funcionalidades se puede englobar dentro del DHTML, pero en este caso se hace más referencia a efectos en el navegador por los cuales se pueden mostrar y ocultar elementos de la página, asimismo se puede modificar su posición, dimensiones, color, etc. M.T.I. MONTSERRAT MASDEFIOL SU REZ
67
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES DHTML da más control sobre la página, gracias a que los navegadores modernos incluyen una nueva estructura para visualizar en páginas web denominada capa. Las capas se pueden ocultar, mostrar, desplazar, etc. Para realizar las acciones sobre la página, como modificar la apariencia de una capa, se sigue necesitando un lenguaje de programación del lado del cliente como Javascript o VBScript. XML
XML es una tecnología en realidad muy sencilla que tiene a su alrededor otras tecnologías que la complementan y la hacen mucho más grande y con unas posibilidades mucho mayores. XML, con todas las tecnologías relacionadas, representa una manera distinta de hacer las cosas, más avanzada, cuya principal novedad consiste en permitir compartir los datos con los que se trabaja a todos los niveles, por todas las aplicaciones y soportes. Este lenguaje se utiliza para construir las páginas que aparecen en las pantallas de los teléfonos móviles y los asistentes personales digitales (PDA) dotados de tecnología WAP. Es una versión reducida del lenguaje HTML que facilita la conexión a Internet de dichos dispositivos y que además permite la visualización de páginas web en dispositivos inalámbricos que incluyan la tecnología WAP. La visualización de la página dependerá del dispositivo que se use y de la forma en que este interprete el código, ya que varían entre sí.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
68
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES WML y HDML WML (Wireless Markup Language) y HDML (Handheld Device Markup Language) son los dos lenguajes de marcación que son compatibles con la gran mayoría de aparatos inalámbricos en el mercado. HDML fue desarrollado por Phone, mientras WML fue creado por WAP Forum en 1997 por Ericson, Nokia, Motorola y otras 250 empresas en el medio inalámbrico. Hoy en día, generalmente, se utiliza WML, ya que casi todos los navegadores en aparatos inalámbricos logran interpretar apropiadamente el lenguaje. WML es un poco diferente que HTML pero esencialmente cumple las mismas funciones.
WMLScript WMLScript es un dialecto de JavaScript utilizado en las páginas WML y es una parte del Wireless Application Protocol (WAP). WMLScript es un lenguaje interpretado del lado del cliente muy parecido a JavaScript, al igual que éste, se utiliza para tareas tales como validación de datos de entrada en un formulario, generación de mensajes de error o diálogos, etc. Está basado en ECMAScript (European Computer Manufacturers Association Script), que es la versión estandarizada de JavaScript, por esta razón la sintaxis de WMLScript es muy similar al de JavaScript. La principal diferencia entre JavaScript y WMLScript es que el código JavaScript puede estar embebido en el interior de una página HTML mientras que el código WMLScript siempre estará localizado en un fichero separado del documento WML.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
69
FUNDAMENTOS PARA EL DESARROLLO DE APLICACIONES MOVILES
CONCLUSIÓN Para finalizar con este trabajo de investigación presentado se puede decir que el Wireless Application Protocol (WAP) se ha convertido en un estándar que permite ofrecer a usuarios dispositivos inalámbricos dispositivos móviles de fácil acceso a toda la información disponible en el internet y a las aplicaciones y servicios que la misma ofrece. WAP proporciona una solución inteligente, segura y especifica al problema del acceso a Internet desde un terminal o dispositivo móvil. Y que está basado en el modelo Cliente-Servidor como internet. Como se vio anteriormente las tecnologías y los lenguajes inalámbricos han brindado un mayor avance para los dispositivos móviles, lo cual hace fácil el acceso a ellos mediante conexiones inalámbricas que nuestros dispositivos incluyen, estos pueden ser consultados mediante los micronavegadores que cualquier dispositivo móvil incluye.
M.T.I. MONTSERRAT MASDEFIOL SU REZ
70