Desenvolvimento Web II

Documentos relacionados
Paradigmas de Programação React Native

Desenvolvimento Web II

Desenvolvimento Web II

EA975 - Laboratório de Engenharia de Software

API - Lista de Compras

Desenvolvimento Web II

Desenvolvimento Web II

APP WORK - SISTEMA DE GERENCIAMENTO DE HORÁRIO PONTO E GEOLOCALIZAÇÃO 1 APP WORK - POINT AND GEOLOCALIZATION SCHEME MANAGEMENT SYSTEM

EA975 - Laboratório de Engenharia de Software

Desenvolvimento Web II

Desenvolvimento Web II

EA975 - Laboratório de Engenharia de Software

Instrutor: Eder Martins Franco

Coletando dados utilizando a API do Zabbix com PHP e JSON

Desenvolvimento de Aplicações Distribuídas

Ricardo R. Lecheta. Novatec

API SEBRAE MÉTODOS PARA INTEGRAÇÃO COM A PLATAFORMA Versão 1.0 Brasília 2017

Especificação dos Requisitos do Software UFPI Maps 1.0. Autores:4A Team Alceu Medeiros Antonio Lima AntonioHelves Fernando Assunção

CCT0298 ANALISE DE REDES Aula : Trafego HTTP

REST RESTfulWeb Services JAX-RS

Desenvolvimento Web. [Versão 5 Maio/2019] Professor Emiliano S. Monteiro

Linguagem de Programação

Desenvolvimento de Aplicações Distribuídas

Programação para Internet

Aplicativo Android para compartilhamento de informações sobre saúde alimentar

Arquitetura de aplicativos para Smart Devices

Figura 1: Formato de Requisição HTTP

TRABALHO FINAL 20 Pontos

DESENVOLVIMENTO COORDENAÇÃO ENTRE TAREFAS

Web Services REST JAX-RS

1.2- Ambientes de Middleware

Aviso. O conteúdo deste documento é de propriedade intelectual exclusiva da GVDASA Sistemas e está sujeito a alterações sem aviso prévio.

OntoGen: Uma Ferramenta para Integração de Esquemas XML - Manual da Ferramenta

>>> RESTful API >>> Com Node.js e Restify. Name: Anderson Pimentel Date: 19 de Março de

Tutorial de utilização da aplicação no lado servidor com Firebase

MANUAL DE INTEGRAÇÃO API DE PAGAMENTOS PRIXPAY v.003

Conexão com Banco de Dados, Inserção, exclusão e atualização de registros

MINICURSO LARAVEL 5.5 Gil Eduardo de Andrade

API - Webservices. Grupo Cortez de Lima

Desenvolvimento Web II

Aula 4 Arquitetura de software na Web atual: AJAX e Ajax. Prof: Dra. Renata Pontin de Mattos Fortes

Desenvolvimento Web. Introdução Geral. Prof. Vicente Paulo de Camargo

API DE INTEGRAÇÃO VERSÃO 2. Janeiro/2017. Manual de Integração. Setor de Desenvolvimento

EA975 - Laboratório de Engenharia de Software. Objetivo do curso. Turmas K/L Aula 1

Programação para Internet

Código PD0017. Este documento ter por objetivo auxiliar o usuário no entendimento e utilização do Nexus.

Sistema JB2 de inventário patrimonial

Programação para Internet

Estruturas de Comunicação de Dados Aula 3 Camadas de Aplicação e Transporte

Nota de Aplicação: Utilização do Servidor Web MS IIS com BlueWave. Sumário

C A R T I L H A. - Recursos Humanos Códigos Funcionais

Desenvolvimento Web II

Estruturas de Sistemas Operacionais

Histórico de alterações

Sistema de Informação e Coordenação - SIC

Biomac. Extensão para captura de. Mac Address e Biometria. Documentação. 20/09/2017 Sadi Peruzzo.

Instalação e utilização do Software Pináculo SMS

Desenvolvimento Web III. Prof. Felippe Scheidt

Manual Telemetria - Odômetro

Informática. Conceitos Gerais. Professor Márcio Hunecke.

