SlideShare una empresa de Scribd logo
Web Services
 Desde Windows Phone podemos consumir
  los siguientes servicios:
  SOAP
   Windows Communcation (WCF)
   Otras tecnologías basadas en SOAP
  HTTP
  REST
  Azure
Datos
 Formats    Access
    XML        Serialization
    JSON       Linq to XML
    RSS        Linq to JSON
    Atom       Syndication
REST Vs SOAP
   REST                                •   SOAP
       Utiliza únicamente XML y HTTP       –   Infraestructura basada en
       Cada URL representa un objeto           XML
        sobre el que puedes realizar        –   Cada objeto tiene métodos
        POST, GET, PUT y DELETE                 definidos por el programador
                                                con los parámetros
                                                necesarios
REST Vs SOAP
• Ventajas de REST         Ventajas de SOAP
  – Ligero: no hace          Fácil de consumir
    falta mucho XML          Rígido: tipado
    de configuración          fuerte, sigue un
  – Resultados legibles       contrato
  – Fácil de                 Herramientas de
    implementar: no           desarrolo
    hacen falta
    herramientas
    específicas
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>
CONSUMIR SERVICIOS WEB

 Sólo métodos asíncronos!!




 Por cada operación, el proxy contiene:
     Método asíncrono
     Evento “Completed”
CONSUMIR SW SOAP
1. Añadimos la referencia al servicio
   http://api.microsofttranslator.com/V1/SOAP.svc
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";
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;
 }
CONSUMIR SW SOAP




     DEMO
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:
CONSUMIR SERVICIOS
          WEB REST
4. Generamos manejadores asíncronos



5. Implementamos el manejador
CONSUMIR SERVICIOS WEB REST




       DEMO
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/
Modulo13 Web Services

Más contenido relacionado

La actualidad más candente

Presentacion node
Presentacion nodePresentacion node
Presentacion node
Luis Vilches
 
ASP.NET MVC - AJAX
ASP.NET MVC - AJAXASP.NET MVC - AJAX
ASP.NET MVC - AJAX
Danae Aguilar Guzmán
 
Conceptos Mule ESB
Conceptos Mule ESBConceptos Mule ESB
Conceptos Mule ESB
Larry Magallanes
 
ASP.NET MVC - areas, manejo de estado
ASP.NET MVC - areas, manejo de estadoASP.NET MVC - areas, manejo de estado
ASP.NET MVC - areas, manejo de estado
Danae Aguilar Guzmán
 
Webinar: Base de Datos en tiempo real con MeteorJS
Webinar: Base de Datos en tiempo real con MeteorJSWebinar: Base de Datos en tiempo real con MeteorJS
Webinar: Base de Datos en tiempo real con MeteorJS
Arsys
 
Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.
Germán Küber
 
Active mq - adopción
Active mq - adopciónActive mq - adopción
Active mq - adopción
Carlos Reinoza
 
Connectión
ConnectiónConnectión
Java Web Services - SOAP Binding
Java Web Services - SOAP BindingJava Web Services - SOAP Binding
Java Web Services - SOAP Binding
Luis Miguel De Bello
 
Mule Cloud Connectors-Conceptos Basicos
Mule Cloud Connectors-Conceptos BasicosMule Cloud Connectors-Conceptos Basicos
Mule Cloud Connectors-Conceptos Basicos
Manuel Antonio
 
dotCMS: un Web CMS Open Source de perfil empresarial
dotCMS: un Web CMS Open Source de perfil empresarialdotCMS: un Web CMS Open Source de perfil empresarial
dotCMS: un Web CMS Open Source de perfil empresarial
Refresh Maracaibo
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
Kelion Tadeo Santos
 
ASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - Introducción a ASP.NET MVCASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - Introducción a ASP.NET MVC
Danae Aguilar Guzmán
 
Asp .Net Ajax: Patrones
Asp .Net Ajax: PatronesAsp .Net Ajax: Patrones
Asp .Net Ajax: Patrones
juliocasal
 
Iniciación Con CakePHP
Iniciación Con CakePHPIniciación Con CakePHP
Iniciación Con CakePHP
Victor San Martin
 
Java Web - Servlet
Java Web - ServletJava Web - Servlet
Java Web - Servlet
Luis Miguel De Bello
 

La actualidad más candente (16)

Presentacion node
Presentacion nodePresentacion node
Presentacion node
 
ASP.NET MVC - AJAX
ASP.NET MVC - AJAXASP.NET MVC - AJAX
ASP.NET MVC - AJAX
 
Conceptos Mule ESB
Conceptos Mule ESBConceptos Mule ESB
Conceptos Mule ESB
 
ASP.NET MVC - areas, manejo de estado
ASP.NET MVC - areas, manejo de estadoASP.NET MVC - areas, manejo de estado
ASP.NET MVC - areas, manejo de estado
 
Webinar: Base de Datos en tiempo real con MeteorJS
Webinar: Base de Datos en tiempo real con MeteorJSWebinar: Base de Datos en tiempo real con MeteorJS
Webinar: Base de Datos en tiempo real con MeteorJS
 
Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.Arquitectura en aplicaciones Angular y buenas practicas.
Arquitectura en aplicaciones Angular y buenas practicas.
 
