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

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
anteelpeligrodeapartarsededios
 

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 & SOAP
ea2014G3
 
Servicios web java php-perl-google
Servicios web java php-perl-googleServicios web java php-perl-google
Servicios web java php-perl-google
Josue Hernandez
 
Servicios web
Servicios webServicios web
Servicios web
itoomac02
 
Servicios web
Servicios webServicios web
Servicios web
itoomac02
 
Servicios Rest con Jersey
Servicios Rest con Jersey Servicios Rest con Jersey
Servicios Rest con Jersey
Vortexbird
 
Servicios web en php, perl, java
Servicios web en php, perl, javaServicios web en php, perl, java
Servicios web en php, perl, java
Faby Marcos 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 (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

3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
Evafabi
 
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIAUNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
sonapo
 
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
MIGUELANGELLEGUIAGUZ
 

Último (20)

mapa-conceptual-evidencias-de-auditoria_compress.pdf
mapa-conceptual-evidencias-de-auditoria_compress.pdfmapa-conceptual-evidencias-de-auditoria_compress.pdf
mapa-conceptual-evidencias-de-auditoria_compress.pdf
 
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
3ro - Semana 1 (EDA 2) 2023 (3).ppt. edx
 
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
____ABC de las constelaciones con enfoque centrado en soluciones - Gabriel de...
 
Analisis del art. 37 de la Ley del Impuesto a la Renta
Analisis del art. 37 de la Ley del Impuesto a la RentaAnalisis del art. 37 de la Ley del Impuesto a la Renta
Analisis del art. 37 de la Ley del Impuesto a la Renta
 
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptxSostenibilidad y continuidad huamcoli robin-cristian.pptx
Sostenibilidad y continuidad huamcoli robin-cristian.pptx
 
2 Tipo Sociedad comandita por acciones.pptx
2 Tipo Sociedad comandita por acciones.pptx2 Tipo Sociedad comandita por acciones.pptx
2 Tipo Sociedad comandita por acciones.pptx
 
Empresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercadoEmpresa Sazonadores Lopesa estudio de mercado
Empresa Sazonadores Lopesa estudio de mercado
 
informacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdfinformacion-finanTFHHETHAETHciera-2022.pdf
informacion-finanTFHHETHAETHciera-2022.pdf
 
Tarea-4-Estadistica-Descriptiva-Materia.ppt
Tarea-4-Estadistica-Descriptiva-Materia.pptTarea-4-Estadistica-Descriptiva-Materia.ppt
Tarea-4-Estadistica-Descriptiva-Materia.ppt
 
Presentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdfPresentacion encuentra tu creatividad papel azul.pdf
Presentacion encuentra tu creatividad papel azul.pdf
 
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
 
TEORÍAS DE LA MOTIVACIÓN Recursos Humanos.pptx
TEORÍAS DE LA MOTIVACIÓN Recursos Humanos.pptxTEORÍAS DE LA MOTIVACIÓN Recursos Humanos.pptx
TEORÍAS DE LA MOTIVACIÓN Recursos Humanos.pptx
 
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIAUNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
UNIDAD DIDACTICA DE CUARTO BIMESTRE DOCENTES SECUNDARIA
 
INTERESES Y MULTAS DEL IMPUESTO A LA RENTA POWER POINT.pptx
INTERESES Y MULTAS DEL IMPUESTO A LA RENTA POWER POINT.pptxINTERESES Y MULTAS DEL IMPUESTO A LA RENTA POWER POINT.pptx
INTERESES Y MULTAS DEL IMPUESTO A LA RENTA POWER POINT.pptx
 
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADADECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
DECRETO-2535-DE-1993-pdf.pdf VIGILANCIA PRIVADA
 
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
Tesis_liderazgo_desempeño_laboral_colaboradores_cooperativa_agraria_rutas_Inc...
 
4 Tipos de Empresa Sociedad colectiva.pptx
4 Tipos de Empresa Sociedad colectiva.pptx4 Tipos de Empresa Sociedad colectiva.pptx
4 Tipos de Empresa Sociedad colectiva.pptx
 
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
2024 - 04 PPT Directiva para la formalizacion, sustento y registro del gasto ...
 
liderazgo guia.pdf.............................
liderazgo guia.pdf.............................liderazgo guia.pdf.............................
liderazgo guia.pdf.............................
 
DERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJO
DERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJODERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJO
DERECHO EMPRESARIAL - SEMANA 01 UNIVERSIDAD CESAR VALLEJO
 

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