You are on page 1of 6

TE N D E N C I A S

TE N D E N C I A S

Captulo 8 TE N D E N C I A S
FUNDACIN UNIVERSITARIA IBEROAMERICANA

Para dar solucin a esta necesidad se pens en utilizar el poder de procesamiento de varios computadores para resolver un nico problema fragmentando la solucin en mltiples segmentos, esto es lo que se conoce como una granja de computadores o clustering. La siguiente evolucin del clustering es la computacin en rejilla, la idea bsica es utilizar el poder de procesamiento no utilizado de los computadores para resolver problemas masivos en paralelo. De esta forma no es necesario adquirir computadores exclusivamente para crear una granja de cmputo, sino que los recursos pueden salir de dentro de la Intranet de la organizacin o de computadores en internet que estn disponibles. En el funcionamiento normal de una red basada en el esquema de rejilla se mantiene al servidor de control para recibir las peticiones y hacerse cargo de la distribucin de carga. La figura 8.1 permite comprender con mayor facilidad como se relacionan los diferentes componentes.

El desarrollo de la web se ha manejado siempre en base a la investigacin y las necesidades que han aparecido durante su evolucin, dentro de este captulo estudiaremos brevemente algunas de las tendencias con respecto al uso que se le est dando a la web, las herramientas que se estn desarrollando o empleando y ver hacia dnde se pueden enfocar los nuevos esfuerzos en cuanto a desarrollo web respecta. Algunas de estas tendencias se centran en el aprovechamiento de la tecnologa, mientras que otras se enfocan directamente en el impacto social que tiene la web sobre las personas y buscan la forma en la que se puede aprovechar tanto informacin como posibilidades de negocio en base a la web.

8.1. COMPUTACIN EN REJILLA ( GRID COMPUTING )


La computacin en rejilla nace a partir de una necesidad cientfica, normalmente los clculos matemticos requeridos para poder resolver algunas ecuaciones y bsqueda de variables tomaran das, meses y hasta aos en resolverse si lo hiciramos slo con un computador personal, por ello la solucin para este tipo de problemas se realiza con super computadores y mainframes, sin embargo el costo de creacin o de uso de un computador tan potente es inasequible para el promedio de la comunidad cientfica sin haber conseguido primero un patrocinio para su investigacin.
Figura 8.1: Distribucin tpica de un esquema de cmputo en rejilla.

Tal y como en un cluster de alto rendimiento en el cual las tareas son asignadas a un solo computador central que sirve como coordinador de las tareas, en una rejilla se reparten las tareas y son recolectadas luego. Las computadoras son consideradas como recursos no fiables, de forma que si una tarea no ha sido devuelta despus de un tiempo determinado se la re-programa automticamente para que sea resuelta por otro nodo dentro de la rejilla.

TE C N O L O G A

WEB Y WEB ENGINEERING

139

140

TE C N O L O G A

WEB Y WEB ENGINEERING

FUNDACIN UNIVERSITARIA IBEROAMERICANA

TE N D E N C I A S

TE N D E N C I A S

Para funcionar todos los nodos de la rejilla deben tener una interfaz de software por medio de la cual se anuncia su disponibilidad y los recursos con los que cuentan, todo esto es recopilado por el computador que hace las veces de distribuidor para saber cmo y cuando puede repartir las tareas. Si bien el uso original fue exclusivamente para anlisis acadmico, hoy se piensa en la computacin en rejilla para uso corporativo, permitiendo alquilar el poder de cmputo de una red de forma temporal para que quienes necesiten realizar algn procesamiento extenso y que no cuenten con un mainframe o un cluster de computadores lo puedan hacer por un monto inferior al que normalmente representara una solucin tradicional. Desde el punto de vista de la ingeniera web el cmputo en rejilla presenta la oportunidad de mantener una red de alta disponibilidad para servicios que necesitan prestar un servicio a tiempo completo (24/7), de esta manera los usuarios se conectan a nuestros servicios de TI sin la necesidad de saber dnde se almacenan sus aplicaciones y en caso de fallas, siempre existir un nodo que se pueda encargar de responder la solicitud del usuario.
FUNDACIN UNIVERSITARIA IBEROAMERICANA

