SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
Servicios Web




           Alberto Molina Coballes
            Jos´ Domingo Mu˜oz
               e             n
                  Rodr´
                      ıguez




                16 de abril de 2012
Introducci´n
          o
• Es un m´todo de comunicaci´n entre m´quinas a trav´s de la red
         e                  o         a             e
  (normalmente Internet).
• Se habla hoy en d´ de la web programable, que mediante
                   ıa
  diferentes APIs (denominadas a veces web API) permiten
  configurar gran cantidad de aplicaciones basadas en recursos de la
  Web (Web 2.0).
• Hay diferentes mecanismos para implementar servicios web, los
  principales son : XMLRPC (en progresivo desuso), SOAP y REST.
• El protocolo de aplicaci´n m´s utilizado es HTTP, aunque SOAP
                           o    a
  permite utilizar otros protocolos.
• Hay gran cantidad de APIs p´blicas disponibles para utilizar en
                                u
  modo lectura, mientras que para utilizarlas en modo escritura, lo
  habitual es que utilicen alg´n mecanismo de autorizaci´n (OAuth
                              u                         o
  p. ej.)
2 de 14
SOAP


• Simple Object Access Protocol es un est´ndar de la W3C
                                           a
• Intercambia mensajes XML entre el cliente y el servidor:
   ◦ El cliente env´ un mensaje XML
                   ıa
   ◦ El servidor responde con un mensaje XML
• Para la descripci´n de las funcionalidades del servicio se suele
                   o
  utilizar el dialecto XML Web Services Description Language
  (WSDL).
• SOAP en muy completo y descriptivo, pero es relativamente
  complejo de implementar por lo que est´ perdiendo usos en favor
                                        a
  de REST.


3 de 14
Ejemplo de Solicitud SOAP

• Protocolo de aplicaci´n HTTP
                       o
• Como tenemos que enviar datos, utilizamos el m´todo POST
                                                e

POST / services / estructura . asmx HTTP /1.1
Host : www . infobustussam . com
Content - Type : text / xml ; charset = utf -8
Content - Length : length
SOAPAction : " http :// tempuri . org / GetLineas "

<? xml version ="1.0" encoding =" utf -8"? >
< soap : Envelope xmlns : xsi =" http :// www . w3 . org /2001/ XMLSchema - instance "
xmlns : xsd =" http :// www . w3 . org /2001/ XMLSchema "
xmlns : soap =" http :// schemas . xmlsoap . org / soap / envelope /" >
   < soap : Body >
      < GetLineas xmlns =" http :// tempuri . org /" / >
   </ soap : Body >
</ soap : Envelope >




 4 de 14
Ejemplo de Respuesta SOAP
<? xml version ="1.0" encoding =" utf -8"? >
< soap : Envelope xmlns : xsi =" http :// www . w3 . org /2001/ XMLSchema - instance "
xmlns : xsd =" http :// www . w3 . org /2001/ XMLSchema "
xmlns : soap =" http :// schemas . xmlsoap . org / soap / envelope /" >
   < soap : Body >
      < G e t L i n easR esp ons e xmlns =" http :// tempuri . org /" >
          < GetLineasResult >
              < InfoLinea >
                  < label > string </ label >
                  < nombre > string </ nombre >
                  < sublineas >
                     < InfoSublinea xsi : nil =" true " / >
                     < InfoSublinea xsi : nil =" true " / >
                  </ sublineas >
              </ InfoLinea >
              < InfoLinea >
                  < label > string </ label >
                  < nombre > string </ nombre >
                  < sublineas >
                     < InfoSublinea xsi : nil =" true " / >
                     < InfoSublinea xsi : nil =" true " / >
                  </ sublineas >
              </ InfoLinea >
          </ GetLineasResult >
      </ GetLineasResponse >
   </ soap : Body >
</ soap : Envelope >


 5 de 14
Ejemplos de clientes SOAP en Python

Amazon S3 (requiere autenticaci´n, s´lo mostramos la conexi´n):
                               o    o                      o
   >>> from suds . client import Client
   >>> cliente = Client (" http :// s3 . amazonaws . com / doc /2006 -03 -01/ AmazonS3 . wsdl ")
   >>> cliente . service . ListAllMyBuckets . method . soap . output




