• Nenhum resultado encontrado

Desenvolvimento Web II

N/A
N/A
Protected

Academic year: 2021

Share "Desenvolvimento Web II"

Copied!
34
0
0

Texto

(1)

Desenvolvimento

Web II

Gil Eduardo de Andrade

Web Service PHP – Rest

Frameworks: Slim e Laravel

(get/ post / put / delete)

(2)

Web Service

Introdução:

• Um web service pode ser definido como uma

tecnologia

que

permite

integrar

diversos

sistemas de diferentes plataformas;

• Ele permite que novas aplicações desenvolvidas

interajam com sistemas já existentes;

(3)

Web Service

Introdução:

• A interação tem como base protocolos

(HTTP /

HTTPS)

que possibilitam que as aplicações trocam

dados entre si.

• Os dados trocados possuem algum de tipo de

formato conhecido como, por exemplo, XML,

CSV, JSON e texto puro;

(4)

Web Service

Estrutura:

• Um web service ou serviço web possuem como

estrutura, que permite seu funcionamento:

– Arquitetura cliente-servidor;

– Recursos fornecidos via HTTP;

– URL para acesso;

• A resposta de um web service para uma dada

requisição pode conter formatos como: XML, Json,

etc.

(5)

Web Service

Funcionalidade:

• Um web service permite que sistemas já

existentes disponibilizem serviços públicos a

aplicações

secundárias

e

muitas

vezes

desconhecidas;

• Isso possibilita que aplicações externas ao

domínio onde web service está hospedado

possam acessá-lo

(enviando ou recebendo dados)

.

(6)

Web Service

Benefícios:

• Integração de informação e sistemas: permitem

integrar qualquer tipo de sistema

(Windows, Linux, IOS,

Android)

e linguagens de programação

(PHP, Java,

Python)

;

• Reutilização de código: após implementado

pode ser utilizado por diversas aplicações, sem

necessidade de reescrita;

(7)

Web Service

Benefícios:

• Maior segurança: evita, por exemplo, que

aplicações façam comunicação direta com bases

de dados;

• Redução de custos: fazem uso

(tiram proveito)

de

protocolos e infraestruturas web já existentes, o

que diminui a necessidade de investimento;

(8)

Web Service

Exemplos de uso:

• Facebook Graph API

– Leitura e gravação de dados para o Facebook;

• Twitter REST APIs

– Leitura e escrita de dados no Twitter;

• Google Maps APIs Web Service

– Fornece dados geográficos para aplicativos de mapa;

(9)

Web Service

Padrão Rest:

• Possui

o

protocolo

HTTP

como

base

fundamental para comunicação;

• Tem como princípio fornecer uma estrutura de

comunicação

menos

rígida,

não

havendo

restrição no formato das mensagens;

• Entretanto, o formato Json costuma ser muito

utilizado;

(10)

Web Service na Prática

Framework Slim

www.gileduardo.com.br/ifpr/dwii/downloads/slim.zip

www.gileduardo.com.br/ifpr/dwii/downloads/ex_doc10.zip

(11)

Framework Slim

Exemplo:

(Código básico – principais métodos)

Como visto anteriormente, web services que utilizam o padrão Rest (caso do Slim) são fortemente baseados no protocolo HTTP. Neste contexto, as principais requisições desse protocolo (GET e POS) podem ser tratadas pelo framework Slim. No código ao lado, temos os métodos GET com e sem recebimento de parâmetro e o método POST. Quando um cliente efetua uma dessas requisições, uma reposta em formato HTML é produzida (comando echo) identificando o método invocado pelo cliente. Para testar nosso web service utilizaremos o aplicativo POSTMAN (plugin do Google Chorme) como cliente.

(12)

Aplicativo POSTMAN

Cliente POSTMAN:

(efetuando requisições ao web service)

Aula 10: Web Service - Frameworks Slim e Laravel

Método Requisitado pelo cliente POSTMAN – GET

URL do web service, invoca a rota “/” sem

passar parâmetros.

Permite testar se o web service está OK.

(13)

Aplicativo POSTMAN

Cliente POSTMAN:

(efetuando requisições ao web service)

Método Requisitado pelo cliente POSTMAN – GET

URL do web service, invoca a rota “/” sem

passar parâmetros.

Permite testar se o web service está OK.

(14)

Framework Slim

Exemplo:

(Código básico – principais métodos)

Aula 10: Web Service - Frameworks Slim e Laravel

No código ao lado, temos os métodos PUT (utilizado para atualizar ou inserir um recurso) e DELETE (utilizado para remover um recurso). Assim como mostrado anteriormente, quando um cliente efetua uma dessas requisições, uma reposta em formato HTML é

produzida (comando echo)

identificando o método invocado pelo cliente.

(15)

