Sunteți pe pagina 1din 7

Visión General de Servicios Web

XML
Servicio Web
Un servicio Web es una colección de protocolos y estándares empleados para
intercambiar datos entre aplicaciones y sistemas. Las aplicaciones, escritas en
diversos lenguajes de programación y ejecutándose en distintas plataformas
pueden utilizar los servicios Web para intercambiar datos sobre una red de
ordenadores como Internet de una forma similar a la comunicación entre
procesos en un solo ordenador. En los servicios Web, todos los datos se
intercambian se formatean con etiquetas XML.

XML
XML es un macro-lenguaje para la creación de lenguajes de propósito especial.
Es un subconjunto simplificado del SGML capaz de describir diferentes tipos de
datos. El propósito principal del lenguaje XML es el de facilitar la transferencia
de datos a través de diferentes plataformas, especialmente las conectadas a
Internet.

Los lenguajes basados en XML (RDF, RSS, XHTML, o SVG) se describen por si
mismos de una manera formal, permitiendo a ciertos programas modificar y
validar documentos en estos lenguajes sin saber de antemano su forma.

XML es un estándar del W3C. Otros muchos lenguajes están basados en XML
como por ejemplo XHTML, MathML, SVG, XUL, RSS y RDF.

¿Cómo nacen los servicios web XML?


Debido a la gran masificación de Internet a niveles insospechables y al gran
impacto causado por las tecnologías de la información en las ultimas dos
décadas del siglo pasado, 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 integrado
de forma individual, así que decidieron atacar el problema de raíz. Para esto
decidieron que en vez de crear la mejor plataforma integradora, era mejor
buscar un leguaje común de intercambio de información aprovechando los
estándares existentes en el mercado. Bajo este contexto nacen los Servicios
Web basados en XML.

1
Tecnologías Subyacentes
SOAP (Simple Object Access Protocol)
SOAP es un protocolo que proporciona un mecanismo estándar de empaquetar
mensajes. Este protocolo está pensado para el intercambio de información en
entornos descentralizados y distribuidos.

Usa las tecnologías relacionadas con XML a fin de definir un marco de trabajo
extensible para los mensajes. Provee una estructura de mensajes capaz de ser
intercambiada sobre una gran cantidad de protocolos de soporte. Este marco
ha sido diseñado con el fin de que fuera independiente del cualquier modelo de
programación y otras implementaciones de semánticas.

Los dos objetivos de diseño principales de SOAP son la simplicidad y la


extensibilidad. Para alcanzar estos objetivos, SOAP simplemente elimina de su
arquitectura aquellos aspectos que con más frecuencia se encuentra en los
sistemas distribuidos. Podemos agregar las características que nosotros
queramos simplemente extendiendo la especificación.

Ventajas
• No esta asociado con ningún lenguaje: los desarrolladores
involucrados en nuevos proyectos pueden elegir desarrollar con el último
y mejor lenguaje de programación que exista pero los desarrolladores
responsables de mantener antiguas aflicciones heredadas podrían no
poder hacer esta elección sobre el lenguaje de programación que
utilizan.
• No se encuentra fuertemente asociado a ningún protocolo de
transporte: La especificación de SOAP no describe como se deberían
asociar los mensajes de SOAP con HTTP. Un mensaje de SOAP no es más
que un documento XML, por lo que puede transportarse utilizando
cualquier protocolo capaz de transmitir texto.
• No está atado a ninguna infraestructura de objeto distribuido La
mayoría de los sistemas de objetos distribuidos se pueden extender, y
ya lo están alguno de ellos para que admitan SOAP.
• Aprovecha los estándares existentes en la industria: Los
principales contribuyentes a la especificación SOAP evitaron,
intencionadamente, reinventar las cosas. Optaron por extender los
estándares existentes para que coincidieran con sus necesidades. Por
ejemplo, SOAP aprovecha XML para la codificación de los mensajes, en
lugar de utilizar su propio sistema de tipo que ya están definidas en la

2
especificación esquema de XML. Y como ya se ha mencionado SOAP no
define un medio de trasporte de los mensajes; los mensajes de SOAP se
pueden asociar a los protocolos de transporte existentes como HTTP y
SMTP.
• Permite la interoperabilidad entre múltiples entornos: SOAP se
desarrollo sobre los estándares existentes de la industria, por lo que las
aplicaciones que se ejecuten en plataformas con dicho estándares
pueden comunicarse mediante mensaje SOAP con aplicaciones que se
ejecuten en otras plataformas.

Estructura de un mensaje SOAP


SOAP proporciona un mecanismo estándar de empaquetar un mensaje. Un
mensaje SOAP se compone de un sobre que contiene el cuerpo del mensaje y
cualquier información de cabecera que se utiliza para describir le mensaje. A
continuación se presenta un ejemplo:

<?xml version='1.0' ?>

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header>
<m:reserva xmlns:m="http://empresaviajes.example.org/reserva"
env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
env:mustUnderstand="true">
<m:referencia>uuid:093a2da1-q345-739r-ba5d-pqff98fe8j7d</m:referencia>
<m:fechaYHora>2001-11-29T13:20:00.000-05:00</m:fechaYHora>
</m:reserva>
<n:pasajero xmlns:n="http://miempresa.example.com/empleados"
env:role="http://www.w3.org/2003/05/soap-envelope/role/next"
env:mustUnderstand="true">
<n:nombre>Åke Jógvan Øyvind</n:nombre>
</n:pasajero>
</env:Header>
<env:Body>
<p:itinerario
xmlns:p="http://empresaviajes.example.org/reserva/viaje">
<p:ida>
<p:salida>Nueva York</p:salida>
<p:llegada>Los Angeles</p:llegada>
<p:fechaSalida>2001-12-14</p:fechaLlegada>
<p:horaSalida>última hora de la tarde</p:horaSalida>
<p:preferenciaAsiento>pasillo</p:preferenciaAsiento>
</p:ida>
<p:vuelta>
<p:salida>Los Angeles</p:salida>
<p:llegada>Nueva York</p:llegada>
<p:fechaSalida>2001-12-20</p:fechaSalida>
<p:horaSalida>media-mañana</p:horaSalida>
<p:preferenciaAsiento/>
</p:vuelta>
</p:itinerario>
<q:alojamiento
xmlns:q="http://empresaviajes.example.org/reserva/hoteles">
<q:preferencia>ninguna</q:preferencia>
</q:alojamiento>
</env:Body>
</env:Envelope>

