Publicado el 16 de Febrero del 2021
754 visualizaciones desde el 16 de Febrero del 2021
710,7 KB
63 paginas
Creado hace 19a (20/12/2005)
Sistemas de Información
Servicios Web
Agradecimientos: Mario Muñoz Organero <munozm>, Simon Pickin de IT/UCIIIM <spickin>
Índice
Qué son
Para qué sirven
¿Qué contienen?
¿Cómo se usan?
Arquitectura
Algunos estándares
Descripción del servicio: WSDL
Intercambio de mensajes: SOAP
Publicación y descubrimiento de serviciosUDDI
Proceso de estandarización
Ejemplos (próximo día)
Conclusiones y bibliografía
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
2
Algunas cifras (muy aproximadas)
La compañía de investigación de mercado IDC
estima que la inversión de las empresas americanas
en proyectos de servicios web ascenderá a los 25 mil
millones de dolares en el año 2008.
La compañía de investigación de mercado Gartner
pronostica que
las empresas estadounidenses
derrocharán mil millones de dolares en proyectos
equivocados de servicios web antes del 2007.
CIO Magazine, edición del 1 de octubre del 2003
http://www.cio.com/archive/100103/standards.html
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
3
Servicios Web: ¿Qué son?
Definición simple
Un servicio web es un componente programable que
proporciona un servicio y es accesible por Internet.
Los servicios web pueden funcionar de manera
independiente o pueden estar conectados entre sí
para proporcionar una funcionalidad mayor.
“Introduction to Web Services”, Embedded.com
http://www.embedded.com/story/OEG20020125S0103
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
4
Servicios Web ¿Para qué sirven?
Permiten que varias 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
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
5
RED
Comunicaciones
Intercambio de
datos
Clientes
Cliente
Soap/http request
Soap/httpresponse
Http get request
Http response
Servidores
información
Port 1
Service
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
6
Port 2
Servicios Web: ¿Qué contienen?
Un servicio Web consta de los siguientes 3 elementos
el servicio: software que puede procesar ciertos documentos
XML bien definidos recibidos mediante alguna combinación de
protocolos de transporte y de aplicación
el documento XML: contiene toda la información específica de
la aplicación que el consumidor del servicio envía al servicio
para procesar
la dirección: una dirección de red junto con un binding de
protocolo que pueden utilizarse para acceder al servicio
En la práctica, hace falta un cuarto elemento:
la envoltura: un protócolo de encapsulación de mensajes que
separa el documento UML de la otra información que se quiere
intercambiar
“Web Services are not distributed objects”
http://weblogs.cs.cornell.edu/AllThingsDistributed/archives/000343.html
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
7
Servicios Web: ¿Qué contienen?
El software que implementa el servicio
puede o no ser OO
puede o no operar como parte de un servidor web
puede o no ser un front-end de una aplicación grande
Los documentos XML intercambiados
tienen que poder validarse e interpretarse por los actores
tienen que ser conformes a una especificación
La dirección
identifica donde se puede encontrar el servicio con un
protocolo particular (p.e. TCP, HTTP, SMTP,...)
La envoltura
puede utilizarse por un intermediario para añadir información
tal como información de encaminamiento o de seguridad
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
8
Servicios Web: ¿Qué son?
Definición completa (1/3)
Los servicios Web son un mecanismo de
comunicación distribuida que permiten que las
aplicaciones compartan
información y que
además
otras
aplicaciones independientemente de cómo se
hayan creado las aplicaciones, cuál sea el
sistema operativo o la plataforma en que se
ejecutan y cuáles los dispositivos utilizados para
obtener acceso a ellas.
invoquen
funciones
de
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
9
Servicios Web: ¿Qué son?
Definición completa (2/3)
Los servicios Web son un sistema Software
diseñado para soportar la interacción máquina a
máquina sobre la red.
Definen un formato procesable por ordenador
de la descripción de las interfaces (WSDL).
La
se
interacción
realiza mediante el
intercambio de mensajes a través de la red
usando formatos y protocolos como SOAP,
HTTP o MIME.
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
10
Servicios Web: ¿Qué son?
Definición completa (3/3)
Componentes que ejecutan procesos o
funciones de negocio significativas.
con una interfaz claramente definida y accesible
a través de Internet.
basada en el
intercambio de documentos
electrónicos en formato XML.
y que pueden ser combinados entre sí.
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
11
Servicios Web: ¿Cómo se usan?
Fases para crear Servicio Web
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 la aplicación en un servicio Web 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 tendencias (RPC vs SOAP) incompatibles entre sí y de distinta
complejidad.
Discusión sobre cual usar : http://bulmalug.net/body.phtml?nIdNoticia=503
RPC + sencillo, fácil de aprender y unix friendly
SOAP + potente y completo. Soporta varios conjuntos de caracteres (US-ASCII,
UTF-8 y UTF-16 )
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
12
Enfoque
Empresa A
Empresa A
DCOM, CORBA, RMI
Servicios
Web
Empresa B
Empresa B
DCOM, CORBA, RMI
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
13
Enfoque
L
M
X
L
M
X
W
E
B
XML
XML
Servicio
Servicio
Servicio
Servicio
X
M
L
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
14
X
M
L
Service Oriented Architecture (SOA)
Roles:
proveedor del servicio: ofrece un servicio y publica su definición en
un registro junto con una descripción
consumidor del servicio: localiza e invoca el servicio
registro o agencia de descubrimiento: ofrece un servicio de
información sobre la definición y descripción de servicios disponibles
Características de SOA:
sistema es una colección de servicios débilmente acoplados
comunicación con el servicio por protocolos estándares
mecanismo común para la representación e intercambio de datos
lenguaje de meta-datos para describir los servicios ofrecidos
mecanismo para registrar y localizar los servicios
Mismo servicio, distintas calidades de servicio (QoS)
distinto proveedor, descripción habla de distintos requisitos técnicos
disponibilidad, prestaciones, escalabilidad, seguridad,…
Visión del consumidor:
concierne únicamente la funcionalidad y la QoS
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
15
Service Oriented Architecture (SOA)
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
16
Partes de la arquitectura
Descripción de los servicios: WSDL
Registro y búsqueda de servicios: UDDI
Uso de los servicios: SOAP, HTTP, MIME
Directorio: Publicar & encontrar Servicios:
Inspeccion: Encontrar servicios en servidor:
Descripcion: Descripciones formales:
Bits a transmitir: Interacciones de servicio:
Formato universal de datos:
Comunicaciones:
UDDI
DISCO
WSDL
SOAP
XML
Internet
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
17
Partes de la arquitectura
Registro UDDI
Enlaces a servicios
Publicación
Búsqueda
Proveedor de servicio
Mensajes SOAP
Consumidor del servicio
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
18
Tecnologías básicas
XML
de uso obligatorio
SOAP
ampliamente utilizada
WSDL
suele utilizarse
UDDI
empieza a utilizarse
munozm, spickin, mcfp @it.uc3m.es
Servidores de información
19
XML: DTDs
Algunos problemas con el uso de DTDs:
no se escriben ellos mismos con XML
no se puede poner restricciones sobre datos de tipo carácter
modelo de valores de atributos (enumeraciones) demasiado simple
no soporta XML Namespace
soporte limitado para modularidad y reuso (via entidades)
no soporta evolución, extensión y herencia de declaraciones
declaraciones de atributos y contenidos no pueden
Comentarios de: Servicios Web (0)
No hay comentarios