Como eu disse anteriormente, em Consumindo um serviço seguro utilizando PHP, vou mostrar uma das maneiras para instalar o framework que o pessoal do WSO2 disponibiliza para criação e consumo de serviços em PHP, conhecido como: WSO2 Web Services Framework for PHP.
Na página de downloads do WSO2 Web Services Framework for PHP, é possível escolher entre 3 opções de instalação, então exemplificar a fundo apenas uma e colocar uma breve descrição das outras.
Binary Distribution
É o framework já compilado e com a DLL dentro que serve para as pessoas que a utilizarão em ambientes Windows, não terá muito trabalho, apenas colocar a DLL na pasta correta e configurar o seu php.ini. Essa é a opção mais prática – na minha opinião – para Windows (deixarei essa para uma próxima, não tenho ambiente para isso – ainda).
PECL Distribution
Em teoria é a mais fácil de todas. Mas por que “em teoria”? Passei dois dias realizando diversas configurações na minha máquina para que isso funcionasse corretamente, perguntei no fórum se alguém poderia me ajudar a solucionar, mas desisti. Parti para a maneira “clássica”, o famoso CMM, que descrevo abaixo.
Source Distribution
Essa versão é o código-fonte do WSO2 Web Services Framework for PHP (aberto, hein!) e aqui temos duas opções de download, com apenas uma diferença mínima: o compactador. Uma foi compactada utilizando ZIP e outra TAR/GZ. E ambas será necessário compilação, com os bons e velhos comandos: ./configure, make && make install.
Mas, chega de papo, vamos por a mão na “massa”.
Instalando as dependências
As dependências para funcionamento do framework, não são muitas:
- WSO2 Web Services Framework for C
- PHP 5.1.1 ou superior
- Bibliotecas libxml2 e OpenSSL
WSO2 Web Services Framework for C
Para quem tá acostumado, são os velhos conhecidos, bastando baixar a última versão (no meu caso a 2.0.0):
wget http://dist.wso2.org/products/wsf/c/2.0.0/wso2-wsf-c-src-2.0.0.tar.gz tar xfvz wso2-wsf-c-src-2.0.0.tar.gz cd wso2-wsf-c-src-2.0.0 ./configure make sudo make install
PHP 5.1.1 ou superior
Não vou entrar nos méritos de instalação do PHP, pois imagino que isso esteja mais do que documentado na internet por aí a fora (para os preguiçosos – google: instalação do php no ubuntu).
Bibliotecas libxml2 e OpenSSL
O comando para instalar as dependências é:
sudo apt-get install libxml2 openssl
E com todas as dependências já instaladas e funcionando, podemos utilizar um phpinfo(); para conferir:
Compilação do WSF/PHP
CMM
E agora, a instalação propriamente dita, utilizando novamente os pacotes da versão 2.0.0:
wget http://dist.wso2.org/products/wsf/php/2.0.0/wso2-wsf-php-src-2.0.0.tar.gz ./configure make sudo make install
1, 2, 3, testando…
Estamos quase chegando lá…
Vamos copiar dois arquivos do diretório samples (um cliente e um servidor) para o diretório do servidor web (no meu caso: /var/www/samples) e ver se tudo funcionou:
sudo mkdir -p /var/www/samples/ sudo cp samples/math_* /var/www/samples/.
Indo ao navegador, basta abrir o endereço http://localhost/samples/math_client.php e conferir tudo funcionando:
Conclusão
Ainda não consigo avaliar até onde é válido ou interessante utilizar esse framework, não pesquisei a fundo ainda o funcionamento e as vantagens dele sobre as implementações como SOAP (nativa do PHP) NuSOAP.
Mas o fato de ser uma instalação que não pode ser feita em “qualquer” servidor, ainda mais no Brasil onde as empresas de hospedagens normalmente não instalam extensões de terceiros e o preço para ter um servidor próprio não é tão acessível, pode acabar ficando inviável.
Realizarei testes mais profundos para verificar as verdadeiras vantagens dessa abordagem na implementação dos serviços, só que – novamente – ficará para um outro post.


Olá Leonardo,
Não vi até hoje um comparativo entre tempo de resposta dessa API com relação a uma solução .NET.
Só vi entre os OPEN SOURCE
Performance Comparison of Web Service Engines in PHP, Java, and C
http://www.trl.ibm.com/people/mich/pub/200809_icws2008wsperf.pdf
Um abraço
Guilherme
Pois é Guilherme, também tenho essa preocupação. Esse documento que você passou – numa olhadela rápida – parece ser MUITO interessante, pena não ter .NET. Guardado para posterior leitura!
Mas para sanar essa “lacuna”, que também senti falta, baixei o que dizem ser a “suíte SOA da Microsoft” para realizar testes, mas não só de velocidade e performance. Também testar facilidade, opções, ferramentas, funcionalidades, velocidade de desenvolvimento, entre outras coisas… Ou seja, fazer um comparativo mesmo, tentando ser o mais imparcial possível.
E para tentar te ajudar, entrarei em contato com alguns amigos do “lado negro da força” que entendem melhor de tecnologias Microsoft, vou verificar com eles se tem alguma documentação ou comparação, não tendenciosa, lógico.
Minha ideia é fazer um comparativo entre as diversas plataformas de SOA: Oracle, IBM, Microsoft, WSO2, JBoss, Mule… Mas a falta de tempo está complicando. Mas logo devo postar algumas novidades nessa área. (;
Mas caso realize algum teste, peço o favor de manter-me informado, tenho muito interesse nessa área.
Valeu e apareça sempre por aí!
Fala ai guilherme,
tudo bem ? bom eu ao dar o make apresenta o seguinte erro:
Making all in savanc
/bin/sh: line 17: cd: savanc: No such file or directory
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/www/html/source/wso2-wsf-php-src-2.0.0/wsf_c’
make[2]: *** [all] Error 2
make[2]: Leaving directory `/var/www/html/source/wso2-wsf-php-src-2.0.0/wsf_c’
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/www/html/source/wso2-wsf-php-src-2.0.0′
make: *** [all] Error 2
Sabe o que poderia ser isso ?