PDF de programación - Servicios Web II (Ejemplos) - Sistemas de Información

Imágen de pdf Servicios Web II (Ejemplos) - Sistemas de Información

Servicios Web II (Ejemplos) - Sistemas de Informacióngráfica de visualizaciones

Publicado el 21 de Febrero del 2021
396 visualizaciones desde el 21 de Febrero del 2021
498,3 KB
62 paginas
Creado hace 18a (24/01/2006)
Sistemas de Información

Servicios Web II (Ejemplos)

Agradecimientos: Mario Muñoz Organero <munozm>, Simon Pickin de IT/UCIIIM <spickin>

Web Services (Repaso)
¿Qué son?

un mecanismo de comunicación distribuida
que permite que las aplicaciones:

compartan información
invoquen funciones de otras aplicaciones

independientemente de

Cómo hayan sido creadas (lenguaje de programación)
Cómo se ejecutan (sistema operativo y plataforma)
Dispositivos utilizados para acceder a ellas

¿Para qué sirven?

Incluido en la propia definición (puntos 2 y 3)
Crean una especie de WWW paralela de carácter cibernético

WWW humana (personas accediendo a pags web)
WWW cibernética (aplicaciones accediendo a servicios Web)

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

2

Web Services (Repaso)
¿Cómo se usan?

Crear la lógica del negocio del Servicio Web. Diseñar e
implementar la aplicación que contenga la lógica de negocio del
servicio Web (cualquier lenguaje, plataforma y sistema operativo)

Desplegar el servicio en un servidor

Instalar y configurar el servidor
Ubicar la aplicación en el lugar adecuado
Convertir aplicación en un WS proporcionando descripción WSDL.
Registrar el servicio web en un directorio (opcional) usando UDDI

Desarrollar la aplicación cliente que accede al servicio Web.

El cliente usa protocolo de mensajería XML para acceder al WS
2 estilos (rpc vs Document)

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

3

Web Services (Repaso)
¿Tecnologías utilizadas?

WSDL (Web Service Description Language) :

Sirve para describir el servicio
Suele utilizarse

SOAP (Simple Object Access Protocol) :

Sirve para intercambio de mensajes protocolo subyacente
Ampliamente utilizado

UDDI (Universal Description, Discovery and Integration):

Sirve para descubrimiento de servicios.
Empieza a utilizarse

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

4

WSDL - Ejemplos

Web Service Description Language

Componentes de un servicio

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

6

Componentes de un servicio

<?xml version="1.0" encoding="UTF-8"?>
<definition> Es el elemento raíz de un documento WSDL

<types> Indica qué tipo de datos serán transmitidos </types>

<message> Indica qué mensaje será transmitido </message >

<porttype> Indica qué operaciones (funciones) se soportan </porttype >

<binding> Indica:

• Cómo se transmitirán los mensajes por la red
• Qué detalles hay sobre SOAP

</binding >
<service> Indica donde está localizado el servicio </service>

</definition>

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

7

Otros componentes

documentation

Se usa para añadir comentarios en lenguaje humano

a las definiciones.

import

include

nombres.

Importa otros documentos dentro del actual

incorporando otro espacio de nombres.

Igual que import pero con el mismo espacio de

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

8

import

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

9

Espacios de nombres

URI del espacio de nombres

definición

http://schemas.xmlsoap.org/wsdl/ WSDL namespace for WSDL

http://schemas.xmlsoap.org/wsdl/soap/ WSDL namespace for WSDL SOAP

framework.

binding.

binding.

SOAP 1.1

SOAP 1.1

Prefijo
wsdl

soap

http

Xsi

Xsd

Tns

http://schemas.xmlsoap.org/wsdl/http/ WSDL namespace for WSDL HTTP

GET & POST binding.

Mime http://schemas.xmlsoap.org/wsdl/mime/ WSDL namespace for WSDL MIME

soapenc http://schemas.xmlsoap.org/soap/encoding/ Encoding namespace as defined by

Soapenv http://schemas.xmlsoap.org/soap/envelope/ Envelope namespace as defined by

http://www.w3.org/2000/10/XMLSchema-instance Instance namespace as defined by

http://www.w3.org/2000/10/XMLSchema

(various)

XSD
Schema namespace as defined by
XSD
El “this namespase”
convención para referirse al
documento corriente.

(tns) se usa como

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

10

Ejemplo WSDL
http://www.oreilly.com/catalog/webservess/chapter/ch06.html
<?xml version="1.0" encoding="UTF-8"?>
<definition> El servicio HelloService

