WSDL

WSDL es un lenguaje basado en XML para describir servicios Web y cómo acceder a servicios web.


Debe tener conocimientos básicos

Antes de continuar, es necesario tener un conocimiento básico de la siguiente interpretación:


¿Que es WSDL?


WSDL para describir servicios Web (Web Services)

WSDL se refiere a la Web Services Description Language (Web Services Description Language).

WSDL es un documento escrito en el uso de XML. Este documento puede describir un servicio web. Se puede proporcionar servicios basados en la ubicación, así como la explotación del servicio proporcionado (o métodos).


En la historia del desarrollo de WSDL del W3C

En marzo de 2001, WSDL 1.1 es IBM, Microsoft presentó como un registro W3C (W3C nota) a la actividad relacionada con el protocolo XML de W3C XML, para la descripción de los servicios de red.

(W3C para la discusión único registro, de acuerdo con una grabación lanzado W3C no quiere decir que se ha reconocido por el W3C o al equipo de W3C o voluntad cualquier miembro del W3C).

En julio de 2002, el W3C publicó el primer borrador de trabajo WSDL 1.2.

documento WSDL es sólo un documento XML simple.

Contiene una serie de descripción definida de un servicio web.


la estructura del documento WSDL

documento WSDL utilizando estos elementos principales para describir un servicio web es:

elemento definición
<portType> web service Acción realizada
<message> web service mensaje usado
<types> web service tipo de datos utilizado
<binding> web service Protocolo de comunicación utilizado

Una de la estructura principal de un documento WSDL tiene el siguiente aspecto:

                        <definitions>

<types>
data type definitions........
</types>

<message>
definition of the data being communicated....
</message>

<portType>
set of operations......
</portType>

<binding>
protocol and data format specification....
</binding>

</definitions>

documento WSDL puede contener otros elementos, tales como elementos de extensión y un elemento de servicio, que pueden soportar una serie de servicios web combinación definidos en un único documento WSDL.


puerto WSDL

<PortType> elemento es el elemento más importante de WSDL.

Se puede describir como un servicio, la operación se puede realizar, y los mensajes que web.

Puede <portType> elemento puede ser comparado en una biblioteca tradicional función de lenguaje de programación (o un módulo, o una clase).


mensaje WSDL

<Mensaje> define los elementos de datos de una operación.

Cada mensaje consiste en uno o más componentes. Las partes pueden ser comparados con los parámetros de un tradicionales llamadas de función de lenguaje de programación.


tipos WSDL

<Tipos> define los tipos de datos utilizados por el servicio web.

Para maximizar la neutralidad de la plataforma, WSDL utilizando la sintaxis de esquema XML para definir los tipos de datos.


WSDL Vinculaciones

elemento <binding> para definir cada formato de mensaje de puerto y detalles del protocolo.


instancias WSDL

Esta es una fracción simplificada de un documento WSDL:

                        <message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>

En este ejemplo, <portType> elemento a "glossaryTerms" se define como el nombre de un puerto, el "getTerm" se define como el nombre de una operación.

Operación "getTerm" tiene un mensaje de entrada llamado "getTermRequest", y el mensaje de salida llamado "getTermResponse" de.

<Mensaje> define los componentes de cada mensaje, y los datos asociados con el tipo.

En comparación con la programación tradicional, glossaryTerms es una biblioteca de funciones, "getTerm" es "getTermRequest" una función con parámetros de entrada y parámetros de getTermResponse regreso.

<PortType> elemento es el elemento más importante de WSDL.


puerto WSDL

<PortType> elemento es el elemento más importante de WSDL.

Se puede describir como un servicio, la operación se puede realizar, y los mensajes que web.

Puede <portType> elemento puede ser comparado en una biblioteca tradicional función de lenguaje de programación (o un módulo, o una clase).


Tipo de acción

Solicitud - la respuesta es el tipo de operación más común, pero WSDL define cuatro tipos:

