This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Un servicio Web XML es una entidad programable que proporciona una determinadafunción, como la lógica de aplicación, a la que los sistemas pueden tener accesomediante estándares de Internet, como XML, HTTP y SOAP. Todas las
aplicaciones, independientemente del lenguaje en el que están escritas y delsistema operativo en el que se ejecutan, pueden llamar a los servicios Web XML.
Un servicio Web XML puede utilizarse internamente mediante una aplicación oexponerse externamente en Internet mediante varias aplicaciones. Dado que através de una interfaz estándar se puede tener acceso a un servicio Web XML, éstepermite que sistemas distintos trabajen conjuntamente como un conjunto Web. Unade las características básicas de un servicio Web XML es el alto grado deabstracción existente entre la implementación y el consumo de un servicio. Comoun servicio Web XML se crea y se tiene acceso a él mediante un servicio demensajería basado en XML, el proveedor y el cliente del servicio Web XML no
necesitan conocer nada más el uno del otro que las entradas, las salidas y laubicación.
La infraestructura de los servicios Web XML proporciona un mecanismo dedescubrimiento para localizar servicios Web XML, una descripción del servicio paradefinir el modo en que se utilizan estos servicios y formatos de conexión estándarpara la comunicación.
Descubrimiento es el proceso de localizar uno o varios documentos que describenun determinado servicio Web XML mediante el Lenguaje de descripción de serviciosWeb (WSDL). Cuando se encuentra el servicio, el documento WSDL proporciona
una descripción de las interacciones compatibles con el servicio. Los servicios WebXML se comunican mediante formatos de conexión abiertos, que son protocolos quepuede comprender cualquier sistema compatible con los estándares Web másutilizados. SOAP es el protocolo principal para la comunicación de servicios WebXML.
La definición (estándar) de XML 1.0 que viene de Febrero 98, pero su desarrollo se
ha ido enriqueciendo paulatinamente a medida que se veían sus posibilidades: de
esa forma, contamos con una especificación Xlink, que describe un modo estándar
de añadir hipervínculos a un documento XML. XPointer y XFragments sonespecificaciones para establecer la forma de vincular partes de un documento XML.
Incluso el lenguaje de hojas de estilo (CSS) se puede utilizar con XML al igual que
se hace con HMTL. XSL es precisamente, una extensión del anterior, en la que se
dispone de todo un lenguaje de programación exclusivamente para definir criterios
de selección de los datos almacenados en un documento XML, y que funciona
conjuntamente con las CSS o con HTML para suministrar al programador y al
usuario mecanismos de presentación y selección de información, que no requieran
de la intervención constante del servidor. Se basa en un lenguaje anterior paratransformación (XSLT) que permite modificar atributos y marcas de forma dinámica.
5. – XML es prolijo, pero eso no supone un problema.
Los ficheros resultantes, son casi siempre mayores que sus equivalentes binarios.
Esto es intencionado, y las ventajas ya las hemos comentado más arriba, mientras
que las desventajas, siempre pueden ser soslayadas mediante técnicas de
programación que permite comprimir los datos.
6. – XML es nuevo, pero no tanto.
El estándar empezó a diseñarse en 1996, y se publicó la recomendación en
Febrero/98. Como ya hemos comentado, eso no significa que la tecnología no esté
suficientemente madura, ya que el estándar SGML en el que se basa, data de una
especificación ISO del año 1986.
7. – XML no requiere licencia
Es un estándar abierto independiente de la plataforma, y tiene un amplio soporte
extendido a un sinnúmero herramientas y desarrolladores.
Los servicios Web XML son un conjunto de aplicaciones o de tecnologías que
tienen la capacidad para interpretar los servicos en la Web. Estas aplicaciones o
tecnologías intercambian datos entre sí con el objetivo de ofrecer unos servicios.
También los proveedores tienes la función de ofrecer los servicios tales como
procedimientos remotos y los usuarios solicitan un servicio llamando a estos
procedimientos a través de la Web, por lo que estos servicios deben estar alojadosen un servidor Web. Los servicios Web XML permiten el manejo distribuido de
componentes, estos permiten tomar ventaja de la infraestructura de Internet para
la distribución de funcionalidad y paquetes de datos. Las principales características
de los servicios Web XML son:
Están basados en protocolos estándar para la Web. Los servicios Web
XML realizan las peticiones y proporcionan las respuestas utilizando
protocolos estándar de la Web, como los son HTTP (Hyper Text Transfer
Protocol), XML (Extensible Markup Language), y SOAP (Simple Object Access Protocol), toda plataforma que maneje dichos protocolos, podrá
aprovechar la funcionalidad de los servicios Web XML.
Comunicación de aplicación a aplicación basada en Internet. Al utilizar un
servicio Web XML no se tienen una interfaz de usuario visible; realmente se
trata de un componente que puede ser consumido de manera programática
de aplicación a aplicación. Los servicios Web XML proporcionan una interfaz
estándar para la recepción de peticiones y envío de respuesta, denominada
contrato, dicho contrato pone a disposición de los usuarios la información
requerida por el componente, describe los comportamientos del mismo, y
relaciona los datos de entrada con la salida del componente. Independencia del lenguaje. Los servicios Web XML pueden ser
consumidos desde programas escritos en cualquier lenguaje .NET, por lo
cual no es necesario aprender un lenguaje determinado para poder tener
acceso a su funcionalidad.
Independencia de la plataforma. Independientemente de la plataforma que
dispongan los clientes de una aplicación, el contrato se encarga de hacer la
petición en un formato estándar, y de recibir la respuesta correspondiente.
Es una Arquitectura totalmente libre del manejo de estados (stateless
architecture) Los servicios Web XML no manejan estados de objetos;
cada respuesta brindada por un servicio Web XML es una nueva instancia
de un objeto, con su estado particular. Lo que una petición realiza no impactalo realizado por otras peticiones.
SOAP (siglas de Simple Object Access Protocol) es un protocolo estándar que
define cómo dos objetos en diferentes procesos pueden comunicarse por medio de
intercambio de datos XML.
Básicamente SOAP es un paradigma de mensajería de una dirección sin estado,
que puede ser utilizado para formar protocolos más complejos y completos segúnlas necesidades de las aplicaciones que lo implementan. Puede formar y construir
la capa base de una "pila de protocolos de web service", ofreciendo un framework
de mensajería básica en el cual los web services se pueden construir. Este protocolo
está basado en XML y se conforma de tres partes:
Sobre (envelope): el cual define qué hay en el mensaje y cómo procesarlo
Conjunto de reglas de codificación para expresar instancias de tipos de datos
La Convención para representar llamadas a procedimientos y respuestas.
El protocolo SOAP tiene tres características principales:
Extensibilidad (seguridad y WS-routing son extensiones aplicadas en el
desarrollo).
Neutralidad (SOAP puede ser utilizado sobre cualquier protocolo de
transporte como HTTP, SMTP, TCP o JMS).
Independencia (SOAP permite cualquier modelo de programación).
Como ejemplo de cómo el modelo SOAP pueda ser utilizado, consideraremos un
mensaje SOAP que podría ser enviado a un web service para realizar la búsqueda
de algún precio en una base de datos, indicando para ello los parámetros
necesitados en la consulta. El servicio podría retornar un documento en formato
XML con el resultado, un ejemplo, precios, localización o características. Teniendo
los datos de respuesta en un formato estandarizado procesable (en inglés
"parsable"), éste puede ser integrado directamente en un sitio Web o aplicación
externa.
La arquitectura SOAP está formada por varias capas de especificación como son
las siguinetes: MEP (Message Exchange Patterns) para el formato del mensaje,
enlaces subyacentes del protocolo de transporte, el modelo de procesamiento de
mensajes, y la capa de extensibilidad del protocolo. SOAP es el sucesor de
XMLRPC, a pesar de que toma el transporte y la neutralidad de la interacción, así
como el envelope / header / body, de otros modelos (probablemente de WDDX).
WSDL 1.1 se presentó como una Nota del W3C por Ariba, IBM y Microsoft para describir
servicios para la Actividad XML del W3C sobre Protocolos XML en marzo de 2001. WSDL1.1 no ha sido aprobado por el World Wide Web Consortium (W3C), sin embargo se ha
lanzado un proyecto para la versión 2.0 que será una recomendación (un funcionario
estándar), y, por tanto aprobado por el W3C.
WSDL es sinónimo de Web Services Description Language. Es el formato estándar
para describir un servicio web. WSDL fue desarrollado conjuntamente por Microsoft e
IBM
FeaturesofWSDL
WSDL es un protocolo basado en XML para el intercambio de información en
el descentralizado y entornos distribuidos.
Definiciones WSDL describe cómo acceder a un servicio web y lo que las
operaciones de TI llevarán a cabo.
WSDL es un lenguaje para describir la forma de interactuar con los servicios
basados en XML.
WSDL es una parte integral de Universal Description, Discovery y la
Integración(UDDI), un registro de negocios a nivel mundial basado en XML.
WSDL es el idioma que utiliza UDDI.
WSDL se pronuncia como 'wiz al aceite "y explicó como' WSD-L '.
Un documento WSDL proporciona la información necesaria al cliente para interaccionar
con el servicio Web. WSDL es extensible y se pude utilizar para describir, prácticamente,
cualquier servicio de red, incluyendo SOAP sobre HTTP e incluso protocolos que no se
Dado que los protocolos de comunicaciones y los formatos de mensajes están
estandarizados en la comunidad del Web, cada día aumenta la posibilidad e importanciade describir las comunicaciones de forma estructurada. WSDL afronta esta necesidad
definiendo una gramática XML que describe los servicios de red como colecciones de
puntos finales de comunicación capaces de intercambiar mensajes. Las definiciones de
servicio de WSDL proporcionan documentación para sistemas distribuidos y sirven como
fórmula para automatizar los detalles que toman parte en la comunicación entre
aplicaciones.
WSDL se utiliza a menudo en combinación con SOAP y XML esquema para proporcionar
web los servicios a través de Internet. Un programa cliente que se conecta a un servicio
web puede leer el WSDL para determinar qué funciones están disponibles en el servidor.
Cualquier tipo de datos especiales usados están incrustados en el archivo WSDL enforma de esquema XML. El cliente puede entonces utilizar SOAP para llamar realmente
una de las funciones enumeradas en el WSDL.
WSDL rompe servicios web en tres elementos específicos, identificables que pueden ser
combinados o reutilizados una vez definida. Los tres elementos principales de WSDL que
se pueden definir por separado son:
Tipos
Operaciones
La unión
Un documento WSDL tiene varios elementos, pero que están contenidos dentro de estos
tres elementos principales, que se pueden desarrollar como documentos separados y
entonces pueden ser combinados o reutilizados para formar archivos WSDL completos.
Un documento WSDL contiene los siguientes elementos:
Definición: Es el elemento raíz de todos los documentos WSDL. Define el nombre
del servicio web, declara varios espacios de nombres utilizados en todo el resto
del documento, y contiene todos los elementos de servicio descritos Aquí.
Tipos de datos: Los tipos de datos que se utilizarán en los mensajes están en laforma de XML esquemas.
Mensaje: Es una definición abstracta de los datos, en forma de un mensaje
presentado ya sea como un documento completo o como argumentos para ser
asignado a un invocación de método.
Operación: Es la definición abstracta de la operación de un mensaje, como
nombrar a un método, la cola de mensajes, o de procesos de negocio, que va a
aceptar y procesar el mensaje.
Tipo de puerto: Es un conjunto abstracto de operaciones asignadas a una o másEnd- puntos, definiendo el conjunto de operaciones para una unión; la recogida de
operaciones, ya que es abstracto, se pueden asignar a varios medios de transporte
a través de diversas encuadernaciones.
Encuadernación: Se los formatos de protocolo y datos concretos para las
operaciones y mensajes definidos para un tipo determinado puerto.
Puerto: Se trata de una combinación de una unión y una dirección de red,
proporcionando la dirección de destino de la comunicación de servicio.
Servicio: Es una colección de puntos finales relacionados que abarca el servicio
las definiciones en el archivo; los servicios de mapas de la unión con el puerto e
incluyen cualquier definiciones extensibilidad.
Además de estos elementos principales, la especificación WSDL también define los
siguientes elementos de utilidad:
Documentación: Este elemento se utiliza proporcionar legible documentación y
se puede incluir dentro de cualquier otro elemento WSDL.
Importación: Este elemento se utiliza para importar otros documentos WSDL o
XML Los esquemas.
NOTA: Las partes WSDL son usualmente generado automáticamente utilizando servicios
La iniciativa UDDI surgió como respuesta a estas preguntas. Varias empresas, incluidas
Microsoft, IBM, Sun, Oracle, Compaq, Hewlett Packard, Intel, SAP y unas trescientas más
(para obtener un listado completo, consulte UDDI: Community [en inglés]), unieron sus
esfuerzos para desarrollar una especificación basada en estándares abiertos y tecnologías
no propietarias que permitiera resolver los retos anteriores. El resultado, cuya versión beta
se lanzó en diciembre de 2000 y estaba en producción en mayo de 2001, fue un registro
empresarial global alojado por varios nodos de operadores en el que los usuarios podían
realizar búsquedas y publicaciones sin coste alguno.
A partir de la creación de esta infraestructura para servicios Web, los datos sobre estos
servicios se pueden encontrar de forma sistemática y confiable en una capacidad
universal totalmente independiente de proveedores. Se pueden llevar a cabo búsquedascategóricas precisas utilizando sistemas de identificación y taxonómicos extensibles. La
integración de UDDI en tiempo de ejecución se puede incorporar a las aplicaciones. Como
resultado, se fomenta el desarrollo de un entorno de software de servicios Web.
¿Qué es?
Es un estándar para describir y descubrir servicios Web, actualmente se encuentra la versión3.x y puede interoperar con XML.DDI es un registro público diseñado para almacenar de forma estructurada información
sobre empresas y los servicios que éstas ofrecen. A través de UDDI, se puede publicar y
descubrir información de una empresa y de sus servicios. Se puede utilizar sistemastaxonómicos estándar para clasificar estos datos y poder encontrarlos posteriormente en
función de la categorización. Lo más importante es que UDDI contiene información sobre
las interfaces técnicas de los servicios de una empresa. A través de un conjunto de llamadas
a API XML basadas en SOAP, se puede interactuar con UDDI tanto en tiempo de diseño
como de ejecución para descubrir datos técnicos de los servicios que permitan invocarlos y
utilizarlos. De este modo, UDDI sirve como infraestructura para una colección de software
La información de UDDI se aloja en nodos de operador, empresas que se han comprometido
a ejecutar un nodo público conforme a la especificación que rige el consorcio UDDI.org. En
la actualidad existen dos nodos públicos que se ajustan a la versión 1 de la especificación
UDDI: Microsoft aloja uno e IBM el otro. Hewlett Packard se ha comprometido a alojar un
nodo bajo la versión 2 de la especificación. Los operadores del host deben replicar datosentre ellos a través de un canal seguro, para conseguir la redundancia de la información en
el registro UDDI. Se pueden publicar los datos en un nodo y descubrirlos en otro tras la
réplica. Actualmente, la réplica se produce cada 24 horas. En el futuro, este
intervalo entre réplicas se reducirá, ya que habrá más aplicaciones que dependan de los
datos de UDDI.
Resulta importante observar que no existen requisitos de propietario respecto al modo en
que el operador del host implementa su nodo. El nodo sólo se debe ajustar a la
especificación UDDI. El nodo de Microsoft (http://uddi.microsoft.com/default.aspx [en
inglés]), por ejemplo, se ha escrito por completo en C# y se ejecuta en producción en tiempo
de ejecución en lenguaje común .NET Beta 2. El código de base se beneficia claramente
de la compatibilidad nativa con SOAP y de la socialización que ofrecen las clases de sistema
.NET. En el lado del servidor, el nodo del operador Microsoft utiliza Microsoft® SQL Server
2000 como almacén de datos. Creo que basta con mencionar que IBM utiliza tecnologías
diferentes para ejecutar su nodo. NO obstante, los dos nodos se comportan exactamente
igual, ya que se ajustan al mismo conjunto de llamadas a API XML basadas en SOAP. Las
herramientas de los clientes pueden interoperar con ambos nodos sin problemas.
El próximo paso para comprender la iniciativa UDDI consiste en ver qué datos se almacenan
en UDDI y cómo se estructuran. UDDI es relativamente ligero; se ha diseñado como
registro, no como depósito. La diferencia, aunque sutil, resulta esencial. Un registro redirige
al usuario a recursos, mientras que un depósito sólo almacena información. El registro
Microsoft Windows puede servir de ejemplo: contiene las configuraciones y parámetrosbásicos pero, en última instancia, su función es la de dirigir la aplicación a un recurso o
binario. Buscar un componente COM basándonos en su Id. De programa nos conducirá a
un Id. De clase, que a su vez nos dirigirá a la ubicación del binario.
El Internet es un conjunto de protocolos. Así nació y así sigue siendo. Incluso
cada día se agregan nuevos protocolos a este conjunto. También el desarrolloaplicaciones para Internet no es la simple creación de páginas interactivas.
Existe una gran gama de aplicaciones que se pueden crear.
La tendencia es la creación de aplicaciones en capas con una o varias
tecnologías que se comunican por medio de protocolos como SOAP o
XMLRPC.
A partir del concepto de desarrollo en capas nace el concepto de Servicio Web.
Hay alternativas para las tecnologías propietarias mayores que dominan el
mercado. Por ejemplo: una combinación de XWT con PHP por medio de
XMLRPC, podría reemplazar una aplicación de Visual Studio .NET, aligerandoel costo de las licencias.