Prefacio
RIA, acrónimo de Rich Internet Applications (Aplicaciones Ricas de Internet) Son un nuevo tipo de aplicaciones con más ventajas que las tradicionales aplicaciones Web. Esta surge como una combinación de las ventajas que ofrecen las aplicaciones Web y las aplicaciones tradicionales. Las Aplicaciones Ricas de Internet (RIAs) ofrecen una experiencia rica y atractiva que mejora la satisfacción del usuario y aumenta la productividad. Mediante el amplio alcance de Internet, las RIAs pueden desplegarse sobre múltiples exploradores y escritorios.
Índice
Evolución de Internet
Paginas Web
Aplicaciones Web
Ventajas de las Aplicaciones Web
Desventajas de las Aplicaciones Web
Aplicaciones de Escritorios
Las RIA’s
Evolución de las RIA’s
Formas de las Presentaciones RIA’s
Beneficios de las RIA’s
Aplicaciones para desarrollo
Introducción
Las aplicaciones web se están volviendo cada vez más complejas y multimedia. Con las tecnologías actuales, se hace crecientemente complicado lograr que las mismas funcionen con eficacia y eficiencia. Debido a esto, han surgido diversas arquitecturas de programación, conocidas como ‘Aplicaciones Ricas de Internet’, que posibilitan la ejecución de muchas funciones en el navegador sin necesidad de sobrecargar ni el ancho de banda ni los servidores.
La forma de establecer la comunicación entre un servidor de Internet y el navegador de los usuarios consiste en enviar peticiones desde este último, que posteriormente son ejecutadas, tras lo que se devuelve el resultado obtenido al navegador. Este trámite hace que muchas aplicaciones complejas tengan unos tiempos de respuesta ineficientes, o que la sobrecarga que se produce sobre el servidor sea tan alta que sea inviable la prestación del servicio.
Para solucionar esto, instituciones y empresas privadas trabajan para conseguir hacer la experiencia con aplicaciones online similar a la que tienen los usuarios con los programas instalados en su escritorio.
Las Aplicaciones Ricas de Internet permiten que muchas de las acciones que ejecuta el usuario se hagan previamente precargadas desde el navegador web. A este nuevo tipo de aplicaciones se las conoce como Aplicaciones Ricas de Internet ('Rich Internet Applications') ya que permiten que muchas de las acciones que ejecuta el usuario se hagan previamente precargadas desde el navegador web, existiendo la comunicación con un servidor únicamente para el envio de datos o consultas a bases de datos.
Evolución de Internet
Internet se origina como una red del servicio militar de los estados unidos denominada ARPANET en la década de 1960, debido a la complejidad de las conexiones deciden implementar un protocolo estándar para las conexiones de redes heterogéneas, y crean el protocolo TCP/IP.
En su comienzo Internet solo era utilizado por investigadores y personas con conocimientos profundos en informática, con una interfaz en modo de texto muy complicada de operar que servia para enviar correos electrónicos, intercambios de archivos uso conexiones remotas de computadoras.
En 1990 es presentado el primer navegador Web que podía leer páginas almacenadas en servidores y presentaba la información en el monitor utilizando un lenguaje de formateo de información denominado HTML (HyperText Markup Language)
En la evolución en Internet hemos visto diferentes transformaciones en el modo de presentar los contenidos. Desde el HTML simple y plano, hasta Multimedia y Flash integrados. Actualmente la tendencia es hacer sitios ademas de interactivos, vistosos y bonitos: Funcionales.
Paginas Web
En el comienzo en
HTTP, a diferencia del escritorio, no mantiene estado. Esto quiere decir que, entre una página y otra, no hay “memoria” de las aciones efectuadas anteriormente por el usuario. Cada vez que presionamos un link, nuestro navegador envía una petición (”request”) al servidor, quien a su vez procesa los datos enviados y responde adecuadamente. El navegador recibe y despliega esta respuesta y la comunicación termina hasta la siguiente interacción del usuario. Esta es la arquitectura que nos ha acostumbrado a entender
Pero hay ocasiones donde las virtudes de HTTP y HTML, el modelo tradicional, son esenciales. En el modelo de petición y respuesta de HTTP, cada documento HTML - de hecho cada imagen y cada elemento que incluyamos en la página - es un recurso. Cada recurso tiene su propia URI en
La gran ventaja que representaba las conexiones de Páginas Web a cualquier tipo de sistema operativo conectado a la red, sin tener que instalar nada mas que el navegador, abrió la posibilidad se brindar una infinidad de servicios en las distintas áreas tales como comercio, publicidad, entretenimiento, información, etc.
Para esto son creadas los lenguajes de generación de código HTML dinámica, que dejan de lado las paginas estáticas, para poder generar las paginas según lo las instrucciones creadas y tener una interactividad con el usuario que puede acceder a los servicios brindados por el o los servidores de Aplicaciones Web.
Los lenguajes de generación de código HTML son también llamados lenguajes del lado del servidor por que son después de la solicitud del usuario por medio del navegador en el servidor Web se ejecuta la pagina generando el resultado en una pagina HTML que es presentada al usuario finalmente.
Las Aplicaciones Web también hacen usos de los lenguajes del lado del cliente, aunque no es de uso obligatorio son de gran importancia porque realizan procesos de forma que no requerirán el uso de envió de información al servidor por lo que son procesadas en el cliente.
Ventajas de las Aplicaciones Web
- Generación dinámica de páginas web.
- Uso de de otros servidores, bases de datos etc.
- No requiere instalación de la aplicación.
- La actualización del sistema es transparente para el usuario.
- Desarrollados para su uso específico en Internet pero también utilizados en intranets
- Una gran cantidad de diferentes lenguajes de programación para el desarrollo de aplicaciones.
- Traspaso de información entre páginas por medio de variables, y objetos tipo enviar y recibir.
- Usos de sesiones para la diferenciación de usuarios no autorizados o personalización de los mismos.
- Uso de llamadas a procedimientos y servicios incluso fuera del mismo servidor de aplicación.
- Indexación de las paginas por categorías y palabras claves su clasificación en los motores de búsqueda.
- Separación de la presentación visual de la página por medio de las hojas de estilo (css).
Desventajas de las Aplicaciones Web
- Son una extensión del las paginas HTML conservando sus ventajas pero también sus desventajas.
- No conserva el estado entre paginas
- Cada vez que se envía un pedido al servidor toda la página vuelve a ser procesada.
- Normalmente se deben crear varias versiones para que funcionen correctamente en los navegadores mas utilizados.
- Baja capacidad multimedia.
Aplicaciones de escritorio
Las Aplicaciones Web aun con sus muchas ventajas que ofrecen, no fueron concebidas para uso como aplicaciones dedicadas, pero también a sus muchas ventajas son preferidos para la utilización en muchos de los proyectos.
Las aplicaciones de escritorio son aplicaciones completas que se instalan en
También mantienen un contacto permanente entre los procesos internos del programa y lo que sucede en la interfaz de usuario. Es por esto que no requieren del paradigma de páginas de la web y tienden a ofrecer una experiencia de usuario más fluida entre una acción y otra. Son realizados en una gran cantidad de lenguajes de programación, con potentes paquetes de desarrollo, en forma nativa o por medio de una capa intermedia con funciones pre-definidas de accesos a los recursos del sistema operativo.
La desventaja es que los sistemas de escritorio están destinados a trabajar en Internet por lo que solo se lo utiliza en Intranet. Dependen del sistema operativo cliente y no puede funcionar en diferentes versiones del mismo sistema operativo sin que normalmente se realicen alguna actualizaciones.
Ventajas de las Aplicaciones de escritorio
- Alta velocidad de proceso
- La carga de los procesos es compartida, se pueden realizar en el servidor como también en el cliente.
- Gran cantidad de recursos nativos, generadores de reporte, visualización de videos, archivos etc.
- Utilización de componentes propios del sistema operativo
Desventajas de las Aplicaciones de escritorio
- No son preparados para conexiones a Internet.
- Son realizados específicamente para el sistema operativo cliente.
- Requiere de instalaciones
- Las actualizaciones no es automáticas.
Las RIA’s
Teniendo en cuanta todas la ventajas de los Sistemas Web y Sistemas de Escritorio, lo que buscan las RIA’s son utilizar los modelos de estos tipos distintos de sistemas y potenciar sus ventajas y evitar tener sus mismas desventajas.
Las RIA’s son Aplicaciones Web con las características de los Sistemas de Escritorio, al acceder al sistema el servidor envía toda la aplicación al cliente para que se ejecute como un sistema normal de escritorio sin la necesidad de instalaciones y las actualizaciones se realizan en forma automática, los envíos de paquetes de datos al servidor se realizan únicamente con la información necesaria y no requiere la recarga del sistema cada en cada conexión.
El concepto es básicamente formado por esa idea, la del utilización de las funcionalidades y facilidad de usos de los Sistemas de Escritorio con las ventajas de Aplicaciones Web y todas las sus ventajas propias de Internet.
Evolución de las RIA's
El termino Rich Internet Applications (Aplicaciones Ricas en Internet) fue utilizada por primera vez en el año 2002 en un documento publicado por Macromedia, ahora Adobe.
A lo largo de los años este termino fue siendo adoptado por los desarrolladores Web, principalmente por los desarrolladores Flash.
Con la aparición de AJAX en el 2005, el concepto de de
Mucho antes de esto, con java se podían realizar applets, que eran pequeños programas que se descargaban desde el navegador y se ejecutaban en el cliente como un programa java tradicional, la elevada dificultar para desarrollar sistemas completos y los posibles malos usos de los applets llevaron a los navegadores a controlar la ejecución y hasta a no permitirlos.
Con Flash, se podrían crear páginas con mucho carga visual y de animación pero la gran desventaja es la casi nula capacidad de interactuar con bases de datos, para eso Adobe lanza Flex para su utilización al igual a Flash pero con la capacidad de conectarse a recursos externos.
Actualmente las RIA’s aun siguen en evolución y las grandes compañías lanzan sus propias tecnologías para apropiase del mercado y para logar acaparar el mayor porcentaje del mercado posible.
- No necesitan instalación (solo es necesario mantener actualizado el navegador web).
- Las actualizaciones hacia nuevas versiones son automáticas.
- Se pueden utilizar desde cualquier ordenador con una conexión a Internet sin depender del sistema operativo que este utilice.
- Generalmente es menos probable la infección por virus, que utilizando por ejemplo programas ejecutables.
- Más capacidad de respuesta, ya que el usuario interactúa directamente con el servidor, sin necesidad de recargar la página.
- Ofrecen aplicaciones interactivas que no se pueden obtener utilizando solo HTML, incluyendo arrastrar y pegar, cálculos en el lado del cliente sin la necesidad de enviar la información al servidor.
Formas de presentación
Las RIA’s pueden mostrarse con diferentes tecnologías, lo que no cambia es la su concepto principal. Podrían ser cualquiera de la siguientes que puedan mantener una aplicación rica para el usuario.
AJAX: es la forma en las que las RIA’s estan mas presentes en la web desde hace un tiempo, la programación del lado cliente hace que alguna validaciones o procesos que pueden ser resueltos en el cliente se realicen ahí, evitando la saturación de la línea y la tardanza de los procesos.
Clientes pesados: tecnologías del lado del servidor que utilizas capas intermedias de astricción para el desarrollo con los componentes ricos en una forma a muy parecida a los escritorios actuales, algunos ejemplos son: jsp de java, y la plataforma .net.
Programación en forma nativa con utilización de web-services: son los tipos sistemas de escritorio pero con la funcionalidad de tener que estar conectados a Internet para poder funcionar.
Aplicaciones desconectadas: google esta aplicando esta modalidad en la que genera una base de datos en forma local para que puedan ser utilizados en el momento que no se posea conexión a Internet.
Plataformas dedicadas: son las que se encargan de realizar aplicaciones RIA’s en la forma evolucionada, brindan objetos de formularios de escritorio y también animación de grafico vectorial, las compañías compiten para posicionar sus productos, aunque básicamente realizan el mismo resultado, cada una aplica su metodología de desarrollo y sus componentes propietarios.
Algunos de los paquetes de desarrollo son lo que siguen a continuación.
Aplicaciones para desarrollo
Microsoft Silverlight: Se trata de un conjunto de tecnologías multiplataforma que permite trabajar con animaciones, gráficos vectoriales y vídeo, así como la carga de datos desde el escritorio del usuario. Una de las características más destacadas es que permite mostar vídeo en alta calidad.
Java fx: lanzado este año por java, java trata de volver a ser pionero con cuanto a
Prism: es un proyecto de la fundación Mozilla. Puedes ejecutar tus aplicaciones web como si fuesen aplicaciones de escritorio: con su ventana independiente sin barras de herramientas
Conclusión
El concepto de
También se visualiza de buena manera el hecho de que estas compañías se estén apoyando en el software libre para facilitar el acceso a sus productos, y el resultado que se puede lograr en cuanto a sistemas informáticos demuestra que vale la pena probar esta nueva tendencia en Sistemas Web.
Fuentes de referencia
http://ribesoftwarees.wordpress.com/2008/01/17/tecnologias-para-crear-rich-internet-applications/
http://www.tinoticias.com/2007/11/29/aplicaciones-ricas-de-internet-la-red-desde-el-escritorio/
http://alexpresa.com/2008/07/si-quiero-construir-una-ria-que.html
http://www.webtaller.com/maletin/articulos/ventajas_de_las_rias.php
http://es.wikipedia.org/w/index.php?title=Rich_Internet_Application
http://riactive.com/2006/12/06/rich-internet-application-definicion/
http://www.frecuenciacero.com.mx/cafeinternet/index.php?option=com_content&task=view&id=41
http://wika2.blogspot.com/2007/09/ria-aplicaciones-ricas-de-internet-con.html
http://wharton.universia.net/index.cfm?fa=viewArticle&id=1493
http://www.pergaminovirtual.com.ar/revista/cgi-bin/hoy/archivos/2006/00001564.shtml
http://riactive.com/2006/12/06/rich-internet-application-definicion/
http://blogs.alianzo.com/redessociales/2008/08/02/javafx-aplicaciones-ricas/
