PDF de programación - Unidad II. Sesión 15. Servicios Web - Bases de datos avanzadas

Imágen de pdf Unidad II. Sesión 15. Servicios Web - Bases de datos avanzadas

Unidad II. Sesión 15. Servicios Web - Bases de datos avanzadasgráfica de visualizaciones

Publicado el 15 de Octubre del 2020
508 visualizaciones desde el 15 de Octubre del 2020
479,7 KB
66 paginas
Creado hace 20a (07/12/2003)
Bases de datos

avanzadas

Universidad de Los Andes
Postgrado en Computación

Prof. Isabel M. Besembel Carrera

Unidad II. Sesión 15. Servicios Web .

1

Introducción

B2B

Servidor de empresa

XML

XML

fábricas

XML

Interfaz
XML

WEB

XML

ERP

proveedor

XML

e

t

n
e

i
l

c

mainframe

Dec. 2003

Isabel Besembel. ULA-PGCOMP

2

Arquitectura de los servicios web

Servicio web: módulo aplicación web que ofrece una interfaz programable

accesible por XML

Descripción del servicio: definición de las interfaces de servicio en términos de

operaciones y parámetros en WSDL (Web Service Definition Language)

Protocolo SOAP (Single Object Application Protocol): introducido en 1999 por
Don Box de DevelopMentor, Dave Winer de Userland y un equipo de Microsoft
COM.
Protocolo de invocación de servicios y respuesta en XML usado arriba de http
Componentes:

o Sobre contentivo del mensaje y cómo debe ser tratado
o Especificación de enlace a un protocolo transporte para intercambio de mensajes
o Conjunto de reglas de codificación para representar los datos de la aplicación
o Representación de las llamadas y respuestas

Dec. 2003

Isabel Besembel. ULA-PGCOMP

3

Componentes de la arquitectura
Basado en la arquitectura CORBA para objetos distribuidos, pero usa

XML para la descripción e invocación de los servicios

Proveedor de servicio (service provider): aplicación que se ejecuta en
el servidor que contiene un módulo accesible por el cliente web vía el
protocolo SOAP

Registro de servicio (service registry): catálogo de los proveedores de

servicio gestionado por un servidor a nivel aplicación

Solicitador de servicio (service requester): aplicación cliente ligada a

un servicio que invoca las funciones por mensajes XML
intercambiados vía protocolo SOAP

Arquitectura recursiva: una aplicación solicitadora de servicio puede a

su vez ser una aplicación proveedora de servicio

Dec. 2003

Isabel Besembel. ULA-PGCOMP

4

Arquitectura de servicios web

servidor

Service
provider

Service
provider

servidor

publish

publish

servidor

Service
provider

servidor

Service
provider

request

publish

publish

request

request

request

Service
registry

servidor

find

publish

Service
requester

Service
provider

servidor

cliente

Dec. 2003

Isabel Besembel. ULA-PGCOMP

5

Servicios con WSDL …

WSDL: lenguaje con sintaxis XML para describir los servicios web
Cliente: el compilador WSDL genera el código de invocación de

servicio

Servidor: genera el código de interfaz entre el protocolo y el servicio
Modelo de intercambio inspirado en la navegación marítima: mensajes

contenidos en sobres intercambiados de puerto en puerto

Puerto WSDL: nombre que identifica un grupo de operaciones que

permiten el acceso al servicio web vía un protocolo específico (SOAP,
HTTP, SMTP, etc.)

Enlace WSDL: especificación del tipo de acceso, del protocolo de

transporte y de la codificación de los parámetros en el mensaje para
un tipo de puerto dado

Dec. 2003

Isabel Besembel. ULA-PGCOMP

6

Servicios con WSDL

Mensaje WSDL: grupo de datos codificados en XML que permiten la invocación de una

operación asignada a un puerto cliente o de responder (servidor)

Elementos:

o Type: define el conjunto de tipos de los parámetros, estándar XML
o Message: describe los parámetros de entrada y salida por cada operación
o Port: define un grupo de operaciones bajo un puerto
o Binding: especifica un enlace entre el tipo de puerto y el protocolo de acceso
o Service: especifica la colección de puertos y sus URLs de acceso

mensaje

sobre

cliente

puerto

operaciones

servicio

mensaje

sobre

Dec. 2003

Isabel Besembel. ULA-PGCOMP

7

Ejemplo WSDL

<definitions name=“Hotel” targetNamespace=“http://ejemplo.com/hotel.wsdl”
xmlns:wns=“http://ejemplo.com/hotel.wsdl” xmlns:xsd=“http://www.w3.org/2001/XMLSchema”
xmlns:soap=“http://schemas.xmlsoap.org/wsdl/soap/” xmlns=“http://schemas.xmlsoap.org/wsdl/”>

<types>

definición de los tipos de datos

-->

declaración de los mensajes entrada y salida por separado

declaración de las operaciones asociación con los mensajes

<!--

</types>
<message>
<!--

</message>
<portType>
<!--
</portType>
<binding>
<!--
</binding>
<service name=“Hotel”>

</service>
</definitions>

definición del enlace wsdl – soap acciones y codificaciones

<!-- declaración de los puertos (grupo de operaciones y protocolos de acceso)

-->

-->

-->

-->

Dec. 2003

Isabel Besembel. ULA-PGCOMP

8

Catálogo de servicios UDDI

Catálogo UDDI (Universal Description,

Discovery, and Integration Registry): catálogo
de servicio accesible en web que describe las
empresas y sus servicios, tanto a nivel
funcional como técnico, que permite a los
usuarios descubrir los servicios disponibles

