Page 1

Tecnologías Claves de Internet Lámina 1

Tecnologías Claves de Internet  La infraestructura de Internet es proporcionada fundamentalmente por tres tecnologías:  La conmutación de paquetes  El protocolo TCP/IP  La arquitectura cliente/servidor

Lámina 2

Conmutación de Paqutes  Consiste en dividir un mensaje en trozos

denominados “paquetes”, enviar éstos por diferentes caminos y ensamblarlos una vez que lleguen a su destino para recomponer el mensaje original.  Surge como respuesta a las redes de conmutación de circuitos, como la telefónica  El primer libro sobre esta tecnología data de 1964


Lámina 3

Conmutación de Paquetes  Los mensajes se dividen en paquetes  A cada paquete se le añaden la dirección de origen y destino, el número de secuencia, información de control de errores…  En vez de enviarse directamente a la dirección de destino, los paquetes viajan de una máquina a otra hasta alcanzar su destino  Estas máquinas se denominan routers  Ordenadores que interconectan las diferentes subredes y que son capaces de encaminar los paquetes de una a otra  Para asegurar que siguen la mejor ruta disponible, utilizan programas llamados algoritmos de encaminamiento (“routing algorithms”)

Lámina 4

Ventajas de la Conmutación de Paquetes  Al no tener un circuito dedicado, puede hacer uso en cada momento de cualquiera de las rutas disponibles  Hace uso de casi la totalidad del ancho de banda disponible 

“Casi la totalidad” porque es necesario incluir información de control, que no formaría parte del mensaje en sí a transmitir

 Si algunas líneas estuvieran caídas o demasiado

ocupadas, los paquetes se envían por otra de las disponibles


Lámina 5

Protocolo TCP/IP Si bien la conmutación de paquetes supuso un gran avance en la capacidad de las redes de comunicaciones, era necesario implementar el modo de llevarla a cabo  Eso es de lo que se encargan los protocolos TCP/IP  

Transmission Control Protocol (TCP) Internet Protocol (IP)

 Un protocolo es un conjunto de reglas para formatear,

ordenar y comprimir mensajes, comprobar errores, etc. 

Pueden ser implementados por hardware o por software

Lámina 6

Capas del Protocolo TCP/IP La familia de protocolos TCP/IP se divide en cuatro capas:  La capa de red es la de más bajo nivel  Representa el medio físico encargado de enviar en última instancia

los 0 y 1 que componen cada mensaje  Diversas tecnologías: Ethernet, ATM…

 La capa de Internet es donde se sitúa el protocolo IP  Esquema de direcciones, encaminamiento de los mensajes…

 En la capa de transporte está TCP  Envía acuses de recibo, reagrupa el mensaje en destino, vuelve

a mandar los paquetes perdidos o defectuosos…  Por último, en la capa de aplicación están los programas que

hacen uso de los servicios proporcionados por las capas inferiores  HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol)…


Lámina 7

Arquitectura TCP/IP

Lámina 8

Nombres de dominio y URL  Para no tener que recordar direcciones IP tal cual, éstas pueden ser representadas mediante nombres de dominio (por ejemplo, www.gestorinc.com)  El sistema de nombres de domino (DNS) permite que éstas se resuelvan a direcciones IP  Ejemplo: ping www.gestorinc.com  Los URL (Uniform Resource Locator) son las direcciones que escribimos en el navegador  Como http://www.euitio.uniovi.es/


Lámina 9

Diferencia entre Internet y Web  Internet: millones de ordenadores conectados  Un conjunto de redes heterogéneas conectadas entre sí mediante el protocolo TCP/IP  El Web es una vasta colección de documentos en Internet que están enlazados a través de los hiperenlaces  Los hiperenlaces permiten a los usuarios acceder a documentos situados en otros servidores Web, sin preocuparse de su ubicación

Lámina 10

Diferencia entre Internet y Web  Internet permite a cualquier ordenador del mundo compartir datos con otro ordenador remoto  Un programa cliente en un ordenador accede a un programa servidor en otro ordenador remoto  El Web es el sistema de hipertexto que funciona sobre Internet como uno de sus servicios  En este caso, el programa cliente es nuestro navegador, y el servidor el programa que hace de servidor Web que está ejecutándose en el ordenador remoto y que se encarga de entregar el documento solicitado a nuestro navegador


Lámina 11

Nacimiento del World Wide Web  En 1989, Tim Berners-Lee, en el laboratorio europeo de partículas (CERN), en Suiza, crea un lenguaje de etiquetas para representar y enlazar documentos  HTML : HyperText Markup Language  Berners-Lee creó las versiones iniciales de:  HTML, HTTP, un servidor Web y un navegador  Los cuatro componentes esenciales del Web