Active mq - adopción
Active mq - adopciónActive mq - adopción
Active mq - adopción
 
Connectión
ConnectiónConnectión
Connectión
 
Java Web Services - SOAP Binding
Java Web Services - SOAP BindingJava Web Services - SOAP Binding
Java Web Services - SOAP Binding
 
Mule Cloud Connectors-Conceptos Basicos
Mule Cloud Connectors-Conceptos BasicosMule Cloud Connectors-Conceptos Basicos
Mule Cloud Connectors-Conceptos Basicos
 
dotCMS: un Web CMS Open Source de perfil empresarial
dotCMS: un Web CMS Open Source de perfil empresarialdotCMS: un Web CMS Open Source de perfil empresarial
dotCMS: un Web CMS Open Source de perfil empresarial
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
ASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - Introducción a ASP.NET MVCASP.NET MVC - Introducción a ASP.NET MVC
ASP.NET MVC - Introducción a ASP.NET MVC
 
Asp .Net Ajax: Patrones
Asp .Net Ajax: PatronesAsp .Net Ajax: Patrones
Asp .Net Ajax: Patrones
 
Iniciación Con CakePHP
Iniciación Con CakePHPIniciación Con CakePHP
Iniciación Con CakePHP
 
Java Web - Servlet
Java Web - ServletJava Web - Servlet
Java Web - Servlet
 

Destacado

Modulo12 Network Information
Modulo12 Network InformationModulo12 Network Information
Modulo12 Network Information
Eduardo
 
Modulo18 Giroscopo
Modulo18 GiroscopoModulo18 Giroscopo
Modulo18 Giroscopo
Eduardo
 
Modulo11 Pim
Modulo11 PimModulo11 Pim
Modulo11 Pim
Eduardo
 
Modulo17 Brujula
Modulo17 BrujulaModulo17 Brujula
Modulo17 Brujula
Eduardo
 
Modulo19 Localización
Modulo19 LocalizaciónModulo19 Localización
Modulo19 Localización
Eduardo
 
Modulo14 Notificaciones
Modulo14 NotificacionesModulo14 Notificaciones
Modulo14 Notificaciones
Eduardo
 

Destacado (6)

Modulo12 Network Information
Modulo12 Network InformationModulo12 Network Information
Modulo12 Network Information
 
Modulo18 Giroscopo
Modulo18 GiroscopoModulo18 Giroscopo
Modulo18 Giroscopo
 
Modulo11 Pim
Modulo11 PimModulo11 Pim
Modulo11 Pim
 
Modulo17 Brujula
Modulo17 BrujulaModulo17 Brujula
Modulo17 Brujula
 
Modulo19 Localización
Modulo19 LocalizaciónModulo19 Localización
Modulo19 Localización
 
Modulo14 Notificaciones
Modulo14 NotificacionesModulo14 Notificaciones
Modulo14 Notificaciones
 

Similar a Modulo13 Web Services

Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjects
mamcx
 
Servicios web
Servicios webServicios web
Servicios webitoomac02
 
Servicios web
Servicios webServicios web
Servicios webitoomac02
 
Servicios web java php-perl-google
Servicios web java php-perl-googleServicios web java php-perl-google
Servicios web java php-perl-googleJosue Hernandez
 
REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAPea2014G3
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
Paradigma Digital
 
Opensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackOpensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN Stack
Pedro J. Molina
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN Stack
Pedro J. Molina
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
Rodolfo Finochietti
 
Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexicoAmazon Web Services LATAM
 
2018.sps madrid.spfx workshop
2018.sps madrid.spfx workshop2018.sps madrid.spfx workshop
2018.sps madrid.spfx workshop
Mario Cortés Flores
 
Web service
Web serviceWeb service
Web service
aktivfinger
 
Web service
Web serviceWeb service
Web service
aktivfinger
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
Sebastián Rocco
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx
Jose Juan R. Zuñiga
 

Similar a Modulo13 Web Services (20)

Servicios web java, php, perl, google
Servicios web java, php, perl, googleServicios web java, php, perl, google
Servicios web java, php, perl, google
 
Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjects
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web Extendido_error perl
Servicios web Extendido_error perlServicios web Extendido_error perl
Servicios web Extendido_error perl
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web java php-perl-google
Servicios web java php-perl-googleServicios web java php-perl-google
Servicios web java php-perl-google
 
REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAP
 
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVCSEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
SEMINARIO: Servicios REST. Bases de la tecnología y soporte con Spring MVC
 
Servicios web
Servicios webServicios web
Servicios web
 
Opensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackOpensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN Stack
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN Stack
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Servicios web
Servicios webServicios web
Servicios web
 
Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexico
 
2018.sps madrid.spfx workshop
2018.sps madrid.spfx workshop2018.sps madrid.spfx workshop
2018.sps madrid.spfx workshop
 
Web service
Web serviceWeb service
Web service
 
Web service
Web serviceWeb service
Web service
 
