PDF de programación - Introducción a las Tenologías Web - Java y Servicios Web I - Master en Ingeniería Matemática

Imágen de pdf Introducción a las Tenologías Web - Java y Servicios Web I - Master en Ingeniería Matemática

Introducción a las Tenologías Web - Java y Servicios Web I - Master en Ingeniería Matemáticagráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.265 visualizaciones desde el 14 de Enero del 2017
1,8 MB
86 paginas
Creado hace 11a (30/05/2012)
Introducción a las
Tecnologías Web

Java y Servicios Web I

Master en Ingeniería Matemática

Manuel Montenegro

Dpto. Sistemas Informáticos y Computación

Desp. 467 (Mat)

[email protected]

Contenidos

● Clientes, servidores y puertos.
● Comunicación mediante sockets.
● Tecnologías web

● HTML
● CSS
● Applets

● Servicios web

● SOAP: intercambio de datos
● Web scraping

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

2

Clientes y servidores

● Un servidor es un programa que proporciona

recursos o servicios.

● Un cliente es un programa que realiza

peticiones al servidor sobre estos servicios.

Servidor

Protocolo

Clientes

Protocolo

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

3

Puertos

● Un servidor puede ofrecer distintos tipos de

servicios. Cada uno de ellos se realiza a través
de un puerto en la máquina servidor.

● Cada puerto está identificado con un número

entre 0 y 65535.

Servidor

20

22

25

80

110

● Puertos 1 – 1024

Reservados para el S.O. y para
protocolos conocidos.
● Puertos 1024 – 49151

Pueden ser usados para cualquier
aplicación.

● Puertos 49152 – 65535

Dinámicos/privados.

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

4

Servidor web

Servidor de

correo

Servidor
MySQL

80

110

25

143

3306

Protocolo HTTP

Protocolo POP3
Protocolo SMTP
Protocolo IMAP

SQL

Puertos

Cliente web

Cliente de

correo

Driver JDBC

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

5

Contenidos

● Clientes, servidores y puertos.
● Comunicación mediante sockets.
● Tecnologías web

● HTML
● CSS
● Applets

● Servicios web

● SOAP: intercambio de datos
● Web scraping

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

6

Comunicación mediante sockets

● Los sockets conforman el método más rudimentario

de comunicación sobre los protocolos TCP/IP.

● Para que un cliente pueda conectarse a un servidor,

necesita:
● Dirección IP dónde localizar al servidor.

Cuatro números entre 0 y 255. (Ej: 147.96.80.110)

● Número de puerto, en el programa servidor está a la

espera.

● También sirve un nombre del dominio, en lugar de

una dirección IP: www.ejemplo.com
● Servidor DNS: Asocia cada nombre con su IP.

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

7

Comunicación mediante sockets

● Una vez establecido un socket entre dos
ordenadores, la comunicación se realiza
mediante dos canales de datos, de la misma
manera en la que se accede un archivo en Java.

Servidor

5555

InputStream

OutputStream

OutputStream

InputStream

Cliente

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

8

Creación de sockets en Java

● Caso sencillo:

● El cliente envía un número al servidor.
● El servidor devuelve el número recibido elevado al

cuadrado.

Servidor

Cliente

InputStream

OutputStream

5555

7

49

OutputStream

InputStream

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

9

La clase ServerSocket

● Paquete java.net
● Un objeto ServerSocket espera la conexión de

un cliente a través de la red.

● Constructores:

puerto

● ServerSocket(int puerto)
● ServerSocket(int puerto, int longCola)

● Métodos:

● public Socket accept() throws IOException

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

10

La clase Socket

● Representa una conexión particular entre un

cliente determinado y un servidor.

● Constructor:

● Socket(String host, int puerto)

● Métodos:

● public InetAddress getInetAddress()
● public InputStream getInputStream()
● public OutputStream getOutputStream()

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

11

Ejemplo