Informaci´n autobuses urbanos de Sevilla (TUSSAM):
         o
   >>> from suds . client import Client
   >>> cliente = Client ( ’ http :// www . infobustussam . com :9001/ services / dinamica . asmx ? wsdl ’)
   >>> print cliente . service . GetPasoParada ("26" ,"357" ,1)




• La respuesta se procesa con m´todos propios de la instancia,
                               e
  manejo de listas y diccionarios.


6 de 14
REST (RESTful web API)


• Representational State Transfer (REST)
• No es un est´ndar completamente normalizado como SOAP
              a
• Utiliza HTTP para la comunicaci´n entre el cliente y el servidor
                                 o
• Se define una URI base en el servidor
• Comunicaci´n entre cliente y servidor:
              o
  ◦ El cliente realiza una petici´n HTTP (GET, POST, PUT o DELETE)
                                 o
  ◦ El servidor contesta con un mensaje en un determinado formato (los
     m´s usados son XML y JSON)
      a
• Es m´s sencillo de implementar que SOAP y est´ utiliz´ndose de
      a                                        a       a
  forma muy amplia


7 de 14
Ejemplo de petici´n/respuesta REST (XML)
                 o

API de OpeStreetMap. Solicitud de nodos de bicicletas de alquiler
(bicycle rental) en un ´rea rectangular que contiene la Ciudad de
                       a
Sevilla.
wget -O salida . osm " http :// open . mapquestapi . com / xapi / api /0.6/ node [ amenity = bicyc
le_rental ][ bbox = -6.0838 ,37.3074 , -5.8249 ,37.4653]"




Respuesta en formato XML:
<? xml version = ’1.0 ’ encoding = ’ UTF -8 ’? >
< osm version ="0.6" generator =" Osmosis SNAPSHOT - r26564 " >
   < node id ="308961227" version ="4" timestamp ="2009 -10 -03 T21 :24:10 Z "
     uid ="114161" user =" Polarbear " changeset ="2729160" lat ="37.3978439"
     lon =" -5.9984791" >
      < tag k =" capacity " v ="20"/ >
      < tag k =" amenity " v =" bicycle_rental "/ >
      < tag k =" operator " v =" sevici "/ >
   </ node >
   ...
</ osm >



 8 de 14
Ejemplo de petici´n/respuesta REST (JSON)
                 o
API de Yahoo weather. Solicitud de informaci´n meteorol´gica actual
                                            o          o
para la ciudad de Sevilla:
wget -O salida . json " http :// weather . yahooapis . com / forecastjson ? w =774508"




