Web Services (in portuguese)

  • 7,497 views
Uploaded on

Web Services in PHP5

Web Services in PHP5

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
7,497
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
388
Comments
0
Likes
7

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Web Services em PHP PHP Summer School - 19 de Julho de 2007 Bruno Pedro <bpedro@computer.org>
  • 2. PHP Summer School Conteúdo • Conceitos • Web Services • SOAP • REST • JSON • Exercícios • Resumo Web Services em PHP 2
  • 3. PHP Summer School Web Services Source:The Server Side (http://tinyurl.com/38umxt) Web Services em PHP 3
  • 4. PHP Summer School O que são Web Services? • Interacções inter-operáveis • Invocações são feitas através da rede • Existem bastantes standards • Usados pela maioria dos serviços Web 2.0 Web Services em PHP 4
  • 5. PHP Summer School WSDL • Web Services Description Language • Linguagem XML • Descreve um Web Service • operações disponíveis • localizações ou endpoints Web Services em PHP 5
  • 6. PHP Summer School WSDL • UML use-case WSDL <obtém> <consome> aplicação Web Service Web Services em PHP 6
  • 7. PHP Summer School UDDI • Universal Description, Discovery and Integration • Registo central de Web Services • Conceito “Páginas Amarelas” • Devolve localizações de Web Services • Pouco utilizado na Internet Web Services em PHP 7
  • 8. PHP Summer School UDDI • UML use-case UDDI <localiza WSDL> <obtém> WSDL <consome> aplicação Web Service Web Services em PHP 8
  • 9. PHP Summer School WS-I • Web Services Interoperability Organization • Consórcio de várias empresas • Promove a inter-operabilidade de Web Services • Define perfis de utilização • Basic Profile (BP) • Security Profile (SP) • Simple SOAP Binding Profile (SSBP) Web Services em PHP 9
  • 10. PHP Summer School Requisitos • PHP 5.2.2 • Suporte para SOAP • Extensão simplexml • Extensão DOM • Extensão JSON Web Services em PHP 10
  • 11. PHP Summer School SOAP Fonte: Prentice Hall (http://tinyurl.com/33dcch) Web Services em PHP 11
  • 12. PHP Summer School SOAP • Simple Object Access Protocol • Normalmente é um pedido HTTP POST • A chamada é encapsulada XML • A resposta é um documento XML • PHP gere todo o processo Web Services em PHP 12
  • 13. PHP Summer School Implementação: servidor namespace inicia o servidor assigna uma classe gere invocações Web Services em PHP 13
  • 14. PHP Summer School Implementação: cliente namespace endpoint mostra resultado Web Services em PHP 14
  • 15. PHP Summer School Output namespace resultado Web Services em PHP 15
  • 16. PHP Summer School Persistência • Problema: informação perde-se entre várias invocações do Web Service • Como resolver? Web Services em PHP 16
  • 17. PHP Summer School Persistência • Utilização do método SoapServer::setPersistence() • Persistência é totalmente gerida pelo PHP • Só funciona se o servidor exportar as operações a partir de uma classe • Informação fica disponível entre várias invocações Web Services em PHP 17
  • 18. PHP Summer School Persistência: servidor persistência Web Services em PHP 18
  • 19. PHP Summer School Persistência: cliente grava informação mostra informação previamente gravada Web Services em PHP 19
  • 20. PHP Summer School SOAP: resumo • Suporte para SOAP 1.1, 1.2 e WSDL 1.1 • Gere tipos de dados simples e complexos • Gere persistência de informação • Implementação muito simples • Output é demasiado “pesado” Web Services em PHP 20
  • 21. PHP Summer School REST «interface» /calculator/sum/ Resource GET - perform a calculation GET PUT - not used PUT POST - not used POST DELETE - not used DELETE http://example.com/calculator/sum/?x=121&y=233 Web Services em PHP 21
  • 22. PHP Summer School REST • Representational State Transfer • Normalmente utilizado através de um pedido HTTP GET • Invocação é feita através de parâmetros GET • Resposta é um documento XML • Criação da resposta com DOM • Interpretação da resposta com simplexml Web Services em PHP 22
  • 23. PHP Summer School Implementação: servidor gere a invocação Web Services em PHP 23
  • 24. PHP Summer School DOM • Document Object Model • Extensão de PHP • Instalada por omissão • Permite manuseamento de documentos XML usando a árvore DOM • Mais simples do que manipular blocos de texto Web Services em PHP 24
  • 25. PHP Summer School Implementação: servidor cria um documento XML adiciona elementos devolve o resultado Web Services em PHP 25
  • 26. PHP Summer School simplexml • Extensão de PHP • Instalada por omissão • Permite converter um documento XML num objecto • Permite o manuseamento de documentos XML de uma forma muito fácil Web Services em PHP 26
  • 27. PHP Summer School Implementação: cliente endpoint arguments load XML document output result Web Services em PHP 27
  • 28. PHP Summer School Output result Web Services em PHP 28
  • 29. PHP Summer School REST: resumo • É necessário implementar toda a interacção cliente/servidor • O schema do XML tem que ser conhecido pelo cliente para que consiga interpretar a resposta • Não é possível gerir tipos complexos • resolução através de serialização • A resposta é geralmente RSS Web Services em PHP 29
  • 30. PHP Summer School JSON JSON Logo Source: json.org Web Services em PHP 30
  • 31. PHP Summer School JSON • JavaScript Object Notation • Aproximação REST • Resposta não é XML • É invocado pelo browser • Resposta é gerada por json_encode() • Resposta é interpretada por JavaScript Web Services em PHP 31
  • 32. PHP Summer School Implementação: servidor handle incoming call generate result output JSON string Web Services em PHP 32
  • 33. PHP Summer School Implementação: cliente endpoint parâmetros mostra output Web Services em PHP 33
  • 34. PHP Summer School Output resultado Web Services em PHP 34
  • 35. PHP Summer School JSON • Filosofia REST • Gere tipos de dados simples e complexos • As chamadas podem ser efectuadas usando AJAX • Pode também ser utilizado server-side, servindo de transporte de informação Web Services em PHP 35
  • 36. PHP Summer School Exercício 1 • Implementação da Calculadora em Web Service SOAP • implementar servidor • implementar cliente • adicionar persistência de dados Web Services em PHP 36
  • 37. PHP Summer School Implementação: servidor Web Services em PHP 37
  • 38. PHP Summer School Implementação: servidor Web Services em PHP 38
  • 39. PHP Summer School Implementação: cliente Web Services em PHP 39
  • 40. PHP Summer School Exercício 2 • Consumir Web Service SAPO • implementar cliente SOAP • implementar cliente REST Web Services em PHP 40
  • 41. PHP Summer School Implementação: SOAP Web Services em PHP 41
  • 42. PHP Summer School Implementação: REST Web Services em PHP 42
  • 43. PHP Summer School Resumo • WSDL, UDDI, WS-I • SOAP • Persistência de dados • REST • Passagem de parâmetros • JSON Web Services em PHP 43
  • 44. PHP Summer School Questões? Web Services em PHP 44
  • 45. PHP Summer School Mais informação • My blog: http://unfoldingtheweb.com/ • PHP Manual: http://www.php.net/ • SOAP: http://www.w3.org/TR/soap/ • REST: http://tinyurl.com/akhc7 • JSON: http://www.json.org/ Web Services em PHP 45