Arquitectura Web

18

Click here to load reader

Transcript of Arquitectura Web

Page 1: Arquitectura Web

Universidad Mariano GálvezIng. En Sistemas.Programación AvanzadaIng. Josué Florián.

Arquitectura Web

Integrantes:

Carlos Alberto Ortiz Jarquín 1290-08-10824Christian Elias Marin Zamora 1290-08-13849

Maximo Aroldo García Zamora Carné: 1290-08-8542

La Antigua Guatemala, 22 de Octubre de 2009.

Page 2: Arquitectura Web

Introducción:

La arquitectura Web, es la disciplina encargada de estructurar, organizar y etiquetar el contenido como también establecer los puntos de acceso, sistemas de búsqueda y recuperación de información de cualquier aplicación soportada en la Web, con el fin de que el usuario cumpla con los objetivos y su experiencia sea optima. De la misma forma en que los arquitectos tradicionales diseñan y coordinan la construcción de edificios, los arquitectos Web diseñan y coordinan el desarrollo de sitios Web.

La navegación en el Web se realiza por medio de un software llamado Browser o Explorador. En la WWW los elementos, referidos como recursos, estan identificados por identificadores Uniformes de Recurso –(Uniform Resource Identifiers (URI)). Además de esto se necesita de servidores Web, los cuales básicamente sirven contenido estático a un navegador, carga un archivo y lo sirve a través de la red al navegador de un usuario

Para tener un conocimiento más amplio sobre lo que es la Arquitectura Web, en esta investigación se tratan los temas que forman parte de ella, como por ejemplo, tecnologías, seguridad, servidores Web, etc., así como también se muestran algunos diagramas que ayuden a comprender el concepto y funcionamiento de esta arquitectura.

Page 3: Arquitectura Web

Objetivos:

General:

Comprender el concepto de arquitectura Web, así como su funcionamiento.

Específicos:

Conocer las principales características de la Arquitectura Web.

Tener conocimiento de los elementos que forman parte de esta arquitectura.

Comprender el funcionamiento de la Arquitectura Web.

Distinguir las diferencias entre las Tecnologías Web de Clientes y Servidores

Page 4: Arquitectura Web

Arquitectura Web

La arquitectura Web, es la disciplina encargada de estructurar, organizar y etiquetar el contenido como también establecer los puntos de acceso, sistemas de búsqueda y recuperación de información de cualquier aplicación soportada en la Web, con el fin de que el usuario cumpla con los objetivos y su experiencia sea optima.

En la gráfica anterior se utiliza Internet como sistema de interconexión en lugar de usar conexiones Privadas y de Acceso Remoto

Es en este contexto donde la aplicación de tecnologías Web y la utilización de un navegador estándar como cliente universal plantean una alternativa asequible y con gran futuro.

Tecnologías WebUna vez resuelta la interconexión, la implantación de una arquitectura Web se puede dividir en dos, el Cliente y los Servidores. El esquema de abajo se muestran las distintas tecnologías (protocolos, lenguajes y aplicaciones) tanto de la parte cliente como del servidor.

Page 5: Arquitectura Web

SeguridadLas conexiones realizadas vía Internet no se pueden considerar seguras, la transmisión de información sensible se puede proteger mediante la creación de túneles cifrados, o mediante el uso de páginas Web encriptadas.

Protocolos de tunelizadoEstos protocolos actuan en los niveles de enlace y red, ofrecen un transporte seguro mediante el encapsulado de las tramas IP en tramas codificadas utilizando IPSec.Los protocolos PPTP y L2TP permiten el encapsulado de otros protocolos distintos de IP (IPX, NetBeui.).

PPTP (Point to Point Tunneling Protocol) Extensión del protocolo PPP No ofrece seguridad en los datos LAN - LAN y RAS - LAN L2TP (Layer 2 Tunneling Protocol) Extensión del protocolo PPTP y L2F LAN - LAN y RAS - LAN Ofrece seguridad apoyándose en IPSec IPSec (IP Security) Protocolo de seguridad a Nivel 3 Autentificación y Control de Acceso Datos Encriptados

