xml webservices ¿qué son? creación invocación soap

Post on 06-Feb-2015

19 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introducción

XML y WebServices

Agenda

XML WebServices

−¿Qué son?

−Creación

− Invocación

SOAP

XML

eXtensible Markup Language (XML)

XML es una versión simplificada de SGML (Standard Generalized Markup Language)

Separa la semántica de los datos del modo de presentación de estos.

XML

Permite definir el modo en el que se estructuran los datos en un documento XML por medio de las Definiciones de Tipo de Documento (DTD)

Estándar abierto. Su formato (texto plano) permite su transporte y lectura bajo cualquier plataforma o herramienta.

XML como metalenguaje

Se utiliza para crear lenguajes de anotación, no para anotar texto per se.

Permite al usuario definir sus propios lenguajes de anotación adaptados a sus necesidades.

XML como sucesor de HTML

HTML es un lenguaje de anotación genérico y además híbrido

− Especifica muy poco sobre la estructura del documento

− Combina tipografía y contenido al mismo tiempo

− Difícil de mantener

− Ha sido mal utilizado

XML trata de eliminar estos problemas

XML como alternativa a SGML

Cuando XML se diseño, se decidió que:

− XML debería ser fácilmente utilizable en Internet

− XML debería soportar una amplia variedad de aplicaciones

− XML debería ser compatible con SGML

− Debiera ser fácil escribir programas para procesar documentos en XML

− El número de características opcionales de XML debe ser mínimo, idealmente 0

− Los documentos en XML deben ser fáciles de leer

− El diseño de XML debiera ser formal y conciso

− Debiera ser fácil crear documentos en XML

Componentes de XML

DTD (Document Type Declaration):

− Define la estructura del documento XML

XML: Define el contenido

XSL (eXtensible Style Language):

− Define la forma que se presentarán los datos

Estructura Documento XML

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mensajes SYSTEM

“mensajes.dtd"><! Documento XML de mensajes--><Mensajes>

<Mensaje identificador=“m1”><Remitente>Luis</Remitente><Destinatario>Jorge</

Destinatario><Texto>Mensaje1</Texto>

</Mensaje><Mensaje identificador=“m2”>

<Remitente>Pablo</Remitente><Destinatario>Jesús</

Destinatario><Texto>Mensaje2</Texto>

</Mensaje></Mensajes>

Codificación

Declaración DTD

Elemento XML

Atributo XML

DTD

<!ELEMENT MENSAJES (MENSAJE)+ ><!ELEMENT MENSAJE (REMITENTE, DESTINATARIO,TEXTO)

><!ATTLIST MENSAJE Identificador(#PCDATA)><!ELEMENT REMITENTE (#PCDATA)><!ELEMENT DESTINATARIO (#PCDATA)><!ELEMENT TEXTO (#PCDATA)>

Declaración Tipo Elemento

Modelo de Contenidos

Declaración Lista de Atributos

Agenda

XML

WebServices

−¿Qué son?

−Creación

− Invocación

SOAP

¿Qué son los WS?

XML

Aplicación 2Aplicación 1

Características

Independiente de la plataforma

Estándares Abiertos

− Interoperable

Basado en Software existente

−Parsers XML

−Servidores HTTP

Transporte

HTTP POST es el más común

También otros como:

−FTP

−SMTP

−HTTP GET

Algunos más exóticos:

− Jabber

−BEEP

Agenda

XML

WebServices

−¿Qué son?

−Creación

− Invocación

SOAP

Packaging – Soap

SOAP:

−Simple

−Object

−Access

−Protocol

Protocolo estándar que define cómo dos objetos en diferentes procesos pueden comunicarse por medio de intercambio de datos XML

Ejemplo Mensajes SOAP

Como ejemplo se muestra la forma en que un cliente solicitaría información de un producto a un proveedor de servicios Web:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body>

<getProductDetails xmlns="http://warehouse.example.com/ws"> <productId>827635</productId>

</getProductDetails> </soap:Body>

</soap:Envelope>

Ejemplo Mensajes SOAP

Y esta sería la respuesta del proveedor:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body>

<getProductDetailsResponse xmlns="http://warehouse.example.com/ws"> <getProductDetailsResult>

<productName>Toptimate 3-Piece Set</productName> <productId>827635</productId>

<description>3-Piece luggage</description>

<price>96.50</price> <inStock>true</inStock>

</getProductDetailsResult> </getProductDetailsResponse>

</soap:Body> </soap:Envelope>

Serialización

class PurchaseOrder {String item = “socks”;int amount = 1;}

<PurchaseOrder><item type=“xsd:string”>

socks</item><amount type=“xsd:int”>

1</amount></PurchaseOrder>

Serializer

Packaging - SOAP

HTTP Post

SOAP Envelope

SOAP Body

SOAP Head

WSDL

Web Services Description Language

“Web Services Description Language (WSDL) provides a model and an XML format for describing Web services.” http://www.w3c.org

Sirve para describir un WebService

Agenda

XML

WebServices

−¿Qué son?

−Creación

− Invocación

SOAP

Creación

Desde VS 2008

−Nuevo Proyecto WEB ASP.NET Web Service Application

−Click en OK

Creación

Creación

Aplicación Web

− Independiente

− Junto con funcionalidades específicas

Tipo especial de clase

−Extensión ASMX

Los métodos a publicar se marcan con el atributo WebMethod

Creación

Agenda

XML

WebServices

−¿Qué son?

−Creación

−Invocación

SOAP

Invocación

Desde un proyecto, basta con agregar una Referencia Web

−Buscándolo por UDDI

−Utilizando el vínculo al WSDL

−Llamando al servicio Web con el argumento ?wsdl

−Se puede hacer desde una browser

Invocación

Invocación

Invocación

top related