Sunteți pe pagina 1din 51

Servicios Web

 Alcalde Iturri, Johanna


 Carruitero Alvinco, Eduardo
 Cueva Chamorro, Diego
 Pacherres Torrejón, César
 Sánchez Yañes, Leonardo
 La manera de hacer negocios y la comunicación entre las
personas y las empresas cambió de una manera rotunda.
Bajo este contexto se hacía cada vez mayor la necesidad
de integrar y compartir información entre distintas
plataformas de software y hardware.
 Las empresas se percataron que era imposible crear una
plataforma integradora de forma individual
 Era mejor buscar un leguaje común de intercambio de
información aprovechando los estándares existentes en el
mercado
 Las aplicaciones web actuales ya no son suficientes…

 Si las compañías quieren extraer el máximo beneficio de


Internet, los sitios web deben evolucionar
En este contexto…
Un web service es:
 "Los web services son componentes software que permiten a
los usuarios usar aplicaciones de negocio que comparten
datos con otros programas modulares, vía Internet. Son
aplicaciones independientes de la plataforma que pueden ser
fácilmente publicadas, localizadas e invocadas mediante
protocolos web estándar, como XML, SOAP, UDDI o WSDL.

 "Los servicios web son la revolución informática de la nueva


generación de aplicaciones que trabajan colaborativamente en
las cuales el software esta distribuido en diferentes
servidores."

 “Son los bloques de construcción de la computación
distribuida en el Internet”

 Un Web Service es similar a un sitio web que no cuenta


con un interfaz de usuario y que da servicio a las
aplicaciones en vez de a las personas. Un Web Service, en
vez de obtener solicitudes desde el navegador y retornar
paginas web como respuesta, lo que hace es recibir
solicitudes a través de un mensaje formateado en XML
Simplificando…
 Los servicios web son un conjunto de aplicaciones o de
tecnologías con capacidad para interoperar en la Web.
Requisitos de un Web Service
 Interoperabilidad: Un servicio remoto debe permitir su
utilización por clientes de otras plataformas.

 Amigabilidad con Internet: Clientes que accedan a los


servicios remotos desde Internet.

 Interfaces fuertemente tipadas: No ambigüedad acerca


del tipo de dato enviado y recibido

 Posibilidad de aprovechar los estándares de Internet
existentes

 Soporte para cualquier lenguaje: No debería ligarse a


un lenguaje de programación particular.

 Soporte para cualquier infraestructura de componente


distribuida: No debe estar fuertemente ligada a una
infraestructura de componentes en particular.
Seguridad
 Existen técnicas que pueden ser empleadas para garantizar
la seguridad de datos:
 Encriptación XML
 Firma Digital XML
 XKMS y los Certificados
 SAML y la Autorización
 Validación de Datos

 SOAP y UDDI, son otras de las técnicas usadas; la ultima,


mantiene la seguridad en niveles.
Calidad
 Un web service debe ser ejecutado correctamente y
satisfacer las necesidades del consumidor, por lo que se
tiene en cuenta los parámetros siguientes:
 Los resultados obtenidos deben ser los esperados.
 Entorno de uso amigable
 Integridad.
 La escalabilidad, comprobara el grado de modularidad y
flexibilidad del servicio.
Estandarización
 A diferencia del estándar XML, existen algunos
protocolos que no se encuentran universalmente
aceptados.
 SOAP, WSDAL y UDDI
 SOAP, es el único que se encuentra en consideración.
 A comparación de SOAP y WSDAL, que son los más
usados, el caso de UDDI es distinto ya que las técnicas de
seguridad de este son inmaduras.
INTRODUCCIÓN
 Los servicios en Internet están tomando cada vez más
importancia. Se diseñan como "cajas negras" que
oculten la complejidad de los sistemas finales y
permitan una fácil comunicación. Sin embargo es
fundamental tener un medio de localizar esos servicios,
tarea más difícil conforme crece el número de servicios
disponibles.
INTRODUCCIÓN(2)
 La especificación UDDI simplifica esa tarea, permitiendo
a una organización publicar información sobre los
servicios que ofrece y localizar información sobre
servicios web que necesita utilizar.
 UDDI es simplemente un repositorio de documentos XML
que define un mensaje SOAP para el registro y petición
de información.
CARACTERÍSTICAS
 UDDI es un sistema ideado para describir servicios
(junto con WSDL) y localizar empresas que ofrezcan
estos servicios.
 Es un directorio para almacenar información sobre
servicios web; entre otra, guarda las interfaces de esos
servicios descritas en WSDL.
 UDDI utiliza SOAP para llevar a cabo las
comunicaciones.
 Está desarrollado e integrado en la plataforma .NET de
Microsoft.
 UDDI ha sido propuesto por Dell, Fujitsu, HP, Hitachi,
IBM, Intel, Microsoft, Oracle, SAP y Sun (entre otros).
CARACTERÍSTICAS(2)
UDDI puede ayudarnos a resolver los siguientes
problemas:
 Descubrir la empresa más adecuada de entre las muchas