Páginas segurasLa protección de la información se realiza entre el cliente Web y un servidor seguro.

SSL (Secure Sockets Layer) Conexión segura a nivel de socket Transparente al Usuario y la Aplicación SET (Secure Electronic Transarions) Propuesto por VISA y MasterCard Certificado Emitido por el Banco Certificado de Consumidor en cliente

Factor HumanoLa implantación de un sistema basado en herramientas web, tiene implicaciones directas sobre sus usuarios, por un lado están los aspectos positivos como:

Tecnología de Fácil Aprendizaje Mayor Acceso a la Información Contenidos Multimedia Mayores Posibilidades de Formación Aplicable al Tiempo de Ocio

Así mismo la implantación de Clientes Ligeros para el acceso a las aplicaciones corporativas vía web, puede producir un rechazo por la pérdida de control del usuario sobre su herramienta de trabajo habitual, su PC. Los posibles efectos negativos pueden ser:

Erosión de la confianza Deseo de control del ordenador de romper las reglas de seguridad Posible Rechazo a las aplicaciones.

ESTRUCTURA DE LA WEB

Page 6: Arquitectura Web

La WORLD WIDE WEB (Telaraña Mundial),WWW o también conocido como Web, por medio de Internet permite el acceso a todo un mundo de información.La navegación en el Web se realiza por medio de un software llamado Browser o Explorador. En la WWW los elementos, referidos como recursos, estan identificados por identificadores Uniformes de Recurso - (Uniform Resource Identifiers (URI)).

Básicamente lo que hace el navegar Web es:1. El navegador reconoce que se trata de un URL al momento de escribirlo.2. Recupera la información mediante el esquema URI "http".3. La autoridad responsable presenta la información en respuesta a la solicitudde recuperación.4. El navegador interpreta la respuesta y realiza acciones de recuperación.

BASES ARQUITECTURALES DE LA WEB:

1) IDENTIFICACIÓN: Los URIs identifican a los recursos.Un objetivo de la Web, es construir una comunidad global en la cual pueda compartir información y para conseguir este objetivo, laWeb hace uso de un único sistema global de identificación: el URI.

URI y URLLos URLs (Uniform Resource Locator) son identificadores que permiten acceder a recursos (páginas) web. Aunque se acostumbra llamar URLs a todas las direcciones Web, URI es un identificador más completo y por eso es recomendado su uso en lugar de la expresión URL.

Un URI (Uniform Resource Identifier) se diferencia de un URL en que permite incluir en la dirección una subdirección, determinada por el “fragmento”.

Estructura de un URI:

ESQUEMA : PARTE JERARQUICA ? SOLICITUD # FRAGMENTO

Ejemplo:http : //www.hispamedios.com/ ? pagina=2 # inicio

El Identificador Uniforme de Recurso (Uniform Resource Identifier), es utilizado desde la creación de la Web. Existen beneficios que incluyen la vinculación, utilización como marcador (o bookmark), cacheo, e indexación por los motores de búsqueda, y existen costos substanciales para la creación de un nuevo sistema de identificación que tiene las mismas propiedades que los URIs.

2) INTERACCIÓN: Los agentes Web utilizan protocolos para comunicarse mediante el intercambio de mensajes. Al introducir un URI o seleccionando un enlace de hipertexto, el navegador envía una petición al servidor, a través del puerto 80 TCP/IP, y el servidor devuelve un mensaje que contiene lo que él determina que es una representación del recurso (Respuesta a lo solicitado).

Page 7: Arquitectura Web

3) FORMATOS: La elección del protocolo de interacción pone límites a los formatos de representación de la información y metainformación que puede transmitirse.

El llegar a un acuerdo en la interpretación correcta de los datos de la representación es una de las especificaciones del formato de datos. Para que un formato de datos sea interoperable entre dos partes, es necesario que ambas partes contengan una misma sintaxis y semántica. El primer formato de datos usado en el Web era HTML.

3.1 Tipos de formatosEn los formatos de datos binarios, los datos son codificados para el usodirecto por los procesadores de la computadora. Son consumidos más rápidamente por los agentes cuando son cargados en memoria.En los formatos de datos textuales, los datos se especifican en una codificacióncomo una secuencia de caracteres, tienen la ventaja que pueden ser leídos directamente por los seres humanos.

HTTPEl protocolo de transferencia de hipertexto ( HyperText Transfer Protocol) es el usado en cada transacción de laWeb. El hipertexto es el contenido de las páginas web.

Propiedades de HTTP :Direccionamiento: Utiliza el Universal Resource Identifier (URI) para localizar sitios.

Cliente-Servidor: Trabaja en base a solicitud/respuesta. La comunicación se realiza sobre TCP/IP. El puerto por defecto es el 80.

Es un protocolo sin conexión y sin estado: Después de que el servidor harespondido la petición del cliente, se rompe la conexión entre ambos.

Está abierto a nuevos tipos de datos: HTTP utiliza tipos MIME (MultipartInternet Mail Extensión) para determinar el tipo de los datos que transporta.

HIPERTEXTOEl hipertexto maneja información, en el cual los datos se almacenan en una red de nodos conectados por enlaces.En un libro, la lectura se realiza en forma secuencial desde el principio hasta el final, la ventaja con el hipertexto es que la lectura puede realizarse en forma no secuencial, de esta manera los usuarios podrán buscar información y ver los contenidos en el orden que ellos deseen o simplemente por tema de interés.

ESPECIFICACIONES ORTOGONALLa identificación, la interacción, y la representación son conceptos ortogonal, esto quiere decir que pueden desarrollarse independientemente:Los recursos se identifican con URIs. Un URI puede ser publicado sin ninguna representación del recurso.Una sintaxis de URI permite que los agentes funcionen sin saber los esquemas de URI.Cuando dos especificaciones son ortogonal, una puede cambiar sin necesitar cambios al otro incluso si se tiene dependencias. Por ejemplo, aunque la especificación del HTTP depende de la especificación de URI, los dos pueden trabajar de forma independiente.

Page 8: Arquitectura Web

ARQUITECTURA EN LA WEBLos arquitectos Web diseñan los sitios Web. Los sitios Web deben estar integrados por Bases de datos, servidores, redes, componentes de backup y seguridad, etc. para obtener como resultado final un sitio que resuelva las necesidades de las personas.En el desarrollo Web se requieren de conocimientos de lenguajes programación y estructura de bases de datos, el protocolo TCP/IP, el lenguaje HTML y muchos otros.

Ventajas de la WebLa utilización de una arquitectura Web permite dar acceso sencillo y controlado a los datos y servicios de las empresas, tanto para empleados como para los clientes y proveedores. Algunas ventajas son:

Aplicaciones distribuidas. Compartición de BB.DD. Acceso Universal a la Información. Teleformación / Teletrabajo. Comercio Electrónico. Atención al Cliente vía Internet. Clientes Ligeros (NC). Mejora la Gestión del Conocimiento. Reducción de Costes. Internacionalización de la Empresa. Es bastante fácil de usar. El Hipertexto en Internet, es un método fácil y simple de encontrar y usar en cualquier

dato que exista. La Web nos permite el acceso a recursos de Internet (un universo de información).

¿Qué es la accesibilidad Web?La Accesibilidad Web permite que personas puedan entender, navegar e interactuarcon la Web.La Web es importante para diferentes aspectos de la vida: educación, empleo, comercio, entretenimiento y muchos otros.

Servidores Web

Un servidor web es un programa que implementa el protocolo HTTP (HyperText Transfer Protocol). Este protocolo pertenece a la capa de aplicación del modelo OSI y está diseñado para transferir lo que llamamos hipertextos, páginas web o páginas HTML (HyperText Markup Language): textos complejos con enlaces, figuras, formularios, botones y objetos incrustados como animaciones o reproductores de música.

Es un programa que se ejecuta continuamente en un ordenador (también se emplea el término para referirse al ordenador que lo ejecuta), manteniéndose a la espera de peticiones por parte de un cliente (un navegador web) y que responde a estas peticiones adecuadamente, mediante una página web que se exhibirá en el navegador o mostrando el respectivo mensaje si se detectó algún error.

