construção de gadgets na plataforma ezwebcef/mac499-09/monografias/rafael-suguiur… ·...

32
Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática e Estatística Trabalho de Formatura Supervisionado Aluno Rafael Sato Suguiura Orientador Flávio Soares Corrêa da Silva

Upload: others

Post on 22-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

Construção de gadgets na plataforma EzWeb

Universidade de São PauloInstituto de Matemática e Estatística

Trabalho de Formatura Supervisionado

Aluno Rafael Sato Suguiura

Orientador Flávio Soares Corrêa da Silva

Page 2: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

2

O EzWeb

● Compositor web de "mashups" em alto nível● Projeto desenvolvido pela Telefónica

Investigación y Desarrollo● Faz parte da comunidade européia Morfeo● Filosofias do projeto:

● Inovação● Colaboração● Novos Padrões● Novas Tecnologias

Page 3: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

3

Mashup

● "Composição não usual ou inovadora de conteúdo, geralmente de fontes diferentes, feita para interação humana."

● Gadgets

Page 4: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

4

Estrutura da Plataforma

● Catálogo de gadgets

Page 5: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

5

Estrutura da Plataforma

● Área de vinculação (wiring)

Page 6: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

6

Estrutura da Plataforma

● Área de trabalho

Page 7: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

7

Estrutura de um gadget no Ezweb

● Template● Meta-dados do gadget para o EzWeb

● Conteúdo● Página do gadget

Page 8: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

8

Estrutura de um gadget no Ezweb

● Obtenção de dados● Exibição ao usuário● "Controller"● Comunicação com outro gadget

Page 9: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

9

Estrutura de um gadget no Ezweb

● Obtenção de dados● Atualização de página● Ajax● Comet/BOSH

Page 10: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

10

AJAX

● Asynchronous JavaScript and XML● XMLHttpRequest● Proxy para requisições fora do domínio

Page 11: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

11

Comet

● Fluxo bi-direcionado de dados entre cliente e servidor

● Pode ser alcançado com algumas técnicas● Por exemplo, através de AJAX com requisição de

longa apuração (long polling)

● Orbited

Page 12: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

12

Estrutura de um gadget

● Exibição ao usuário● Estático: HTML/CSS/XSL● Dinâmico: JavaScript/DOM

Page 13: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

13

XSL

● EXtensible Stylesheet Language● XSL Transformations: Transforma XML em

outros formatos de documentos● XPath: Navegação entre os elementos do XML

Page 14: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

14

DOM

● Document Object Model● Especificações de elementos de documentos

HTML, XHTML e XML

Page 15: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

15

jQuery

● Facilita a criação e manipulação de objetos DOM● Seletor CSS

● Facilita o tratamento de eventos

Page 16: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

16

Estrutura de um gadget

● Comunicação entre gadgets● XML● JSON

Page 17: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

17

JSON

● JavaScript Object Notation● Descrição leve● Simples

Page 18: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

18

TinyURL

● Serviço● URL compacto

Page 19: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

19

Youtube Related Videos List

● Serviço● Lista de vídeos

relacionados

Page 20: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

20

Orbited

● Serviço● Comunicação síncrona

sobre HTML usando

protocolo TCP

Page 21: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

21

Tetrinet

● Serviço● Controlador de dados

do Tetrinet

Page 22: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

22

Tetris Engine

● Serviço● Mecânica de um jogo de

Tetris

Page 23: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

23

Tetris Interface

● Serviço● Interface com o usuário

Page 24: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

24

Tetris Fields

● Serviço● Informação sobre

outros campos de

Tetris

Page 25: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

25

Mashup

Page 26: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

26

JavaScript

● Linguagem interpretada● Linguagem dinâmica● Tipagem dinâmica● Orientação a objetos com herança baseada em

protótipos

Page 27: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

27

Engines Javascript

● Rhino● SpiderMonkey● V8

Page 28: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

28

JSLint

● Feito em JavaScript● Verifica a sintaxe e alguns padrões em um

código JavaScript

Page 29: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

29

Minificação

● Retira espaços em branco supérfluos para a execução do código

● Mais compacto● Menor legibilidade

Page 30: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

30

Performance do JavaScript

● Usualmente poucos dados a serem processados

● A manipulação de elementos DOM é extremamente lenta

● Algumas engines começam a fazer compilação just-in-time

Page 31: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

?

Perguntas

Page 32: Construção de gadgets na plataforma EzWebcef/mac499-09/monografias/rafael-suguiur… · Construção de gadgets na plataforma EzWeb Universidade de São Paulo Instituto de Matemática

!

Fim