tipo definición
One-way Esta operación acepta mensajes, pero no devuelve una respuesta.
Request-response Esta operación acepta una solicitud y devuelve una respuesta.
Solicit-response Esta acción envía una solicitud y espera una respuesta.
Notification Esta acción envía un mensaje pero no espera una respuesta。


Unidireccional Operación

A unidireccionales ejemplos de operación:

                        <message name="newTermValues">
<part name="term" type="xs:string"/>
<part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
<operation name="setTerm">
<input name="newTerm" message="newTermValues"/>
</operation>
</portType >

En este ejemplo, los "glossaryTerms" puerto definen un grupo llamado "setterm" una operación de un solo sentido.

Este "setterm" Operación nuevo mensaje de entrada elemento glosario aceptable, estos mensajes a través de un mensaje denominado "newTermValues" Este mensaje con el parámetro de entrada "término" y "valor". Sin embargo, no define ninguna salida para esta operación.


operación de petición-respuesta

Una petición-respuesta Ejemplo de operación:

                        <message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>

En este ejemplo, los "glossaryTerms" puerto definen un grupo llamado "getTerm" la operación de petición-respuesta.

mensaje "GetTerm" solicitud de acción de entrada llamado "getTermRequest" Este mensaje tiene un parámetro llamado "término" y devolverá un mensaje de salida llamado "getTermResponse" Este mensaje con un " parámetro de valor ".

WSDL unión puede definir el formato de los mensajes y los detalles de protocolo para el servicio web.


Unido a SOAP

Una petición - respuesta Ejemplo de operación:

                        <message name="getTermRequest">
<part name="term" type="xs:string"/>
</message>

<message name="getTermResponse">
<part name="value" type="xs:string"/>
</message>

<portType name="glossaryTerms">
<operation name="getTerm">
<input message="getTermRequest"/>
<output message="getTermResponse"/>
</operation>
</portType>

<binding type="glossaryTerms" name="b1">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation>
<soap:operation soapAction="http://example.com/getTerm"/>
<input><soap:body use="literal"/></input>
<output><soap:body use="literal"/></output>
</operation>
</binding>

elemento de unión tiene dos atributos - atributo de nombre y el atributo type.

Nombre Nombre de atributo define la unión, y los puntos de tipo de atributo para el puerto de unión, en este caso es el puerto "glossaryTerms".

jabón: elemento de unión tiene dos atributos - propiedades de estilo y propiedades de transporte.

valor de la propiedad estilo "RPC" o "documento". En este ejemplo, utilizamos documento. atributo de transporte define el protocolo SOAP para usar. En este ejemplo, se utiliza HTTP.

elemento de operación define el operador portuario previsto en cada uno.

Para cada operación, los correspondientes actos de SOAP necesitan ser definidos. Debe también cómo la entrada y salida de codificación. En este ejemplo usamos "literal".

UDDI es un servicio de directorio, las empresas pueden utilizar para registrar y la búsqueda de los servicios Web.
UDDI, Inglés como "Universal Description, Discovery and Integration", se puede traducir como "Universal Description, Discovery and Integration Services."


¿Que es UDDI?

UDDI es un marco independiente de la plataforma para la descripción de los servicios a través de Internet para encontrar negocios, servicios e integración de la empresa.


¿UDDI Basado en qué?

Los estándares de Internet utilizando UDDI W3C e IETF * tales como XML, HTTP y los protocolos DNS.

UDDI WSDL utiliza para describir servicios web interfaz para llegar

Además, mediante el uso de SOAP, puede alcanzar las funciones de programación multiplataforma, ya sabes, SOAP es un estándar de comunicación XML-protocolo, puede encontrar la información pertinente en el sitio web del W3C.

* Nota: IETF - Internet Engineering Task Force


Los beneficios de UDDI

Industrias o empresas de cualquier tamaño pueden beneficiarse de UDDI.