EA975 - Laboratório de Engenharia de Software

Funcionalidade e Protocolos da Camada de Aplicação

Meu Mercado: Aplicativo Móvel para Publicação de Promoções de Supermercados

SUBIR LISTAS DE S

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades.

UMA INTERFACE DE GERENCIAMENTO DE REDES DEFINIDAS POR SOFTWARE

SQL INJECTION: ENTENDENDO E EVITANDO. MAGALHÃES, Felipe. B. ¹, BASTOS, Rafael. R² RESUMO

Dreamweaver CS6 Plano de Aula - 24 Aulas (Aulas de 1 Hora).

TUTORIAL GIT Victor Breder Comp-19 Março de 2017

Instalação Serviço de Acompanhamento de Projeto (PCSIS007) Sistema de Gestão da Qualidade

Barber Show App. Manual da Barbearia v

Dreamweaver CS5 Plano de Aula - 24 Aulas (Aulas de 1 Hora).

PROTÓTIPO DE UMA FERRAMENTA DE MARKETING PARA SEGMENTAÇÃO DE PÚBLICO UTILIZANDO A API DO INSTAGRAM

A figura acima mostra o script de criação do banco de dados que chamaremos de minicurso.

Ademir C. Gabardo. Novatec

Redes de Computadores

Exercício Programa Mini Web Server

Plano de Aula - Dreamweaver CS5 - cód Horas/Aula

TECNOLOGIA EM REDES DE COMPUTADORES - 3º PERÍODO ADS - ADMINISTRAÇÃO DE SERVIDORES Grupo: Alexandre - Leonel - Mateus - Ricardo

SISTEMA PARA AUTOMATIZAÇÃO RESIDENCIAL CONTROLADO POR

ENSINO MÉDIO INTEGRADO INFORMÁTICA LINGUAGEM DE PROGRAMAÇÃO Trabalho Final Semestral TFS

Ademir Cristiano Gabardo. Novatec

Web Interativa com Ajax e PHP

1 ACESSO ATRAVÉS DE APLICATIVOS MÓVEIS - ANDROID COMO INSCREVER A PARTIR DE UM APLICATIVO MÓVEL? VOCE ESQUECEU A SENHA?...

Instalação e utilização do Software Pináculo SMS

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

Tutorial sobre Activity: Como carregar um fragmento do mapa para a tela do celular

Guia de Instalação II. Instalação e Administração do Fluig. Título do documento

Configuração do Apache Cordova Lab. 13. Prof. Bruno C. Vani

Sumário. Prefácio Capítulo 1 Orientação e primeiras etapas Capítulo 2 Dados: trabalhando com texto e números... 40

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

Para usar com Impressoras multifuncionais (MFPs) ativadas para a Tecnologia Xerox ConnectKey

Mônica Oliveira Primo de Lima Edervan Soares Oliveira TRABALHO SOBRE PROTOCOLO HTTP

AULA 6 IMPLEMENTAR TELA UTILIZANDO FRAMEWORK JEASYUI + PHP

CIDADÃO FISCAL: APLICATIVO PARA A ABERTURA E ACOMPANHAMENTO DE PROCESSOS NO SETOR DE OUVIDORIA DA PREFEITURA MUNICIPAL DE BLUMENAU

Manual M3 Cgsync EG. Copyright Todos os direitos reservados. Control Informática. Versão Manual M3 Cgsync EG

GUIA RÁPIDO. MDIForms. Sintel Informática Ltda. Rua Vergueiro, nº º andar Vila Mariana, São Paulo - SP CEP:

Desenvolvimento Web II

GRADUAÇÃO EM ANÁLISE E DESENVOLVIMENTO PROGRAMAÇÃO DE COMPUTADORES I Trabalho Final Anual TFA

Webservices LEANDRO MENDES FERREIRA

Transcrição:

Desenvolvimento Web II Web Service PHP Rest Frameworks: Slim e Laravel (get/ post / put / delete) Gil Eduardo de Andrade

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;

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;

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.

Funcionalidade: Web Service 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).

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 dereescrita;

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;

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;

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;

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

