Documentos de Académico
Documentos de Profesional
Documentos de Cultura
5 de noviembre de 2008
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura SW Ejemplos de Aplicaciones Web Tecnolog as SW Arquitectura HW
c 2008 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este trabajo se distribuye bajo la licencia Creative Commons Attribution Share-Alike disponible en http://creativecommons.org/licenses/by-sa/2.1/es
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura SW Ejemplos de Aplicaciones Web Tecnolog as SW Arquitectura HW
Datos: art culos, usuarios (presentes en casi todas las aplicaciones) y permisos sobre el web (LDAP, base de datos, etc.) L ogica de la Aplicaci on web: mecanismos para subir y editar informaci on en la Web, gesti on de estad sticas, gesti on de publicidad Nivel de Presentaci on: Maquetaci on autom atica usando plantillas Flujo de interacci on, presentaci on: ver www.elpais.es, www.elmundo.es
Foro de noticias
Muy similar al peri odico electr onico, pero a nadiendo como datos de la aplicaci on los comentarios de los usuarios Base de datos m as y m as compleja: comunidades, certicaciones de conanza, modicaci on de art culos y comentarios, etc. L ogica de la aplicaci on: mecanismos para puntuaci on y selecci on de noticias, m odulo de correo electr onico para enviar res umenes y recomendaciones, m odulo de paso a PDF para impresi on y/o conversi on en documentos, buscador (y buscador personalizado) Nivel de Presentaci on: m odulos XML para servir titulares Flujo de interacci on, presentaci on: ver slashdot.org, meneame.net, barrapunto.com
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura SW Ejemplos de Aplicaciones Web Tecnolog as SW Arquitectura HW Arquitectura de Aplicaciones Web
Datos: base de datos con productos, cuentas de clientes, proveedores, etc. L ogica de la aplicaci on: seguridad para gesti on de datos de facturaci on, integraci on con el sistema de correo electr onico (gesti on de incidencias), m odulo de acceso a entidades nancieras (gesti on de cobros), comentarios y cr ticas de clientes, recomendaci on autom atica de art culos, estad sticas, programas de aliados, etc. Presentaci on: formularios y plantillas para acceso al sitio Flujo de interacci on, presentaci on: ver www.amazon.com, optize.es
Aula virtual
Datos administrativos (listados, horarios, tutor as, etc.) Datos: Streaming de clases grabadas L ogica de la aplicaci on: documentos en l nea (subida, edici on, organizaci on), incluyendo apuntes de alumnos, foros de interacci on, chats, integraci on con correo electr onico, encuestas, ex amenes y pruebas en l nea, gesti on de pr acticas (entrega, correcci on semiautom atica, etc.) Flujo de interacci on, presentaci on: ver gsyc.es/moodle
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura SW Ejemplos de Aplicaciones Web Tecnolog as SW Arquitectura HW
Campus virtual
A nade al aula virtual la siguiente l ogica de aplicaci on: Matriculaci on y gesti on de datos administrativos Gesti on de informaci on de proyectos Servicios de comunicaci on: correo electr onico, foros, documentaci on, etc. Relaci on con el campus f sico (localizaci on, control de acceso, etc.) Biblioteca virtual Gesti on de compras y de inventario Obtenci on de informes de estado y estad sticos Flujo de interacci on, presentaci on: ver www.campusvirtual.urjc.es
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura de Aplicaciones Web
Sitio de fotos
Datos: fotos L ogica de la aplicaci on: mecanismos para retocar las fotos, clasicar las fotos en albumes, buscar fotos, etiquetar las fotos con descripciones para facilitar la b usqueda, a nadir comentarios a las fotos, realizar pase autom atico de fotos, mandar a imprimir (con gesti on de cobro) Flujo de interacci on, presentaci on: ver www.ickr.com, picasaweb.google.es
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura SW Ejemplos de Aplicaciones Web Tecnolog as SW Arquitectura HW
Red social
Similar a foro de noticias + sitio de fotos L ogica de la aplicaci on: mecanismos para gesti on del grafo social: X se hace amigo de Y, Z pertenece al grupo de inter es G, informe de actividades de un usuario a los miembros de su grafo social Flujo de interacci on, presentaci on: ver www.facebook.com, www.tuenti.com
Datos: los usuarios a naden datos geolocalizados: fotos, rese nas de lugares, ... L ogica de la aplicaci on: b usqueda de direcciones, lugares en funci on de la localizaci on del usuario (WIFI, GPS, GSM, manualmente) Interconexi on con Red Social: chatear con amigos que est en cerca de m Flujo de interacci on, presentaci on: ver maps.google.com, maps.yahoo.com, rummble.com, www.life360.com
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura SW Ejemplos de Aplicaciones Web Tecnolog as SW Arquitectura HW
Otros ejemplos
Reservas e informaci on tur stica Agencia de bolsa Sitio de alojamiento de listas y p aginas personales Buscador de Internet ...
Tecnolog as SW
En el cliente: En el cliente s olo cabe elegir entre un navegador web u otro (Firefox, MS Internet Explorer, Opera,...) La elecci on delimita el conjunto de tecnolog as SW disponibles: CSS, XHTML, HTML, DOM, JavaScript, AJAX, Flash,... En el servidor: En el servidor hay m as grados de libertad en cuanto a las tecnolog as a utilizar:
Servidor Web (CGI, FastCGI, Servlets, SSI) Tecnolog as de scripting en el lado del servidor Base de datos Frameworks
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura SW Ejemplos de Aplicaciones Web Tecnolog as SW Arquitectura HW Arquitectura de Aplicaciones Web
Servidor Web
Dos servidores principales: Apache HTTP Server de la Apache Software Foundation, Internet Information Services (IIS) de Microsoft FastCGI: con CGI hay que arrancar el programa auxiliar cada vez que llega una nueva petici on al servidor Web. Con FastCGI se deja arrancado el programa auxiliar, que crea un thread para cada nueva petici on M odulos de Apache compilados: usar CGI o FastCGI para arrancar scripts implica arrancar el int erprete. Los m odulos de Apache permiten integrar el c odigo del int erprete con el c odigo del servidor Web, acelerando la ejecuci on de programas auxiliares en scripts
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura de Aplicaciones Web
Servidor Web
Servlets: tecnolog a Java para generaci on de contenido din amico. Los servlets se integran en un contenedor web que interact ua con el servidor Web.
Los Java Servlets son clases Java que corren en el servidor, devolviendo c odigo HTML al servidor. Contenedores: Java System Application Server, Apache Tomcat, IBM WebSphere, Oracle Application Server, Apple WebObjects
Base de datos
Normalmente se utilizan RDBMS (bases de datos relacionales), aunque hay otros modelos de BD (p.ej. orientadas a objetos, usada en Zope) Oracle Microsoft SQL Server IBM DB2 Open Source: MySQL, PostgreSQL
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura SW Ejemplos de Aplicaciones Web Tecnolog as SW Arquitectura HW
Frameworks
Facilitan la programaci on de Aplicaciones Web, simplicando la interfaz con la BD, la gesti on de formularios, sesiones, Ajax, ... permitiendo al programador centrarse en los aspectos de la l ogica de la Aplicaci on Web .NET framework Ruby on Rails Java: Struts, Spring, Tapestry,... Python: Django, Zope PHP: CakePHP, Zoop, Zend,
Arquitectura LAMP
LAMP: Linux, Apache, MySQL, Perl (PHP, Python, Ruby,...) Acr onimo utilizado para referirse a un conjunto de tecnolog as com unmente utilizadas en muchos sitios Web de exito (en el propio Google) Alternativa del mundo del software libre a las plataformas de Microsoft (ASP) y Sun (Java)
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura SW Ejemplos de Aplicaciones Web Tecnolog as SW Arquitectura HW
Arquitectura HW
Conjunto de m aquinas, con sus componentes HW y software de sistemas (SO, BD,...) Se necesitan varios tipos de m aquinas, cada una de ellas corriendo diferente sw de sistemas Para comenzar se puede utilizar HW est andar (PCs con GNU/Linux p.ej.) Sitios como Google llevan esta soluci on al extremo: cientos de miles de PCs est andar con GNU/Linux En cuanto al SW de sistemas, cualquier distribuci on de GNU/Linux est andar, sin conguraci on especial, vale para arrancar. Luego se puede ir congurando ajustando par ametros del kernel, de la instalaci on de MySQL,... Al nal de un proyecto para desarrollar una aplicaci on Web el coste del desarrollo del SW es grande, pero al principio hay una inversi on importante: el HW
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura de Aplicaciones Web
Internet
N2
Router/ Cortafuegos Router/ Cortafuegos
Equilibrado de carga
Equilibrado de carga
N3
Servidor HTTP Servidor HTTP Servidor HTTP
N4
Servidor de Aplicaciones
Servidor de Aplicaciones
Servidor de Aplicaciones
N5
Base de Datos
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura SW Ejemplos de Aplicaciones Web Tecnolog as SW Arquitectura HW
En casa: Soluci on para muy peque nas (PC a trav es de ADSL) o muy grandes instalaciones. Ej. de gran instalaci on: Google (cientos de miles de m aquinas).
Edicio, operadores para monitorizar, conexiones redundantes a la red el ectrica, servicios de alimentaci on ininterrumpida, sistemas antiincendios, contratos con varios proveedores de Internet,...
Departamento de Sistemas Telem aticos y Computaci on (GSyC) Arquitectura SW Ejemplos de Aplicaciones Web Tecnolog as SW Arquitectura HW
Referencias:
Cap tulo 2 (Web Application Architecture) Building Scalable Web Sites. Cal Henderson. OReilly 2006.
http://proquest.safaribooksonline.com/0596102356
Arquitectura HW de Wikipedia.
http://meta.wikimedia.org/wiki/Wikimedia servers