Tema 6 - Servicios Web (Parte 1- Introducción)
-
Upload
moises-hernandez-garcia -
Category
Documents
-
view
218 -
download
0
Transcript of Tema 6 - Servicios Web (Parte 1- Introducción)
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
1/49
Tema VI. Servicios WebI. Introduccin
Desarrollo de Aplicaciones para InternetCurso 12|13
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
2/49
ndice
1.Introduccin
2.Llamada a Procedimientos Remotos (RPC)
3.er!icios "e#
i. Introduccin
ii. "DL
iii.$AP
i!.%DDI
&.Re'erencias
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
3/49
ndice
1.Introduccin
2.Llamada a Procedimientos Remotos (RPC)
3.er!icios "e#
i. Introduccin
ii. "DL
iii.$AP
i!.%DDI
&.Re'erencias
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
4/49
Introduccin
Los ser!icios "e# son una tecnoloa dellamada a procedimientos remotos(RemoteProcedure Call, RPC)
us caractersticas principalesson %so las tecnoloas * protocolos "e#
(especialmente +,,P)
-uertemente #asado en /L
Independiente del lenua0e
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
5/49
ndice
1.Introduccin
2.Llamada a Procedimientos Remotos (RP!
3.er!icios "e#
i. Introduccin
ii. "DL
iii.$AP
i!.%DDI
&.Re'erencias
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
6/49
Llamada a Procedimientos Remotos
"b#etivo principal In!ocacin de procedimientos (o'unciones o mtodos etc.) entre dos procesos
on tecnoloas cliente$servidor
%bstraenal proramador de las comunicacionessub&acentesmediante 4estin del medio de comunicacin(estin de
soc5ets estin de 'lu0os etc.)
4estin de los protocolos de comunicacin 4estin de la seriali'acin de los datos
(aplanamiento6marshalling*desaplanamiento6unmarshalling)
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
7/49
-uncionamiento de RPC
Aun7ue depende de la tecnoloa el procesode una llamada en RPsuele ser
1.8l cliente in!oca un procedimiento del stub*
cliente (llamada local)2.8l stubcliente empa7ueta los par9metros * el
identi'icador del procedimiento en un mensa0e
3.8l stubcliente :ace una llamada al sistema RPC
para en!iar el mensa0e * 7ueda a la espera&.8l mensa0e se en!a al proceso remoto
;.8l proceso remoto reci#e el mensa0e
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
8/49
-uncionamiento de RPC
Proceso de una llamada en RP (cont.!
=.8l mensa0e es pasado al stubser!idor (skeleton.8l stubser!idor in!oca el procedimiento del real conlos par9metros reci#idos
?.8l stubser!idor recoe el resultado de la llamada * loempa7ueta en un mensa0e
@.8l mensa0e de respuesta se en!a al cliente1.8l cliente reci#e el mensa0e * lo pasa al stubcliente
11.8l stubcliente desempa7ueta el mensa0e * de!uel!ecomo resultado de la llamada
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
9/49
-uncionamiento de RPC
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
10/49
Componentes RPC
Los componentes ms )abitualesson Inter*a' del servicio
Los procedimientos servidosse suelen de'inir en una
inter*a' Pueden de'inirse en el mismo len+ua#e7ue las
implementar9 o un len+ua#e +en,rico(IDL, InterfaceDefinition Language)
Los stubs* skeletonsse eneran a partir de estas
inter'aces /ediante un compilador de inter*aces 7ue crea * compila
las implementaciones /edianteproxystransparentescreados durante la e0ecucin
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
11/49
Componentes RPC
Los componentes ms )abitualesson(cont.) Stub
Representantes del ser!idor en el cliente ,iene la misma inter'a 7ue el ser!icio remoto uele ser transparente para el proramador (actEa
como un o#0eto local)
Skeleton Representante de los clientes en el ser!idor Conoce a los procedimientos locales ser!idos por RPC 8s 7uien :ace las llamadas reales
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
12/49
Componentes RPC
Los componentes ms )abitualesson(cont.) Servicio de binding
AFade transparencia de localiacin Permite asociar un procedimiento remoto con una
u#icacin en la m97uina ser!idor (%RL) 4estiona las in!ocaciones remotas para 7ue lleuen al
procedimiento real 7ue de#e e0ecutarse Decide 7u skeletonde#e estionar cada peticin
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
13/49
,ecnoloas RPC
Alunas de las tecnolo+as RPm9s conocidas son $pen GetBor5 Computin RPC ($GC RPC 6 un RPC)
Common $#0ect Re7uest Hro5er Arc:itecture (C$RHA)
%ni Remote Procedure Call (RPC)
Ja!a Remote /et:od In!ocation (Ja!a R/I)
/L Remote Procedure Call (/LKRPC)
J$G Remote Procedure Call
Distri#uted Component $#0ect /odel (DC$/)
"indoBs Communication -oundation
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
14/49
ndice
1.Introduccin
2.Llamada a Procedimientos Remotos (RPC)
-.Servicios Web
i. Introduccin
ii. "DL
iii.$AP
i!.%DDI
&.Re'erencias
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
15/49
er!icios "e#
%n servicio Webes un sistema so'tBare diseFadopara soportar interacciones interoperablesmuina/a/muinaso#re una red
,iene una inter*a'descrita en un 'ormato procesablepor muinas(concretamente WS0L)
"tros sistemas interactancon el ser!icio "e# delmodo 7ue se prescri#e en su descripcin usandomensa#es S"%P tpicamente transportados usando
TTPcon una seriali'acin de 34Len con0unto conotros est9ndares "e# relacionados
De'inicin tomada de :ttp66BBB.B3.or6,R62&6G$,8KBsKlossK2&2116Be#ser!ice
http://www.w3.org/TR/2004/NOTE-ws-gloss-20040211/#webservicehttp://www.w3.org/TR/2004/NOTE-ws-gloss-20040211/#webservicehttp://www.w3.org/TR/2004/NOTE-ws-gloss-20040211/#webservice -
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
16/49
er!icios "e# !s $tros RPC
Problemas de otros RP
Comple0idad
Coste
-lei#ilidad oporte
Dependientes de un lenua0e
8st9ndares cerrados -alta de acuerdo en la industria
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
17/49
er!icios "e#
Venta#as de los Serivicos Web
Cuanto aparecieron las empresas *a :a#an adoptado+,,P M ,CP6IP como est9ndar de comunicaciones
/L cu#ri la necesidad de un sistema de codi'icacin *
'ormato de mensa0es Independiente del lenua0e
Independiente de la plata'orma
imples * etensi#les
Comunicacin en 'ormato teto (/L)
%so de est9ndares a#iertos ("3C)
/enos pro#lemas con los 'ireBalls
u uso se etendi r9pidamente (acuerdo en la industria)
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
18/49
er!icios "e#
Creados a partir de 34L/RP(por /icroso't e IH/) e #asan en tres estndares
Simple "b#ect %ccess Protocol (S"%P!
Protocolo de comunicaciones
Web Service 0escription Lan+ua+e (WS0L!
Lenua0e de descripcin de ser!icios
5niversal 0escription6 0iscover& and Inte+ration (500I!
Pu#licacin * solicitud de ser!icios
Adem9s todos se #asan en 34L Descripcin de los ser!icios
Representar los mensa0es en!iados
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
19/49
7lu#o de 8#ecucin
1.8l ser!idor pu#lica el ser!icio * loreistra en el reistro %DDI
2.8l cliente #usca un ser!icio en elreistro %DDI
3.8l cliente o#tiene la descripcin("DL) del ser!icio
&.8l cliente in!oca el ser!icio
;.8l ser!idor de!uel!e la respuesta
8s :a#itual 7ue no eista un
ser!idor %DDI con lo 7ue el"DL es ser!ido por el propioser!idor
8s7uema 4eneral
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
20/49
Ar7uitectura er!icios "e#
De'inicin tomada de :ttp66BBB.B3.or6,R6BsKarc:6Bsasd
http://www.w3.org/TR/ws-arch/#gwsasdhttp://www.w3.org/TR/ws-arch/#gwsasd -
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
21/49
ndice
1.Introduccin2.Llamada a Procedimientos Remotos (RPC)
-.Servicios Web
i. Introduccin
ii.WS0L
iii.$AP
i!.%DDI&.Re'erencias
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
22/49
"DL
8s el lenua0e 7ue permite de*inir los servicios Puede !erse como un I0L Los ser!icios se de'inen utiliando 34L
Permiten descri#ir Servicios
Gom#res de ser!icio (puertos) * arumentos ,ipos de los arumentos * del retorno
Protocolo de transportea utiliar con cada ser!icio 5bicacin del servicio(%RI)
8s una recomendacin W-
Nersin 1.1 (m9s etendida) :ttp66BBB.B3.or6,R6Bsdl
Nersin 2. (actual) :ttp66BBB.B3.or6,R6Bsdl26
http://www.w3.org/TR/wsdlhttp://www.w3.org/TR/wsdl20/http://www.w3.org/TR/wsdl20/http://www.w3.org/TR/wsdl -
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
23/49
Documentos "DL
0escriben un servicio 9eb
8st9 compuesto por una serie de puertos7uerepresentan los puntos *inales(endpoint) decomunicacin (e7ui!alen a un procedimiento enRPC)
e distinuen dos partes Seccin abstracta Contiene las de'iniciones de tipos
mensa0es * las inter'aces (tipos de puerto) Seccin concreta Contiene los bindings* los
ser!icios concretos
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
24/49
80emplo O Cdio -uente
Inter*a' del Servicio (S8I! Publicacin del Servicio
liente del Servicio (Perl!Implementacin del Servicio (SI:!
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
25/49
80emplo O "DL
8n -aitic podis encontrar los siuientes 'ic:eros TimeService.tar.gz Contiene un pro*ecto 8clipse
con el cdio del e0emplo. 8ste pro*ecto inclu*e lose0emplos de "DL * de $AP
wsdlRPC.xml Contiene el "DL enerado utiliandoel estilo RPC
wsdlDocument.xml Contiene el "DL eneradoutiliando el estilo D$C%/8G,
xsdDocument.xml Contiene el /L c:emaenerado utiliando el estilo D$C%/8G,
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
26/49
8lementos "DL
definitions
8s el elemento ra'
types(seccin a#stracta)
Contiene la de'inicin de los tipos usados por el servicio9eb
uelen utiliarse los tipos deXML Schema
8s opcional
message(seccin a#stracta) Contiene la de'inicin de los mensa#es intercambiados
Representan tanto a peticionescomo a respuestas
8st9 compuesto una serie de elementos part
,ienen un nombre* un tipo(atri#utos name* type)
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
27/49
8lementos "DL
portType(seccin a#stracta) Descri#e las operaciones7ue puede realiar el
ser!icio Be#
Puede !erse como una #i#lioteca de 'unciones Cada operacin (operation!tiene unos
mensa#es asociados
8ntrada (input! 8s el mensa0e 7ue espera reci#ir el
ser!idor Salida (output! 8s el mensa0e 7ue responder9 el
ser!idor
-
7/21/2019 Tema 6 - Servicios Web (Parte 1- Introduccin)
28/49
8lementos "DL
portType(continuacin) 8l orden * presencia de input* outputde'inen
el modelo de operacin