Framework Slim Exemplo: (Código básico principais métodos) (Arquivo: rest.php slim.zip) 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.

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. Resposta do web service método $app->get( /, function() { });

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. Resposta do web service método $app->get( /, function() { });

Framework Slim Exemplo: (Código básico principais métodos) (Arquivo: rest.php slim.zip) 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.

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 PUT. Resposta do web service método $app->put( /, function() use ($app) { });

Aplicativo POSTMAN Cliente POSTMAN: (efetuando requisições ao web service) Método Requisitado pelo cliente POSTMAN DELETE URL do web service, invoca a rota / sem passar parâmetros. Permite testar o método DELETE. Resposta do web service método $app->delete( /, function() use ($app) { });

Criando Cliente PHP Aplicação de Exemplo: (CRUD de Produtos Tela Principal Arquivo: /Client/index.php ) Obs.: CRUD = Create, Retrieve, Update e Delete. Cliente PHP permite requisitar os métodos GET, POST, PUT e DELETE para obter, cadastrar, alterar e excluir produtos de uma base de dados

Criando Cliente PHP GET 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), passa como parâmetro o Array montado em formato json. Fecha / Finaliza conexão com web service. 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.

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 GETpassando 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.

Executanto Cliente/WS GET Aplicação de Exemplo: (Arquivo: /Client/index.php Selecionar) Invoca o método GET do web service. Usuário seleciona a quantidade de registros que deseja visualizar. Esse dado é enviado ao web service via requisição GET. Dados retornados pelo web service.

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). Especifica o método (POST) do web service que será requisitado. Passa como parâmetro o Array montado em json. Fecha / Finaliza conexão com web service. Obs.: A codificação PUT e DELETE segue o mesmo padrão do POST. Executa a requisição para URL (web service) especificada e recebe os dados de retorno.

Criando Web Service POST Aplicação de Exemplo: (Arquivo: rest.php ex_doc10.zip) 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.

Executanto Cliente/WS GET Aplicação de Exemplo: (Arquivo: /Client/index.php Inserir) Invoca o método POST do web service. Usuário informa o nome do produto que deseja cadastrar. Esse dado é enviado ao web service via requisição POST. Dados retornados pelo web service.

Web Service na Prática Framework Laravel www.gileduardo.com.br/ifpr/dwii/downloads/dwii_dica10.zip

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;

Framework Laravel Exemplo (GET): (Código básico principais métodos) (Arquivo: api.php dwii_dica10.zip) 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.

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 método GET. Resposta do web service método $app->get( /curso, function() { });

Framework Laravel Exemplo (POST): (Código básico principais métodos) (Arquivo: api.php dwii_dica10.zip) 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.

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 formato json. Resposta do web service método $app->post( /curso/cadastrar, function(request $request) { });

Framework Laravel Exemplo (PUT): (Código básico principais métodos) (Arquivo: api.php dwii_dica10.zip) 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.

Aplicativo POSTMAN Cliente POSTMAN (PUT): (requisições ao web service Laravel) Método Requisitado pelo cliente POSTMAN PUT Dados enviados em formato json. URL do web service, invoca a rota /curso/alterar. Permite testar o método PUT. Resposta do web service método $app->put( /curso/alterar, function(request $request) { });

Framework Laravel Exemplo (DELETE): (Código básico principais métodos) (Arquivo: api.php dwii_dica10.zip) 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.

Aplicativo POSTMAN Cliente POSTMAN (DELETE): (requisições ao web service Laravel) Método Requisitado pelo cliente POSTMAN DELETE Dados enviados em formato json. URL do web service, invoca a rota /curso/remover. Permite testar o método DELETE. Resposta do web service método $app->put( /curso/remover, function(request $request) { });

Web Service: Slim e Laravel Exemplos Utilizados no Documento http://www.gileduardo.com.br/ifpr/dwii/downloads/dwii_exdoc10.zip Código-fonte da Aplicação SETA http://www.gileduardo.com.br/ifpr/dwii/downloads/dwii_dica10.zip Exercício sobre o Conteúdo http://www.gileduardo.com.br/ifpr/dwii/downloads/dwii_pratica10.pdf