Aplicativo POSTMAN

Cliente POSTMAN:

(efetuando requisições ao web service)

Método Requisitado pelo cliente POSTMAN – PUT

URL do web service, invoca a rota “/” sem

passar parâmetros.

Permite testar o método

(16)

Aplicativo POSTMAN

Cliente POSTMAN:

(efetuando requisições ao web service)

Aula 10: Web Service - Frameworks Slim e Laravel

Método Requisitado pelo cliente POSTMAN – DELETE

URL do web service, invoca a rota “/” sem

passar parâmetros.

Permite testar o método

(17)

Criando Cliente PHP

Aplicação de Exemplo:

(CRUD de Produtos – Tela Principal – Arquivo: “/Client/index.php”)

Cliente PHP permite requisitar os métodos GET, POST, PUT e DELETE para obter, cadastrar, alterar e excluir produtos de uma base de dados

(18)

Criando Cliente PHP – GET

Aplicação de Exemplo:

(Arquivo: rotinas.php – ex_doc10.zip)

Aula 10: Web Service - Frameworks Slim e Laravel

Monta o Array de dados que será

enviado ao método GET do web

service.

Utiliza a biblioteca cURL do php, especifica a URL que será invocada (inicia conexão), passa como parâmetro o Array montado em formato json.

Executa a requisição para URL (web service) especificada e recebe os dados de retorno.

Obs.: “cURL” = permite conexão com diversos tipos de servidores usando diversos tipos de protocolos. Fecha / Finaliza conexão com web service.

(19)

Criando Web Service – GET

Aplicação de Exemplo:

(Arquivo: rest.php – ex_doc10.zip)

Dado em formato json enviado pelo

cliente quando ele efetuar uma requisição GET passando parâmetros.

Utiliza o método

json_decode() para

decodificar os dados e

convertê-los em array.

Utiliza o pacote PDO para conectar com o banco e executar a query de seleção.

Retorna para o cliente que efetuou a requisição os dados obtidos do banco de dados em formato json.

(20)

Executanto Cliente/WS – GET

Aplicação de Exemplo:

(Arquivo: “/Client/index.php” – Selecionar)

Aula 10: Web Service - Frameworks Slim e Laravel

Usuário seleciona a quantidade de registros que deseja visualizar. Esse dado é enviado ao web service via requisição GET.

Invoca o método GET do web service.

(21)

Criando Cliente PHP – POST

Aplicação de Exemplo:

(Arquivo: rotinas.php – ex_doc10.zip)

Monta o Array de dados que será

enviado ao método GET do web

service.

Utiliza a biblioteca cURL do php, especifica a URL que

será invocada (inicia

conexão).

Executa a requisição para URL (web service) especificada e recebe os dados de retorno.

Fecha / Finaliza conexão com web service.

Especifica o método (POST)

do web service que será requisitado.

Passa como parâmetro o Array montado emjson.

(22)

Criando Web Service – POST

Aplicação de Exemplo:

(Arquivo: rest.php – ex_doc10.zip)

Aula 10: Web Service - Frameworks Slim e Laravel

Dado (nome do produto) enviado pelo

cliente em formato json quando uma

requisição POST é efetuada. A função

json_decode() é utilizada para decodificar os dados e convertê-los em array.

Utiliza o pacote PDO para conectar com o banco e executar a query de inserção.

Retorna para o cliente, em formato json, uma resposta indicando que o produto foi cadastrado com sucesso.

(23)

Executanto Cliente/WS – GET

Aplicação de Exemplo:

(Arquivo: “/Client/index.php” – Inserir)

Usuário informa o nome do produto que deseja cadastrar. Esse dado é enviado ao web service via requisição POST.

Invoca o método POST do web service.

(24)

Web Service na Prática

Framework Laravel

(25)

Web Service

Laravel:

• O framework Laravel possui uma api pronta para

construção de serviços web;

• O arquivo (api.php) que permite definir as rotas

e métodos de requisição do web service fica

localizado no diretório /routes/api.php;

• A partir dele podemos construir rapidamente

serviços web através do Laravel;

(26)

Framework Laravel

Exemplo (GET):

(Código básico – principais métodos)

Aula 10: Web Service - Frameworks Slim e Laravel

No código ao lado, temos o método GET para URL “/curso”. Quando um cliente efetua uma requisição GET, uma seleção de dados é efetuada no banco e uma reposta em formato json é produzida (comando echo). Para testar nosso web service Laravel utilizaremos, novamente, o aplicativo POSTMAN como cliente. Observe que, ao utilizar a model curso (curso::all()) para selecionar os curso cadastrados, o

conjunto de objetos retornado é

convertido para array.

(27)

Aplicativo POSTMAN

Cliente POSTMAN (GET):

