Sistemas Distribuidos basados en la web

Slides:



Advertisements
Presentaciones similares
UD 4:Instalación y administración de servicios Web Introducción Jorge De Nova Segundo.
Advertisements

Nau Gran dHivern Intr. a la creación y gestión de páginas web Introducción a la web.
Internet y tecnologías web
Una página web es una fuente de información adaptada para la World Wide Web(WWW) y accesible mediante un navegador de Internet. Un sitio web es un conjunto.
PRESENTA: Mizrain Cano Chico Profesor: Lic. Albino Petlacalco Ruiz
Servidores Web Capítulo 2.
CGI I La mayor parte de los elementos HTML de que disponemos permite al visitante visualizar los contenidos de un sitio, pero no interactuar con él. Dicho.
Taller de Internet Octubre 2004 Profesora: Marisa Alejandra Lara Escobar.
Servicios de Internet (1)World Wide Web [WWW] (2)Transferencia de ficheros (FTP)
Servicios Web.
Lina maría parra santos Jenny Katherine Vicentes arenas 1001 J.T.
Ing. Patricio Ajila R.. WEB.- WEB: World Wide Web Creada alrededor de 1989 Tim Berners-Lee con ayuda de Robert Cailliau.
"java del lado del servidor" Servlet y JSP Java Server Pages.
Tipos de Servicios Web.
Java 2 Platform Enterprise Edition
Características generales de un servicio Web.
Cualquier sitio web puede ser utilizado en un momento determinado como medio para llevar a cabo ciertos aprendizajes, por ejemplo se pueden aprender cosas.
WWW (World Wide Web) Pedro José López Javier Díaz
Lic. Rochester Cáceres Mendoza
CGI.   Cuando el World Wide Web inició su funcionamiento como lo conocemos, empezando a tomar popularidad aproximadamente en 1993, solo se podía apreciar.
Actividad 8 Equipo 3: o Gemma Cedillo Saucedo. o Alejandra Castillo Almazán. o Adriana Lara Mata. o Jorge Arregoytia García. o Aleida Villegas Rodríguez.
Tecnologías para el desarrollo de aplicaciones Web
Paginas WEB Creación, actualización y manipulación de paginas web.
WORLD WIDE WEB Conceptos básicos.
HISTORIA DEL WWW La World Wide Web o W3 es algo así como la gran telaraña mundial de comunicaciones. Antes de la Web, los investigadores de las universidades.
Introducción Publicación en Internet con Microsoft Office Sevilla, junio de 2004 SalirIniciar.
Más de 4 décadas Teoría de conmutación de paquetes. Leonard Kleinrock desde el MIT 1962 DARPA – Red galáctica J.C.R. Licklider del M.I.T 1969.
Diseño de Páginas Web Unidad 7. 5 puntos imprescindibles 11. Conocer los grupos de trabajo que sobre la red tratan la accesibilidad y el intercambio de.
Internet.
Generación de páginas en forma dinámica utilizando Apache Tomcat®. Expositores: Luis Ehlen Luis Báez Grupo 8 Programación de Sistemas Profesor: Agustín.
PROTOCOLO H T T P.
La Web y el HTTP. Antes del año 1990 Internet era usado por InvestigadoresAcadémicosEstudiantes Transferir archivos logearse remotamente Enviar/recibir.
DESARROLLO DE PÁGINAS EN EL WEB Preparado por Prof. Edgar Lopategui Corsino.
Unidad didáctica 6 Diseño de páginas Web.
Aplicaciones Web M.C. Jorge Eduardo Ibarra Esquer
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
ADRIAN LOPEZ G. SEBASTIAN OCHOA A. 11ºA FEBRERO 22/2013 CARLOS FERNANDEZ I.E. LA SALLE DE CAMPOAMOR MEDELLIN 2013 PAGINA WEB.
Internet y Navegadores Unidad 5. Fecha: 1 de agosto de 2011 Periodo# : 2 Objetivo: identificar el contenido de una dirección web Tema: Elementos de una.
TRABAJO POR Brayan Alexander Rodríguez Ramírez j.t.
Internet y Navegadores
Conceptos básicos sobre Internet
¿Qué es Internet? Internet puede ser definida como una red mundial de comunicaciones basada en computadores que comparten sus recursos e información a.
EDWIN ACOSTA PINILLA DIEGO FERNANDO CASTRO JHON SEBASTIAN CASTRO.
CRISTIAN MATEO NOREÑA MELIZA OSPINA MORENO 11 C TECNOLOGIA INFORMATICA LA SALLE DE CAMPOAMOR 2013.
MIME EXTENSIONES DE CORREO INTERNET MULTIPROPÓSITO. SERIE DE ESPECIFICACIONES DIRIGIDAS AL INTERCAMBIO TRANSPARENTE DE TODO TIPO DE ARCHIVOS A TRAVÉS DE.
Clase 5 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Unidad 5 y 6 Terminologías en Internet y Navegadores.
 Este protocolo opera a través de solicitudes y respuestas, entre un "cliente" y un "servidor". El cliente para los usuarios es el navegador web, usado.
