desarrollando un api con rest

Download Desarrollando un API con REST

If you can't read please download the document

Upload: alex-puig

Post on 16-Apr-2017

30.184 views

Category:

Technology


2 download

TRANSCRIPT

Developing a REST API

Desarrollando un API en REST10/2009http://twitter.com/alexpuig
#phpbcn2009

1) Introduccin Terica2) Terminologa REST3) Estructura4) Recursos

Desarrollando
un API en REST

Desarrollando una API en RESTPHP Barcelona 09

API - interfaz de programacin de aplicaciones

La Transferencia de Estado Representacional (Representational State Transfer) o REST es una tcnica de arquitectura software para sistemas hipermedia distribuidos como la World Wide Web

Introduccin Terica

Desarrollando una API en RESTPHP Barcelona 09

Introduccin TericaAPI - interfaz de programacin de aplicaciones

La Transferencia de Estado Representacional (Representational State Transfer) o REST es una tcnica de arquitectura software para sistemas hipermedia distribuidos como la World Wide Web

WTF?

Desarrollando una API en RESTPHP Barcelona 09

Introduccin TericaUna API representa una interfaz de comunicacin entre componentes de software. Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen acceso a determinados servicios

Rest implica que una URL es la representacin de un objeto o recurso, cuyos contenidos se acceden mediante HTTP

Desarrollando una API en RESTPHP Barcelona 09

Qu no es RESTUn framework (aunque hay frameworks para desarrollo de APIs)

Una tecnologa concreta

Una especificacin

REST Tcnica de arquitectura (es un conjunto de principios)

Actualmente se utiliza para definir una Interfaz web simple

(no basada en patrones de intercambio de mensajes)Punto de acceso independiente de BBDD

Permite la portabilidad entre plataformas y lenguajes

Introduccin Terica

Desarrollando una API en RESTPHP Barcelona 09

Introduccin Terica

Desarrollando una API en RESTPHP Barcelona 09

La arquitectura se simplifica (rendimiento)

Peticiones se simplifican (velocidad)

Curva de aprendizaje inexistente

Resultados visualmente interpretables

Fcil escalabilidad y evolucin de sus componentes

Las funcionalidades pueden ser extendidas mediante widgets o scripts

SimplicidadIntroduccin Terica
Ventajas de REST

Desarrollando una API en RESTPHP Barcelona 09

Introduccin Terica
Ventajas de REST

De accesos a Bases de datos complejas

select
projects.name asprojname,
cufiles.name ascuname,
basefiles.name asbasename,
definefiles.name asdefname
from
definers inner join projects ondefiners.pid = projects.pid
inner join files ascufiles ondefiners.cuid=cufiles.fid
inner joinfiles asbasefiles ondefiners.basefileid=basefiles.fid
inner join files asdefinefiles ondefiners.definerid = definefiles.fid;WHERE projects.pid=51

A peticiones Simples : http://api.example.com/project-51PHP Conference 2009Desarrollando una API en REST - Introduccin terica

Desarrollando una API en RESTPHP Barcelona 09

Introduccin Terica
Ejemplo PHP con CURL

$user='YOUREMAILADDRESS'; $password='YOURPASSWORD';$ch=curl_init("https://twitter.com/statuses/user_timeline.xml");curl_setopt($ch,CURLOPT_HEADER,1);curl_setopt($ch,CURLOPT_TIMEOUT,30);curl_setopt($ch,CURLOPT_USERPWD,$user.":".$password);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);$result=curl_exec($ch);$data=strstr($result,'