(requisições ao web service Laravel)

Método Requisitado pelo cliente POSTMAN – GET

URL do web service, invoca a rota “/curso”.

Permite testar o

(28)

Framework Laravel

Exemplo (POST):

(Código básico – principais métodos)

Aula 10: Web Service - Frameworks Slim e Laravel

No código ao lado, temos o método POST para URL “/curso/cadastrar”.

Quando um cliente efetua uma

requisição POST, os dados enviados em formato json são carregados ($request->all()) para a variável $array. Após isso, esse array é percorrido e os curso enviados pelo cliente são adicionados a base de dados. Para testar o método POST do web service Laravel utilizaremos o aplicativo POSTMAN como cliente. O web service retorna,

em formato json, uma mensagem

indicando a quantidade de registros cadastrados.

(29)

Aplicativo POSTMAN

Cliente POSTMAN (POST):

(requisições ao web service Laravel)

Método Requisitado pelo cliente POSTMAN – POST

URL do web service,

invoca a rota

“/curso/cadastrar”.

Permite testar o

método POST.

Array de dados enviado em formatojson.

(30)

Framework Laravel

Exemplo (PUT):

(Código básico – principais métodos)

Aula 10: Web Service - Frameworks Slim e Laravel

No código ao lado, temos o método PUT para URL “/curso/alterar”. Quando um cliente efetua uma requisição PUT, os dados enviados em formato json são carregados ($request->all()) para a variável $objDado. Após isso, esse objeto é utilizado para alterar os dados curso especificado. Para testar o método PUT do web service Laravel utilizaremos o aplicativo POSTMAN como cliente. O web service retorna,

em formato json, uma mensagem

indicando a quantidade de registros alterados.

(31)

Aplicativo POSTMAN

Cliente POSTMAN (PUT):

(requisições ao web service Laravel)

Método Requisitado pelo cliente POSTMAN – PUT

URL do web service,

invoca a rota

“/curso/alterar”.

Permite testar o

método PUT.

(32)

Framework Laravel

Exemplo (DELETE):

(Código básico – principais métodos)

Aula 10: Web Service - Frameworks Slim e Laravel

No código ao lado, temos o método DELETE para URL “/curso/remover”.

Quando um cliente efetua uma

requisição DELETE, os dados enviados

em formato json são carregados

($request->all()) para a variável $objDado. Após isso, esse objeto é

utilizado para remover o curso

especificado. Para testar o método DELETE do web service Laravel utilizaremos o aplicativo POSTMAN como cliente. O web service retorna,

em formato json, uma mensagem

indicando a quantidade de registros removidos.

(33)

Aplicativo POSTMAN

Cliente POSTMAN (DELETE):

(requisições ao web service Laravel)

Método Requisitado pelo cliente POSTMAN – DELETE

URL do web service,

invoca a rota

“/curso/remover”.

Permite testar o

método DELETE.

(34)

Web Service: Slim e Laravel

Exemplos Utilizados no Documento

http://www.gileduardo.com.br/ifpr/dwii/downloads/dwii_exdoc10.zip

Aula 10: Web Service - Frameworks Slim e Laravel

Código-fonte da Aplicação SETA

http://www.gileduardo.com.br/ifpr/dwii/downloads/dwii_dica10.zip

Exercício sobre o Conteúdo

Referências

Documentos relacionados

Nos tempos atuais, ao nos referirmos à profissão docente, ao ser professor, o que pensamos Uma profissão indesejada por muitos, social e economicamente desvalorizada Podemos dizer que

Caráter petroplíntico (atualmente não explicitado entre os atributos diagnósticos): Horizonte constituído de 50% ou mais, por volume, de petroplintita, que são

O fabricante não vai aceitar nenhuma reclamação dos danos causados pela não observação deste manual ou por qualquer mudança não autorizada no aparelho.. Favor considerar

O objetivo deste trabalho foi conhecer a prevalência dos sinais e sintomas relacionados à Disfunção Temporomandibular em um grupo de alunos do curso de fisioterapia, verificando

Os ativos não circulantes classificados como disponível para venda são mensurados pelo menor montante entre o seu custo contábil e o seu valor justo, líquido das despesas com a

Elaboração de uma Cartilha Direcionada aos Profissionais da Área da Saúde, Contendo Informações sobre Interações Medicamentosas Envolvendo Fitoterápicos e Alopáticos

AFETAÇÃO COMO REPRESENTATIVO DA CONTROVÉRSIA. EMPRESA EM RECUPERAÇÃO JUDICIAL. PRÁTICA DE ATOS CONSTRITIVOS... 1. 257-C) e suspendeu o processamento de todos os feitos

In this work we studied the diversity of microbial populations and the kinetics of these with the production of metabolites involved in alcoholic fermentation