1. PHP e Web Services
XXI SEPAI – Semana Paraense de Informática e Telecomunicações
Adler Brediks Medrado
http://www.neshertech.net/adler
adler@neshertech.net
4. Definição
Web Service é uma solução que permite a comunicação
e integração entre sistemas diferentes e até mesmo
sistemas desenvolvidos com linguagens diferentes
utilizando XML.
Padrões
Os padrões para Web Services são definidos pelo W3C,
que determina os padrões de WSDL, SOAP, etc.
5. Tecnologias relacionadas
SOAP
SIMPLE OBJECT ACCESS PROTOCOL
WSDL
WEB SERVICE DEFINITION LANGUAGE
UDDI
UNIVERSAL DESCRIPTION, DISCOVERY AND INTEGRATION
6. Funcionamento
Fornecedor
Solicita publica no fornecedor
Executa
Requisitante após Provedor
encontrar
7. Status atual e futuro
Atualmente, diversas empresas (Google, Yahoo!, Flickr,
Amazon, Akismet, Del.Icio.us, etc) disponibilizam seus
web services para uso gratuito.
Acredita-se que as empresas publicarão seus web
services em diretórios públicos (UDDI) que poderão ser
vendidos.
8. PHP e Web Services
Existem diversas bibliotecas que permitem que web
services sejam criados e consumidos pelo PHP entre
,
elas:
php-soap
nuSOAP
PEAR_SOAP
Utilizaremos em nossos exemplos a extensão php-
soap.
9. PHP e Web Services
Esta extensão é bem enxuta, permitindo que a criação
e consumo de web services com PHP se torne bem
simples.
Instalação:
windows: php_soap.dll – php.ini
*nix: --enable-soap
Esta extensão suporta as especificações SOAP 1.1,
SOAP 1.2, WSDL 1.1 e consiste das seguintes classes:
SoapClient
SoapServer
SoapFault
SoapHeader
SoapParam
SoapVar
10. Eu quero é código !!!
Criaremos um web service que realizará uma consulta
em um banco de dados MySQL e retornará os dados
quando encontrado ou uma mensagem de erro.
Este web service consistirá em uma classe, um arquivo
WSDL, um servidor SOAP e um client SOAP .
Utilizaremos também uma ferramenta escrita em JAVA
chamada SOAPui para nos comunicar com o nosso web
service.
Consumiremos o web service escrito em PHP com um
client escrito em JAVA.
Consumiremos um web service escrito em JAVA com
um client escrito em PHP.