sayHelloRequest: El nombre del primer parámetro
sayHelloResponse: el saludo que corresponde al valor de retorno

<message>
1)
2)
</message >
<porttype> operación sayHello que consiste en un servicio
request/response </porttype >
<binding> Indica:

Dirección para usar el protocolo de transporte SOAP HTTP

</binding >

<service> Dirección donde está localizado el servicio
http://localhost:8080/soap/servlet/rpcrouter </service>

</definition>

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

11

definitions

Atributos:

Un nombre local para las definiciones
El nombre para el espacio de nombres "http://www.w3.org/2004/08/wsdl".
Los siguientes atributos:

targetNamespace – requerido
Otros espacios de nombres distintos a "http://www.w3.org/2004/08/wsdl".

Elementos hijos:

import
types
message
portType
binding
port
service

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

12

targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.ecerami.com/wsdl/HelloService.wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<type> Indica qué operaciones (funciones) se soportan </porttype >
<message name="SayHelloRequest">

<part name="firstName" type="xsd:string"/>

</message>
<message name="SayHelloResponse">

Ejemplo - WSDL

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="HelloService“

<part name="greeting" type="xsd:string"/>

</message>
<porttype> Indica qué operaciones (funciones) se soportan </porttype >
<binding> Cómo se transmitirán los mensajes </binding >
<service> Indica donde está localizado el servicio </service>

</definitions>
munozm, spickin, mcfp @it.uc3m.es

Servidores de información

13

types

Definiciones de

tipos de datos que son

relevantes para el intercambio de mensajes.

Se usa XSD (interoperabilidad).

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

14

messages

Cada mensaje tiene partes.
Cada parte tiene nombre y tipo.

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

15

message



munozm, spickin, mcfp @it.uc3m.es

Servidores de información

16

targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.ecerami.com/wsdl/HelloService.wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<type> Indica qué operaciones (funciones) se soportan </porttype >
<message name="SayHelloRequest">

<part name="firstName" type="xsd:string"/>

</message>
<message name="SayHelloResponse">

Ejemplo - WSDL

<?xml version="1.0" encoding="UTF-8"?>
<definitions name="HelloService“

<part name="greeting" type="xsd:string"/>

</message>
<porttype> Indica qué operaciones (funciones) se soportan </porttype >
<binding> Cómo se transmitirán los mensajes </binding >
<service> Indica donde está localizado el servicio </service>

</definitions>
munozm, spickin, mcfp @it.uc3m.es

Servidores de información

17

portType

Conjunto de operaciones.
Cada tipo de puerto tiene su nombre.

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

18

operations

Cada una de las funciones que se pueden invocar en un

puerto.

Cuatro tipos:

One-way. Se recibe un mensaje.
Request-response. Se recibe un mensaje y se contesta.
Solicit-response. Se manda un mensaje y se espera la

respuesta.

Notification. Se envía un mensaje para el que no se espera

respuesta.

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

19

Ejemplo - WSDL

<?xml version="1.0" encoding="UTF-8"?>
<definitions … >

<type> Indica qué operaciones (funciones) se soportan </porttype >
<message> Indica qué mensaje será transmitido </message >
<portType name="Hello_PortType">
<operation name="sayHello">

<input message="tns:SayHelloRequest"/>
<output message="tns:SayHelloResponse"/>

</operation>

</portType>

<binding> Cómo se transmitirán los mensajes </binding >
<service> Indica donde está localizado el servicio </service>

</definitions>
munozm, spickin, mcfp @it.uc3m.es

Servidores de información

20

bindings

Se les pone un nombre.
El tipo hace referencia al portType.
Los

campos

de

recogen
la gramática
elementos
concreta para los mensajes de entrada, salida y
error.

extensibilidad

especifican

que

Se puede especificar opcionalmente información
de binding para toda una operación así como
para todo el elemento de binding.

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

21

Otros binding

A parte de SOAP tenemos:

MIME
HTTP GET/POST

munozm, spickin, mcfp @it.uc3m.es

Servidores de información

22

Ejemplo - WSDL

<?xml version="1.0" encoding="UTF-8"?>
<definitions … >

<type> Indica qué operaciones (funciones) se soportan </porttype >
<message> Indica qué mensaje será transmitido </message >
<porttype> Indica qué operaciones (funciones) se soportan </porttype >

<binding
  • Links de descarga
http://lwp-l.com/pdf18887

Comentarios de: Servicios Web II (Ejemplos) - Sistemas de Información (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