Funciones:

o Registrar su empresa dando su identidad,

descripción, lista de categorías y tipos de servicios
ofertados

o Registro de los servicios que ofrece la empresa

con sus nombres. Descripción y categorías

o Registro de las operaciones para cada uno de los

servicios definidos con sus datos técnicos
correspondientes

Catálogo

UDDI
maestro

copia

Catálogo

UDDI

segundario

Gerencia de

pedidos

Solicitud

de

servicio

documento

programa

Dec. 2003

Isabel Besembel. ULA-PGCOMP

9

Contenido del catálogo

Páginas blancas

BusinessKey, AuthorizedName,

Operator, Name, Description,
CategoryBag, BusinessServices

Páginas amarillas

ServiceKey, BusinessKey, Name,

Description, CategoryBag,
BindingTemplates

Páginas verdes

BindingKey, ServiceKey,
Description, AccessPoint,
TModelInstances

El descubrimiento de los servicios se
hace con el comando find emitido por
la gerencia de pedidos

www.uddi.org

BusinessEntity

tModel

BusinessService

PublisherAssertion

BindingTemplates

Dec. 2003

Isabel Besembel. ULA-PGCOMP

10

Técnica introducida en la arquitectura

distribuida DCE en 1980

Ofrece las funciones de llamador y de

llamado en el site del llamador

El origen de procuración (proxy)

transforma la invocación al
procedimiento en el envío de un
mensaje desde el sitio llamador al sitio
llamado, donde lo recibe un
transformador simétrico que hace la
invocación al llamado

RPC

Llamador

proxy

Red de interconexión

proxy

Llamado

Dec. 2003

Isabel Besembel. ULA-PGCOMP

11

David Winer, Userland, 1998

introdujo dos tipos de documentos
<methodCall> y <methodResponse>
sobre http en formato MIME text/xml
Extendido y estandarizado en 2001

por W3C como la versión 2.1 de
SOAP

Objetivo:

Permitir la invocación sobre los

puertos de conexión de servicios web
que ofrecen operaciones dándoles la
ilusión de ser locales

Arquitectura de un servidor SOAP

XML - RPC

Ixxnet

Servidor

http

Otro servidor
Aplicación Java

Navegador

Cliente

….

Servidor SOAP

Documents handlers

SOAP
runtime

WSDL
creation

Data

Transaction

Translation

logic

Datos y acceso a

los objetos

Núcleo de
servicios XML
Parser, DOM,
XSL, XQL,
XPointer,
DOMlets

Clases
Java,

seguridad,
gestión de
memoria
escondida

BD XML, email, CORBA, COM, EJB

Dec. 2003

Isabel Besembel. ULA-PGCOMP

12

SOAP…
Codificación universal de llamadas y respuestas de procedimientos de

tipo RPC

Protocolo independiente de plataforma y de lenguaje de programación
Partes:

Construcción del sobre “envelope”: define el contenido del mensaje, quien

debe tratarlo y si es opcional u obligatorio

Enlace: define cómo intercambiar los sobres entre los participantes usando

un protocolo de transporte (http, smtp, etc.)

Reglas de codificación: definen el mecanismo de serialización que puede

ser utilizado para intercambiar instancias de los tipos de datos de la
aplicación

Representación RPC: define una convención para representar el llamdo a

procedimientos distantes en SOAP

Dec. 2003

Isabel Besembel. ULA-PGCOMP

13

SOAP…

Mensaje SOAP: documento XML cuya raíz es <envelope> que

contiene un elemento <Heading> y uno <Body> que permite invocar
una operación distante o transmitir la respuesta de la operación

Sobre SOAP: raíz del documento XML que contiene el mensaje SOAP

definiendo el espacio de nombres, el estilo de codificación, etc.

cortafuego

cortafuego

Puerto de conexión

proxy

Mensajes

SOAP

HTTP

llamada

Translator

SOAP

RPC
local

Aplicación

cliente

Parser
XML

respuesta

Parser
XML

Servidor

de

aplicación

Dec. 2003

Isabel Besembel. ULA-PGCOMP

14

SOAP…

Sobre de mensajes: elementos que definen la estructura de los

mensajes SOAP que deben estar asociados al espacio de nombres
www.w3.org/2001/09/soap-envelope

Atributo encodingStyle en www.w3.org/2001/06/soap-encoding
Ejemplo:

<env:Envelope xmlns:env=“http://www.w3.org/2001/09/soap-envelope”>

<env:Header> …..
<env:Body> ….

</env:Header>
</env:Body>

Solicitud de paso de

la transacción 7
Tomar en cuenta
obligatoriamente

</env:Envelope>

<env:Header>

</t:Transaction>

</env:Header>

<t:Transaction xmlns:t=“http://ejemplo.org/tx” env:mustUnderstand=“1”>

<t:trid>7</t:trid>
<t:action>commit</t:action>

Dec. 2003

Isabel Besembel. ULA-PGCOMP

15

SOAP…

Cuerpo del mensaje: puede contener 0 o más elementos hijos llamados bloques
Bloque de manejo de errores:

Obligatorio

o

o

<faultcode> valores (VersionMismatch, Client, Server, MustUnderstand, DataEncodingUnknown)
<faultstring> documentación del error

Opcionales

o

o

<faultfactor> precisa el autor del error
<detail> transmisión de un código de error de la aplicación

<env:Body>

</hotel:CualHotel>
<env:Fault>

</env:Fault>

</env
  • Links de descarga
http://lwp-l.com/pdf18365

Comentarios de: Unidad II. Sesión 15. Servicios Web - Bases de datos avanzadas (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