Internet y Navegadores Unidad 5.  WWW World wide web Literalmente "tela de araña mundial", más conocida como web.  HTML Lenguaje de Marcado de HyperTexto.
WORD WIDE WEB Nace a principios de los años 90 en Suiza. Su función es ordenar y distribuir la información que existe en internet. La World Wide Web se.
HTML Prof. Oscar Marroquin Mollinedo. Desarrollo web Desarrollo web es un título algo arbitrario para el conjunto de tecnologías de software del lado.
 Buscador es una página web en la que se ofrece consultar una base de datos en la cual se relacionan direcciones de páginas web con su contenidopágina.
 Claudia Jordan Idrovo.  Son los puntos de enganche para cada conexión de red que realizamos. El protocolo TCP (el utilizado en internet) identifica.
NOMBRES: Daniel Andrés Martínez Pérez Jhon Alejandro Carrizosa Ovalle Jaiver Giovanny Sánchez García CURSO: JORNADA: Tarde.
Introducción WWW y estándares web Jesús Torres Cejudo.
S ERVICIOS DE RED E I NTERNET T EMA 4 : I NSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS W EB Nombre: Adrián de la Torre López.
Internet y sus servicios
Punto 1 – Introducción al servicio Juan Luis Cano.
Almacenamiento virtual de sitios web: «Hosts» virtuales
Integrantes: Cleydy Mariela Coyla Yuleydi Flor diego Rivera Luis Lucra Elvis Gamarra.
Elementos básicos para sistemas WEB. Que es la WEB Web es una tecnología que opera sobre internet que lleva propuesta desde El sistema de documentos.
ELEMENTOS DE LA WED. Una página web es una fuente de información adaptada para la World Wide Web (WWW) y accesible mediante un navegador de Internet.
Internet y Codigo HTML. Internet (interconnected Networks): es una red compuesta por miles de redes independientes pertenecientes a instituciones públicas,
Integrante: Mariana Alcalá Hdz María del Carmen Andrade G. Alondra E. García Mtz Joselyn Gpe García V. Antonio de Jesús Hdz R. Cristian Jesús Ruvalcaba.
Modelo Cliente - Servidor. La Web funciona siguiendo el denominado modelo cliente-servidor, habitual en las aplicaciones que funcionan en una red. Existe.
“Servicios de Internet” 4ta Semana. Agenda Agenda Servicios de Internet –World Wide Web –HTTP –IRC –FTP –Gopher –Telnet –Newsgroups.
Iván camilo González Luis David cano
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
HTML.
World Wide Web Sistema de información distribuido basado en hipertexto o hipermedios enlazados y accesibles a través de Internet.
Transcripción de la presentación:

Sistemas Distribuidos basados en la web El origen y razón de las páginas web interactivas

Arquitecturas Cliente-servidor Normalmente para consultar, modificar y administrar los datos de una organización El programa cliente era la interfaz inteligente entre el usuario y la base de datos Servidor de BD cliente

