Professional Documents
Culture Documents
DISTRITAL FRANCISCO JOS DE CALDAS FACULTAD DE INGENIERIA DOCTORADO EN INGENIERA COMPETENCIAS EN CIENCIA DE LA INFORMACIN Y EL CONOCIMIENTO
Ingeniero de Sistemas de la Universidad Distrital Magister en ciencias de la Informacin y las comunicaciones de la Universidad Distrital DEA en ingeniera de So>ware de la PonAca Universidad de Salamanca PhD en Sistemas y Servicios informAcos para internet de la Universidad de Oviedo
Correo
Electronico:
cemontenegrom@udistrital.edu.co
ingcarlosmontenegro@gmail.com
Linkedin:
hLp://es.linkedin.com/pub/carlos-enrique-montenegro-marin/26/584/82a
Facebook:
hLp://www.facebook.com/ingcarlosmontenegro
TwiLer
@ingcemm
Protocolo
HTTP
Hypertext
Transfer
Protocol
RFC2616:h"p://www.ie*.org/rfc/rfc2616.txt
Protocolo
orientado
a
transacciones
Esquema
peAcin/respuesta
entre
un
cliente
(navegador)
y
un
servidor
web
Protocolo
sin
estado
Basado
en
la
localizacin
de
recursos
(URLs)
Puerto80
Servicios Web yREST Arquitecturas RES Protocolo HTTP Servicios Web y Arquitecturas Protocolo HTTP Protocolo HTTP Modelo de comunicacin web Modelo de comunicacin web m Modelo de comunicacin web
Peticin HTTP
Respuesta
HTTP
HTTP
o D Servid In Web d W
Paquete
HTTP
Cabecera Cuerpo
Cabecera Cuerpo
Mtodos: GET: Solicita un recurso Mtodos: GET: Solicita un recurso PUT: Actualiza un recurso PUT: PUT Actualiza A t li Solicita un recurso POST: procesar recurso con los datos POST: Solicita procesar recurso con los datos enviados enviados DELETE: DELETE Elimina Eli i un recurso DELETE: Elimina un recurso Otros mtodos: HEAD, TRACE, OPTIONS y CONNECT Otros mtodos: HEAD, TRACE, OPTIONS y CONNECT
mster GET / HTTP/1.1 HTTP/1 1 online en Host: www.google.es Direccin e User-Agent: <cliente-web> Ingeniera de Sitios Web
vicios Web Protocolo y Arquitecturas REST- PeAcin HTTP ocolo HTTP - Peticin Atributos de la Cabecera HTTP: mster ributos de la Cabecera HTTP:
Accept: Tipos de contenido aceptados online en A Accept: t Tipos Ti de d contenido t id aceptados t d Accept-charset: Conjunto de caracteres aceptados Direccin e Accept-charset: Conjunto de caracteres aceptados Accept-encoding: Codicacin caracteres aceptados Ingeniera Accept-encoding: C f Idiomas Codificacin caracteres aceptados Accept-language: aceptados de Sitios Cookie: CIdiomas ookie enviada previamente por el servidor Web Accept-language: aceptados Content-length: Longitud de la peAcin Cookie: Cookie enviada previamente por el servidor Content-type: Tipo MIME del cuerpo de la peAcin Content-length: Longitud de la peticin Date: Fecha/hora de la solicitud Content-type: Tipo MIME cuerpo de la peticin User-Agent: Tipo del agente de usuario uAlizado Date: Fecha/hora de la solicitud Otros atributos: AuthorizaAon, Cache-control, ConnecAon, If-Modied-Since, If-None-Match User-Agent: Tipo agente de usuario utilizado GET / HTTP/1.1 Host: www.google.es Otros atributos: Authorization, Cache-control, User-Agent: <cliente-web> Connection, If-Modified-Since, If-None-Match
HTTP/1.1 200 OK Date: <fecha> C t tt Content-type: t t/ht l text/html Content-length: <tamao> <html> </html>
Cdigos Cdigos de de respuesta: respuesta: Mensajes 1xx: 1xx: Mensajes Operacin exitosa 2xx: 2xx: Operacin exitosa Redireccin 3xx: 3xx: Redireccin Error en el (p.e: 404, non encontrado) 4xx: 4xx: Error en ecliente l cliente (p.e: 404, o encontrado) Coordinador: Javier Parra 5xx: Dr. Error en el Fuente 5xx: Error en eservidor l servidor
Content-encoding: Codicacin uAlizada en el mensaje Content-language: Idioma uAlizado en el mensaje Content-length: Tamao del mensaje Content-type: Tipo MIME del contenido Date: Fecha/hora de la respuesta Expires: Fecha de expiracin del contenido para eliminarse de la cach Server: IdenAca el Apo de servidor Set-cookie: AcAva una cookie en el cliente Otros atributos: Cache-control, Content-locaAon, Etag, WWW-AuthenAcate
Servicios Web y Arquitecturas REST Protocolo HTTP E jemplo Protocolo HTTP - Ejemplo
hLp://web-snier.net/ http://web-sniffer.net/
REST
EsAlo
arquitectnico
de
servicios
web
Basado
en
el
modelo
de
comunicacin
de
la
World
Wide
Web
Toma
como
referencia
el
protocolo
HTTP
Basado
en
la
gesAn
de
recursos
en
lugar
de
mtodos
de
negocio
REST
Mtodos
UAliza
directamente
los
mtodos
HTTP:
POST:
crea
un
recurso
POST
/usuarios
HTTP/1.1
Host:
miservidor
Content-type:
applicaAon/xml
<usuario>
<nombre>Carlos</nombre>
</usuario>
REST
Mtodos
PUT:
modica
un
recurso
PUT
/usuarios/Javier
HTTP/1.1
Host:
miservidor
Content-Type:
applicaAon/xml
<usuario>
<nombre>Juan</nombre>
</usuario>
HTTP/1.1 200 OK ConnecAon: close Content-length: 526 Content-Type: text/xml; charset=us-8 Date: Mon, 1 Feb 2010 11:04:19 GMT Server: Apache/1.3.0 <?xml version=1.0?> <SOAP-ENV:Envelope xmlns:SOAP-ENV=hLp://schemas.xmlsoap.org/soap/envelope/ xmlns:xsi=hLp://www.w3c.org/2001/XMLSchema-instance xmlns:xsd=hLp://www.w3c.org/2001/XMLSchema SOAP-ENV:encodingStyle=hLp://schemas.xmlsoap.org/soap/encoding/> <SOAP-ENV:Body> <m:GetPrecioRespuesta mlns:m=hLp://www.miLibreria.com/listaPrecios/> <precio> 49.99 </precio> </m:GetPrecioRespuesta> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Mensaje SOAP
PrcAca
3
1. Ponga
en
funcionamiento
la
prcAca
que
se
presenta
a
conAnuacin.
2. Posteriormente,
cree
su
propio
cliente
de
servicio
REST
que
conecte
con
otro
servicio
web.
3. Por
lAmo,
haga
un
manual
de
los
pasos
que
ha
ido
realizando
al
crear
su
cliente
(incluya
pantallazo
de
cada
paso).
Debera
enviar
este
manual.
PrcAca
3
Netbeans
Herramienta:
Netbeans:
h"p://www.netbeans.org/
PrcAca
3
Pasos
1. 2. 3. 4. Crear
un
repositorio
persistente
Crear
un
proyecto
Crear
el
recurso
Crear
el
servicio
web
REST
asociado
al
recurso
5. Probar
el
servicio
web
REST
PrcAca .1 Crear RREST epositorio Servicios Web y3 Arquitecturas Servicios Web y Arquitecturas REST Prctica 3.1 Crear Repositorio Persistente Prctica 3.1 Crear Repositorio Persistente Persistente
aa la Base Datos (sample) a. a. Conectar a la Base de de Datos (sample) a. Conectar Conectar
la
Base
de
Datos
(sample)
2
2
mst mster onlin online e Direc Direcci Ingen Ingenie S de de Sitio Web Web
b. Crear
l a
T abla
e n
l a
B ase
d e
D atos
( Empleado)
b. Crear la Tabla en la Base de Datos (Empleado) b. Crear la Tabla en la Base de Datos (Empleado)
4 3
3 4
PrcAca
3 .1
C rear
R epositorio
Servicios Web y Arquitecturas REST Persistente
Prctica 3.1 Crear Repositorio Persistente
Aadir
las
a a
la la
Tabla Tabla
c. Aadir filas
Servicios Web y Arquitecturas REST PrcAca
3 .2
C rear
P royecto
Prctica 3.2 Crear Proyecto a. Crear un nuevo proyecto
1 3
6
24
PrcAca 3.2 CREST rear Proyecto rvicios Web y Arquitecturas ctica 3.2 Crear Proyecto
PrcAca
3 .3
C rear
R ecurso
( EnAdad
Servicios Web y Arquitecturas REST Persistente)
Prctica 3.3 Crear Recurso (Entidad Persistente)
1
2
3
PrcAca 3.3 Crear Recurso (EnAdad Servicios Web y Arquitecturas REST Persistente) Prctica 3.3 Crear Recurso (Entidad Persistente)
Servicios Web y
Arquitecturas REST PrcAca
3.4
Crear
Servicio
Web
REST
Prctica 3.4 Crear Servicio Web REST
1
Servicios Web y REST PrcAca
3Arquitecturas .4
Crear
S ervicio
Web
REST
Prctica 3.4 Crear Servicio Web REST
4 5
PrcAca
3.5
Probar
Servicio
Web
Servicios Web y Arquitecturas REST REST
Prctica 3.5 Probar Servicio Web REST
mster online en Direccin e Ingeniera 3 de Sitios Web
1
32