Algunos servidores web importantes son:

Page 9: Arquitectura Web

Apache IIS Cherokee

Internet Information Services (IIS)

IIS, es una serie de servicios para los ordenadores que funcionan con Windows. Este servicio convierte a un ordenador en un servidor de Internet o Intranet es decir que en las computadoras que tienen este servicio instalado se pueden publicar páginas web tanto local como remotamente (servidor web).

SERVIDOR HTTP CHEROKEE

Cherokee es un Servidor Web libre, multiplataforma, abierto bajo la licencia GPL. Apunta a ser un servidor Web bastante rápido que también soporta las funcionalidades más comunes de servidor. Está escrito completamente en C, es escalable y puede usarse como un Sistema integrado.

HistoriaEl proyecto Cherokee nació en 2001 de la mano de Álvaro López, un desarrollador de software libre. La motivación del proyecto fue construir un servidor nuevo, algo más nuevo que el Servidor HTTPd NCSA y no tan grande y pesado como el Servidor HTTP Apache, ambos con más de 10 años. Actualmente Cherokee es desarrollado y mantenido por una comunidad libre de desarrolladores.

APACHE

Apache es un servidor Web potente y flexible que funciona en distintas plataformas y entornos, estas hacen que a menudo sean necesarias diferentes características o funcionalidades, o que una misma característica o funcionalidad se realice de diferente manera para obtener una mayor resultado. El diseño modular de Apache permite a los administradores de sitios Web elegir que características se van a incluir en el servidor al seleccionar los módulos que se van a cargar, ya sea al compilar o al ejecutar el servidor.

Servidor Apache.

HISTORIA DE APACHELa historia de Apache se remonta a febrero de 1995, donde empieza el proyecto del grupo Apache, el cual esta basado en el servidor Apache httpd de la aplicación original de NCSA. El

Page 10: Arquitectura Web

desarrollo de esta aplicación original se estancó por algún tiempo tras la marcha de Rob McCool por lo que varios webmaster siguieron creando sus parches para sus servidores web hasta que se contactaron vía email para seguir en conjunto el mantenimiento del servidor web, fue ahí cuando formaron el grupo Apache. Fueron Brian Behlendorf y Cliff Skolnick quienes a través de una lista de correo coordinaron el trabajo y lograron establecer un espacio compartido de libre acceso para los desarrolladores.Aquella primera versión y sus sucesivas evoluciones y mejoras alcanzaron una gran implantación como software de servidor inicialmente solo para sistemas operativos UNIX y fruto de esa evolución es la versión para Windows. Apache es una muestra, al igual que el sistema operativo Linux (un Unix desarrollado inicialmente para PC), de que el trabajo voluntario y cooperativo dentro de Internet es capaz de producir aplicaciones de calidad profesional difíciles de igualar.La licencia Apache es una descendiente de la licencias BSD, no es GPL. Esta licencia te permiten hacer lo que quieras con el código fuente (incluso forks y productos propietarios) siempre que les reconozcas su trabajo.

CARACTERÍSTICAS Y VENTAJAS DEL APACHE Corre en una multitud de Sistemas Operativos. Apache es una tecnología gratuita de código fuente abierto. Apache es un servidor configurable de diseño modular. Apache trabaja con gran cantidad de Perl, PHP y otros lenguajes de script. Apache te permite personalizar la respuesta ante los posibles errores que se puedan dar

en el servidor. Es posible configurar Apache para que ejecute un determinado script cuando ocurra un error en concreto.

Tiene una alta configurabilidad en la creación y gestión de logs. Apache permite la creación de ficheros de log, de este modo puedes tener un mayor control sobre lo que sucede en tu servidor.

APACHE 2.0El Apache Group libero la versión considerada estable del nuevo apache 2.0, se trata de la versión 2.0.35. el cual incorpora muchas mejoras y novedades sobre la versión anterior.Apache es sin duda el mejor servidor de páginas Web del mundo (con aproximadamenteel 60% del total de servidores http de toda Internet).

