• 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

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

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

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

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

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