Tema 4: Tecnologías Web Java



Documentos relacionados
Tema 4: Diseño e Implementación de la Capa Web

EXTENSIÓN DE UML PARA APLICACIONES WEB

Desarrollo de Aplicaciones Web con JAVA: J2EE y Struts

Hostaliawhitepapers. Redirección 301. Cardenal Gardoki, BILBAO (Vizcaya) Teléfono:

Capítulo 3 Diseño del Sistema de Administración de Información de Bajo Costo para un Negocio Franquiciable

Los formularios irán delimitados por las etiquetas <FORM> y </FORM>, la cual tiene dos parámetros:

Ejemplos básicos de webmathematica para profesores

Cursos de Extensión Universitaria UNIVERSIDAD DE OVIEDO. Servicios Web (II)

Servicio de publicación de información web (HTTP)

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Colegio de Ingenieros de Caminos, Canales y Puertos. Manual de Gestión de correo electrónico y SMS

Formularios HTML. Elementos de Programación y Lógica

Redes de área local: Aplicaciones y servicios WINDOWS

LABORATORIO DE RC: PRÁCTICA 4: IMPLEMENTACIÓN DE UN CLIENTE DE CORREO

OBJETIVO REQUERIMIENTOS

Sesión 17. Servicios web RESTful

Guía de migración a firma HMAC SHA256 Conexión por Redirección

REDES DE ÁREA LOCAL. APLICACIONES Y SERVICIOS EN WINDOWS

Capítulo I. Marco Teórico

Sistemas de Caché. Para mejorar la velocidad de carga de una web. papers. acens

Person IP CRM Manual MOBILE

Web Tier en JAVA. Nicolás Troncoso Carrère. Valparaíso, ILI 258 Departamento de Informática Universidad Técnica Federico Santa María

Introducción Delicious Algunas características: Sitio para acceder a esta herramienta Qué es Delicious?...

Desarrollo y servicios web

HTTP Introducción. Redes de Datos Ing. Marcelo Utard / Ing. Pablo Ronco FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES

Manual de NetBeans y XAMPP

Introducción al Desarrollo de Aplicaciones Web D R A. M A R I C E L A B R A V O

Lección 1 Introducción a Struts. uacosta@globalmentoring.com.mx

TRANSFERENCIA DE FICHEROS FTP

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

Riesgos Tecnológicos y Seguridad. Acceso remoto portal Red Agencial VPN SSL Manual de usuario

Servidores Web E2B2C. Leandro Radusky Esteban Lanzarotti. Nov 2014

Mi propuesta consiste en crear un portal Web que contemple las siguientes funcionalidades:

Guía rápida de la Oficina Virtual Área Web y Administración Electrónica

Requisitos. Universidad ORT Arquitectura de Software

Desarrollo y servicios web

MANUAL DE USUARIO FACTURACIÓN ELECTRÓNICA

3.1 Introducción a Wireshark

Acceso a la aplicación TOT

Práctica 6 - Página Web

Figura 7-1 Enlace para instalar el servidor web Apache Jakarta Tomcat

Acceso y primeros pasos

GUÍA PARA REALIZAR PETICIONES RELACIONADAS CON TELEFONÍA IP A TRAVÉS DE LA OFICINA VIRTUAL

Manual Mutualistas Oficina Virtual Mupiti

Tema 1 HTTP y aplicaciones web

Resumen del módulo EZ Web Lynx.

Notas para la instalación de un lector de tarjetas inteligentes.

RemitePIN: Nuevo procedimiento de firma electrónica para las aplicaciones de captura de las Oficinas Virtuales de Coordinación Financiera.

Manual del Protocolo XML-RPC de Mensajería Negocios

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

TECNOLOGÍAS ASOCIADAS A LAS APLICACIONES WEB

CHARSET: CODIFICACIÓN DE CARACTERES PARA GENERAR

PROGRAMACIÓN PÁGINAS WEB CON PHP

MIGRACIÓN NEXUS 8 A A3ERP 9

Eurowin Medidas SQL Noticia nº: 1

Sistemas de Gestión de Contenidos

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

MANUAL PARA INCLUIR EL MOTOR DE RESERVAS EN LA WEB DEL ESTABLECIMIENTO

Índice de contenido. Manual de administración de hospedaje para administradores de dominios

5.1 Introducción a Servicios Web

Nº de expediente: TSI Subprograma: Avanza Competitividad I+D+I