Figura 8.2:

Representacin de los componentes que interactan en la nube.


FUNDACIN UNIVERSITARIA IBEROAMERICANA

8.2. COMPUTACIN EN LA NUBE ( CLOUD COMPUTING )


El trmino Cloud Computing nace de la representacin grfica tradicional en telecomunicaciones y redes, donde la conexin a Internet se representa con una nube, se refiere al traslado de toda la funcionalidad tradicionalmente existente en las aplicaciones de escritorio al ambiente web, permitiendo con esto la independencia total de un computador especfico, sino que podemos tener acceso a todo nuestro entorno de trabajo desde cualquier lugar del mundo. Esto se refiere ya no slo a la ubicuidad de la informacin, sino que ahora estamos hablando tambin de la ubicuidad de las aplicaciones, se habla inclusive de tener un sistema operativo completo en la nube como integrador de los servicios que empleamos. La figura 8.21 muestra los principales componentes o servicios utilizados en el Cloud Computing.

Hemos hablado anteriormente de esta tendencia, pero qu diferencia a la simple migracin de aplicaciones hacia un entorno web tal y como se plantea con cloud computing . El Cloud Computing no es la negacin del Software como servicio, ni tampoco es la negacin de la computacin en rejilla, ms bien se nutre o se basa en ellos para lograr su funcionamiento. Una de las primeras caractersticas es que las aplicaciones no son copias de sus contrapartes de escritorio, al contrario desde su concepcin son pensadas para funcionar en la red, por lo cual tienen consideraciones de diseo especficas desde consumo de recursos, forma de transmisin y almacenamiento. El impacto en la empresas es claramente visible, no se necesita crecer en infraestructura tecnolgica para poder escalar en los requerimientos de software, todo el procesamiento se mantiene en el servidor de aplicaciones. Se reducen tambin los costos de mantenimiento pues ya no es necesario controlar el uso del software en las terminales, tan slo es necesario proveer el acceso a la red y tener un navegador disponible para poder utilizar cualquiera de las herramientas que estn en la red. Con este esquema se reduce el costo de adquisicin de las aplicaciones, ya que en los modelos de negocio asociados a las aplicaciones en la nube no se piensa en adquirir la el software como tal, sino simplemente pagar por la autorizacin de acceso, tal y como se plantea en los ASP. Con respecto al crecimiento de los negocios basados en Cloud Computing la empresa Gartner en un anlisis publicado en junio de 20082 nos dice:

1. Enlace web: http://infreemation.net/cloud-computing-linear-utility-or-complex-ecosystem/ [Ledo:17 de mayo de 2009].

TE C N O L O G A

WEB Y WEB ENGINEERING

141

142

TE C N O L O G A

WEB Y WEB ENGINEERING

TE N D E N C I A S

TE N D E N C I A S

El impacto de la computacin en la nube sobre los vendedores de TI ser enorme. Los vendedores establecidos tienen gran presencia en el mercado de software tradicional, y como las nuevas aplicaciones de Web 2.0 y los modelos de negocio en la nube evolucionan y se expanden fuera de los mercados de consumidores, una gran parte puede cambiar. Una de las desventajas o preocupaciones importantes es el qu pasa con mi informacin o mi empresa si dependo de este tipo de servicios y en algn momento se corta el servicio. Los cortes de servicio si bien son previsibles y se puede tener medidas alternativas, no son un ciento por ciento inevitables, basta con perder la conectividad a la red para tener un corte de productividad si me baso exclusivamente en aplicaciones en la nube. La mayor pregunta con respecto al Cloud Computing sale del mbito de la seguridad y la privacidad, si lo que se busca es que se deje de utilizar las aplicaciones tradicionales y la informacin sea almacenada 'en la nube': Quin es el dueo de los datos? O quin me asegura lo que se est haciendo con mi informacin sin que yo tenga conocimiento. Si bien existen trminos de uso con clusulas que lo especifican no podemos certificar que se est cumpliendo con ellas. En el caso de las empresas que funcionen como ASPs se les estar entregando informacin delicada con respecto al giro de negocio y en el caso de las personas naturales estaremos brindndoles la ms vasta informacin con respecto a hbitos y formas de uso de los servicios.

