Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, programo em PHP a algum tempo e agora preciso criar um Web Service bem grande.
Posso fazer em Java também, aliás o Java já tem algumas ferramentas próprias para criação, porém o sistema que alimentará o web service esta em PHP e não gostaria de misturar outra linguagem.
A questão é: É recomendável criar um web service com o PHP? ou ainda é muito trabalhoso?
Desde já, agradeço...
quando você fala em webservices você está falando em SOAP? A menos que seja obrigatório em seu projeto, não recomendo, assim como não recomendo utilizar XML e sim JSON na resposta. Tanto XML quanto SOAP possuem uma complexidade muito grande, que IMO é completamente desnecessária na maioria dos casos e só promove uma dificuldade de integração, fora causar um overhead monstruoso que torna a aplicação lenta.
Agora se você não precisa estar em conformidade com SOAP, então qualquer dado que você retorne é um webservice. Se você der um "echo json_encode($meu_vetor_com_dados);" então isto já é considerado um webservice. A complexidade neste caso praticamente não existe.
Puxando a sardinha para meu lado, uma biblioteca PHP não intrusiva você pode usar é esta: https://github.com/loureirorg/mwsx
Nela, basta você incluir a biblioteca no seu PHP (é só 1 arquivo) e colocar o comentário "_EXPORT_" antes das funções que deseja tornar públicas. Daí chamando o seu php com o argumento "mwsd" você pode ver todas as funções que você tornou públicas (ex. "meudominio.com.br/meu-script.php?mwsd") e para chamar a função que você tornou pública, basta chamar seu script com "?mws=nome-da-função". Exemplo em um site que desenvolvi:
Lista de funções públicas:
http://www.kingcompras.com.br/app/models/oferta.php?mwsd
ou
http://www.kingcompras.com.br/models/oferta/mwsd
Chamando uma função:
http://www.kingcompras.com.br/app/models/oferta.php?mws=consulta&codigo=440
Boa tarde
Olha tive que fazer uma escolha semelhante a um tempinho porem minha outra linguagem é C#
Optei pelo C# pela praticidade de construção e gerenciamento dos serviços criados.
Pois em PHP ia dar um trabalho relativamente considerável, me dá até preguiça em pensar...
Porem observei uma coisa ao trabalhar com Ws em PHP a resposta é relativamente mais rápida que o Ws em C# (Não é aquela diferença não, mas da para notar em grandes solicitações)
Agora uma duvida já que você citou java:
Quando trabalhei com integração com Ws em java tive vários problemas com trafego.
Exemplo: O solicitação retorna 10 mil registros - Erros: Timeout, Deaklock "Nunca tinha visto em Ws" e alguns outros que apareciam as vezes.
É normal para Ws nesta linguagem?