webservices em php e a liberdade da web
DESCRIPTION
Segunda palestra da PHP Conference Brasil, falando sobre webservices, uma visão geral para quem quer começar a usar e métodos e estratégias para quem já os adotaTRANSCRIPT
Webservices em PHP e a liberdade da web
Uma palestra descansada e limpa com sabão!
Quem sou eu
• Mantenedor do PHP Rocks (Offline);
• Membro do Conselho Editorial da PHP Review;
• Analista/Desenvolvedor Sênior na Atos Origin
• Bebedor de Cerveja Convicto• Mergulhador (Divemaster/Padi)
Agenda
• O que é webservice?• Porque usar webservices?• Quando usar webservices?• Quais são os padrões de webservices?• SOAP?• REST?• RESTFUL.• O suporte do PHP para os padrões de webservices?• Os frameworks e os webservices.
O que não cobriremos
• Essa apresentação não trará código funcional;• Esta apresentação não visa alterar estilos de
codificação, mas atitudes;• Para melhor entender essa palestra é
necessário conhecer o básico sobre HTTP• Não estamos vendendo conceitos ou
produtos, então relaxem.
O que é um webservice
• Um webservice é um serviço fornecido utilizando o protocolo HTTP;
• Fornece uma interface comum para diferentes tipos de operações;
• Facilita a comunicação entre plataformas diferentes
• Serve como comunicação entre máquinas, e como comunicação direta para interface.
Porque usar webservices.
• Porque é legal.• Porque já usa e nem sabe!• Porque isso pode resolver problemas de
comunicação inter-sistemas;• Isso reduz as buscas malditas por cURL;• Facilita o seu controle sobre a sua lógica de negócio
mesmo com dados de fonte diferentes (sistemas diferentes);
• Porque você estará usando um padrão da indústria;
Quando usar um webservice?
• Quando você precisa de uma interface comum para muitas aplicações;
• Quando você está usando uma aplicação local que pega dados diretos da Web;
• Quando você de operações sem conexão direta ao seu banco de dados;
• Quando você tenta acessar informações de outros servidores de aplica
Quais são os padrões de Webservice
• SOAP (Service Oriented Architecture Protocol)
• REST()
• XMLRPC
• Outros
SOAP
• Baseado no XML• Utiliza-se de um arquivo WSDL para definir os
métodos • Retorna uma quantidade muito grande de
informações descritivas• É um padrão de webservice utilizado por
muitos frameworks (.Net framework SQL Server);
SOAP Continuação
• É mais recomendado para comunicação entre máquinas;
• Não é muito humanamente legível;• Consome muito mais tráfego que REST;
REST
• REST não é RESTFUL, RESTFUL é REST (especificação);
• REST pode retornar vários tipos de dados (texto, imagem, zip etc.);
• Você pode fazer uma interface com o quê você quiser (XML, JSON, STRING Customizada);
• Métodos (GET, POST, PUT e DELETE)
RESTFUL
• Ao contrário do REST, aqui a forma da URL importa;
• POST = inserir (POST /usuario);• PUT = update (/usuario/username);• DELETE = delete (/usuario/username);• GET = SELECT BUSCAR (/usuario?q=);• GET = SELECT BUSCAR (/usuario/username);• Segue todos os padrões de requisição do REST;
Suporte do PHP para Webservice
• PHP é uma linguagem naturalmente utilizada na web (criada para isso)
• Suporte nativo para REST, SOAP e XMLRPC• Tanto para servidor para cliente• Gera o WSDL automaticamente• Trata o método http para fazer a sua
requisição
Os webservices e os frameworks
• ZEND Framework;• Kohanna;• Code Igniter;• Cake;• Simfony;• Outros
Perguntas
?
E agora o que fazer?
• Estudar o RFC de HTTP;• Começar a utilizar Webservices;• Ler sobre os tipos de webservices;• Sempre twitar #chupaivo
Contatos
• Email: alexandretaz[at]gmail[dot]com• Twitter: @alexandretaz• Blog: http://www.phprocks.com.br (Volta essa
semana JURO)• Leia-me: http://www.phpreview.com.br