Para mejorar experiencia se pens en utilizar algunos componentes que si bien ya estaban disponibles con anterioridad, no haban sido utilizados para actualizar la informacin de una pgina de manera dinmica sin interferir con el funcionamiento normal de la aplicacin y el navegador. Los elementos empleados ya los hemos analizado anteriormente, estos son: XML, HTML, HTTP y Web Services. A esta combinacin se le denomin AJAX (Asynchronous Javascript and XML), que permite la ejecucin asincrnica de cdigo a diferencia del modelo HTML tradicional que requiere seguir un flujo especfico. El esquema es simple en trminos prcticos, se utiliza por un lado Javascript para crear la interaccin con el usuario dentro de la interfaz grfica y hacer las solicitudes al servidor, del otro lado el servidor realiza el procesamiento de la solicitud utilizando el lenguaje de programacin de nuestra preferencia y lo devuelve para que nuevamente nuestra aplicacin a travs de Javascript lo capture y realice una actualizacin en caso de ser necesario. El elemento ms importante y el cual haba sido obviado anteriormente es el uso de XML para realizar la transaccin entre cliente y servidor, todos los navegadores actuales pueden soportar el envo de XML y pueden interpretarlo sin problemas, con esto las solicitudes y la transferencia de informacin es rpida y la cantidad de informacin que se enva es mnima. A travs las figuras 8.3 y 8.4 compararemos la forma de ejecucin del cdigo entre el esquema tradicional y el basado en AJAX.

FUNDACIN UNIVERSITARIA IBEROAMERICANA

8.3. EJECUCIN ASINCRNICA Y PETICIONES XML (AJAX)


Hemos comentado en repetidas ocasiones que la web como la conocemos hoy ha ido mutando si podemos llamarlo de alguna forma en base a las necesidades que han aparecido, una de esas mutaciones es el poder agregar formas de ejecucin que permitan dar una experiencia ms interactiva a los usuarios sin necesidad de cambiar las herramientas ya existentes. Ha existido una constante bsqueda para tratar de llevar la experiencia de una aplicacin de escritorio o tradicional a las aplicaciones web, en donde normalmente necesitamos esperar la respuesta del servidor para lograr ver un cambio sobre la aplicacin.
Figura 8.3: Comunicacin estndar con un servidor web.

2. Enlace web: http://www.gartner.com/it/page.jsp?id=707508 [Ledo:17 de mayo de 2009].

Al usar el mtodo tradicional debemos recordar que cada respuesta que da el servidor es en forma de una pgina HTML o un documento almacenado en el disco, lo cual es

TE C N O L O G A

WEB Y WEB ENGINEERING

143

144

TE C N O L O G A

WEB Y WEB ENGINEERING

FUNDACIN UNIVERSITARIA IBEROAMERICANA

TE N D E N C I A S

TE N D E N C I A S

identificado por el navegador. Cada vez que realizamos una solicitud teneos un tiempo de espera hasta recibir la respuesta del servidor, tiempo durante el cual el usuario no puede realizar ninguna accin, adems de que en ocasiones eso suele representar una pgina en blanco temporal hasta que se termine la carga de contenido. Veamos ahora cmo funciona la interaccin al momento en el que se cambia al esquema de AJAX, el punto de partida es el mismo, solicitamos al servidor una pgina con contenido HTML con la que debemos interactuar, luego de esto, cada vez que realizamos una interaccin con la pgina, en lugar de enviar la peticin normal y esperar a la respuesta con el cambio de pgina completa, puedo seguir interactuando con la pgina y cada una de las solicitudes es realizada por separado, por ello la idea de que son asncronas con respecto a la peticin anterior. Cuando se realiza la solicitud en base a AJAX se enva un XML utilizando el objeto para manejo de conexiones XmlHttpRequest que contienen los navegadores web. Tambin con este modo de funcionamiento logramos reducir los tiempos de espera entre respuestas del servidor ya que la respuesta que debe devolver es mucho ms pequea y es el cdigo en la aplicacin cliente la que se encarga de aplicar los cambios a la interfaz en caso de ser necesario dependiendo de la respuesta obtenida.

