modulo13 web services

16

Upload: eduardo

Post on 03-Jul-2015

2.264 views

Category:

Documents


0 download

DESCRIPTION

Se verá como consumir servicios basados en SOAP y en REST desde Windows Phone, así como un acercamiento a los servicios de Azure.

TRANSCRIPT

Page 1: Modulo13 Web Services
Page 2: Modulo13 Web Services

Web Services

Desde Windows Phone podemos consumir los siguientes servicios:

SOAP

Windows Communcation (WCF)

Otras tecnologías basadas en SOAP

HTTP

REST

Azure

Page 3: Modulo13 Web Services

Datos

Formats

XML

JSON

RSS

Atom

Access

Serialization

Linq to XML

Linq to JSON

Syndication

Page 4: Modulo13 Web Services

REST Vs SOAP

REST Utiliza únicamente XML y HTTP

Cada URL representa un objeto sobre el que puedes realizar POST, GET, PUT y DELETE

• SOAP – Infraestructura basada en

XML

– Cada objeto tiene métodos definidos por el programador con los parámetros necesarios

Page 5: Modulo13 Web Services

REST Vs SOAP

Ventajas de SOAP

Fácil de consumir

Rígido: tipado fuerte, sigue un contrato

Herramientas de desarrolo

• Ventajas de REST

– Ligero: no hace falta mucho XML de configuración

– Resultados legibles

– Fácil de implementar: no hacen falta herramientas específicas

Page 6: Modulo13 Web Services

CONSUMIENDO

SERVICIOS

Archivo WMAppManifest.xml

<?xml version="1.0" encoding="utf-8"?> <Deployment xmlns="http://schemas.microsoft.com/windowsphone/2009/deployment" AppPlatformVersion="7.0"> <App xmlns="" ProductID="{c5d19681-4a86-4565-9509-9a565c587cac}" Title="reproductor" RuntimeType="SilverLight" Version="1.0.0.0" Genre="NormalApp" Author="" Description="" Publisher=""> <IconPath IsRelative="true" IsResource="false">ApplicationIcon.png</IconPath> <Capabilities>

<Capability Name="ID_CAP_NETWORKING" /> <Capability Name="ID_CAP_LOCATION" /> <Capability Name="ID_CAP_SENSORS" /> <Capability Name="ID_CAP_MICROPHONE" /> <Capability Name="ID_CAP_MEDIALIB" /> <Capability Name="ID_CAP_GAMERSERVICES" /> <Capability Name="ID_CAP_PHONEDIALER" /> <Capability Name="ID_CAP_PUSH_NOTIFICATION" /> <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" /> </Capabilities> <Tasks> </Tasks> <Tokens> </Tokens> </App> </Deployment>

Page 7: Modulo13 Web Services

CONSUMIR SERVICIOS WEB

Sólo métodos asíncronos!!

Por cada operación, el proxy contiene: Método asíncrono

Evento “Completed”

Page 8: Modulo13 Web Services

CONSUMIR SW SOAP

1. Añadimos la referencia al servicio http://api.microsofttranslator.com/V1/SOAP.svc

Page 9: Modulo13 Web Services

CONSUMIR SW SOAP

2. Agregamos referencias a librerías:

using BingSoap.TranslatorService;

3. Creamos alguna variable….

//Referencia SOAP a Bing Translator

TranslatorService.LanguageServiceClient ls = new LanguageServiceClient();

//AppId para utilizar los servicios de Bing

string AppId = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";

Page 10: Modulo13 Web Services

CONSUMIR SW SOAP

4. En el creador generamos el handler ls.TranslateCompleted += new

EventHandler<TranslateCompletedEventArgs>(ls_TranslateCompleted);

5. En el manejador de un botón, llamamos al manejador

ls.TranslateAsync(AppId, textoOrigen.Text, "ES", "EN");

6. Finalmente mostramos el resultado void ls_TranslateCompleted(object sender, TranslateCompletedEventArgs e)

{

if (e.Error == null)

textoDestino.Text = e.Result;

}

Page 11: Modulo13 Web Services

DEMO

CONSUMIR SW SOAP

Page 12: Modulo13 Web Services

CONSUMIR SERVICIOS

WEB REST

1. Agregamos referencias a la librería:

using System.Runtime.Serialization;

2. Creamos un proxy:

WebClient proxy = new WebClient();

3. Preparamos una Uri:

Page 13: Modulo13 Web Services

CONSUMIR SERVICIOS

WEB REST

4. Generamos manejadores asíncronos

5. Implementamos el manejador

Page 14: Modulo13 Web Services

DEMO

CONSUMIR SERVICIOS WEB REST

Page 16: Modulo13 Web Services