Introducción al desarrollo web moderno
Introducción al desarrollo web modernoIntroducción al desarrollo web moderno
Introducción al desarrollo web moderno
 
15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx15a. Reunion de SpringHispano.org y grails.org.mx
15a. Reunion de SpringHispano.org y grails.org.mx
 

Más de Eduardo

Modulo10 Background Audio
Modulo10 Background AudioModulo10 Background Audio
Modulo10 Background Audio
Eduardo
 
Modulo9 Background Agents
Modulo9 Background AgentsModulo9 Background Agents
Modulo9 Background Agents
Eduardo
 
Modulo8 Servicio De Notificaciones
Modulo8 Servicio De NotificacionesModulo8 Servicio De Notificaciones
Modulo8 Servicio De Notificaciones
Eduardo
 
Modulo7 Bases de Datos
Modulo7 Bases de DatosModulo7 Bases de Datos
Modulo7 Bases de Datos
Eduardo
 
Modulo5 Trucos Web Browser
Modulo5 Trucos Web BrowserModulo5 Trucos Web Browser
Modulo5 Trucos Web Browser
Eduardo
 
Modulo4 Indicadores De Progreso
Modulo4 Indicadores De ProgresoModulo4 Indicadores De Progreso
Modulo4 Indicadores De Progreso
Eduardo
 
Modulo3 Launchers&amp;Choosers
Modulo3 Launchers&amp;ChoosersModulo3 Launchers&amp;Choosers
Modulo3 Launchers&amp;Choosers
Eduardo
 
Modulo 2 Modelo Ejecucion
Modulo 2 Modelo EjecucionModulo 2 Modelo Ejecucion
Modulo 2 Modelo Ejecucion
Eduardo
 
Modulo1 Herramientas De Desarrollo Wp7 1
Modulo1 Herramientas De Desarrollo Wp7 1Modulo1 Herramientas De Desarrollo Wp7 1
Modulo1 Herramientas De Desarrollo Wp7 1
Eduardo
 

Más de Eduardo (9)

Modulo10 Background Audio
Modulo10 Background AudioModulo10 Background Audio
Modulo10 Background Audio
 
Modulo9 Background Agents
Modulo9 Background AgentsModulo9 Background Agents
Modulo9 Background Agents
 
Modulo8 Servicio De Notificaciones
Modulo8 Servicio De NotificacionesModulo8 Servicio De Notificaciones
Modulo8 Servicio De Notificaciones
 
Modulo7 Bases de Datos
Modulo7 Bases de DatosModulo7 Bases de Datos
Modulo7 Bases de Datos
 
Modulo5 Trucos Web Browser
Modulo5 Trucos Web BrowserModulo5 Trucos Web Browser
Modulo5 Trucos Web Browser
 
Modulo4 Indicadores De Progreso
Modulo4 Indicadores De ProgresoModulo4 Indicadores De Progreso
Modulo4 Indicadores De Progreso
 
Modulo3 Launchers&amp;Choosers
Modulo3 Launchers&amp;ChoosersModulo3 Launchers&amp;Choosers
Modulo3 Launchers&amp;Choosers
 
Modulo 2 Modelo Ejecucion
Modulo 2 Modelo EjecucionModulo 2 Modelo Ejecucion
Modulo 2 Modelo Ejecucion
 
Modulo1 Herramientas De Desarrollo Wp7 1
Modulo1 Herramientas De Desarrollo Wp7 1Modulo1 Herramientas De Desarrollo Wp7 1
Modulo1 Herramientas De Desarrollo Wp7 1
 

Modulo13 Web Services

  • 1.
  • 2. Web Services  Desde Windows Phone podemos consumir los siguientes servicios:  SOAP  Windows Communcation (WCF)  Otras tecnologías basadas en SOAP  HTTP  REST  Azure
  • 3. Datos  Formats  Access  XML  Serialization  JSON  Linq to XML  RSS  Linq to JSON  Atom  Syndication
  • 4. REST Vs SOAP  REST • SOAP  Utiliza únicamente XML y HTTP – Infraestructura basada en  Cada URL representa un objeto XML sobre el que puedes realizar – Cada objeto tiene métodos POST, GET, PUT y DELETE definidos por el programador con los parámetros necesarios
  • 5. REST Vs SOAP • Ventajas de REST  Ventajas de SOAP – Ligero: no hace  Fácil de consumir falta mucho XML  Rígido: tipado de configuración fuerte, sigue un – Resultados legibles contrato – Fácil de  Herramientas de implementar: no desarrolo hacen falta herramientas específicas
  • 6. 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>
  • 7. CONSUMIR SERVICIOS WEB  Sólo métodos asíncronos!!  Por cada operación, el proxy contiene:  Método asíncrono  Evento “Completed”
  • 8. CONSUMIR SW SOAP 1. Añadimos la referencia al servicio http://api.microsofttranslator.com/V1/SOAP.svc
  • 9. 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";
  • 10. 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; }
  • 12. 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:
  • 13. CONSUMIR SERVICIOS WEB REST 4. Generamos manejadores asíncronos 5. Implementamos el manejador
  • 15. 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/