regresar a un estado especfico de la aplicacin al refrescar la pgina, en caso contrario en lugar de mejorar la experiencia de navegacin estaramos alterando la concepcin original de los usuarios sobre la forma de acceder a la informacin en la web. Debemos tambin tener en consideracin el factor accesibilidad, tanto navegadores aureales, navegadores de dispositivos mviles, los robots de exploracin de los buscadores y los navegadores de slo texto no podrn ver las caractersticas desarrolladas en AJAX dentro de nuestro sitio, por lo cual debemos considerar tambin versiones alternativas que permitan recorrer nuestra aplicacin.

8.4. WEB SEMNTICA


La web semntica tiene un tiempo bastante extenso tratando de convertirse en realidad, a partir de la definicin original de la web, realizada en 19893, la visin original del director del W3C, Sir Tim Berners-Lee planteaba a la web como un medio universal para datos, informacin e intercambio de conocimiento. Se hablaba ya de informacin que permitiera conocer la forma en la que se relacionan los contenidos en la web, saber qu es lo que cada uno significa y representa. Sin embargo por limitaciones tecnolgicas no se ha podido volver realidad completamente hasta el da de hoy, aun cuando existen acercamientos bastante efectivos. El concepto de web semntica es simple, incluir el concepto de semntica abstrado de la gramtica que utilizamos normalmente en cualquier lenguaje para comunicarnos, darle sentido lgico a la informacin que recibimos. Los seres humanos somos capaces de recibir esta informacin y entenderla luego de procesarla en nuestro cerebro, mientras que los computadores no pueden, necesitan que nosotros incluyamos nuestro anlisis y procesamiento para poder saber qu significan los fragmentos de informacin. Para poder lograrlo se ha utilizado una mezcla de componentes, partiendo de principios diseo, grupos de trabajo colaborativos y un grupo de tecnologas habilitantes. Algunos de los elementos que forman parte de la web semntica permanecen aun como prototipos o simplemente como enunciados que esperan ser convertidos en realidad a futuro. Algunos de los elementos de la web semntica que ya se encuentran disponibles se manejan como especificaciones formales, uno de los miembros base lo conocemos ya, el XML y los derivados de su propuesta original, con ello podemos crear intercambio de

FUNDACIN UNIVERSITARIA IBEROAMERICANA

Figura 8.4:

Comunicacin al utilizar AJAX.

Es de importancia recordar que no podemos dar nicamente una versin de nuestra aplicacin que funcione enteramente en base a AJAX a menos que la audiencia que estamos pensando abarcar sepa que como restriccin necesita utilizar un navegador actual. Como norma general no debemos destruir el esquema de navegacin tradicional por utilizar esta mezcla de tecnologas, como por ejemplo el desactivar elementos bsicos como la capacidad de emplear el botn de retroceso en el navegador o no poder

3. Enlace web: http://www.w3.org/1999/11/11-WWWProposal/ [Ledo: 30 de mayo de 2009].

TE C N O L O G A

WEB Y WEB ENGINEERING

145

146

TE C N O L O G A

WEB Y WEB ENGINEERING

FUNDACIN UNIVERSITARIA IBEROAMERICANA

TE N D E N C I A S

TE N D E N C I A S

datos y agregar mayor informacin con respecto a lo que representa un documento de lo que el HTML originalmente nos permite. El mayor potencial de la web semntica se encuentra en la posibilidad de realizar consultas en base a lenguaje natural y que las respuestas no sean hechas en base a su contenido, sino en lo que dicho contenido significa, de esta forma podramos preguntar por ejemplo: Si viajo a Bruselas como turista, qu debo saber? Y el computador nos responda con informacin sobre la ciudad, rutas tursticas, hoteles y dems informacin sobre un viaje a esa ciudad. En la figura 8.54 se muestra una consulta realizada a el motor de bsqueda Wolfram Alpha, el cual si bien no es una implementacin de web semntica per se, cuenta con la mayora de los elementos que le dan forma a una consulta semntica. En este ejemplo incluimos el nombre de un actor y nos devuelve datos bsicos sobre l, tal y como la fecha de nacimiento, el nombre real y su edad. En el mismo motor si buscamos por ejemplo el nombre de una ciudad o un pas nos dar toda la informacin que conozca sobre ese lugar, desde mapas geogrficos, datos culturales y poblacionales.
FUNDACIN UNIVERSITARIA IBEROAMERICANA

