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 adota
1. Webservices em PHP e a
liberdade da web
Uma palestra descansada e limpa
com sabão!
2. 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)
3. 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.
4. 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.
5. 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.
6. 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;
7. 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
8. Quais são os padrões de Webservice
• SOAP (Service Oriented Architecture Protocol)
• REST()
• XMLRPC
• Outros
9. 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);
10. SOAP Continuação
• É mais recomendado para comunicação entre
máquinas;
• Não é muito humanamente legível;
• Consome muito mais tráfego que REST;
11. 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)
12. 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;
13. 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
14. Os webservices e os frameworks
• ZEND Framework;
• Kohanna;
• Code Igniter;
• Cake;
• Simfony;
• Outros