Respuesta en formato JavaScript Object Notation (JSON):
{" units ":
   {" temperature ":" F " ,
    " speed ":" mph " ,
    " distance ":" mi " ,
    " pressure ":" in "} ,
" location ":
   {" location_id ":" SPXX0074 " ,
    " city ":" Seville " ,
    " s t a t e _ ab br e vi at i on ":" AN " ,
    " c o u n t r y _ a b b r e v i a t i o n ":" SP " ,
    " elevation ":16 ,
    " latitude ":37.38000000000000 ,
    " longitude ": -5.98000000000000} ,
" wind ":
   {" speed ":10.00000000000000 ,
    " direction ":" N "} ,
...
 9 de 14
SOAP vs REST. XML vs JSON



• ¿Qu´ se utiliza m´s SOAP o REST?
      e                a
   ◦ En determinados entornos empresariales SOAP, en el resto
     est´ ganando cada vez m´s adeptos REST
        a                        a
• ¿Qu´ se utiliza m´s XML o JSON?
      e                a
   ◦ XML ha sido y es todav´ el formato m´s utilizado, pero JSON es m´s
                               ıa             a                           a
     sencillo de utilizar y para muchas aplicaciones es m´s que suficiente.
                                                         a
• ¿Qu´ debo aprender?
      e
   ◦ Como m´  ınimo cliente REST y manejo de XML o JSON




10 de 14
SOAP vs REST. XML vs JSON


                                             1




   1
     Fuente:http://www.programmableweb.com
11 de 14
Web mashups


• Mashup: Popurr´
                ı
• Podemos desarrollar gran cantidad de aplicaciones utilizando
   parcialmente o en su totalidad datos de terceros y combin´ndolos
                                                            a
   como se nos ocurra.
   Si no lo conoces, p´sate por www.programmableweb.com
                      a
• Mapas, redes sociales, b´squedas, m´sica, etc.
                          u          u
• Algunos ejemplos:
  ◦ http://www.foursquare.com
  ◦ http://twittervision.com



12 de 14
Servicios web y administraci´n de sistemas
                            o

• Esto es muy bonito, pero ¿lo necesita un administrador de
   sistemas?
    ◦ S´ claro que s´
       ı,           ı.
• Un Administrador necesita programar sus tareas (esto no se puede
  dejar en manos de los desarrolladores :-p)
• ¿Sabes lo que es la nube o est´s en las nubes?
                                a
    ◦ Manejo de instancias en la nube (p. ej. Amazon Web Services,
      OpenStack, ...)
    ◦ Almacenamiento remoto
    ◦ Sistemas de autenticaci´n externos
                             o
    ◦ ...
• ¿Realmente crees que un Administrador manejar´ todo eso con el
                                               ıa
   rat´n?
      o
13 de 14
Enlaces recomendados




• http://www.programmableweb.com
• http://www.slideshare.net/jmusser/pw-glue-conmay2010




14 de 14

Más contenido relacionado

Destacado

Destacado (20)

A SU IRA TIEMBLA LA TIERRA
A SU IRA TIEMBLA LA TIERRAA SU IRA TIEMBLA LA TIERRA
A SU IRA TIEMBLA LA TIERRA
 
EL DIABLO SABE QUE LE QUEDA POCO TIEMPO
EL DIABLO SABE QUE LE QUEDA POCO TIEMPOEL DIABLO SABE QUE LE QUEDA POCO TIEMPO
EL DIABLO SABE QUE LE QUEDA POCO TIEMPO
 
PORQUE NO ADORAMOS A MARIA?
PORQUE NO ADORAMOS A MARIA?PORQUE NO ADORAMOS A MARIA?
PORQUE NO ADORAMOS A MARIA?
 
EL ESPIRITU SANTO: ES NUESTRO GUIA
EL ESPIRITU SANTO: ES NUESTRO GUIAEL ESPIRITU SANTO: ES NUESTRO GUIA
EL ESPIRITU SANTO: ES NUESTRO GUIA
 
LOS PELIGROS DE LA PORNOGRAFIA
LOS  PELIGROS DE LA PORNOGRAFIALOS  PELIGROS DE LA PORNOGRAFIA
LOS PELIGROS DE LA PORNOGRAFIA
 
POR SIEMPRE ISRAEL
POR SIEMPRE ISRAELPOR SIEMPRE ISRAEL
POR SIEMPRE ISRAEL
 
QUE VEN SUS HIJOS EN LAS CARICATURAS
QUE VEN SUS HIJOS EN LAS CARICATURASQUE VEN SUS HIJOS EN LAS CARICATURAS
QUE VEN SUS HIJOS EN LAS CARICATURAS
 
"A LOS FORNICARIOS Y ADULTEROS LOS JUZGARA DIOS"
"A LOS FORNICARIOS Y ADULTEROSLOS JUZGARA DIOS""A LOS FORNICARIOS Y ADULTEROSLOS JUZGARA DIOS"
"A LOS FORNICARIOS Y ADULTEROS LOS JUZGARA DIOS"
 
DEJADOS ATRAS
DEJADOS ATRASDEJADOS ATRAS
DEJADOS ATRAS
 
EL PELIGRO DE LAS DROGAS
EL PELIGRO DE LAS DROGASEL PELIGRO DE LAS DROGAS
EL PELIGRO DE LAS DROGAS
 
ANTES DE LA CAIDA VIENE LA ALTIVEZ DE ESPIRITU
ANTES DE LA CAIDA VIENE LA ALTIVEZ DE ESPIRITUANTES DE LA CAIDA VIENE LA ALTIVEZ DE ESPIRITU
ANTES DE LA CAIDA VIENE LA ALTIVEZ DE ESPIRITU
 
LA MUJER SABIA EDIFICA SU CASA
LA MUJER SABIA EDIFICA SU CASALA MUJER SABIA EDIFICA SU CASA
LA MUJER SABIA EDIFICA SU CASA
 
MANDAMIENTOS DE HOMBRES
MANDAMIENTOS DE HOMBRESMANDAMIENTOS DE HOMBRES
MANDAMIENTOS DE HOMBRES
 
LLAMAS ETERNAS
LLAMAS ETERNASLLAMAS ETERNAS
LLAMAS ETERNAS
 
EL MUNDO ENTERO ESTA BAJO EL MALIGNO
EL MUNDO ENTERO ESTA BAJO EL MALIGNOEL MUNDO ENTERO ESTA BAJO EL MALIGNO
EL MUNDO ENTERO ESTA BAJO EL MALIGNO
 
LA TUMBA VACIA
LA TUMBA VACIALA TUMBA VACIA
LA TUMBA VACIA
 
ESTA FUE TU VIDA
ESTA FUE TU VIDAESTA FUE TU VIDA
ESTA FUE TU VIDA
 
LA NAVIDAD ES UN ENGAÑO MAS DE SATANAS
LA NAVIDAD ES UN ENGAÑO MAS DE SATANASLA NAVIDAD ES UN ENGAÑO MAS DE SATANAS
LA NAVIDAD ES UN ENGAÑO MAS DE SATANAS
 
LOS TIEMPOS DEL FIN
LOS TIEMPOS DEL FINLOS TIEMPOS DEL FIN
LOS TIEMPOS DEL FIN
 
SODOMA Y GOMORRA
SODOMA Y GOMORRASODOMA Y GOMORRA
SODOMA Y GOMORRA
 

Similar a Servicios web

REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAPea2014G3
 
Servicios web java php-perl-google
Servicios web java php-perl-googleServicios web java php-perl-google
Servicios web java php-perl-googleJosue Hernandez
 
Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios Joaquín Salvachúa
 
7/9 Curso JEE5, Soa, Web Services, ESB y XML
7/9 Curso JEE5, Soa, Web Services, ESB y XML7/9 Curso JEE5, Soa, Web Services, ESB y XML
7/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
Servicios web
Servicios webServicios web
Servicios webitoomac02
 
Servicios web
Servicios webServicios web
Servicios webitoomac02
 
SOAP y pruebas automatizadas.pptx
SOAP y pruebas automatizadas.pptxSOAP y pruebas automatizadas.pptx
SOAP y pruebas automatizadas.pptxOttoObritzhauser1
 
Servicios Rest con Jersey
Servicios Rest con Jersey Servicios Rest con Jersey
Servicios Rest con Jersey Vortexbird
 
Servicios web
Servicios webServicios web
Servicios webfermt18
 
Modulo13 Web Services
Modulo13 Web ServicesModulo13 Web Services
Modulo13 Web ServicesEduardo
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxLuisTenorio42
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTBEEVA_es
 
Servicios web en php, perl, java
Servicios web en php, perl, javaServicios web en php, perl, java
Servicios web en php, perl, javaFaby Marcos Solis
 
Programación en Internet
Programación en InternetProgramación en Internet
Programación en InternetFernando Solis
 

Similar a Servicios web (20)

REST, JERSEY & SOAP
REST, JERSEY & SOAPREST, JERSEY & SOAP
REST, JERSEY & SOAP
 
Servicios web java, php, perl, google
Servicios web java, php, perl, googleServicios web java, php, perl, google
Servicios web java, php, perl, google
 
Servicios web Extendido_error perl
Servicios web Extendido_error perlServicios web Extendido_error perl
Servicios web Extendido_error perl
 
Servicios web java php-perl-google
Servicios web java php-perl-googleServicios web java php-perl-google
Servicios web java php-perl-google
 
Servicios web
Servicios webServicios web
Servicios web
 
Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios Ruby y las arquitecturas orientadas a servicios
Ruby y las arquitecturas orientadas a servicios
 
7/9 Curso JEE5, Soa, Web Services, ESB y XML
7/9 Curso JEE5, Soa, Web Services, ESB y XML7/9 Curso JEE5, Soa, Web Services, ESB y XML
7/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
SOAP y pruebas automatizadas.pptx
SOAP y pruebas automatizadas.pptxSOAP y pruebas automatizadas.pptx
SOAP y pruebas automatizadas.pptx
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios Rest con Jersey
Servicios Rest con Jersey Servicios Rest con Jersey
Servicios Rest con Jersey
 
Servicios web
Servicios webServicios web
Servicios web
 
Modulo13 Web Services
Modulo13 Web ServicesModulo13 Web Services
Modulo13 Web Services
 
Integración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptxIntegración de Tecnologías y Plataformas.pptx
Integración de Tecnologías y Plataformas.pptx
 
WORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API RESTWORKSHOP I: Introducción a API REST
WORKSHOP I: Introducción a API REST
 
Servicios web en php, perl, java
Servicios web en php, perl, javaServicios web en php, perl, java
Servicios web en php, perl, java
 
Programación en Internet
Programación en InternetProgramación en Internet
Programación en Internet
 
Servicios web
Servicios webServicios web
Servicios web
 

Más de Alberto Molina Coballes

Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAlberto Molina Coballes
 
Despliegue de un Cloud privado de IaaS con fines educativos utilizando softwa...
Despliegue de un Cloud privado de IaaS con fines educativos utilizando softwa...Despliegue de un Cloud privado de IaaS con fines educativos utilizando softwa...
Despliegue de un Cloud privado de IaaS con fines educativos utilizando softwa...Alberto Molina Coballes
 
Software libre: Situación actual y oportunidades laborales
Software libre: Situación actual y oportunidades laboralesSoftware libre: Situación actual y oportunidades laborales
Software libre: Situación actual y oportunidades laboralesAlberto Molina Coballes
 

Más de Alberto Molina Coballes (8)

Automated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. AnsibleAutomated Deployment and Configuration Engines. Ansible
Automated Deployment and Configuration Engines. Ansible
 
Open stack 5th birthday slide deck
Open stack 5th birthday slide deckOpen stack 5th birthday slide deck
Open stack 5th birthday slide deck
 
Bitnami Bootcamp. OpenStack
Bitnami Bootcamp. OpenStackBitnami Bootcamp. OpenStack
Bitnami Bootcamp. OpenStack
 
Despliegue de un Cloud privado de IaaS con fines educativos utilizando softwa...
Despliegue de un Cloud privado de IaaS con fines educativos utilizando softwa...Despliegue de un Cloud privado de IaaS con fines educativos utilizando softwa...
Despliegue de un Cloud privado de IaaS con fines educativos utilizando softwa...
 
Iaas en las enseñanzas de informática
Iaas en las enseñanzas de informáticaIaas en las enseñanzas de informática
Iaas en las enseñanzas de informática
 
Introducción a OpenStak Horizon
Introducción a OpenStak HorizonIntroducción a OpenStak Horizon
Introducción a OpenStak Horizon
 
Intro gnu-linux
Intro gnu-linuxIntro gnu-linux
Intro gnu-linux
 
Software libre: Situación actual y oportunidades laborales
Software libre: Situación actual y oportunidades laboralesSoftware libre: Situación actual y oportunidades laborales
Software libre: Situación actual y oportunidades laborales
 

Último

instrumentos de mercados financieros para estudiantes
instrumentos de mercados financieros  para estudiantesinstrumentos de mercados financieros  para estudiantes
instrumentos de mercados financieros para estudiantessuperamigo2014
 
Como Construir Un Modelo De Negocio.pdf nociones basicas
Como Construir Un Modelo De Negocio.pdf   nociones basicasComo Construir Un Modelo De Negocio.pdf   nociones basicas
Como Construir Un Modelo De Negocio.pdf nociones basicasoscarhernandez98241
 
informacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfinformacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfPriscilaBermello
 
Gestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptxGestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptxignaciomiguel162
 
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESADanielAndresBrand
 
gua de docente para el curso de finanzas
gua de docente para el curso de finanzasgua de docente para el curso de finanzas
gua de docente para el curso de finanzassuperamigo2014
 
PIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptx
PIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptxPIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptx
PIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptxJosePuentePadronPuen
 
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdfNota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdfJUANMANUELLOPEZPEREZ
 
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAOANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAOCarlosAlbertoVillafu3
 
el impuesto genera A LAS LAS lasventas IGV
el impuesto genera A LAS  LAS lasventas IGVel impuesto genera A LAS  LAS lasventas IGV
el impuesto genera A LAS LAS lasventas IGVTeresa Rc
 
diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxjuanleivagdf
 
MARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxMARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxgabyardon485
 
Presentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptxPresentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptxIvnAndres5
 
FORMAS DE TRANSPORTE EN MASA-PDF.pdf lclases
FORMAS DE TRANSPORTE EN MASA-PDF.pdf  lclasesFORMAS DE TRANSPORTE EN MASA-PDF.pdf  lclases
FORMAS DE TRANSPORTE EN MASA-PDF.pdf lclasesjvalenciama
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfConstructiva
 
Ejemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociaciónEjemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociaciónlicmarinaglez
 
modulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmodulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmisssusanalrescate01
 
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptxTIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptxKevinHeredia14
 
Plan General de Contabilidad Y PYMES pdf
Plan General de Contabilidad Y PYMES pdfPlan General de Contabilidad Y PYMES pdf
Plan General de Contabilidad Y PYMES pdfdanilojaviersantiago
 
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docxModelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docxedwinrojas836235
 

Último (20)

instrumentos de mercados financieros para estudiantes
instrumentos de mercados financieros  para estudiantesinstrumentos de mercados financieros  para estudiantes
instrumentos de mercados financieros para estudiantes
 
Como Construir Un Modelo De Negocio.pdf nociones basicas
Como Construir Un Modelo De Negocio.pdf   nociones basicasComo Construir Un Modelo De Negocio.pdf   nociones basicas
Como Construir Un Modelo De Negocio.pdf nociones basicas
 
informacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfinformacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdf
 
Gestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptxGestion de rendicion de cuentas viaticos.pptx
Gestion de rendicion de cuentas viaticos.pptx
 
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESACOPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
COPASST Y COMITE DE CONVIVENCIA.pptx DE LA EMPRESA
 
gua de docente para el curso de finanzas
gua de docente para el curso de finanzasgua de docente para el curso de finanzas
gua de docente para el curso de finanzas
 
PIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptx
PIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptxPIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptx
PIA MATEMATICAS FINANCIERAS SOBRE PROBLEMAS DE ANUALIDAD.pptx
 
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdfNota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
Nota de clase 72 aspectos sobre salario, nomina y parafiscales.pdf
 
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAOANÁLISIS CAME, DIAGNOSTICO  PUERTO DEL CALLAO
ANÁLISIS CAME, DIAGNOSTICO PUERTO DEL CALLAO
 
el impuesto genera A LAS LAS lasventas IGV
el impuesto genera A LAS  LAS lasventas IGVel impuesto genera A LAS  LAS lasventas IGV
el impuesto genera A LAS LAS lasventas IGV
 
diseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptxdiseño de redes en la cadena de suministro.pptx
diseño de redes en la cadena de suministro.pptx
 
MARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptxMARKETING SENSORIAL -GABRIELA ARDON .pptx
MARKETING SENSORIAL -GABRIELA ARDON .pptx
 
Presentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptxPresentación Final Riesgo de Crédito.pptx
Presentación Final Riesgo de Crédito.pptx
 
FORMAS DE TRANSPORTE EN MASA-PDF.pdf lclases
FORMAS DE TRANSPORTE EN MASA-PDF.pdf  lclasesFORMAS DE TRANSPORTE EN MASA-PDF.pdf  lclases
FORMAS DE TRANSPORTE EN MASA-PDF.pdf lclases
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
 
Ejemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociaciónEjemplo Caso: El Juego de la negociación
Ejemplo Caso: El Juego de la negociación
 
modulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdfmodulo+penal+del+16+al+20+hhggde+enero.pdf
modulo+penal+del+16+al+20+hhggde+enero.pdf
 
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptxTIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
TIPOS DE PLANES administracion una perspectiva global - KOONTZ.pptx
 
Plan General de Contabilidad Y PYMES pdf
Plan General de Contabilidad Y PYMES pdfPlan General de Contabilidad Y PYMES pdf
Plan General de Contabilidad Y PYMES pdf
 
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docxModelo de convenio de pago con morosos del condominio (GENÉRICO).docx
Modelo de convenio de pago con morosos del condominio (GENÉRICO).docx
 

Servicios web

  • 1. Servicios Web Alberto Molina Coballes Jos´ Domingo Mu˜oz e n Rodr´ ıguez 16 de abril de 2012
  • 2. Introducci´n o • Es un m´todo de comunicaci´n entre m´quinas a trav´s de la red e o a e (normalmente Internet). • Se habla hoy en d´ de la web programable, que mediante ıa diferentes APIs (denominadas a veces web API) permiten configurar gran cantidad de aplicaciones basadas en recursos de la Web (Web 2.0). • Hay diferentes mecanismos para implementar servicios web, los principales son : XMLRPC (en progresivo desuso), SOAP y REST. • El protocolo de aplicaci´n m´s utilizado es HTTP, aunque SOAP o a permite utilizar otros protocolos. • Hay gran cantidad de APIs p´blicas disponibles para utilizar en u modo lectura, mientras que para utilizarlas en modo escritura, lo habitual es que utilicen alg´n mecanismo de autorizaci´n (OAuth u o p. ej.) 2 de 14
  • 3. SOAP • Simple Object Access Protocol es un est´ndar de la W3C a • Intercambia mensajes XML entre el cliente y el servidor: ◦ El cliente env´ un mensaje XML ıa ◦ El servidor responde con un mensaje XML • Para la descripci´n de las funcionalidades del servicio se suele o utilizar el dialecto XML Web Services Description Language (WSDL). • SOAP en muy completo y descriptivo, pero es relativamente complejo de implementar por lo que est´ perdiendo usos en favor a de REST. 3 de 14
  • 4. Ejemplo de Solicitud SOAP • Protocolo de aplicaci´n HTTP o • Como tenemos que enviar datos, utilizamos el m´todo POST e POST / services / estructura . asmx HTTP /1.1 Host : www . infobustussam . com Content - Type : text / xml ; charset = utf -8 Content - Length : length SOAPAction : " http :// tempuri . org / GetLineas " <? xml version ="1.0" encoding =" utf -8"? > < soap : Envelope xmlns : xsi =" http :// www . w3 . org /2001/ XMLSchema - instance " xmlns : xsd =" http :// www . w3 . org /2001/ XMLSchema " xmlns : soap =" http :// schemas . xmlsoap . org / soap / envelope /" > < soap : Body > < GetLineas xmlns =" http :// tempuri . org /" / > </ soap : Body > </ soap : Envelope > 4 de 14
  • 5. Ejemplo de Respuesta SOAP <? xml version ="1.0" encoding =" utf -8"? > < soap : Envelope xmlns : xsi =" http :// www . w3 . org /2001/ XMLSchema - instance " xmlns : xsd =" http :// www . w3 . org /2001/ XMLSchema " xmlns : soap =" http :// schemas . xmlsoap . org / soap / envelope /" > < soap : Body > < G e t L i n easR esp ons e xmlns =" http :// tempuri . org /" > < GetLineasResult > < InfoLinea > < label > string </ label > < nombre > string </ nombre > < sublineas > < InfoSublinea xsi : nil =" true " / > < InfoSublinea xsi : nil =" true " / > </ sublineas > </ InfoLinea > < InfoLinea > < label > string </ label > < nombre > string </ nombre > < sublineas > < InfoSublinea xsi : nil =" true " / > < InfoSublinea xsi : nil =" true " / > </ sublineas > </ InfoLinea > </ GetLineasResult > </ GetLineasResponse > </ soap : Body > </ soap : Envelope > 5 de 14
  • 6. Ejemplos de clientes SOAP en Python Amazon S3 (requiere autenticaci´n, s´lo mostramos la conexi´n): o o o >>> from suds . client import Client >>> cliente = Client (" http :// s3 . amazonaws . com / doc /2006 -03 -01/ AmazonS3 . wsdl ") >>> cliente . service . ListAllMyBuckets . method . soap . output Informaci´n autobuses urbanos de Sevilla (TUSSAM): o >>> from suds . client import Client >>> cliente = Client ( ’ http :// www . infobustussam . com :9001/ services / dinamica . asmx ? wsdl ’) >>> print cliente . service . GetPasoParada ("26" ,"357" ,1) • La respuesta se procesa con m´todos propios de la instancia, e manejo de listas y diccionarios. 6 de 14
  • 7. REST (RESTful web API) • Representational State Transfer (REST) • No es un est´ndar completamente normalizado como SOAP a • Utiliza HTTP para la comunicaci´n entre el cliente y el servidor o • Se define una URI base en el servidor • Comunicaci´n entre cliente y servidor: o ◦ El cliente realiza una petici´n HTTP (GET, POST, PUT o DELETE) o ◦ El servidor contesta con un mensaje en un determinado formato (los m´s usados son XML y JSON) a • Es m´s sencillo de implementar que SOAP y est´ utiliz´ndose de a a a forma muy amplia 7 de 14
  • 8. Ejemplo de petici´n/respuesta REST (XML) o API de OpeStreetMap. Solicitud de nodos de bicicletas de alquiler (bicycle rental) en un ´rea rectangular que contiene la Ciudad de a Sevilla. wget -O salida . osm " http :// open . mapquestapi . com / xapi / api /0.6/ node [ amenity = bicyc le_rental ][ bbox = -6.0838 ,37.3074 , -5.8249 ,37.4653]" Respuesta en formato XML: <? xml version = ’1.0 ’ encoding = ’ UTF -8 ’? > < osm version ="0.6" generator =" Osmosis SNAPSHOT - r26564 " > < node id ="308961227" version ="4" timestamp ="2009 -10 -03 T21 :24:10 Z " uid ="114161" user =" Polarbear " changeset ="2729160" lat ="37.3978439" lon =" -5.9984791" > < tag k =" capacity " v ="20"/ > < tag k =" amenity " v =" bicycle_rental "/ > < tag k =" operator " v =" sevici "/ > </ node > ... </ osm > 8 de 14
  • 9. Ejemplo de petici´n/respuesta REST (JSON) o API de Yahoo weather. Solicitud de informaci´n meteorol´gica actual o o para la ciudad de Sevilla: wget -O salida . json " http :// weather . yahooapis . com / forecastjson ? w =774508" Respuesta en formato JavaScript Object Notation (JSON): {" units ": {" temperature ":" F " , " speed ":" mph " , " distance ":" mi " , " pressure ":" in "} , " location ": {" location_id ":" SPXX0074 " , " city ":" Seville " , " s t a t e _ ab br e vi at i on ":" AN " , " c o u n t r y _ a b b r e v i a t i o n ":" SP " , " elevation ":16 , " latitude ":37.38000000000000 , " longitude ": -5.98000000000000} , " wind ": {" speed ":10.00000000000000 , " direction ":" N "} , ... 9 de 14
  • 10. SOAP vs REST. XML vs JSON • ¿Qu´ se utiliza m´s SOAP o REST? e a ◦ En determinados entornos empresariales SOAP, en el resto est´ ganando cada vez m´s adeptos REST a a • ¿Qu´ se utiliza m´s XML o JSON? e a ◦ XML ha sido y es todav´ el formato m´s utilizado, pero JSON es m´s ıa a a sencillo de utilizar y para muchas aplicaciones es m´s que suficiente. a • ¿Qu´ debo aprender? e ◦ Como m´ ınimo cliente REST y manejo de XML o JSON 10 de 14
  • 11. SOAP vs REST. XML vs JSON 1 1 Fuente:http://www.programmableweb.com 11 de 14
  • 12. Web mashups • Mashup: Popurr´ ı • Podemos desarrollar gran cantidad de aplicaciones utilizando parcialmente o en su totalidad datos de terceros y combin´ndolos a como se nos ocurra. Si no lo conoces, p´sate por www.programmableweb.com a • Mapas, redes sociales, b´squedas, m´sica, etc. u u • Algunos ejemplos: ◦ http://www.foursquare.com ◦ http://twittervision.com 12 de 14
  • 13. Servicios web y administraci´n de sistemas o • Esto es muy bonito, pero ¿lo necesita un administrador de sistemas? ◦ S´ claro que s´ ı, ı. • Un Administrador necesita programar sus tareas (esto no se puede dejar en manos de los desarrolladores :-p) • ¿Sabes lo que es la nube o est´s en las nubes? a ◦ Manejo de instancias en la nube (p. ej. Amazon Web Services, OpenStack, ...) ◦ Almacenamiento remoto ◦ Sistemas de autenticaci´n externos o ◦ ... • ¿Realmente crees que un Administrador manejar´ todo eso con el ıa rat´n? o 13 de 14
  • 14. Enlaces recomendados • http://www.programmableweb.com • http://www.slideshare.net/jmusser/pw-glue-conmay2010 14 de 14