public class ServidorCalculo implements Runnable {
public void run() {
ServerSocket server = null;
Socket s = null;
Scanner sc = null;
PrintWriter pw = null;
try {
server = new ServerSocket(5555);
System.out.println("Escuchando en el puerto 5555");
while (true) {
s = server.accept();
System.out.println("Recibida conexión desde " + s.getInetAddress());
sc = new Scanner(s.getInputStream());
int n = sc.nextInt();
System.out.println("He recibido un " + n);
pw = new PrintWriter(s.getOutputStream());
pw.print(n*n);
pw.flush();
pw.close();
sc.close();
}
} catch (IOException e) { e.printStackTrace(); }

finally {

if (s != null) try { s.close(); } catch (IOException e) {}
if (server != null) try {server.close();} catch (IOException e) {}
}
}

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

12

Ejemplo

public class ServidorCalculo implements Runnable {

public static void main(String[] args) {
Thread t = new Thread(new ServidorCalculo());
t.setDaemon(true);
t.start();
System.out.println("Pulsa INTRO para terminar.");
Scanner sc = new Scanner(System.in);
sc.nextLine();
}
}


31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

13

Ejemplo

public class ClienteCalculo {
public static void main(String[] args) {
Socket s = null;
PrintWriter pw = null;
Scanner sc = null;
try {
s = new Socket("localhost", 5555);
pw = new PrintWriter(s.getOutputStream());
pw.println(7);
pw.flush();
sc = new Scanner(s.getInputStream());
int result = sc.nextInt();
System.out.println("He recibido un " + result);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
sc.close();
pw.close();
try {s.close();} catch (IOException e) {}
}
}
}



31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

14

Ejemplo

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

15

Otro ejemplo: servidor

public class UppercaseServer {
public static void main(String[] args) throws Exception {
ServerSocket server = null;
Scanner scIn = null;
PrintWriter pwOut = null;
try {
// Esperar conexión con cliente
server = new ServerSocket(5555);
System.out.println("Esperando conexión");
Socket s = server.accept();
System.out.println("Conexión establecida con " + s.getInetAddress());

// Obtener líneas de texto a partir del cliente,
// hasta recibir una línea en blanco
scIn = new Scanner(s.getInputStream());
String str;
ArrayList<String> lineas = new ArrayList<String>();
do {
str = scIn.nextLine();
System.out.println("Recibido: " + str);
lineas.add(str);
} while (!str.isEmpty());
..

ArrayList para
almacenar las

cadenas recibidas

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

16

Otro ejemplo: servidor

// Recorrer las líneas de texto recibidas, convertirlas a
// mayúsculas, y devolverlas al cliente.
pwOut = new PrintWriter(s.getOutputStream());
for (String linea : lineas) {
System.out.println("Envío: " + linea.toUpperCase());
pwOut.println(linea.toUpperCase());
pwOut.flush();
}
} finally {
if (pwOut != null) pwOut.close();
if (scIn != null) scIn.close();
if (server != null) server.close();
}
}

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

17

Otro ejemplo: cliente

public class SingleClient {
public static void main(String[] args) throws Exception {
Socket s = new Socket("localhost", 5555);
Scanner sc = new Scanner(System.in);
PrintWriter pw = new PrintWriter(s.getOutputStream());
String str = null;
do {
System.out.print("CLIENTE >>> ");
str = sc.nextLine();
pw.println(str);
pw.flush();
} while (!str.isEmpty());

Enviar al servidor
las líneas leídas
de teclado, hasta
encontrar una línea

en blanco

Scanner scOut = new Scanner(s.getInputStream());
while (scOut.hasNextLine()) {
System.out.println(scOut.nextLine());
}
scOut.close();
pw.close();
s.close();
}
}

Imprimir la

respuesta del

servidor

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

18

Ejemplo

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

19

¿Y si...?

public class SingleClient {
public static void main(String[] args) throws Exception {
Socket s = new Socket("www.mat.ucm.es", 80);
...
}
}

Servidor web

Cliente web

80

Protocolo HTTP

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

20

Contenidos

● Clientes, servidores y puertos.
● Comunicación mediante sockets.
● Tecnologías web

● HTML
● CSS
● Applets

● Servicios web

● SOAP: intercambio de datos
● Web scraping

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

21

Lenguaje HTML

● HTML – HyperText Markup Language.
● Lenguaje para definición de la estructura y

contenido de páginas web.

● Es un lenguaje de marcado: texto sin formato
al que se añaden etiquetas (tags) para definir
su estructura.

● Etiquetas de inicio: <etiqueta>
● Etiquetas de cierre: </etiqueta>

31 Mayo-1 Junio, 2012

11. Introducción a las tecnologías web

22

Primer ejemplo en HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Primer ejemplo en HTML</title>
</head>
<body>
Sencillo, no?
  • Links de descarga
http://lwp-l.com/pdf820

Comentarios de: Introducción a las Tenologías Web - Java y Servicios Web I - Master en Ingeniería Matemática (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad