Web Services amb Pyramid i Cornice
La revisió el 09:08, 8 maig 2013 per Enric (discussió | contribucions) (Es crea la pàgina amb «== Web services: teoria == ...  Un web service vé a ser un servei al que se li poden fer consultes a través del protocol HTTP o HTTPS.  No té perquè respondre HTML, i…».)
Web services: teoria
...
Un web service vé a ser un servei al que se li poden fer consultes a través del protocol HTTP o HTTPS.
No té perquè respondre HTML, i el més habitual és que no ho faci, ja que ens complicarà el parsejar les dades i introduïr-les al nostre programa. És més habitual utilitzar JSON (o XMLRPC o SOAP).
Web Services a Pyramid: llibreria Cornice
Package: Cornice
Abans de començar cal crear un nou projecte amb Pyramid (Buildout) i cal afegir la llibreria cornice al buildout.cfg.
- Treballarem amb JSON: wikipedia i json.org.
- Altre tecnologies: Java utilitza XMLRPC, i Microsfot SOAP.
 
- Doc.oficial: http://packages.python.org/cornice/
- Interessant i essencial el "Quick Start for people in a hurry" (emmagatzema objectes JSON), però hi ha un error: on diu _VALUES.set(...) en realitat ha de ser:_VALUES[key] = json.loads(request.body) 
- També necessitarem CURL (amb apt-get). Consulta el man o també online: http://curl.haxx.se/docs/manpage.htm
- OJU amb JSON i curl, les cometes han de ser simples per tot el objecte JSON i dobles pels elements:$ curl http://el/meu/servei -d '{"nom1":"valor1",...}'
- Més opcions curl: -X {GET|POST|PUT}
 
- OJU amb JSON i curl, les cometes han de ser simples per tot el objecte JSON i dobles pels elements:
- Llibreria PycURL: http://pycurl.sourceforge.net/ ens permet fer crides des de python amb cURL.
- Oju: s'ha d'instal·lar al sistema (o al virtualenv) i cal afegir prèviament els paquets: python2.?-dev i libcurl4-gnutls-dev
- Després ja es pot instal·lar amb $ easy_install pycurl 
 
- Millor que pycurl és urllib que ja està al sistema i per fer el fet anirem més ràpids
- ...

