Modulo13 Web Services
description
Transcript of Modulo13 Web Services
![Page 1: Modulo13 Web Services](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/1.jpg)
![Page 2: Modulo13 Web Services](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/3.jpg)
Datos
Formats
XML
JSON
RSS
Atom
Access
Serialization
Linq to XML
Linq to JSON
Syndication
![Page 4: Modulo13 Web Services](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/8.jpg)
CONSUMIR SW SOAP
1. Añadimos la referencia al servicio http://api.microsofttranslator.com/V1/SOAP.svc
![Page 9: Modulo13 Web Services](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/11.jpg)
DEMO
CONSUMIR SW SOAP
![Page 12: Modulo13 Web Services](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/13.jpg)
CONSUMIR SERVICIOS
WEB REST
4. Generamos manejadores asíncronos
5. Implementamos el manejador
![Page 14: Modulo13 Web Services](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/14.jpg)
DEMO
CONSUMIR SERVICIOS WEB REST
![Page 15: Modulo13 Web Services](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/15.jpg)
Recursos
Centro de desarrollo de WP7 en MSDN
http://msdn.microsoft.com/es-es/windowsphone/default.aspx
AppHub
http://create.msdn.com/
Windows Phone Developer Blog
http://windowsteamblog.com/windows_phone/b/wpdev
MobileNUG
http://www.mobilenug.es
Forums
http://forums.create.msdn.com/forums/
![Page 16: Modulo13 Web Services](https://reader034.fdocuments.mx/reader034/viewer/2022052601/5595a1791a28ab19448b475a/html5/thumbnails/16.jpg)