ELMS: Autentificació n a trave s de su Universidad

Tema 4. II - Cookies. Arquitecturas Distribuidas 11/12

La elección de Blogger como la plataforma o lugar donde

Crear un servidor FTP

PRESENTACIÓN TELEMÁTICA DE CUENTAS ANUALES

GESTIÓN DE VISADO TELEMÁTICO Manual de usuario Web (rev 1.1)

5.1. Qué es Internet? controla todo el sistema, pero está conectado de tal manera que hace

Plataforma E-Learning E- Incorporate

- la arquitectura TCPlIP III

Correo Electrónico: Webmail: Horde 3.1.1

Manual hosting acens

A continuación se confeccionara un formulario para el ingreso de un nombre y un botón para el envío del dato ingresado al servidor:

Introducción a las Redes de Computadoras. Obligatorio

Páginas web ::: Edición web en línea con Kompozer Diseño de materiales multimedia. Web Edición web en línea con Kompozer

2. Ejecutando JMeter en el laboratorio

Problemas sobre DNS y HTTP Asignatura de Redes

Ayuda para la instalación Componente Firma Digital INDICE. 1 Configuración previa Configuración Internet Explorer para ActiveX...

CRECE EN INTERNET. Llegar a buen puerto: buscando información

Enlace para bajar la herramienta: ftp://ftp.cs.stir.ac.uk/pub/staff/kjt/software/jasper-1.3.tar.gz

Quiz 11: Crear preguntas. Juan Quemada, DIT - UPM

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Introducción a PHP. * No es necesario declarar previamente las variables.

Instalar y configurar W3 Total Cache

Boletín de prácticas Práctica 3: HTML básico

Manual Intranet Área de Sistemas

Componentes de una aplicación ASP.NET

Manual de software. Dynamic Cloud. 10/2014 MS-Dynamic_Cloud v1.2

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

Manual de usuario investigador

PRÁCTICA 10. Configuración de Correo y Publicar en la Web

comunicaciones IP al servicio de su empresa configuración de clientes de correo para Hosted Exchange

Configuración servidor Tomcat

CapÍtulo 3: Manejo de Forms.

IDENTIFICACIÓN DE LA ACTIVIDAD PEDAGÓGICA

Manual de Creación de Boletín

1.1.- Introducción a la Web Vemos una introducción al medio donde se encajan los lenguajes que vamos a tratar: la web.

Transcripción:

Tema 4: Tecnologías Web Java

Introducción Aplicación web Aplicación que corre en al menos un servidor y a la que el usuario accede desde un cliente de propósito general (ej.: navegador en un PC, teléfono WAP, etc.) La comunicación en la Web gira en torno al protocolo HTTP Protocolo de nivel de aplicación Funciona sobre TCP Usa el puerto 80 por defecto Modelo petición/respuesta No tiene estado Al igual que SMTP, es un protocolo ASCII, que usa MIME para transferir información no ASCII

HTTP (1) 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 Ejemplo de GET Utilizamos un navegador para acceder a http://www.gris.des.fi.udc.es/~fbellas/is/index.html El navegador abre una conexión TCP al puerto 80 de la máquina www.gris.des.fi.udc.es (resuelve el nombre por DNS) y envía una petición similar a: GET /~fbellas/is/index.html HTTP/1.0 << Otros campos >>

HTTP (2) Ejemplo de GET (cont) El servidor responde con HTTP/1.0 200 OK << Otros campos >> Content-Type=text/html; ISO-8859-1 << Otros campos >> <html> << Resto del contenido de la página de IS >> </html> Parámetros en peticiones GET URL?par1=val1&par2=val2... &parn=valn Ejemplo en una página HTML... <a href= /forecast?city=hermosa+beach&state=ca > Temperatura en Hermosa Beach </a>...

HTTP (3) Parámetros en peticiones GET (cont) Al hacer clic en el enlace anterior, se le enviaría una petición GET /forecast?city=hermosa+beach&state=ca al servidor del que nos hemos bajado la página Caracteres en el valor de un parámetro Caracteres ASCII alfanuméricos y signos. (punto), - (guión), * (asterisco) y _ (subrayado) => tal cual Espacio en blanco => sustituir por + Resto de caracteres => %xy Las anteriores sustituciones las tiene que hacer la persona que escribe/genera el fichero Si un par par=val aparece más de una vez, el parámetro correspondiente es multivaluado (su valor es un vector de valores)

