Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Gisele.Passoni

Como criar webservices usando php + soap + zendframework

Recommended Posts

Pessoal, bom dia!

Preciso de uma orientação de vocês... procurei minha dúvida em vários sites no internet que me deixaram super confusa com relação a criação de webservices... preciso urgente aprender a criar esses webservices mas não sei nem como começar... Vi em alguns sites que há a necessidade de usar esse tal de SOAP e Zend (estou começando aprender a usa-lo)

 

Aceito sugestão de algum site, ou livro, ou tutorial em pdf ou vídeo... seja o que for, mas preciso de algo de fácil entendimento, tipo passo a passo... não tenho muito tempo, preciso aprender logo :(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gisele, hoje em dia não é muito legal trabalhar com SOAP, hoje os webservices estão mais para API, da uma procurada em APIGility, ele é feito em zend e é muito facil de ser trabalhado

 

Se você for enviar esse projeto na web você tambem tem q instalar o zfr-cors, eu aconselho você a usar o Composer para instalar esses componentes para ser melhor a integração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não há necessidade nenhuma em trabalhar com um framework (apesar que em alguns casos podem facilitar). Mas se você demanda de pouco tempo, a curva de aprendizagem pode ser custosa.

 

Recomenda-se que você faça seu WS através do protocolo SOAP ou REST. Além das diferenças de protocolo em si, o principal fica pelo fato do SOAP ser mais formal e demandar maiores definições (vide WSDL) e consumir uma banda relativamente maior, pois, trabalha com XML (isso continuará como verdade até a implementação completa do HTTP 2).

 

Já o REST não necessita de um arquivo de definições e trabalha com dados em JSON, o que reduz drasticamente o envio de dados (dados não comprimidos).

 

Em linhas gerais, REST é essencial para aplicativos que demandam pouca banda de internet (como aplicativos mobile) e, os demais softwares, você pode escolher ao seu gosto. Apesar que, particularmente, prefiro o SOAP pela sua descritiva e opto pelo REST em casos que o SOAP não atende (banda).

 

É recomendável que você já tenha a funcionalidade pronta, para, assim, desenvolver a disponibilidade do serviço. Ambos os serviços podem ser desenvolvidos nativamente apenas com recursos do PHP.

 

Qual é a sua ideia para o web service? Dessa forma, as sugestões podem ser dadas de acordo.

 

Gisele, hoje em dia não é muito legal trabalhar com SOAP[...]

Por que dessa afirmação?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigada pela resposta, Gabriel!

O que acontece é o seguinte. Aqui na empresa onde trabalho, temos um ERP para gerenciamento de tudo... financeiro, contabilidade, etc... E temos o portal educacional para consulta de notas e faltas e para inscrição de vestibular. Só que esse portal de inscrição para vestibular é muito ruim e os candidatos reclamam muito. A ideia é que eu desenvolva um portal de inscrições de mais fácil acesso e faça a integração com esse ERP (inserindo lançamentos no financeiro, gravando esse candidato na base de dados, etc). Então, vou precisar desses webservices para fazer a comunicação do portal que vou desenvolver (linguagem php) com a do ERP (aspx e dotNet). Se estiver errada essa colocação minha, peço desculpas, pois foi o que me passaram... eu mesma não faço ideia de como funciona tudo isso. Por isso que preciso primeiramente entender como funciona e como criar esses webservices...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ou menos dois anos atrás, realizei exatamente o mesmo desenvolvimento. No meu caso, o ERP era fechado para desenvolvimento externo e como o novo portal de processo seletivo seria um software orientado a serviços, desenvolvi uma camada em SOAP que seria o intermediário entre o portal e o ERP.

 

Você primeiro deve separar a informação que o portal irá consultar (aluno, cursos, processos seletivos, etc..) e as informações que ele deverá registrar. Após separar essa informação, deve iniciar o desenvolvimento da camada de serviços (WS).

 

No seu caso, creio que também não é possível desenvolver junto ao ERP e ele não deve possuir uma API para tal propósito. Logo, você terá uma estrutura intermediária, que pode ser conhecida como adapter/wrapper.

 

O WebService deverá possuir uma interface para a transferência de dados e realizar as operações necessárias para se comunicar com ERP. Se a interface for bem desenvolvida, você só precisará modificar (caso necessário) a lógica por trás do WS.

 

Como comentei anteriormente, é melhor você possuir a lógica do ERP desenvolvida para depois transformar em um WS.

 

Você pode utilizar o SOAP, versão 1.2 para PHP ou REST. Mas já lhe adianto, tanto SOAP quanto REST não são fáceis/rápidos de serem aprendidos.

 

SOAP demanda a descrição do WSDL, o que necessita conhecer (além do próprio WSDL) XML e entender sobre data types e namespaces.

 

Já o REST, precisa compreender a extensão do protocolo HTTP e a transferência do estado representacional. Mas ele é menos burocrático em desenvolver.

 

De qualquer forma, você pode substituir, em ambos os casos, por alguma biblioteca. E, nesse caso em questão, implica em entender o funcionamento da biblioteca (o que demanda estudo também).

 

Algumas leituras que podem ajudar:

SOAP:

http://forum.imasters.com.br/topic/544943-como-implementar-um-web-service-com-soapserver/?p=2176567

http://www.tutorialspoint.com/wsdl/

http://www.webreference.com/authoring/web_service/index.html

http://kb.roguewave.com/kb/?View=entry&EntryID=1410&Msg=

https://msdn.microsoft.com/en-us/library/ms996486.aspx

http://www.datypic.com/sc/xsd/s-datatypes.xsd.html (data types)

http://www.phpeveryday.com/pack/Web-Services-WSDL-Step-By-Step-Tutorial

 

REST:

http://forum.imasters.com.br/topic/517641-webservice-em-rest/

http://code.tutsplus.com/tutorials/a-beginners-guide-to-http-and-rest--net-16340

http://coreymaynard.com/blog/creating-a-restful-api-with-php/

http://stackoverflow.com/questions/2001773/understanding-rest-verbs-error-codes-and-authentication

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigada, Gabriel!!
É, terei muito o que aprender... vou estudar esses links que vc me passou!!

Espero que eu consiga aprender algo rápido rss... o pessoal aqui tem pressa!

 

Valeuu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.