Antes de UDDI, un estándar de Internet todavía no existe, que puede ser utilizado por las empresas para proporcionar información sobre sus productos y servicios a las empresas y sus socios. Tampoco hay una manera de integrar en los sistemas y procesos de cada uno.

especificación UDDI para ayudar a resolver el problema:


UDDI cómo se utilizan

Si la industria se ha publicado un estándar UDDI para la detección de la frecuencia de vuelos y reservas, las aerolíneas podrían registrar sus servicios a un directorio UDDI. A continuación, las agencias de viajes podrán trabajar para buscar el directorio UDDI para encontrar la interfaz de reserva aérea. Cuando se encuentra esta interfaz, la agencia de viajes podrá comunicarse inmediatamente con este servicio, por lo que, ya que utiliza un conjunto de interfaz de reserva bien definido.


¿Quién apoya UDDI?

UDDI es una cruz-industria proyectos de investigación por parte de todos los principales proveedores de plataformas y software para conducir, tales como: Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft, Oracle, SAP y Sun, tanto como un agente comercial grupo es también líder en el comercio electrónico.

Hay cientos de empresas que participan en el grupo de UDDI.

El siguiente paso debe ser el aprendizaje de SOAP y servicios web.

SOAP

SOAP es un protocolo simple basado en XML que permite a las aplicaciones de intercambio de información a través de HTTP.

O, más sencillamente, SOAP se utiliza para acceder al protocolo de servicios web.

Servicios web

Los servicios Web pueden entregar su solicitud en una aplicación web.

Con XML, puede transferir mensajes entre aplicaciones.

sintaxis completa se describe en el borrador de trabajo WSDL 1.2 W3C ha sido enumerados a continuación:

<wsdl:definitions name="nmtoken"? targetNamespace="uri">

    <import namespace="uri" location="uri"/> *
	
    <wsdl:documentation .... /> ?

    <wsdl:types> ?
        <wsdl:documentation .... /> ?
        <xsd:schema .... /> *
    </wsdl:types>

    <wsdl:message name="ncname"> *
        <wsdl:documentation .... /> ?
        <part name="ncname" element="qname"? type="qname"?/> *
    </wsdl:message>

    <wsdl:portType name="ncname"> *
        <wsdl:documentation .... /> ?
        <wsdl:operation name="ncname"> *
            <wsdl:documentation .... /> ?
            <wsdl:input message="qname"> ?
                <wsdl:documentation .... /> ?
            </wsdl:input>
            <wsdl:output message="qname"> ?
                <wsdl:documentation .... /> ?
            </wsdl:output>
            <wsdl:fault name="ncname" message="qname"> *
                <wsdl:documentation .... /> ?
            </wsdl:fault>
        </wsdl:operation>
    </wsdl:portType>

    <wsdl:serviceType name="ncname"> *
        <wsdl:portType name="qname"/> +
    </wsdl:serviceType>

    <wsdl:binding name="ncname" type="qname"> *
        <wsdl:documentation .... /> ?
        <-- binding details --> *
        <wsdl:operation name="ncname"> *
            <wsdl:documentation .... /> ?
            <-- binding details --> *
            <wsdl:input> ?
                <wsdl:documentation .... /> ?
                <-- binding details -->
            </wsdl:input>
            <wsdl:output> ?
                <wsdl:documentation .... /> ?
                <-- binding details --> *
            </wsdl:output>
            <wsdl:fault name="ncname"> *
                <wsdl:documentation .... /> ?
                <-- binding details --> *
            </wsdl:fault>
        </wsdl:operation>
    </wsdl:binding>

    <wsdl:service name="ncname" serviceType="qname"> *
        <wsdl:documentation .... /> ?
        <wsdl:port name="ncname" binding="qname"> *
            <wsdl:documentation .... /> ?
            <-- address details -->
        </wsdl:port>
    </wsdl:service>

</wsdl:definitions>