Inconvenientes de las arquitecturas de 2 capas Aplicaciones monolíticas difíciles de mantener Toda la inteligencia está en el cliente Los servidores son sólo servidores de datos Distribución del código que cambia Poca reusabilidad del código No está orientado al desarrollo de componentes No se puede usar de cualquier lado Poca seguridad Mucho tráfico de datos

Arquitecturas basadas en la web El cliente es el browser La aplicación misma está en el servidor web Puede existir un servidor de aplicaciones Servidor de aplicaciones Servidor web cliente Servidor de BD

Ventajas del esquema de n-capas Clara separación de las funciones de control de la interfaz y presentación de datos con la lógica de la aplicación Reusabilidad de componentes Independencia de la interfaz del cliente y la arquitectura de datos Mejores posibilidades de balancear la carga Uso de protocolos abiertos

¿Qué es la World-wide Web ? WWW es un sistema de hipermedia interactivo desarrollado sobre Internet. Hipermedia: La idea de hipermedia es la de juntar texto, imágenes, audio y vídeo dentro de un mismo envoltorio llamado documento Además, incluye referencias a otros documentos del mismo tipo

¿Cómo nace la World-wide Web ? El primer precedente del WWW se puede encontrar en un tratado escrito por Vannevar Bush titulado ``As We May Think'', de 1954, en el que básicamente animaba a los científicos a hacer más accesible a todo el mundo sus conocimientos y experiencia. En este tratado surgieron las nociones de hipertexto e hipermedia Desde entonces, muchos han sido los sistemas hipermedia que se han creado. Como ejemplo cabe destacar el Augment de Doug Englebart en los 70, y en los 90 el WWW de Tim Berners-Lee, TBL, creado en el Laboratorio Europeo de Partículas Físicas (CERN) en Ginebra, Suiza. TBL se basó en muchas fuentes para crear el WWW:

Pero la web necesita un protocolo para intercambiar documentos de hipermedia Internet Para ello hay una conversación entre el que pide un documento Y el que lo “sirve” (invisible para el usuario del browser) Esta conversación se realiza según el protocolo HTTP

Arquitectura Web Para abrir una página Web en un navegador, normalmente se teclea el correspondiente URL o se “clickea” sobre en el “link” oportuno. Una vez que se solicita esta petición mediante el protocolo HTTP y la recibe el servidor Web, éste localiza la página Web en su sistema de directorios y la envía de vuelta al navegador que la solicitó,

¿ Qué necesito para “levantar” mi sitio web ? El Servidor Web El servidor Web es un programa que corre sobre el servidor que escucha las peticiones HTTP que le llegan y las satisface. Dependiendo del tipo de la petición, el servidor Web buscará una página Web o bien ejecutará un programa en el servidor. De cualquier modo, siempre devolverá algún tipo de resultado HTML al cliente o navegador que realizó la petición. El servidor Web va a ser fundamental en el desarrollo de las aplicaciones del lado del servidor, server side applications, que vayamos a construir, ya que se ejecutarán en él.

¿De dónde lo saco, cómo lo instalo ? Hay varios gratis que se pueden bajar de la Internet JBOSS, APACHE TOMCAT Para instalarlo basta echar a correr el archivo bajado (doble click) Obviamente, el computador debe estar en la internet y tener una dirección IP fija y un nombre de dominio

J2EE Es un conjunto de especificaciones que implementan una arquitectura abierta de n-capas sobre la web Incluye muchos elementos que se habían desarrollado en forma “independiente” anteriormente Interoperabilidad gracias a XML y SOAP

Los principales elementos de la arquitectura J2EE Cliente Puede ser un programa “stand alone”, un applet dentro de un browser o el browser mismo que contacta un sevlet, un jsp o un web service Contenedor web Contiene (y sabe como hacerlos correr) las páginas html, los servlets, JSP y web services Contenedor de aplicaciones Contiene y administra a los EJB Servidor de base de datos

Portlets y Web services Qué va dónde Portlets y Web services Servidor de aplicaciones Servidor web Cliente: Browser web Servidor de BD Servidor web y de aplicaciones Páginas HTML -Java Script -JSP Enterprise Java Beans Comunicación por medio de JDBC