presentes en Internet
 Obtener información sobre cómo contactar con esa
empresa
 Conseguir nuevos clientes y facilitar el acceso a los
actuales incrementando los servicios ofertados y
extendiendo el mercado al que se puede acceder
 Describir servicios y procesos empresariales en un
entorno seguro y fácil de usar
EJEMPLO
 Supongamos que se creara un estándar UDDI para
reserva y venta de billetes de avión. Las aerolíneas
podrían registrar sus servicios en un directorio UDDI
siguiendo ese estándar (e interface UDDI). Así, las
agencias de viaje, accediendo al repositorio UDDI a
través de la interfaz, podrían comunicarse con el
servicio ofrecido por cualquier aerolínea para hacer las
reservas y ventas.
UDDI
Buscar Servicio Registrar Servicios

Usar Servicio

Agencia de Aerolínea
viaje
INTRODUCCIÓN
 Cuando una aplicación expone alguna funcionalidad,
podremos acceder a ella a través de ciertas operaciones
que requieren que le pasemos alguna información. Una
vez que las operaciones se completan, la aplicación
devuelve los resultados al cliente.
 Esos intercambios de información necesitan un
protocolo, lo cual implica que el desarrollador debe
haber descrito las interfaces de acceso al servicio.
 WSDL nos permite describir y localizar servicios web.
Una descripción WSDL es un documento XML con una
estructura determinada
VENTAJAS
 Facilita escribir y mantener servicios mediante una
aproximación estructurada para definir interfaces web.
 Facilita el acceso a esos servicios web reduciendo el
código que hay que escribir para hacer un cliente.
 Facilita hacer cambios para ampliar los servicios,
reduciendo la posibilidad de que los clientes dejen de
funcionar al llamar a esos servicios.
ESTRUCTURA DE LOS 
DOCUMENTOS WSDL
 tipos de dato: definen los tipos de datos usados en los
mensajes. Se utilizan los tipos definidos en la
especificación de esquemas XML.
 mensajes: definen los elementos de mensaje que
forman las comunicaciones.
 tipos de puerto: definen las operaciones permitidas y
los mensajes intercambiados.
 bindings: definen los protocolos de comunicación
usados
 puertos: definen la dirección de un binding
 servicios: conjunto de puertos
ESTRUCTURA DE LOS 
DOCUMENTOS WSDL(2)
<?xml version="1.0" enconding="UTF-8"?>
<wsdl:definitions>
<wsdl:types> ... </wsdl:types>
<wsdl:message>
<part name="parametro" type="xsd:string"/>
</wsdl:message>
<wsdl:portType>
<wsdl:operation name="funcion"> ... </wsdl:operation>
</wsdl:portType>
<wsdl:binding> ... </wsdl:binding>
<wsdl:service name="HelloWorldService">
..
</wsdl:service>
</wsdl:definitions>
INTRODUCCIÓN
 XML no ha nacido sólo para su aplicación en Internet,
sino que se propone como un estándar para el
intercambio de información estructurada entre
diferentes plataformas.
 Se puede usar en:
 Bases de datos,
 Editores de texto,
 Hojas de cálculo y casi cualquier cosa imaginable.
INTRODUCCIÓN(2)
 XML es una tecnología sencilla que tiene a su alrededor
otras que la complementan y la hacen mucho más
grande y con unas posibilidades mucho mayores.
 Tiene un papel muy importante en la actualidad ya que
permite la compatibilidad entre sistemas para
compartir la información de una manera segura,
fiable y fácil.
VENTAJAS
 Es extensible: Después de diseñado y puesto en
producción, es posible extender XML con la adición de
nuevas etiquetas, de modo que se pueda continuar
utilizando sin complicación alguna.
 El analizador es un componente estándar, no es
necesario crear un analizador específico para cada
versión de lenguaje XML. Esto posibilita el empleo de
cualquiera de los analizadores disponibles. De esta
manera se evitan bugs y se acelera el desarrollo de
aplicaciones.
 Si un tercero decide usar un documento creado en XML,
es sencillo entender su estructura y procesarla.
 Mejora la compatibilidad entre aplicaciones.
ESTRUCTURA DE UN DOCUMENTO 
XML
 La tecnología XML busca dar solución al problema de
expresar información estructurada de la manera más
abstracta y reutilizable posible. Que la información sea
estructurada quiere decir que se compone de partes
bien definidas, y que esas partes se componen a su vez
de otras partes. Entonces se tiene un árbol de pedazos
de información.
EJEMPLO
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE Edit_Mensaje SYSTEM "Lista_datos_mensaje.dtd"
[<!ELEMENT Edit_Mensaje (Mensaje)*>]>
<Edit_Mensaje>
<Mensaje>
<Remitente>
<Nombre>Nombre del remitente</Nombre>
<Mail> Correo del remitente </Mail>
</Remitente>
<Destinatario>
<Nombre>Nombre del destinatario</Nombre>
<Mail>Correo del destinatario</Mail>
</Destinatario>
<Texto>
<Asunto>
Este es mi documento con una estructura muy sencilla
no contiene atributos ni entidades....
</Asunto>
<Parrafo>
Este es mi documento con una estructura muy sencilla
no contiene atributos ni entidades....
</Parrafo>
</Texto>
</Mensaje>
</Edit_Mensaje>
HyperText Transfer Protocol
 Es el protocolo usado en cada transacción de la Web (WWW).

 HTTP es un protocolo sin estado, es decir, que no guarda


