Web Services (in portuguese)

29
Web Services e XML Bruno Pedro <[email protected] > PHP Advanced - 22 de Setembro de 2008

description

 

Transcript of Web Services (in portuguese)

Page 1: Web Services (in portuguese)

Web Services e XML

Bruno Pedro <[email protected]>

PHP Advanced - 22 de Setembro de 2008

Page 2: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Conteúdo

• RSS

• AJAX

• JSON

• Projecto

• Resumo

2

Page 3: Web Services (in portuguese)

Web Services e XML

PHP Advanced

RSS

3

Page 4: Web Services (in portuguese)

Web Services e XML

PHP Advanced

RSS• Really Simple Syndication

• Documento XML

• Utilizado para descrever e distribuir conteúdo

• Formato popular em leitores de feeds

• Especificação:

http://cyber.law.harvard.edu/rss/rss.html

4

Page 5: Web Services (in portuguese)

Web Services e XML

PHP Advanced

RSS• channel

• title: título do feed

• link: ligação para o Website

• description: descrição do feed

• item: uma ou mais histórias no feed

• title: título da história

• description: corpo da história

5

Page 6: Web Services (in portuguese)

Web Services e XML

PHP Advanced

RSS• Simples de interpretar utilizando simplexml

em PHP

6

Page 7: Web Services (in portuguese)

Web Services e XML

PHP Advanced

RSS

• É simples mostrar todos os títulos

7

Page 8: Web Services (in portuguese)

Web Services e XML

PHP Advanced

RSS• Como identificar cada item?

• Através do campo item/guid ou item/link caso o primeiro não exista

8

Page 9: Web Services (in portuguese)

Web Services e XML

PHP Advanced

JSON

9

JSON LogoSource: json.org

Page 10: Web Services (in portuguese)

Web Services e XML

PHP Advanced

JSON• JavaScript Object Notation

• Aproximação REST

• A resposta não é um documento XML

• A chamada é invocada pelo browser

• A resposta é gerada por json_encode()

• A resposta é interpretada por JavaScript

10

Page 11: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Server

11

gerir pedido

gerar resultado

string JSON

Page 12: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Client

12

endpoint

parametros

escrita da resposta

Page 13: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Output

13

resultado

Page 14: Web Services (in portuguese)

Web Services e XML

PHP Advanced

XHR

• XML HTTP Request

• Implementações diferentes para browsers diferentes

• Normalmente implementado numa framework JavaScript

• Gere chamadas síncronas e assíncronas

14

Page 15: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Implementação XHR

15

Page 16: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Implementação XHR

16

Page 17: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Implementação XHR

• Neste momento temos um objecto genérico XHR

17

Page 18: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Implementação XHR

• Invocação

18

Page 19: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Implementação XHR

• Gestão da resposta

19

Page 20: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Exemplo

20

Page 21: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Exemplo

21

Page 22: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Paginação

• Jumping vs Sliding

• PEAR::Pager

• Número da página obtido através de parâmetro GET, POST ou sessão

• Dados a mostrar podem ser obtidos antes ou depois da paginação

22

Page 23: Web Services (in portuguese)

Web Services e XML

PHP Advanced

PEAR::Pager

• Instalação: pear install Pager

• Permite paginar uma lista de itens

• Gera links de navegação

• Gera paginação Sliding e Jumping

23

Page 24: Web Services (in portuguese)

Web Services e XML

PHP Advanced

PEAR::Pager

• Opções mais importantes

• itemData: dados a paginar

• perPage: número de elementos em cada página

• mode: Sliding ou Jumping

• urlVar: nome da variável que contém o número da página actual

24

Page 25: Web Services (in portuguese)

Web Services e XML

PHP Advanced

PEAR::Pager

25

Page 26: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Projecto

• Implementar a leitura e intrepretação dos RSS

• Implementar paginação de resultados

• Implementar leitura dinâmica de conteúdos via XHR + JSON

26

Page 27: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Resumo

• Geração e interpretação de RSS

• JSON

• XML HTTP Request (XHR)

• Leitura dinâmica de conteúdo

• Paginação através de PEAR::Pager

27

Page 28: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Questões?

28

Page 29: Web Services (in portuguese)

Web Services e XML

PHP Advanced

Mais informação

29

• O meu blog: http://unfoldingtheweb.com/

• Manual de PHP: http://www.php.net/