8.5. APLICACIONES WEB PARA MVILES


Hemos hablado hasta el momento del esquema de comunicacin y transferencia de informacin que se utiliza normalmente en Internet, como se realiza negocios en lnea y comercio electrnico. Cada uno de estos elementos tecnolgicos cada vez van formando parte de lo que vemos a diario en las actividades que realizamos en el da a da, pero hay algo que no debe ser dejado de tomar en cuenta y eso es el uso de dispositivos mviles y la comunicacin inalmbrica. En trminos generales, existen ms telfonos mviles que computadores en el mundo, si slo tomamos como ejemplo la Unin Europea, de acuerdo al estudio EuroStat5, en el ao 2007 el 68% de la poblacin de la UE cuenta con un computador. Por otro lado, de acuerdo al CIA World Factbook6 al ao 2005, 466 millones de personas contaban con un dispositivo mvil, el equivalente al 94% de la poblacin actual (2009). Esto demuestra el impacto del uso de dispositivos mviles a gran escala, teniendo cada vez ms fuerza el uso de dispositivos con caractersticas avanzadas tales como funciones de asistente digital (PDA), posibilidad de navegacin en internet y negocios mviles o m-business. Esto nos presenta una nueva perspectiva para desarrollo web, cada vez hay ms usuarios que acceden a la informacin existente en la web a travs de uno de estos dispositivos, y si bien el nivel tecnolgico de cada uno de ellos ha mejorado con el tiempo, sigue planteando algunos retos, principalmente por restricciones tales como: Memoria limitada. Pantalla pequea. Ancho de banda reducido. Conexiones no confiables y de alta latencia. Estas limitantes plantean adaptarse a esa plataforma manteniendo el nivel de usabilidad, experiencia del usuario y los servicios que se prestan a travs de nuestras aplicaciones. Adicional a esto cada empresa de desarrollo de dispositivos mviles trata de imponer sus estndares sobre la forma en la que se debe realizar la comunicacin e interaccin.

Figura 8.5:

Consulta de con un buscador que incluye informacin semntica.

4. Fuente: Consulta realizada al motor WolframAlpha: Enlace web: http://www.wolframalpha.com/input/?i=chuck+norris [Ledo el 18 de julio de 2009].

5. Enlace web: http://epp.eurostat.ec.europa.eu/cache/ITY_PUBLIC/3-28052009-AP/EN/3-28052009-AP-EN.PDF [Ledo el 10 de junio de 2009]. 6. Enlace web: https://www.cia.gov/library/publications/the-world-factbook/geos/ee.html [Ledo: 22 de marzo 2009].

TE C N O L O G A

WEB Y WEB ENGINEERING

147

148

TE C N O L O G A

WEB Y WEB ENGINEERING

FUNDACIN UNIVERSITARIA IBEROAMERICANA

TE N D E N C I A S

Los mtodos de conexin varan entre dispositivos y tipos de redes disponibles, aun cuando a nivel mundial el mecanismo ms utilizado es a travs de una conexin GPRS, en los pases con infraestructura ms avanzada se cuenta con redes ms rpidas como 3G, 3.5G, CDMA y HDSPA. El mayor reto quiz es el no contar con una base estndar para el desarrollo sobre estas plataformas, o al menos no sin sacrificar usabilidad, pues s nos quedamos simplemente en un sitio mvil funcional, no aprovechamos las capacidades de cada dispositivo. Por ello una prctica comn es la de crear pginas especializadas para los dispositivos mviles ms comunes y una versin general para el resto. Al momento de redaccin de este documento los dispositivos mviles de mayor uso a nivel mundial son el iPhone de Apple y los Blackberry de RIM.

FUNDACIN UNIVERSITARIA IBEROAMERICANA

TE C N O L O G A

WEB Y WEB ENGINEERING

149

You might also like