Lámina 12

Visión general del Web www.google.com index.html

Internet El usuario teclea http://www.gestorinc.com en su navegador

enlace


Lámina 13

Protocolo  Un protocolo define el modo en que se comunican dos ordenadores para llevar a cabo alguna tarea  Protocolo del Web:  HTTP (HyperText Transfer Protocol)  Especifica cómo tiene lugar el diálogo entre el navegador y el servidor para conseguir el fichero especificado  No se ocupa del transporte en sí: TCP  Cada vez que tecleamos una dirección o pulsamos un enlace el navegador se comunica vía HTTP con el servidor Web indicado

Lámina 14

HTTP  HTTP (HyperText Transform Protocol) es el protocolo usado para transferir páginas Web  Es el modo en que un navegador se comunica con un servidor Web (Apache, Internet Information Server…)  Es un protocolo sin estado  La sesión termina en cuanto se devuelve el objeto solicitado  Si una página contiene otros objetos (imágenes, frames, etc.) cada uno de ellos inicia una nueva petición HTTP  Por omisión, una petición HTTP se dirige al puerto 80  Por eso casi nunca la especificamos


Lámina 15

HTTP  Protocolo a nivel de la capa de Aplicación  Al igual que SMTP, es un protocolo ASCII, que usa MIME para transferir información no ASCII  Tipos de peticiones  GET, POST, PUT, DELETE, TRACE, OPTIONS, HEAD  Las dos tipos de peticiones más relevantes en aplicaciones web son GET y POST, se diferencian por la forma en que se envían sus parámetros.

Lámina 16

HTTP - GET  Parámetros en peticiones GET  URL?par1=val1&par2=val2 ... &parN=valN  Ejemplo en una página HTML ... <a href=“/forecast?city=uio&state=PICH”>Temperatura en QUITO</a> ...  Al hacer clic en el enlace anterior, se le enviaría una petición  GET /forecast?city=uio&state=PICH al servidor web del que

nos hemos bajado la página.  Si un parámetro par=val aparece más de una vez, el

parámetro correspondiente es multivaluado (su valor es un arreglo de valores)


Lámina 17

HTTP - POST  Suelen usarse para enviar los datos de un formulario HTML  Los datos se envían como parámetros, pero éstos no forman

parte de la URL , sino que se envían como parte del cuerpo del mensaje.  El cliente (navegador) codifica automáticamente los valores de los parámetros y los envía al servidor.  Ejemplo en un formulario HTML ... <form action=“/forecast” method=“POST”> City: <input type=“text” name=“city”> State: <input type=“text” name=“state”> <p> <input type=“submit”> </form>


Lámina 18

HTML  Es el lenguaje de creación de páginas Web  Al menos, de las páginas “estáticas”  Era imprescindible que la misma información se pudiese ver en diferentes plataformas  Por tanto, Berners-Lee diseñó un lenguaje de estructuración de documentos, no de presentación (ésta se dejaba al programa cliente)  Es además un lenguaje informático, para ser procesado por ordenadores; pero no es un lenguaje de programación

Lámina 19

HTML, lenguaje de hipertexto  Por hipertexto designamos al texto al que se le añade una propiedad: determinadas porciones de texto pueden ser enlazadas a otros documentos  De ahí surge el concepto de navegación: surcamos el Web yendo de unos enlaces a otros  El hipertexto debe ser utilizado en los sitios web para facilitar al usuario la labor de búsqueda de la información


Lámina 20

Especificación de HTML  La especificación del lenguaje HTML y de la mayoría de tecnologías relacionadas con el Web está definida por el World Wide Web Consortium (W3C)  www.w3c.org  Nota: Ahora, HTML ha dado lugar a una variación del mismo denominada XHTML


Páginas Estáticas y Dinámicas Lámina 1

Servidor Web  Un programa que atiende las peticiones HTTP llegadas a un puerto determinado de la máquina  También se denomina así, por extensión, a la máquina que cuenta con uno de tales programas  Ejemplos de servidores Web:  Apache 

Apache HTTP Server Project 

http://httpd.apache.org/

 Internet Information Server (IIS)

Lámina 2

Páginas Estáticas  Al principio, el Web estaba poblado únicamente por

páginas estáticas  El servidor Web simplemente localizaba el documento

solicitado en el URL y se lo entregaba al cliente

 Este enfoque puede ser perfectamente válido para muchos

sitios  Siempre y cuando no requieran actualizaciones continuas, ya