J2EE icluye Acceso a bases de datos (JDBC) Utilización de directorios distribuidos (JNDI) Acceso a métodos remotos (RMI, CORBA, SOAP) Funciones de correo electrónico

El protocolo Http Hypertext transfer protocol Especifica la forma como el cliente pide las cosas al servidor y cómo el servidor las manda al cliente Define un lenguaje de comunicación con reglas sintácticas y gramaticales

Interaccion browser-servidor Cuando se ingresa una URL al navegador web pidiendo un archivo http://servidor/index.jsp el navegador manda la siguiente información: GET /index.jsp HTTP 1.1 Accept: image/gif, image/jpeg, application/vnd.msexcel, application/vnd.ms-powerpoint, application/msword, Accept-Language: de Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Host: localhost:8000 Connection: Keep-Alive <- linea en blanco La primera línea indica el archivo que el cliente solicita y la versión de HTTP. Luego viene una lista de los tipos MIME que puede aceptar como retorno, lenguaje del sistema, codificación, browser que utiliza, etc (lo que manda como encabezado depende de la version de http y del browser). Al final se manda una línea en blanco que determina el final de la cabecera HTTP.

Un servidor web básico Esto es sólo para ver qué viene del browser import java.net.*; import java.io.*; public class ServerWeb { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8000); while(true) { Socket s = ss.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } //aqui se debería mandar el contenido del archivo pedido out.println("<H1>ready</H1>"); s.close(); Esto es sólo para ver qué viene del browser Esto es sólo para ver qué viene del browser

Un servidor web básico import java.net.*; import java.io.*; public class ServerWeb { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8000); while(true) { Socket s = ss.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } //aqui se debería mandar el contenido del archivo pedido out.println("<H1>ready</H1>"); s.close(); Abrir una ventana a Internet para recibir peticiones Esto es sólo para ver qué viene del browser Esto es sólo para ver qué viene del browser

Un servidor web básico import java.net.*; import java.io.*; public class ServerWeb { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8000); while(true) { Socket s = ss.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } //aqui se debería mandar el contenido del archivo pedido out.println("<H1>ready</H1>"); s.close(); Espera requerimiento de algún cliente (navegador web) Esto es sólo para ver qué viene del browser Esto es sólo para ver qué viene del browser

Un servidor web básico import java.net.*; import java.io.*; public class ServerWeb { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8000); while(true) { Socket s = ss.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } //aqui se debería mandar el contenido del archivo pedido out.println("<H1>ready</H1>"); s.close(); Abrir canales de escritura y lectura con el cliente Esto es sólo para ver qué viene del browser Esto es sólo para ver qué viene del browser

Un servidor web básico import java.net.*; import java.io.*; public class ServerWeb { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8000); while(true) { Socket s = ss.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } //aqui se debería mandar el contenido del archivo pedido out.println("<H1>ready</H1>"); s.close(); Leer lo que manda el cliente hasta que llegue una línea vacía Esto es sólo para ver qué viene del browser Esto es sólo para ver qué viene del browser

