¿Qué son las Rich Internet Applications?

Por Carlos Nascimbene, Sales Engineer en Alab S.A.
En este artículo, Carlos Nascimbene, Adobe & Macromedia Sales Engineer en el distribuidor ALAB S.A., explica por qué las Rich Internet Applications (RIAs) resultan un nuevo paradigma de desarrollo de aplicaciones web, en un contexto en el que las empresas están comenzando a comprender que al combinar el alcance de Internet y el poder de las experiencias de usuario efectivas logran lo mejor de los dos mundos

Rich Internet Applications (RIAs) básicamente se trata de un nuevo paradigma de desarrollo de aplicaciones web que está emergiendo actualmente con mucha fuerza en el mundo de las Tecnologías de la Información y los negocios. La mejor manera de comprender lo que son las RIAs es poniéndolas en el contexto de otras tecnologías. Para esto debemos pensar las soluciones tecnológicas en términos de dos características: alcance y riqueza.

Riqueza es la habilidad para incorporar interactividad e interfaces de usuario intuitivas en el cliente, y alcance es la habilidad de la aplicación para estar disponible para cualquier usuario en el lugar del planeta en el que éste se encuentre.

El inicio del desarrollo de aplicaciones se da con los mainframes que proveen una interfase no-gráfica basada en texto y que se pueden utilizar por usuarios dentro de grandes organizaciones. Con la llegada de Windows y una mayor capacidad de procesamiento en las máquinas cliente, en los albores de la década del 90, se impone la tecnología cliente/servidor, que provee modelos visuales para la interacción del usuario. La capacidad de procesamiento en la máquina cliente hizo posible mejorar la usabilidad de las aplicaciones con la incorporación de elementos de interfase como tabuladores, menús desplegables y tablas de datos. Sin embargo esta tecnología requería que se instalase una aplicación en el cliente que resultaba difícil de administrar y mantener actualizada. El resultado fue un alcance limitado: llegaba a pocos usuarios.

A mediados de los 90 surgió la Web como un extraordinario medio para distribuir o publicar información disponible para usuarios en todas partes del mundo. Las organizaciones fueron migrando sus aplicaciones a Web, pero debido a las limitaciones en la aplicación cliente la usabilidad y experiencia del usuario retrocedió significativamente perjudicando el retorno sobre la inversión.

Ahora, después de años de experiencias Web no intuitivas, las empresas están comenzando a comprender que al combinar el alcance de Internet y el poder de las experiencias de usuario efectivas logran lo mejor de los dos mundos. Las RIAs combinan los beneficios de negocio que se obtienen con el alcance extensivo y la facilidad de distribución y mantenimiento junto con las experiencias más efectivas e interesantes para el usuario final y el negocio. La tecnología que hace posible este tipo de aplicaciones ha madurado sólidamente a lo largo de los últimos años.

Pero cuidado, porque dentro de este nuevo paradigma se agrupan distintas tecnologías. Algunas son tecnologías con 10 años de existencia que ahora buscan camuflarse en este nuevo paradigma, y otras son realmente tecnologías desarrolladas específicamente para este nuevo paradigma. Estas últimas son las únicas que realmente consiguen sustentar el nuevo estadio.

Nociones básicas

Lo primero que se quiebra del viejo paradigma es el modelo request/response que se aplica en la navegación de aplicaciones Web estándares. La metáfora de "páginas" a la que nos hemos acostumbrado está en vías de desaparición. ¿Por qué? Simplemente porque no es eficiente ni desde el punto de vista técnico (sobrecarga de procesos en el servidor, tráfico excesivo entre el servidor y cada cliente) ni desde el punto de vista de la experiencia del usuario final (el HTML es muy limitado y no fue concebido como una tecnología transaccional). Sin mencionar que una metáfora de navegación por páginas es interesante para estructuras de información pero no tanto para aplicaciones. Se trata entonces de crear aplicaciones que se carguen en el navegador y que contengan lógica de procesamiento que funcione del lado del cliente. Esta aplicación puede funcionar tanto sincrónicamente como asincrónicamente en background.

Cómo dijo Brendan Eich, el creador del lenguaje Java Script en 1995 en Netscape: "El mundo está descubriendo ahora lo que Marc Andreseen y yo imaginamos hace 10 años, siempre imaginamos a Java Script como una forma de crear aplicaciones centradas en el cliente que no tuvieran que cargar páginas desde el servidor". Lo que Eich no alcanzó a ver fue que, además de usar un lenguaje inventado por él y su equipo en los laboratorios de Netscape, el nuevo paradigma necesitaría de una nueva plataforma, un nuevo estándar de hecho para darle consistencia y factibilidad: la plataforma Flash.

Emprendimientos como AJAX (Asynchronous JavaScript and XML) no son más que usos más inteligentes de Java Script por parte de los desarrolladores web, pero no representan realmente un verdadero cambio. Son "parches" a la metáfora de páginas y siguen basándose en el HTML. AJAX presenta serios problemas en relación a la compatibilidad entre navegadores, a la seguridad de la aplicación y el código y a las herramientas de desarrollo para Java Script. En definitiva no posibilita un cambio sustancial en la experiencia del usuario de las aplicaciones.

El servidor de presentación Macromedia Flex

Esta tecnología es la que realmente posibilita la creación y deploy de RIAs en toda la acepción de la palabra con una arquitectura orientada a servicios (SOA) y basada en J2EE. Además, provee un modelo de programación ya conocido basado en XML y ActionScript (EcmaScript / JavaScript); permite extender la infraestructura pre-existente, adopta protocolos estándares como SOAP / web services; posibilita utilizar las principales IDEs de mercado como Eclipse, JBuilder, Websphere y Visual Studio entre otras; soporta design patterns como model-view-controller (MVC). Para más información, versiones de prueba y ejemplos sobre Flex se puede visitar el sitio web aquí.


Más información: www.macromedia.com/es/software/flex.