REQUISITOS PARA INSTALAR EL SERVIDOR WEBAntes de instalar un servidor Web se tienen que ver el soporte físico (hardware) sobre el que correrá el servidor: interfaces de red, sistema de almacenamiento SCSI con soporte RAID, memoria RAM de al menos 256 MB, procesador dependiente de si el contenido del sitio Web es mas bien dinámico o estático, y sobre todo si tiene que acceder a diferentes bases de datos. Y en cuanto al software, el sistema operativo también es importante a la hora de montar un sitio Web, junto con el software servidor de Web. Apache empezó como una serie de parches al servidor de Web desarrollado en el National Center for Supercomputing Application (NCSA) y una vez abandonado el proyecto de NCSA, programadores de todo el mundo encontraron la necesidad de tener un epositorio central donde mantener el código y los parches del nuevo software. Así surgió la Apache Software Foundation.

PHP

Como ya sabemos PHP se trata de un lenguaje para crear aplicaciones para servidores, o creación de contenido dinámico para sitios Web. Incluir PHP en el proyecto es una buena idea ya que este permite la conexión a diferentes tipos de servidores de bases de datos tales como

Page 11: Arquitectura Web

MySQL, Oracle, ODBC, entre otros. Estos son algunos de los principales usos que se le daran al PHP: Programación de páginas Web dinámicas usando bases datos MySQL, incluyendo ODBC, para ampliar las posibilidades de conexión. Programación en consola, al estilo de Perl o Shell scripting. Creación de aplicaciones gráficas independientes del navegador, por medio de PHP y GTK (GIMP Tool Kit).Como ventajas de PHP puedo mencionar que se trata de un lenguaje multiplataforma con la capacidad de conectarse con la mayoría de las bases de datos que se utilizan en la actualidad. Es capas de leer y manipular datos desde diversas fuentes y es libre, lo cual es de fácil acceso para todos.

Es una buena idea pensar en SSL, ya que ofrece servicios de seguridad cifrando los datos intercambiados entre el servidor y cifrando la clave de sesión. Cada vez que se haga una transacción se va a generar una clave de sesión distinta, de tal manera que cuando una transacción es atacada, no habrá problema ya que la siguiente transacción será con una clave distinta. Como ventajas tenemos que el SSL proporciona cifrado de datos, autenticación de servidores, integridad de mensajes y autenticación de cliente para conexiones TCP/IP. El Protocolo SSL Handshake utiliza el Protocolo SSL Record y el puerto abierto para comunicarse de forma segura con el cliente. Durante el protocolo SSL Handshake, el cliente y el servidor intercambian mensajes para negociar las mejoras de seguridad.

Ejemplo de Arquitectura Web

Page 12: Arquitectura Web

CONCLUSIONES

Para el desarrollo Web se requieren de conocimientos de lenguajes programación y estructura de bases de datos, el protocolo TCP/IP, el lenguaje HTML y muchos otros.

Al unir todos los elementos que forman parte de la Arquitectura Web, el resultado final será por ejemplo un sitio que pueda resolver las necesidades de negocios: Vender productos y servicios online y servir mejor a las necesidades de los clientes.

Básicamente, un servidor Web sirve contenido estático a un navegador, carga un archivo y lo sirve a través de la red al navegador de un usuario. Este intercambio es mediado por el navegador y el servidor que hablan el uno con el otro mediante HTTP.

Se pueden utilizar varias tecnologías en el servidor para aumentar su potencia más allá de su capacidad de entregar páginas HTML; éstas incluyen scripts CGI, seguridad SSL y páginas activas del servidor (ASP).

Page 13: Arquitectura Web

e-Grafía

http://cachanilla.itmexicali.edu.mx/~chong/arqweb/index.html

http://cachanilla.itmexicali.edu.mx/~chong/arqweb/Walter_Reyes_Opcion_X_MemoriaRP.pdf

http://oness.sourceforge.net/proyecto/html/ch03.html#N10136

http://oness.sourceforge.net/proyecto/html/ch03s02.html

http://www.htmlquick.com/es/reference/uri-url.html

http://www.masadelante.com/faqs/servidor-web

http://www.webtaller.com/maletin/articulos/arquitectura_web.php