Un servidor web básico Mandar respuesta la cliente import java.net.*; import java.io.*; public class ServerWeb { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(8000); while(true) { Socket s = ss.accept(); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } //aqui se debería mandar el contenido del archivo pedido out.println("<H1>ready</H1>"); s.close(); Mandar respuesta la cliente Esto es sólo para ver qué viene del browser

Modificar para mandar archivo reuqerido String l = in.readline(); int i = l.indexOf(“HTTP“); String nombreArchivo = l.substring(5,i-1); while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } BufferedReader archivo = new BufferedReader( new FileReader(nombreArchivo)); while(true) { l = archivo.readLine(); if (l == null) break; out.println(l); Obtener nombre del archivo requerido de la primera línea GET /nombre_archivo HTTPXXX

Modificar para mandar archivo reuqerido String l = in.readline(); int i = l.indegOf(“HTTP“); String nombreArchivo = l.substring(5,i-1); while (true) { l = in.readLine(); if (l.equals("")) break; System.out.println(l); } BufferedReader archivo = new BufferedReader( new FileReader(nombreArchivo)); while(true) { l = archivo.readLine(); if (l == null) break; out.println(l); Abrir archivo y mandarlo al cliente

Respuesta del servidor El servidor responde mandando la siguiente transacción HTTP: HTTP/1.0 200 OK Date: Friday, 23-Feb-07 16:30:00 GMT Server: Apache/1.1.1 Content-type: text/html Content-length: 230 <- linea en blanco <HTML><HEAD><TITLE> ........ </HTML> En este mensaje el servidor utiliza la versión 1.0 de HTTP, y manda el código de estado 200 para indicar que la petición del cliente ha sido procesada satisfactoriamente. También se identifica como un servidor Apache. Indica al cliente que el contenido del documento es texto en formato HTML y que tiene una longitud de 230 bytes. Luego de una línea en blanco viene el contenido del archivo pedido.

Un cliente web básico Esto es sólo para ver qué viene del server import java.net.*; import java.io.*; public class ClientWeb { public static void main(String[] args) throws Exception { Socket s = new Socket(args[0], Integer.parseInt(args[1])); PrintWriter out = new PrintWriter(s.getOutputStream(),true); BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream())); String l; out.println("GET /"+args[2]+" HTTP/1.0"); out.println(""); while (true) { l = in.readLine(); if (l==null) break; System.out.println(l); } System.out.println("ready"); s.close(); Esto es sólo para ver qué viene del server

GET, HEAD y POST La primera línea de una petición contiene los comandos HTTP, conocidos como métodos. Existen varios, pero los más conocidos y utilizados son tres: GET, HEAD y POST

GET El método GET se utiliza para recuperar información identificada por un URI por parte de los navegadores. Si el URI se refiere a un proceso generador de datos como un programa CGI, en lugar de él, se devuelven los datos generados por el programa. El método GET también se puede utilizar para pasar una pequeña cantidad de información al servidor en forma de pares atributo-valor añadidos al final del URI detrás de un símbolo de interrogación, ?.

Ejemplo GET con parámetros GET /servlet/saludar?nombre=pepe&email=pepe@dss.cl HTTP/1.0 La longitud de la petición GET está limitada por el espacio libre en los buffers de entrada. Por lo que para mandar una gran cantidad de información al servidor se utiliza el método POST. Buffer: porcion de memoria en el computador usado para traspasar datos entre dos medios distintos (memoria principal-memoria secundaria, memoria principal – internet)

HEAD El método HEAD es idéntico al GET excepto que el servidor no devolverá el cuerpo del mensaje en la respuesta a un método HEAD. Esto es útil para obtener información sobre las entidades implicadas en la petición sin que tengan que transferirse. Sirve para comprobar si los enlaces son válidos o para saber cuando fue la última modificación de la entidad solicitada.

POST El método POST se refiere normalmente a la invocación de procesos que generan datos que serán devueltos como respuesta a la petición. Además se utiliza para aportar datos de entrada a esos programas. En este caso los pares atributo-valor son incluidos en el cuerpo de la petición separados por &.

Ejemplo POST POST /servlet/saludar HTTP/1.0 Accept: */* <- linea en blanco nombre=pepe&email=pepe@dsstgo.cl Primero el browser manda las líneas de arriba y el servidor queda esperando información adicional hasta que el browser corta la comunicación (notar la diferencia con el get que solo manda una línea y corta la comunicación) De este modo el método POST no sufre de las limitaciones de espacio y puede enviar mucha más información al servidor. En particular se usa cuando se quieren mandar archivos completos (tareas!!!!) Más aún, es muy conveneinte cuando se quiere mandar información confidencial (passwords) ya que esta no queda en el historial del browser (solo queda la primera linea)

El lenguaje html Hypertext markup language Da directivas de cómo debe mostrar un texto Estas directivas pueden ser interpretadas distintamente por cada “mostrador” de documentos html (no es el objetivo de este curso aprender bien html, pero lo vamos a necesitar)