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

31
Introducción XML y WebServices

Upload: cruz-de-valle

Post on 06-Feb-2015

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: XML WebServices ¿Qué son? Creación Invocación SOAP

Introducción

XML y WebServices

Page 2: XML WebServices ¿Qué son? Creación Invocación SOAP

Agenda

XML WebServices

−¿Qué son?

−Creación

− Invocación

SOAP

Page 3: 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.

Page 4: XML WebServices ¿Qué son? Creación Invocación SOAP

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.

Page 5: XML WebServices ¿Qué son? Creación Invocación SOAP

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.

Page 6: XML WebServices ¿Qué son? Creación Invocación SOAP

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

Page 7: XML WebServices ¿Qué son? Creación Invocación SOAP

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

Page 8: XML WebServices ¿Qué son? Creación Invocación SOAP

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

Page 9: XML WebServices ¿Qué son? Creación Invocación SOAP

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

Page 10: XML WebServices ¿Qué son? Creación Invocación SOAP

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

Page 11: XML WebServices ¿Qué son? Creación Invocación SOAP

Agenda

XML

WebServices

−¿Qué son?

−Creación

− Invocación

SOAP

Page 12: XML WebServices ¿Qué son? Creación Invocación SOAP

¿Qué son los WS?

XML

Aplicación 2Aplicación 1

Page 13: XML WebServices ¿Qué son? Creación Invocación SOAP

Características

Independiente de la plataforma

Estándares Abiertos

− Interoperable

Basado en Software existente

−Parsers XML

−Servidores HTTP

Page 14: XML WebServices ¿Qué son? Creación Invocación SOAP

Transporte

HTTP POST es el más común

También otros como:

−FTP

−SMTP

−HTTP GET

Algunos más exóticos:

− Jabber

−BEEP

Page 15: XML WebServices ¿Qué son? Creación Invocación SOAP

Agenda

XML

WebServices

−¿Qué son?

−Creación

− Invocación

SOAP

Page 16: 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

Page 17: XML WebServices ¿Qué son? Creación Invocación SOAP

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>

Page 18: XML WebServices ¿Qué son? Creación Invocación SOAP

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>

Page 19: XML WebServices ¿Qué son? Creación Invocación SOAP

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

Page 20: XML WebServices ¿Qué son? Creación Invocación SOAP

Packaging - SOAP

HTTP Post

SOAP Envelope

SOAP Body

SOAP Head

Page 21: XML WebServices ¿Qué son? Creación Invocación SOAP

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

Page 22: XML WebServices ¿Qué son? Creación Invocación SOAP

Agenda

XML

WebServices

−¿Qué son?

−Creación

− Invocación

SOAP

Page 23: 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

Page 24: XML WebServices ¿Qué son? Creación Invocación SOAP

Creación

Page 25: XML WebServices ¿Qué son? Creación Invocación SOAP

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

Page 26: XML WebServices ¿Qué son? Creación Invocación SOAP

Creación

Page 27: XML WebServices ¿Qué son? Creación Invocación SOAP

Agenda

XML

WebServices

−¿Qué son?

−Creación

−Invocación

SOAP

Page 28: 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

Page 29: XML WebServices ¿Qué son? Creación Invocación SOAP

Invocación

Page 30: XML WebServices ¿Qué son? Creación Invocación SOAP

Invocación

Page 31: XML WebServices ¿Qué son? Creación Invocación SOAP

Invocación