Web Services REST com Zend Framework Fernando Geraldo Mantoan Jurmir Canal Neto
WEB SERVICES http://www.flickr.com/photos/psd/263092176
Sistema Distribuído http://www.sysadminday.com/images/horror/Mark.Zo_moet_het_niet.JPG
Comunicação entre aplicações http://www.textually.org/textually/archives/images/set3/phone-string-plastic-cup.jpg
Interoperabilidade http://www.flickr.com/photos/jblndl/2456767724/
Funções empacotadas e publicadas http://www.flickr.com/photos/mybloodyself/3756170950
SOAP http://www.flickr.com/photos/modernemily/63701/
Protocolo de acesso simples a objetos http://www.flickr.com/photos/dullhunk/327124208
W3C Standard http://www.flickr.com/photos/zopeuse/60106078
Independente de plataforma e linguagem http://www.flickr.com/photos/lambdageek/40535379
WSDL http://www.flickr.com/photos/tiny_packages/3996794712
Mas o SOAP também tem problemas http://www.flickr.com/photos/santheo/149090931
UDDI é uma lenda http://upload.wikimedia.org/wikipedia/commons/5/53/Pict2551-Monster-640x480.jpg
SOAP é Burocrático e Pesado http://4.bp.blogspot.com/_Sb9fMZwGzIw/SStN5nAEo8I/AAAAAAAABcs/V5QxpR0E_MQ/s320/burocracia.jpg
 
REST http://www.flickr.com/photos/34748725@N00/3361411649/
Transferência de Estado Representacional http://www.flickr.com/photos/vshioshvili/234727120/
Protocolo HTTP http://www.flickr.com/photos/candescence/2269157627
Métodos RESTful
Recursos, URI e ROA http://www.acf-fr.org/i/08-01-17_money8.jpg
latinoware.org/palestras/001 Retorna o Estado Representacional da palestra com id 001 http://www.networkmarketingtitans.com/dollar%20bill%202.jpg
latinoware.org/palestras Retorna uma coleção de palestras http://www.nicolewilliams.com/nw-images/subcat_imgs/TalkingAboutMoney.jpg
JSON http://www.flickr.com/photos/ibtrav/1307287009
 
 
XML = 646 Caracteres JSON = 381 Caracteres Diferença = 265 Caracteres
Mas o REST também tem Problemas http://www.flickr.com/photos/rickmccharles/2269842297/
Não é padronizado http://www.rakewell.com/images/wrong_plug.gif
HTML 4 e o suporte ao HTTP  http://www.flickr.com/photos/thefangmonster/490423135
Métodos RESTful
REST VS SOAP http://theinspirationroom.com/daily/print/2009/2/aliens_vs_predator_chess.jpg
http://nicolas-zozol.developpez.com/tutorial/java/rest-jsp-english/images/Rest_vs_Soap.png
PHP + REST http://www.flickr.com/photos/jordanmerrick/3248404110/
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Filosofias parecidas http://polemarchus.files.wordpress.com/2009/01/grubleren2.jpg
http://leocorrea.files.wordpress.com/2008/07/web2.jpg http://www.sarahgbennett.com/MyWonderings/wp-content/uploads/2009/09/social-media-landscape.png http://www.jf.eti.br/downloads/web2ilustrada.jpg
Zend Framework http://www.flickr.com/photos/calevans/1716641542/
Zend + PHP = (L) http://www.flickr.com/photos/jhherren/104065111/
Baixa curva de aprendizagem;  Feeds;   Testes Unitários;  Design Moderno;   Documentação Completa; http://www.flickr.com/photos/calevans/1716641542/
 
Zend Framework + REST http://www.flickr.com/photos/estherase/128983854/
Zend_Rest_Client: Métodos Remotos = Métodos Nativos; get(), post(), put(), delete(). Zend_Rest_Server: Servidor REST com recursos completos; GET, POST; XML. http://www.flickr.com/photos/estherase/128983854/
Problemas: Server e Client != RESTFul design; Server nativamente suporta somente XML; Server nativamente permite GET e POST; Somando tudo: Planos para descontinuar! http://www.flickr.com/photos/estherase/128983854/
Zend_Http_Client: Interface simples para métodos HTTP; Recursos simples; Recursos avançados (Autenticação Envio de Arquivos); Zend_Http_Response (Headers, Body). http://www.flickr.com/photos/extraketchup/3680966219/
Zend_Rest_Controller: Rotas RESTFul (URI + Recursos); /produtos/ (GET) - Retorna todos os produtos; /produtos/1 (GET) - Retorna o produto de id 1; /produtos/ (POST) - Insere novo produto. /produtos/1 (PUT) - Atualiza o produto de id 1; /produtos/1 (DELETE) - Exclui o produto de id 1. indexAction(), getAction(), postAction(), putAction(), deleteAction(). http://www.flickr.com/photos/jamisonjudd/2433102356/
Um pouco de código http://www.flickr.com/photos/e2/2244075454/
Só isso? http://www.flickr.com/photos/foamcow/34055184/
http://www.flickr.com/photos/markgriffioen/183745131/ Serviços de Terceiros:   Zend_Service_Akismet;  Zend_Service_Delicious;   Zend_Service_Amazon;  Zend_Service_Flickr;   Zend_Service_Twitter;  Zend_Service_Yahoo;   Outros Componentes:   Zend_Soap_Client;  Zend_Soap_Server;   Zend_Soap_Wsdl;  Zend_XmlRpc.
Perguntas? http://www.flickr.com/photos/oberazzi/318947873/
Referências: LISBOA, Flávio G. da S. Zend Framework – Componentes Poderosos para PHP. Novatec. http://framework.zend.com http://framework.zend.com/wiki/display/ZFPROP/Zend_Controller_Router_Route_Rest+-+Luke+Crouch?focusedCommentId=8947407 http://www.flickr.com/photos/calevans/1732671937/
Obrigado! http://fernandomantoan.com http://jcanalneto.wordpress.com

Webservices REST com Zend Framework