Programación Web: Web Services
Dr. Víctor J. Sosa
Cinvestav-Tamaulipas
[email protected]
[email protected]
Gran parte de estas notas son tomadas del curso:
Web Programming 2: Web Services.
Dr. Mark Baker.
Grupo de Sistemas Distribuidos.
Universidad de Portsmouth (UK).
Historia
El paradigma de la computación en los 50s,
60s y a mediados de los 70`s fue: “Una
computadora múltiples usuarios”.
Los equipos eran grandes y costosos.
Eran sistemas centralizados (sistemas de
tiempo compartido).
1
3
Contenido
Historia.
El modelo del servicio.
Que son los servicios Web.
Ejemplos de servicios Web.
Componentes de servicios Web:
SOAP,
WSDL,
UDDI.
Ejemplo HelloServer.
Sumario.
Modelo centralizado
Terminal
Terminal
Terminal
Terminal
Terminal
Terminal
Terminal
Terminal
Terminal
Lógica
Lógica
Lógica
Cliente
Cliente
Cliente
CapaCapa de de
Capa de
negocio
negocio
negocio
Servicios SOSO
Servicios
Servicios SO
Computadora
Terminal
Terminal
Terminal
Terminal
Terminal
Terminal
Terminal
Terminal
Terminal
Historia
A finales de los 70’s el paradigma cambio a
“una computadora, un usuario”.
Las computadoras se vuelven accesibles al
consumidor, llegando a ocupar un lugar en las
casas y oficinas.
Surge la arquitectura cliente/servidor
5
Modelo cliente/servidor
Cliente
Cliente
Cliente
Lógica
Lógica
Lógica
Cliente
Cliente
Cliente
CapaCapa de de
Capa de
negocio
negocio
negocio
Servicios SOSO
Servicios
Servicios SO
Servidor
2
4
6
1
Historia
A finales de los 80’s empiezan a tomar auge las redes
de computadoras, por lo que los sistemas de cómputo
se vuelven descentralizados.
A finales de los 90’s Internet y especialmente la
Web se convierte en un medio masivo de
comunicación.
Las aplicaciones son totalmente distribuidas.
Historia
En esta década (2000-), el paradigma de la
computación a cambiado a: “un usuario,
múltiples computadoras”.
Como todo se hace por la Web, también las
aplicaciones han migrado a lo que conocemos
como “servicios Web”.
Web (HTTP)
Originalmente un servidor de archivos
distribuidos (hipertexto).
Basado en la arquitectura cliente/servidor.
Actualmente la Web a tomado un papel
relevante como servidor de aplicaciones.
Independencia de dispositivos
Los servicios Web extienden el acceso a la
información mas allá del visualizador Web.
7
9
11
Evolución de las Tecnologías del Web
8
10
¿Qué es lo que hay?
Un mar global de recursos interconectados:
otro.
particulas, scanner médico;
almacenamiento/recuperacion;
Sensores – presión/temperatura;
Computadoras - PCs, supercomputadoras – CPU/memoria;
Datos - archivos, bibliotecas digitales –
Sistemas compartidos – simulador de temblores, colisión de
Todos proporcionando serviciosde un tipo o de
Audio sistemas visuales – Video conferencias, MUDs;
Dispositivos móviles – Teléfonos, relojes, PDA, laptops;
Sistemas de negocios – Cajeros, ventas, marketing, bolsa de
valores, ordenes, inventarios;
Dispositivos incrustados – robots, máquinas de venta,
semáforos viales, camaras de alta velocidad, autos,
motocicletas;
Aparatos electrodomésticos - lavadoras, cocinas, A/C,
calefacción, calderas, luces.
12
2
Confusión con Multi-Tecnologías en la capa de
servicio a nivel Middleware
Multi-capa Cliente-Servidor/Servicio
para acceso a datos
Clientes
Capa intermedia (Capa de Servidor)
W
PD
DC
DC
DC
PC
W
T
N
D
W
O
Capa backend
W – Web Server
PD – Parallel Database
DC – Distributed Computer
PC – Parallel Computer
O – Object Broker
N – Network Server e.g.
Netsolve or Ninf
T – Collaboratory Server
13
Capa del cliente
IIOP
HTTP
RMI
SOAP + WSDL
Capa intermedia del
Servidor (Servicios abstractos)
Capa final
Servicios originales
Gestor de objetos
Servidor Web
Servidor Java
especializado
Servicio Web
Repositorio
de objetos
Base de datos
relacional
Sistema de
Archivo plano
Old and New Useful
Backend Systems
14
El modelo de servicio
Los servicios (componentes) son un modelo sustentable de
desarrollo de software – cada servico tiene capacidades
documentadas cumpliendo con los requisitos estandares en
interfases :
XML define interfases en varios niveles,
WSDL en el nivel de interfaz del servicio y XSIL (Extensible
Scientific Interchange Language ) o el equivalente para el
formato de datos científicos.
Un servicio puede ser escrito en Perl, Python, servlets de
Java, Enterprise Java Beans, CORBA (C++ o Fortran),
Objectos, etc.
El protocolo de comunicación puede ser RMI (Java), IIOP
(CORBA) o SOAP (HTTP, XML) …
Servicios Web: Estándar Tecnológico
El estándar de los servicios Web es una iniciativa conducida por
la industria, con algunos de los estándares que emergen en
varios estados del progreso a través del consorcio World Wide
Web (W3C).
Los estándares establecidos incluyen:
SOAP(Simple Object Access Protocol):
Soporte para el protocolo simple de acceso a objetos (SOAP),
SOAP proporciona un mecanismo que encapsula datos XML para
ser transferidos a través de la infraestructura del Web (e.j.
sobre HTTP, a través de caches y proxies), con convención para:
Llamadas a procedimientos remotos (RPCs),
Serializacion basada en tipo de datos del esquema XML.
SOAP es desarrollado por W3C en cooperación con el Internet
Engineering Task Force (IETF).
15
16
Servicios Web: Estándar Tecnológico
Web Services Description Language (WSDL):
Describe un servicio en XML, usando un esquema de XML;
Existe también un mapeo hacia el marco de descripción de
recurso (RDF) para el intercambio de metadatos..
De alguna manera WSDL es similar al lenguaje de definición de
interfaz (IDL).
3. Los servicios se enlazan usando los detalles técnicos
proporcionados por UDDI.
Son también estructuras en XML y SOAP.
Universal Description Discovery and Integration (UDDI):
Esta es una especificación para los registros distribuidos de
los servicios Web, similar a la sección amarilla.
UDDI soporta ‘publicar, buscar y enlazar’:
1. Un proveedor de servicio describe y publica el detalle del
2. Los solicitantes del servicio hacen peticiones para encontrar
servicio en el directorio;
un proveedor del servicio;
¿Qué son servicios Web?
Componentes software independientes de la
plataforma e implementación que pueden ser:
Descritas usando el lenguaje de descripción de
servicio,
Publicados a un registro del servicio,
Descubierto mediante un mecanismo estándar (en
tiempo de ejecución o diseño),
Invocado a través de una API generalmente sobre
la red,
Combinado con otros servicios.
17
18
3
¿Qué son servicios Web?
Un servicio Web sencillo
Esto es un servidor y no un modelo del cliente.
“Todo lo electrónico” es un recurso:
Computadoras; programas; gente…,
Datos (desde censores a esta presentación al correo a la base de
datos).
Todos los recursos tienen interfases que se definen en XML
para propiedades (dato-estructura) y métodos (servicio,
función, subrutina):
Podemos asumir que una propiedad dato-estructura tiene métodos
como getproperty() y setproperty() que actúan como interfase.
Todos los recursos están enlazados por mensajes con
estructura los cuales deberán ser especificados en XML.
Todos los recursos tienen un URI tal como unique://a/b/c …
Interfases WSDL
Pago de
Tarjeta Crédito
Seguridad
Catalogo
interfaces WSDL
Envíos almacén
19
20
Ejemplos de servicios Web I
OGSA (Open Grid Service Architecture):
Integra servicios Web y conceptos de GRID dentro de una
arquitectura.
Conferencias de Audio-Video como servicios Web:
Integra protocolos H323, SIP, JXTA (etc.) mediante
mapear a una interfaz XML sencilla,
Proporciona un modelo para sistema de videoconferencia de
espacios virtuales (VRVS) para intercambio de mensajes de
servicios Web.
La mensajeria o los eventos de servicios Web
proporcionan un encaminamiento inteligente y
buffering de mensajes.
Computación como servicios Web :
Ejecución de trabajos, estado, composición, servicios de
datos y visualización,
La eficiencia de servicios Web puede ser accedida
mediante monitoreo distribuido de datos, análisis, modelos
y benchmarks con interfases interoperables de XML.
21
¿Qué se pretende lograr?
Hacer una analogía con encontrar, acceder,
comprar y utilizar un artículo adquirido en un
centro comercial.
En términos de computación deseamos:
Buscar y descubrir servicios remotos,
Seguridad en los accesos a los servicios,
Negociar los términos y condiciones para reservar
y usar estos servicios,
Proporcionar de manera confiable y tolerante a
fallas los modos de utilizar estos servicios.
22
Descripción de
servicio
Directorio
de servicios
Búsqueda
WSDL, UDDI
Publicación
WSDL, UDDI
¿Por qué utilizar Servicios Web?
Múltiples tecnologías para hacer lo
mismo:
No interoperables entre sí.
Ligados a una plataforma.
Solicitante de
servicios
Bind
Proveedor
De servicios
Servicio
Descripción de
servicio
23
Protocolo
Formato del mensaje
Descripción
DCOM
RPC
NDR
IDL
CORBA
IIOP
CDR
OMG IDL
Java RMI
IIOP or JRMP
Java Ser. Format
Java
Descubrimiento
Windows Registry
Naming Service
RMI R
Comentarios de: Programación Web: Web Services (0)
No hay comentarios