El elemento raíz del documento es el elemento Envelope. El ejemplo contiene


dos subelementos, Body y Header. Un ejemplo de SOAP valido también puede

3
contener otros elementos hijo en el sobre. El sobre puede contener un
elemento Header opcional que contiene información sobre el mensaje. En el
ejemplo anterior, la cabecera contiene dos elementos que describen a quien
compuso el mensaje, y posible receptor del mismo. El sobre debe contener un
elemento body el elemento body (cuerpo) contiene la carga de datos del
mensaje. En el ejemplo el cuerpo contiene una simple cadena de caracteres.

WSDL (Web Service Description Language)


WSDL son las siglas de Web Services Description Language, un formato XML
que se utiliza para describir servicios Web (algunas personas lo leen como
wisdel). La versión 1.0 fue la primera recomendación por parte del W3C y la
versión 1.1 no alcanzó nunca tal estatus. La versión 2.0 se convirtió en la
recomendación actual por parte de dicha entidad.

WSDL describe la interfaz pública a los servicios Web. Está basado en XML y
describe la forma de comunicación, es decir, los requisitos del protocolo y los
formatos de los mensajes necesarios para interactuar con los servicios listados
en su catálogo. Las operaciones y mensajes que soporta se describen en
abstracto y se ligan después al protocolo concreto de red y al formato del
mensaje.

Así, WSDL se usa a menudo en combinación con SOAP y XML Schema. Un


programa cliente que se conecta a un servicio web puede leer el WSDL para
determinar que funciones están disponibles en el servidor. Los tipos de datos
especiales se incluyen en el archivo WSDL en forma de XML Schema. El cliente
puede usar SOAP para hacer la llamada a una de las funciones listadas en el
WSDL.

Estructura de un documento WSDL


Un documento WSDL está divido en dos partes claramente diferenciadas:

1. Parte concreta: Es la parte que define el “como” y “donde”.


2. Parte abstracta: Es la parte que define qué hace el servicio a través de
los mensajes que envía y recibe.

4
Estructura:
• types: Esta etiqueta define las estructuras de datos que se utilizarán
para construir los mensajes de petición como de respuesta. Estas
estructuras de datos pueden construirse con cualquier lenguaje, pero lo
más normal es hacerlo con XML Schema. Este apartado es el más
complicado sobre todo cuando tengamos que construir estructuras de
datos muy complejas.
• message: Describe los mensajes que se van a intercambiar entre el
cliente y el Servicio Web. Un mensaje puede estar dividido en varias
partes, por ejemplo, si en un mensaje queremos enviar datos y una
imagen.
• portType: Define el conjunto de operaciones que soporta el Servicio
Web. Una operación no es más que un grupo de mensajes que serán
intercambiados. Cada operación puede enviar o recibir al menos un
mensaje cada vez.

En la parte concreta tenemos:

• binding: Describe como formatear los mensajes para interactuar con un


Servicio determinado. WSDL no define un estándar para formatear
mensajes. Para ello utilizar la extensibilidad para definir como
intercambiar los mensajes usando SOAP, HTTP, MIME, etc…

5
• services: Este elemento indica donde se encuentra el Servicio usando la
etiqueta. Cada etiqueta define el formato de los mensajes, y la dirección
donde se encuentra el servicio que acepta mensajes en ese formato.

UDDI (Universal Description, Discovery and Integration)


UDDI son las siglas del catálogo de negocios de Internet denominado Universal
Description, Discovery and Integration.

Esta solución basada en estándares permite a las empresas disponer de su


propio directorio UDDI(Universal Description, Discovery, and Integration) para
uso sobre la intranet o extranet, facilitando el descubrimiento de servicios Web
y otros recursos de programación. Los Servicios corporativos UDDI además
facilitan a las empresas la creación y puesta en marcha de aplicaciones más
fiables e inteligentes.

El registro en el catálogo se hace en XML. UDDI es una iniciativa industrial


abierta (sufragada por la OASIS) entroncada en el contexto de los servicios
Web. El registro de un negocio en UDDI tiene tres partes:

1) Páginas blancas - dirección, contacto y otros identificadores conocidos.


2) Páginas amarillas - categorización industrial basada en taxonomías.
3) Páginas verdes - información técnica sobre los servicios que aportan las
propias empresas.

UDDI es uno de los estándares básicos de los servicios Web cuyo objetivo es
ser accedido por los mensajes SOAP y dar paso a documentos WSDL, en los

6
que se describen los requisitos del protocolo y los formatos del mensaje
solicitado para interactuar con los servicios Web del catálogo de registros.

Fuentes de Información

https://developer.mozilla.org

http://www.w3.org

http://en.wikipedia.org/

http://es.wikipedia.org/

http://www.desarrolloweb.com/

http://edgarramirez.wordpress.com

http://jmoraless.wordpress.com/

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