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,'
Top Related