Instituto Tecnolgico de Mrida Materia: Aplicaciones Ricas Internet
Alumno: Peraza Cruz Carlos
Profesor: Hctor Cetina Cordero
Nombre del Trabajo: Investigacin
Fecha: 26/08/13
Instituto Tecnolgico de Mrida
Aplicaciones Ricas en Internet 8sb Peraza Cruz Carlos Enrique Pgina 2
Historia Aos atrs, las aplicaciones informticas se ejecutaban en un ordenador central donde el usuario era un mero observador de la informacin, no pudiendo interactuar con ellas debido, principalmente, a los elevados costes de procesamiento y transmisin de datos. Para resolver esta situacin naci la arquitectura cliente/servidor, que permite repartir la capacidad de proceso entre los equipos de cliente y el servidor central. Este avance mejora la escalabilidad y la centralizacin de la gestin de la informacin, aunque presenta algunas desventajas, como la congestin del trfico de datos y su elevado coste, ya que es necesario desarrollar un software de cliente y de servidor. En la dcada de los noventa, con el auge de Internet, surge un nuevo modelo de aplicaciones informticas, basado en un navegador Web que, interpretando el lenguaje HTML, enva peticiones a un servidor de aplicaciones, el cual se encarga de escribir las pginas de forma dinmica y enviarlas al cliente. Esto provoca una recarga continua de pginas por cada mnimo cambio cada vez que el usuario pulsa sobre un enlace, generndose un alto trfico de red. Otra de las desventajas de las tradicionales aplicaciones Web es la poca capacidad multimedia que poseen, ya que funcionalidades como la reproduccin de un vdeo necesitan de un programa externo para poder funcionar. De la combinacin de las ventajas que ofrecen las aplicaciones Web y las aplicaciones tradicionales, nace la tecnologa RIA como una nueva generacin de aplicaciones que, sin duda, marcarn el futuro de los sistemas de informacin de empresas y corporaciones. Las aplicaciones RIA utilizan, al igual que las aplicaciones tradicionales de Internet, un navegador Web, pero cargan desde el principio toda la aplicacin en el cliente, y slo se produce comunicacin con el servidor cuando se necesitan datos externos, ya sean de base de datos o de ficheros adicionales. Su arquitectura se basa en una aplicacin-cliente y una capa de servicios separada, parecindose ms en este aspecto a las antiguas aplicaciones cliente-servidor, con la diferencia de que nicamente solicitan datos Instituto Tecnolgico de Mrida
Aplicaciones Ricas en Internet 8sb Peraza Cruz Carlos Enrique Pgina 3
del servidor, no necesitando ninguna otra informacin. Adems son capaces de trabajar de forma asncrona y sin conexin con el servidor, lo que proporciona una versatilidad inmejorable ante problemas de conexin. Caractersticas de una RIA Mejora de la experiencia visual gracias a la aportacin de nuevos componentes ms avanzados. Permite crear aplicaciones ms atractivas mediante la utilizacin de audio, video y grficos. La mayora de tecnologas RIA se basan en el lenguaje de programacin XML, tanto para las interfaces grficas como para el intercambio de datos. Conectividad. La mayora de RIAs permiten ejecutar las aplicaciones online/offline. Disminuye el ancho de banda utilizado en el uso de la aplicacin ya que permite almacenar ms informacin en el cliente de manera que se reduce el uso de transacciones HTTP. Adems se minimiza la memoria utilizada en el servidor Web. Requiere la utilizacin de un cliente rico en el lado del usuario, que ser el motor de la tecnologa RIA utilizada (habitualmente ser un plugin). Visualizacin y ejecucin en mltiples plataformas y dispositivos heterogneos. Cada interaccin del usuario no necesita de una interaccin con el servidor Los datos pueden ser obtenidos desde el servidor sin necesidad de actualizar toda la pantalla. Solo se comunica con el servidor cunado es necesario. Facilidad de despliegue Instituto Tecnolgico de Mrida
Aplicaciones Ricas en Internet 8sb Peraza Cruz Carlos Enrique Pgina 4
Facilidad de administracin Facilidad de desarrollo
Arquitectura de una Aplicacin RIA Interaccin entre el cliente y el servidor El usuario hace un click en un link del browser enva un request a un Server. El servidor responde a los request de los clientes, y cuando la cantidad suficiente de los contenidos requeridos llegan al cliente (a la cache del browser), el browser los muestra y el usuario los puede ver. Para que el usuario pueda ver la respuesta deber esperar el tiempo necesario que tarde el proceso completo en que la respuesta llegue al browser.
Comportamiento del servidor Los servidores deben dar respuesta a muchos usuarios concurrentemente, no interesa cuan poderoso es el servidor, cada usuario que hace un request al servidor consume un pequea parte de recursos del mismo, entre los cuales podemos destacar: Instituto Tecnolgico de Mrida
Aplicaciones Ricas en Internet 8sb Peraza Cruz Carlos Enrique Pgina 5
Memoria ciclos de procesador recursos de motores de base de datos Los servidores Web pueden responder rpidamente a requerimientos de informacin de usuarios concurrentes, creando caches de browseo haciendo mucho ms eficiente las respuestas del mismo Pero una accin de usuario que involucra cambios en los datos tales como agregar un producto al carrito de compras, consume ms recursos de servidor. El nmero de transacciones concurrentes, interacciones que actualizan los datos personales de un cliente, juegan un rol crtico en la performance del servidor. Las flechas grises del diagrama y los recuadros de usuarios y transacciones indican que la performance del servidor es altamente influenciada por estos factores concurrentes. Los servidores tpicamente funcionan de manera coherente hasta un cierto nivel de concurrencia, pero ms all de ese nivel (punto de inflexin), la performance de las transacciones se ven degradadas, transformndose en un cuello de botella. El Motor Cliente Hoy en da hay varias implementaciones diferentes, todas las RIAs agregan una capa lgica intermedia, el motor cliente de pedidos; Esta capa es agregada entre el usuario y el servidor Web. Este motor maneja que contenidos a mostrar y los request hacia el servidor. Este motor Cliente puede seguir manejando las comunicaciones sncronas como las aplicaciones Web tradicionales, pero tambin permite al usuario interactuar con la aplicacin asincrnicamente (independientemente de forma en que nos comuniquemos con el servidor).
Instituto Tecnolgico de Mrida
Aplicaciones Ricas en Internet 8sb Peraza Cruz Carlos Enrique Pgina 6
Principales Caractersticas Anticipar carga de datos La informacin puede ser cargada de un servidor en un requerimiento anticipando el request del usuario, podemos preveer los datos que el usuario va a necesitar en request anterior, muchas veces se da lo opuesto, solo cargamos datos necesarios para optimizar recursos Evitar recarga completa Muchas veces cambiamos el valor de un input que enva un evento de servidor, por ejemplo en .Net si el input tiene asociado un evento de servidor, laaplicacin recarga por completo la pgina, en las aplicaciones RIA esto noocurre, y en .Net podemos evitar esto utilizando componentes AJAX Mltiple validacin La aplicacin realiza la mayora de las validaciones en la capa cliente de la aplicacin, de esta manera evitamos enviar datos invlidos al servidor .Respuestas sin intervencin del servidor Validando en el cliente automticamente podemos enviarle al usuario una respuesta, sin necesidad de que sea el servidor el encargado de validar datos de formularios ingresados por el usuario. Anticipar eventos As como podemos anticipar el envo de datos al cliente, podemos anticipar ejecuci n de eventos de servidor, de esta manera cuando ejecutamos un evento podemos anticiparnos y ejecutar otro que por definicin de la aplicacin se ejecuta tiempo despus.
Instituto Tecnolgico de Mrida
Aplicaciones Ricas en Internet 8sb Peraza Cruz Carlos Enrique Pgina 7
Lenguajes de Programacin Javascript / Ajax El mejor lenguaje la tecnologa cliente disponible con la habilidad de correr cdigo e instalado en la mayora de los browser es JavaScript. Aunque el uso del lenguaje estaba relativamente limitado, cuando combinamos con el uso de capas en las aplicaciones Web y el uso de otros desarrollos en DHTML comenz a ser una alternativa cada vez ms frecuente para la construccin de aplicaciones ricas en Internet en en DHTML comenz a ser una alternativa cada vez mas frecuente para laconstruc cin de aplicaciones ricas en Internet. Adobe Air Es una tecnologa que aprovecha las mismas tecnologas que se usan en la red (HTML, AJAX, Flash, Flex,..) para desarrollar aplicaciones para el escritorio. Entre las principales caractersticas podemos destacar que es multiplataforma, una misma aplicacin servir tanto para Windows como para Mac OS X y aunque un poco ms tarde tambin para Linux. Se basar en Webkit, el motor de renderizado con el que funcionan navegadores como Konqueror y Safari, adems de en las otras tecnologas de Adobe Flash y Flex, pero no se queda solo en eso sino que ofrecer una serie de APIs para facilitar el desarrollo de aplicaciones para el escritorio (se estima que a principios de2008 se lance la primera versin final). Entre ellas encontramos la posibilidad de acceder a ficheros locales, una base de datos.
Microsoft Silverlight Microsoft ha presentado Silverlight 1.0, en sus versiones para Windows y para Mac, y pronto estar disponible para Linux con el nombre de MoonLigth. Es otra de las tecnologas que quiere apostar por una experiencia ms interactiva en Internet. Es un conjunto de tecnologas multiplataforma que permite trabajar con animaciones, grficos vectoriales y vdeo, as como la carga de datos desde el escritorio del usuario. Una de las caractersticas ms destacadas es Instituto Tecnolgico de Mrida
Aplicaciones Ricas en Internet 8sb Peraza Cruz Carlos Enrique Pgina 8
que permite mostrar vdeo en alta calidad. Microsoft Silverlight utiliza la tecnologa WPE que permite la creacin de experiencias interactivas, ricas y visualmente sorprendentes que se pueden ejecutar en cualquier lugar. WPE puede interactuar con la tecnologa XAML mediante JavaScript. Appcelerator Appcelerator es una plataforma open source para le desarrollo de aplicaciones ricas en Internet, utiliza un servicio orientado a la arquitectura y estndares tales como HTML, CSS y JavaScript. Las aplicaciones Appcelerator pueden ser integradas automticamente en diferentes capas de servicios desarrolladas con Java, PHP, Python, .NET y Perl.
Estndares RIA Usando HTML/XHTML, nuevos lenguajes basado, inspirados en estos podran ser usados en aplicaciones Ricas en Internet. Por ejemplo, La Fundacin Mozilla desarrollo un lenguaje de etiquetas deinterfaz de usuario basado en XML, que podra ser usada en aplicaciones ricas en Internet pero estara restringido para navegadores Mozilla, lo que hace que no sea un lenguaje estndar, lo que hace que nos salgamos de nuestra idea original. La Actividad de Rich Web Clients ha iniciado un grupo de Trabajo para el estudio de Formatos Web cuya misin incluye el desarrollo de estndares para la tecnologa.
Instituto Tecnolgico de Mrida
Aplicaciones Ricas en Internet 8sb Peraza Cruz Carlos Enrique Pgina 9