ninguna información sobre conexiones anteriores.

 El desarrollo de aplicaciones web necesita frecuentemente


mantener estado. Para esto se usan las cookies, que es
información que un servidor puede almacenar en el sistema
cliente. Esto le permite a las aplicaciones web instituir la
noción de "sesión", y también permite rastrear usuarios ya que
las cookies pueden guardarse en el cliente por tiempo
indeterminado.
 Está formada por un encabezado seguido, opcionalmente, por
una línea en blanco y algún dato. El encabezado especificará
cosas como la acción requerida del servidor, o el tipo de dato
retornado, o el código de estado

 El Encabezado de las transacciones HTTP usan campos


dándole flexibilidad al protocolo y a su ves permiten que se
envíen información descriptiva

 Un encabezado es un bloque de datos que precede a la


información propiamente dicha, por lo que muchas veces se
hace referencia a él como metadato - porque tiene datos sobre
los datos.
El servidor puede excluir cualquier encabezado que ya esté
procesado, como Authorization, Content-type y Content-
length. El servidor puede elegir excluir alguno o todos los
encabezados si incluirlos exceden algún límite del ambiente
de sistema. Ejemplos de esto son las variables
HTTP_ACCEPT y HTTP_USER_AGENT.

 HTTP_ACCEPT. Los tipos MIME que el cliente


aceptará, dado los encabezados HTTP. Otros protocolos
quizás necesiten obtener esta información de otro lugar.
 HTTP_USER_AGENT. El navegador que utiliza el
cliente para realizar la petición.
Para obtener un recurso con
el URL http://www.universitario.com/index.html

 Se abre una conexión al host www.universitario.com, puerto 80 que


es el puerto por defecto para HTTP.
 Se envía un mensaje en el estilo siguiente:
La respuesta del servidor está formada por encabezados
seguidos del recurso solicitado, en el caso de una página
web:
SIMPLE OBJECT ACCESS PROTOCOL
 SOAP es la evolución del protocolo XML-RPC que permite hacer
llamadas a procedimientos remotos usando XML como lenguaje común y
HTTP como protocolo de transporte. También pueden usarse otros
protocolos de envío, como por ejemplo SMTP (e-mail).

 Un desarrollo con estos estándares no es fácil de lograr: si hay un firewall


entre las máquinas a comunicar, es posible que dificulte las
comunicaciones. Como SOAP trabaja sobre HTTP, y éste se maneja muy
bien con los cortafuegos, el problema queda resuelto.
 Es un protocolo ligero
 Es simple y extensible
 Se usa para comunicación entre aplicaciones
 Está diseñado para comunicarse vía HTTP
 No está ligado a ninguna tecnología de componentes
 No está ligado a ningún lenguaje de programación
 Está basado en XML
 Está coordinado por W3C (estándar)
 El cliente envía ciertos datos que hay que convertir a una
representación neutra antes de enviarlos por la red al servidor.
 La llamada se transforma en un documento XML .
 XML se envía usando el protocolo HTTP hacia el receptor.
 Una vez que llega el mensaje XML al receptor. se
convierten los datos a la representación utilizada por el
lenguaje en que está programado el servidor.
 El método en el servidor realiza las operaciones y devuelve
el resultado realizando las conversiones anteriores en
sentido inverso.
 ESTRUCTURA DE UN MENSAJE

 EJEMPLO DE COMUNICACIÓN (SIN


CABECERAS HTTP):
Un mensaje SOAP es un documento XML que consta de
los siguientes elementos:

 Envoltorio (envelope) que define el contenido del mensaje


 Cabecera (header) que es opcional y que contiene
información referente a la cabecera del mensaje
 Cuerpo (body) que contiene la información de la llamada y
de la respuesta
 Supongamos que tenemos una sencilla aplicación en la que hay
una clase HelloServer que tiene un método llamado sayHello()
que recibe como parámetro una cadena de caracteres que será
el nombre de la persona a quien saludaremos: el mensaje
generado por el cliente sería:
 El mensaje devuelto por el servidor sería:
Referencias
 http://www.slideshare.net/dwebslide/servicios-web
 http://www.slideshare.net/Jmaquino/implemantacin-de-servicios-web
 http://www.slideshare.net/ricardoucpr/introduccion-servicios-web-1920923
 http://www.genbeta.com/web/de-la-aplicacion-al-servicio-web
 http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb
 http://geneura.ugr.es/~jmerelo/ws/
 http://www.scribd.com/doc/14464276/Manual-Completo-Servicios-Web
 http://www.scribd.com/doc/502746/Sesion-08-Servicios-Web

S-ar putea să vă placă și