PDF de programación - Web Services

<<>>
Imágen de pdf Web Services

Web Servicesgráfica de visualizaciones

Publicado el 22 de Enero del 2019
873 visualizaciones desde el 22 de Enero del 2019
359,5 KB
27 paginas
:(%6HUYLFHV

,QWHURSHUDELOLGDGHQWUH$SOLFDFLRQHV
0RGHOR3URJUDPD3URJUDPD «33

&RQWHQLGR

• Servicios en la Web
• El papel de XML y la plataforma Java
• Las APIs de Java para XML

– JAXP
– JAXB
– JAX-RPC
– JAXR
– JAXM

• Ejemplo

– Códigos
– Instalación y ejecución

1



6HUYLFLRVHQOD:HE

• Es un servicio disponible en Internet que utiliza sistema de intercambio

de información vía XML y no es dependiente de ningún sistema
operativo ni de algún lenguaje de programación.

XML

Windows 2000

Perl

XML

Linux
Java

• Una aplicación envía una request a un servicio en una determinada

URL usando el protocolo SOAP encima de HTTP. El servicio Web recibe
la petición, la procesa y devuelve una respuesta.

• Ejemplo típico:

• un servicio Web de valores de bolsa donde la request solicita el

valor de una acción determinada y la respuesta ofrece ese
valor. En este caso la request y la response son partes del
mismo método de llamada.

6HUYLFLRVHQOD:HE

• Otro ejemplo es un servicio que ofrece una ruta eficiente para la

entrega de productos. En este caso, una empresa envía una request
con los destinos, el servicio Web los procesa y determina la ruta de
mínimo coste. En esta caso, el algoritmo que resuelve la ruta óptima
podría tardar y por tanto el response no debe formar parte de la
request.

• En muchos casos, una empresa puede ser consumidora de servicios

Web y al mismo tiempo ofrecer sus servicios Web a otras.

• Típico ejemplo es un distribuidor al por mayor tiene un rol de

consumidor cuando usa el servicio Web para comprobar si una
empresa le ofrece un producto determinado y será un
proveedor de servicio Web en el caso de que ofrezca a sus
clientes información de sus productos.

2



(OUROHGH;0/\ODSODWDIRUPD-DYD

• Los Web Services dependen de la habilidad de las

diferentes compañías (partes) en comunicarse entre sí
incluso si utilizan diferentes plataformas.

• XML (e;tensible 0arkup /anguage), es un lenguaje de
marcado que ofrece portabilidad de los datos. XML se usa
ya en casi todos los entornos Web y cada vez más, las
empresas apuestan por este lenguaje para intercambio de
datos.

• También la plataforma Java ha sido clave para la

evolución de esta tecnología. SUN tiene tiene una API
Java para XML haciendo la integración en las aplicaciones

muy interesante. KWWSMDYDVXQFRPZHEVHUYLFHV

5ROHVHQORV:HE6HUYLFHV

• Service Provider

– Implementa el servicio y lo hace disponible en Internet.

• Service Requestor

– Consumidor de servicios. Inicializa un nuevo servicio

Web creando una nueva conexión con y realiza
peticiones XML.

• Service Registry

– Directorio de servicios centralizado. El registry ofrece

un lugar centralizado donde los desarrolladores puedan
publicar nuevos servicios o encontrar los ya publicados.

3



/RV3URWRFRORVHQ:HE6HUYLFHV

• Service Transport

– HTTP, SMTP, FTP, …

• XML messaging

– XML-RPC, SOAP XML.

• Service Description

– WSDL

• Service Discovery

– UDDI

;0/53&

• Es un protocolo sencillo que utiliza mensajes XML para

realizar RPC.

• Las Request son codificadas en XML y enviadas vía HTTP

Post.

• Las XML Response son devueltas en el cuerpo de un

mensaje de Response HTTP.

• XML-RPC es independiente de la plataforma.

• Permite la comunicación entre aplicaciones diversas.

4



(MHPSORGH5HTXHVW ;0/53&

"[PO YHUVLRQ ‡·!
PHWKRG&DOO!
PHWKRG1DPH!ZHDWKHUJHW:HDWKHUPHWKRG1DPH!
SDUDPV!
SDUDPV!
PHWKRG&DOO!

SDUDP!YDOXH!YDOXH!SDUDP!

(MHPSORGH5HVSRQVH;0/53&

"[PO YHUVLRQ ‡·!
PHWKRG5HVSRQVH!

SDUDP!YDOXH!LQW!LQW!SDUDP!

SDUDPV!
SDUDPV!

PHWKRG5HVSRQVH!

5



62$36LPSOH2EMHFW $FFHVV3URWRFRO

• Es un protocolo basado en XML para el intercambio de

información entre computadores.

• Es independiente de la plataforma.

• La forma normal de usarlo es como RPC sobre HTTP.

• SOAP es más complejo que XML-RPC. Hace uso de XML
namespaces y de XML Schemas. Sin embargo, el cuerpo
de la Request SOAP especifica tanto el método a ejecutar
como los parámetros.

(MHPSORGHPHQVDMH62$3

9DORUGHEROVD

2$7

C%DE43 *2 12F#G1IHI:KJ%L

-.-.-'


 "!#$ %&'(&
!)*++,
*+/0 1*2 4365 3'
 1>?@>$7BA
$91 491;: <4= $,
>>>>
$91 491;:?M@ 49NOD$,
$9$,

QPR P#+OS
LT$7U :?VRW)X;L
$=
Z915 4A

QPR %:?Z[#\],

QPR %:Z[#\F
^_7BA
9*,

QPR %:Z[#\],
492`0S
9N%I<4A
b%`<$a

QPR %:?Z[#\],
d_ 1;M@E*+I$36E`4  $3S
7c,
*+<7Bg$A
a]XTbih
7j,
d_ 1OM2E*+I$36E`4 4 %3S

_PR %:?Z[i\],
b%`<%a
$= $a

_P_ 4:?Z[#\Q,(Z915 4A

D1KO=$,
0F
2 e>%7BA
*T<47Bg%A
2 $a

>$7BA
*2D 47UE*'

1*2D 47UE*'
*+E4=4'
D1IO=$,
>$7BA
9*,(7fF#G+*2$7U :?V)W)X;La

$3 N$@*2E4= 4915 4A
*+E4=4'

$= 
$36N$*2E%= 492`0S




9N$

 

6

8
8
Y
a
Y
Y
Y
Y
a
Y
Y
Y
(MHPSORGHPHQVDMH62$3

C%DE43 *2 12F#G1IHI:KJ%L

5HVSRQVHGH
!#$ %&'(&lkm4mU
n
 1>?@>$7BA
$91 491;: <4= $,
>>>>
$91 491;:?M@ 49NOD$,
$=

QPR %:?Z[#\],
Z915 4A
9*,

QPR %:Z[#\F
D1KO=$,
9N%I<4A
492`0S

QPR %:Z[#\],
0F
b%`<$a
d_ 1OM2E*TI$36E`4 4 $3S
2 4W0 *=$9*2 e>%7BA
$3S
2 $a&1m4m$'
k0&
 $3S
7c,
d_ 1;M@E*+I$36E`4  $3S

QPR %:Z[#\Q,(b%`<$a
$= $a

2 $a
2 4Wi *=$9*2 $a


_P_ 4:?Z[#\Q,(Z915 4A


QPR %:?Z[#\],
7j,

^_7BA

1*2D 47UE*'
D1IO=$,

>$7BA
*2D 47UE*'

*+E4=4'
>$7BA

$3 N$@*2E4= 4915 4A
*+E4=4'

$= 
$36N$*2E%= 492`0S

9N$

9*,(7fFiG2*2%7U :?V)W)X;La




:6’/:HE6HUYLFHV ’HVFULSWLRQ /DQJXDJH
• WSDL es una gramática XML para especificar

una interfaz pública de un servicio Web.

• Esta interfaz puede incluir información de:

• métodos disponibles,
• tipos de datos de los mensajes,
• protocolos a utilizar,
• dirección donde localizar el servicio.




7

8
8
Y
a
Y
Y
Y
Y
Y
Y
Y
(MHPSORGH:6’/

• < ?xml version= "1.0"?>

– < definitions name= "StockQuote"

targetNamespace= "http://example.com/stockquote.wsdl"
xmlns:tns= "http://example.com/stockquote.wsdl"
xmlns:xsd1= "http://example.com/stockquote.xsd"
xmlns:soap= "http://schemas.xmlsoap.org/wsdl/soap/"
xmlns= "http://schemas.xmlsoap.org/wsdl/">

– < types>

• < schema targetNamespace= "http://example.com/stockquote.xsd"

xmlns= "http://www.w3.org/2000/10/XMLSchema">

– < element name= "TradePriceRequest">

» < complexType>
» < all>
» < element name= "tickerSymbol" type= "string"/>
» < /all>
» < /complexType>

– < /element>
– < element name= "TradePrice">

» < complexType>
» < all>
» < element name= "price" type= "float"/>
» < /all>
» < /complexType>

– < /element>

• < /schema>

– < /types>

(MHPSORGH:6’/

< message name= "GetLastTradePriceInput">

< part name= "body" element= "xsd1:TradePriceRequest"/>

< /message>
< message name= "GetLastTradePriceOutput">

< part name= "body" element= "xsd1:TradePrice"/>

< /message>
< portType name= "StockQuotePortType">

< operation name= "GetLastTradePrice">

< input message= "tns:GetLastTradePriceInput"/>
< output message= "tns:GetLastTradePriceOutput"/>

< /operation>

< /portType>

o




8

(MHPSORGH:6’/

p_qr

{|K}1~2@€Q1}|Kx‡1}ˆ
| ‰1„‚xz+Š

~Txz;Š

}ˆ6u2…O}1v‚Œ| |‚z;Š
~T}wl+‘#x|?’Tv…;|6‰ˆ
vtx‡ˆKr

s1uls1vwex4yRz?{|K}1~2@€Q1}|Kx{1}1v‚ƒ4r
s1uz#| „‚x4yRzI|Is1…@†
s1tr
s1tr
s1ue…;| „‹
s1t4r
qr
x4yRzt}1~2wex1s|z
p)…O}1v‚†
|ˆ6vs1…+‚}ˆ
|OyRz;Œ|6|‚†
wl‹
2…O~2Œ1xwev…2Ž
…O}1v‚Ž
}s.s1vwx4yRzI‘#x|?’Tv…;|6‰ˆ
vtx‡ˆKr
p)}‚xˆ6v|r
~Txz+Š
}‚xˆ6v|r
}s
p)…O}1v‚†
2x@v1wl‚‹
}s%yRz;Œ| |‚†
xŽ
…O}1v‚“$~O|r
p_r
s‚|OŠ
p)…O}1v‚†
q}t1„e1…Ox4yRz;‹
|Kxˆ6v‹
z;1Š
p_r
s‚|;Š
p)}|‚|;Š
z;1Š
|Kxˆ6v‹
q}t1„e1…Ox4yRz;‹
p)…O}1v‚†
p_2}|‚|OŠ
}s%Š
p_2}‚xˆ6v|r
p_qr
s1u$Š
s1tr
~Txz+Š
~Txes1vwx4yRz?{|K}1~2@€Q1}|Kx1{xˆ
”r
p)…Oxˆ
”r
p)t}1~2wexs|Kv@|r
~Txp_2t}1~2wex1s|Kv|r
ˆ6…;|i…Oxˆ
”r
}s%Š
{|K}1~2@€Q1}|Kxƒ4r
s1uz+Š
s1tr
p_‚}ˆ
|)s1vwexyRz?{|K}1~2@€Q1}| x‡1}ˆ
|Iz_qr
}~Tv|r
~T}w.2…;|K}1~2@—1}|Kxz?Š
xŽ
}s%yRz;Œ| |‚†
p)…O}1v‚†
p_‚}ˆ
|OŠ
p_2…Oxˆ
”r
~Tx4Š
}s1…Š
|r
sr
p_2tx–Kr

}s%Š_•]„–Kr
vtt4ˆ6x…O…‹

s1u$yRzI|s1…@†
2x@vwl‚‹

str




8’’,8QLYHUVDO’HVFULSWLRQ’LVFRYHU\ DQG

,QWHJUDWLRQ RI :HE6HUYLFHV

• UDDI representa la capa de búsqueda de

servicios dentro de los protocolos Web Services.

• Es una especificación acerca de la información
de los registros distribuidos basados en la Web.

• http://www.uddi.org




9

r
r
8’’,8QLYHUVDO’HVFULSWLRQ’LVFRYHU\ DQG

,QWHJUDWLRQ RI :HE6HUYLFHV

• El componente principal de UDDI es el registro

de negocios UDDI.

• Consiste en información de los servicios en tres

formas diferentes:

– Páginas blancas

– Incluye dirección, contacto, …

– Páginas amarillas

– Incluye categoría de compañías según taxonomías

estándar.
– Páginas
  • Links de descarga
http://lwp-l.com/pdf14948

Comentarios de: Web Services (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