HTTP (4) Peticiones POST Suelen usarse para enviar los datos de un formulario (ej.: un formulario HTML) Pero también pueden enviarse por GET 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 asociados a un formulario (tanto si se envía por POST como por GET) 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>...

HTTP (5) Peticiones POST (cont) Cuando el usuario pulsa el botón de submit, se envía una petición POST al servidor del que nos hemos bajado el formulario POST /forecast HTTP/1.0 <<Otros campos>> city=hermosa+beach&state=ca Cuando un formulario se envía por GET, los parámetros forman parte de la URL, y en consecuencia se puede hacer un bookmark (marcador) a esa página Si el formulario anterior se envía por GET, después de pulsar en el botón submit, el navegador mostraría la URL http://xxx/forecast?city=hermosa+beach&state=ca Útil para poder hacer bookmarks a resultados de búsquedas

HTTP (6) Tipos de URLs URL absoluta http://www.gris.des.fi.udc.es http://knopfler.gris.des.fi.udc.es:8080/minibank Útiles en navegadores Útiles en ficheros cuando se quieren hacer enlaces a otros servidores No deberían usarse cuando se trata de enlaces al mismo servidor, dado que si cambiamos los ficheros de servidor habrá que cambiar todas la URLs que contengan Path absoluto /MiniPortal/MainPage.jsp /~fbellas/teaching/is/index.html Útil cuando se quiere hacer un enlace a una página dentro del mismo servidor

HTTP (y 7) Tipos de URLs (cont) Path relativo En el fichero /~fbellas/teaching/is/index.html podríamos incluir las siguientes URLs../adoo/index.html J2EE-Examples-src-1.0.tar.gz Útil cuando se quiere hacer un enlace a una página dentro del mismo servidor En la mayor parte de los casos, suelen preferirse a las de tipo path absoluto, dado que muchas veces no será necesario cambiarlas aunque modifiquemos la estructura del sitio web HTTP no sirve sólo para transportar HTML o imágenes Otros usos típicos XML (quizás con SOAP) WML Las tecnologías que estudiaremos (en realidad, todas las existentes) pueden usarse para generar cualquier tipo de información válida sobre HTTP

WAP (1) Acceso al web desde dispositivos móviles WAP es una pila de protocolos que nada tiene que ver con TCP/IP WML es el lenguaje equivalente a HTML para móviles Es una aplicación de XML Lógicamente, tiene menos posibilidades gráficas Una aplicación WAP Móvil Gateway Servidor aplicaciones web WML WAP WML HTTP TCP/IP

WAP (y 2) Una aplicación WAP (cont) Servidor aplicaciones web Es una máquina de la intranet de nuestra empresa que corre un servidor de aplicaciones web normal y corriente La única diferencia es que no generamos HTML sino WML Por tanto, para hacer una aplicación WAP, podemos emplear las tecnologías y técnicas de diseño que veremos en este tema Gateway Suele estar en una operadora de móviles Convierte {HTTP+TCP/IP} a WAP, y viceversa

Tecnologías Antes CGI Crea un proceso por cada petición Ineficiente Se implementaron algunas variantes más eficientes Ahora (tema 1) J2EE => Servlets + JSP (Java Server Pages) + JSTL (JSP Standard Tag Library) Apache Struts (no forma parte de J2EE).NET => ASP.NET PHP, Perl, Python, Ruby (Ruby on Rails), etc.

Servlets, JSP, JSTL y Apache Struts (1) Una vista por capas Una capa no oculta a la inferior Apache Struts (org.apache.struts.*) JSTL JSP (javax.servlet.jsp y javax.servlet.jsp.tagext) Servlets (javax.servlet y javax.servlet.http)

Servlets, JSP, JSTL y Apache Struts (y 2) En general, estudiaremos cada tecnología con sencillos ejemplos Ejemplo HelloUser Un sencillo Portal Poco a poco iremos haciendo una versión mejor, hasta llegar a MiniPortal en el apartado 4.6 Se irán introduciendo conceptos progresivamente, que muchas veces serán aplicables a tecnologías de nivel inferior Gran parte de estos conceptos son relativos al API de servlets, que en vez de exponerlos todos en el apartado 4.1, se irán introduciendo en sucesivos apartados a medida que lo requieran los ejemplos Con el diseño e implementación de las capas vista y controlador de MiniBank y MiniPortal (apartados 4.5 y 4.6) se ilustrarán patrones de diseño Los implementa Apache Struts!