Web Services em PHP
PHP Summer School - 19 de Julho de 2007
      Bruno Pedro <bpedro@computer.org>
PHP Summer School




                      Conteúdo
 • Conceitos
 • Web Services
  • SOAP
  • REST
  • JSON
 • Exercícios...
PHP Summer School




                  Web Services




                                 Source:The Server Side
         ...
PHP Summer School




O que são Web Services?

 • Interacções inter-operáveis
 • Invocações são feitas através da rede
 • ...
PHP Summer School




                      WSDL

 • Web Services Description Language
 • Linguagem XML
 • Descreve um Web...
PHP Summer School




                                  WSDL
 • UML use-case
                                             ...
PHP Summer School




                      UDDI
 • Universal Description, Discovery and
      Integration
 • Registo cent...
PHP Summer School




                            UDDI
 • UML use-case
                                                 UD...
PHP Summer School




                      WS-I
 • Web Services Interoperability Organization
 • Consórcio de várias empr...
PHP Summer School




                      Requisitos

 • PHP 5.2.2
 • Suporte para SOAP
 • Extensão simplexml
 • Extensã...
PHP Summer School




                      SOAP




                                     Fonte: Prentice Hall
           ...
PHP Summer School




                      SOAP

 • Simple Object Access Protocol
 • Normalmente é um pedido HTTP POST
 •...
PHP Summer School




 Implementação: servidor

                                         namespace




                   ...
PHP Summer School




 Implementação: cliente
                               namespace




                               ...
PHP Summer School




                      Output
                                    namespace




                     ...
PHP Summer School




                      Persistência
 • Problema: informação perde-se entre
      várias invocações do...
PHP Summer School




                      Persistência
 • Utilização do método
      SoapServer::setPersistence()
 • Per...
PHP Summer School




    Persistência: servidor




                           persistência


Web Services em PHP   18
PHP Summer School




       Persistência: cliente


                               grava informação

                    ...
PHP Summer School




                SOAP: resumo

 • Suporte para SOAP 1.1, 1.2 e WSDL 1.1
 • Gere tipos de dados simple...
PHP Summer School




                      REST
      «interface»
                                   /calculator/sum/
   ...
PHP Summer School




                      REST
 • Representational State Transfer
 • Normalmente utilizado através de um...
PHP Summer School




 Implementação: servidor



                           gere a invocação




Web Services em PHP   23
PHP Summer School




                      DOM
 • Document Object Model
 • Extensão de PHP
 • Instalada por omissão
 • Pe...
PHP Summer School




Implementação: servidor
                                   cria um
                                 ...
PHP Summer School




                      simplexml
 • Extensão de PHP
 • Instalada por omissão
 • Permite converter um ...
PHP Summer School




 Implementação: cliente

                                       endpoint

                          ...
PHP Summer School




                      Output



                             result




Web Services em PHP     28
PHP Summer School




                  REST: resumo
• É necessário implementar toda a interacção
     cliente/servidor
• ...
PHP Summer School




                      JSON




                                JSON Logo
                           ...
PHP Summer School




                      JSON
 • JavaScript Object Notation
 • Aproximação REST
 • Resposta não é XML
 ...
PHP Summer School




Implementação: servidor

                           handle incoming call



                        ...
PHP Summer School




 Implementação: cliente
                                           endpoint



                     ...
PHP Summer School




                      Output



                             resultado




Web Services em PHP     34
PHP Summer School




                      JSON
 • Filosofia REST
 • Gere tipos de dados simples e complexos
 • As chamada...
PHP Summer School




                      Exercício 1

 • Implementação da Calculadora em Web
      Service SOAP
     • ...
PHP Summer School




Implementação: servidor




Web Services em PHP   37
PHP Summer School




Implementação: servidor




Web Services em PHP   38
PHP Summer School




 Implementação: cliente




Web Services em PHP   39
PHP Summer School




                      Exercício 2

 • Consumir Web Service SAPO
  • implementar cliente SOAP
  • imp...
PHP Summer School




  Implementação: SOAP




Web Services em PHP   41
PHP Summer School




   Implementação: REST




Web Services em PHP   42
PHP Summer School




                      Resumo
 • WSDL, UDDI, WS-I
 • SOAP
 • Persistência de dados
 • REST
 • Passage...
PHP Summer School




                      Questões?




Web Services em PHP       44
PHP Summer School




             Mais informação
 • My blog: http://unfoldingtheweb.com/

 • PHP Manual: http://www.php....
Upcoming SlideShare
Loading in...5
×

Web Services (in portuguese)

7,854

Published on

Web Services in PHP5

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
7,854
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
414
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Web Services (in portuguese)

  1. 1. Web Services em PHP PHP Summer School - 19 de Julho de 2007 Bruno Pedro <bpedro@computer.org>
  2. 2. PHP Summer School Conteúdo • Conceitos • Web Services • SOAP • REST • JSON • Exercícios • Resumo Web Services em PHP 2
  3. 3. PHP Summer School Web Services Source:The Server Side (http://tinyurl.com/38umxt) Web Services em PHP 3
  4. 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. 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. 6. PHP Summer School WSDL • UML use-case WSDL <obtém> <consome> aplicação Web Service Web Services em PHP 6
  7. 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. 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. 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. 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. 11. PHP Summer School SOAP Fonte: Prentice Hall (http://tinyurl.com/33dcch) Web Services em PHP 11
  12. 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. 13. PHP Summer School Implementação: servidor namespace inicia o servidor assigna uma classe gere invocações Web Services em PHP 13
  14. 14. PHP Summer School Implementação: cliente namespace endpoint mostra resultado Web Services em PHP 14
  15. 15. PHP Summer School Output namespace resultado Web Services em PHP 15
  16. 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. 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. 18. PHP Summer School Persistência: servidor persistência Web Services em PHP 18
  19. 19. PHP Summer School Persistência: cliente grava informação mostra informação previamente gravada Web Services em PHP 19
  20. 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. 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. 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. 23. PHP Summer School Implementação: servidor gere a invocação Web Services em PHP 23
  24. 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. 25. PHP Summer School Implementação: servidor cria um documento XML adiciona elementos devolve o resultado Web Services em PHP 25
  26. 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. 27. PHP Summer School Implementação: cliente endpoint arguments load XML document output result Web Services em PHP 27
  28. 28. PHP Summer School Output result Web Services em PHP 28
  29. 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. 30. PHP Summer School JSON JSON Logo Source: json.org Web Services em PHP 30
  31. 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. 32. PHP Summer School Implementação: servidor handle incoming call generate result output JSON string Web Services em PHP 32
  33. 33. PHP Summer School Implementação: cliente endpoint parâmetros mostra output Web Services em PHP 33
  34. 34. PHP Summer School Output resultado Web Services em PHP 34
  35. 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. 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. 37. PHP Summer School Implementação: servidor Web Services em PHP 37
  38. 38. PHP Summer School Implementação: servidor Web Services em PHP 38
  39. 39. PHP Summer School Implementação: cliente Web Services em PHP 39
  40. 40. PHP Summer School Exercício 2 • Consumir Web Service SAPO • implementar cliente SOAP • implementar cliente REST Web Services em PHP 40
  41. 41. PHP Summer School Implementação: SOAP Web Services em PHP 41
  42. 42. PHP Summer School Implementação: REST Web Services em PHP 42
  43. 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. 44. PHP Summer School Questões? Web Services em PHP 44
  45. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×