que hay que eso implica o bien modificar, a mano, las páginas existentes, o bien crear una nueva

 Pero no permitiría, por ejemplo, crear un sitio de comercio

electrónico donde se pueda comprar, o el de un banco  Es necesario acceder a datos en el servidor y crear una página

a petición


Lámina 3

Páginas Dinámicas  El esquema de funcionamiento de las páginas dinámicas es siempre similar independientemente de en qué se hayan desarrollado éstas  CGI, ASP, Servlets/JSP…  El servidor Web detecta una petición de una página dinámica y se la pasa al programa necesario  Podría ser una extensión del servidor  O bien un programa completamente independiente  Éste programa es quien sabe cómo interpretar el código de la página para devolver el HTML apropiado


Sitio Web y Aplicación Web Lámina 1

Sitio Web y Aplicación Web  “Una aplicación Web es un sitio Web donde la navegación a través del sitio, y la entrada de datos por parte de un usuario, afectan el estado de la lógica del negocio. En esencia, una aplicación Web usa un sitio Web como entrada (front-end) a una aplicación típica.

Si no existe lógica del negocio en el servidor, el sistema no puede ser llamado aplicación Web.” [Conallen 99]

Lámina 2

Arquitectura de un Sitio Web  La arquitectura de un sitio Web tiene tres componentes

principales: un servidor Web, una conexión de red, y uno o más clientes (browsers).  El servidor Web distribuye páginas de información formateada a los clientes que las solicitan. Los requerimientos son hechos a través de una conexión de red, y para ello se usa el protocolo HTTP.


Lámina 3

Arquitectura de Aplicaciones Web  La información mostrada en las páginas está típicamente almacenada en archivos. Sin embargo, muchas veces esta información está almacenada en una base de datos, y las páginas son creadas dinámicamente. Los sitios Web que usan este esquema, son llamados sitios dinámicos.


Servidor de Aplicaciones Lámina 1

Servidor de Aplicaciones  Es un programa que provee la infraestructura necesaria para las aplicaciones Web empresariales  Los programadores se dedican en exclusiva a implementar la lógica del negocio, ya que servicios de uso común, como transacciones, seguridad, persistencia, etc. ya son proporcionados.  Es una capa intermedia (middleware) que se sitúa entre el servidor Web y las aplicaciones o bases de datos subyacentes

Lámina 2

Servicios Proporcionados  Creación y gestión de los componentes del servidor  Por aquel entonces, basados en CORBA o COM  Clustering  Equilibrado de carga  Transacciones  Seguridad  Acceso a datos


Lámina 3

Equilibrado de Carga  Los servidores de aplicaciones proporcionan mecanismos de equilibrado de carga  Por equilibrado de carga (load balancing) se entiende la capacidad de repartir el procesamiento entre distintos servidores  Las peticiones de los clientes se redirigen a la máquina que más desocupada se encuentre en ese momento  Mejora de rendimiento de la aplicación  Además de la escalabilidad, se consigue una mayor tolerancia a fallos

Lámina 4

Acceso a Datos  Los servidores de aplicaciones proveen facilidades para

administrar conexiones a bases de datos relacionales  Oracle, SQL Server, DB2…

 Los componentes (las clases que implementan la lógica del

negocio) acceden a ellas de forma estándar  Independiente de la base de datos subyacente

 También suelen permitir acceder a otros tipos de fuentes de

datos:  Tales como distintos ERP repositorios XML, etc.  Los servidores de aplicaciones son también importantes, por tanto,

como mecanismo de integración de sistemas heredados


Lámina 5

“Pooling” de conexiones  Abrir una conexión a una base de datos suele ser un proceso costoso  No es viable abrir una nueva conexión por cada consulta a la base de datos, penalizaría enormemente el rendimiento de la aplicación  Los servidores de aplicaciones suelen contar con una serie de conexiones permanentemente abiertas que distribuye de forma transparente a los distintos procesos  Se debería poder configurar el número de conexiones abiertas, e incluso la política de asignación

Lámina 6

Gestión transaccional  Transacción: secuencia de pasos que, o se ejecutan todos, o si no el sistema queda en el estado original  Son un elemento básico de cualquier aplicación comercial  Evitan que haya información inconsistente  Sería complejísimo implementarlas “a mano”  Con un servidor de aplicaciones que tenga esta característica, bastaría con indicarle dónde empieza y termina la transacción  Encargándose él de deshacer los pasos intermedios en caso de un error del sistema

2tecnologíasclaves internet  
Read more
Read more
Similar to
Popular now
Just for you