Web Services REST e JSON

Documentos relacionados
REST RESTfulWeb Services JAX-RS

Web Services REST. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Web Services REST JAX-RS

EA975 - Laboratório de Engenharia de Software

Informática Parte 23 Prof. Márcio Hunecke

Estruturas de Condição, Iteração, Arrays e Enumareção

Web Services. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

EA975 - Laboratório de Engenharia de Software

2 MANUAL TÉCNICO JSON

Prática da Disciplina de Sistemas Distribuídos Web Services REST IFMA DAI Professor Mauro Lopes C. Silva

Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX.

Aula 25: Web Services (III)

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Acesso a Informação - JSON. Manual Técnico

Acesso a Informação - JSON. Manual Técnico

Objetos e Componentes Distribuídos: EJB

Objetos e Componentes Distribuídos: EJB e CORBA

Programação para Internet

JavaScript (Elementos de Programação e Programação Básica)

Padrões Arquitetônicos

JSP Prof. Daniela Pires. VARIAVEIS... 2 Tipos de Dados... 2 String Float Integer Boolean... 3

Figura 1: Eclipse criação de um Dynamic Web Project

Protocolo HTTP. - Características. - Modelo Requisição/Resposta. - Common Gateway Interface (CGI)

Elementos da Linguagem C#

Criando e consumindo Web service REST com PHP e JSON. Palestrante: Weiberlan Garcia

Curso básico de JavaScript Aula 2

Desenvolvimento Web. JavaScript aula II variáveis (cont.) e diálogos. Professor: Bruno Gomes

Acesso a Informação - JSON Manual Técnico

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

Introdução ao Javascript

Informática Parte 26 Prof. Márcio Hunecke

Web Services no JEE 7. Prof. Fellipe Aleixo

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

Ricardo R. Lecheta. Novatec

Escrito por Neri Neitzke Qua, 21 de Dezembro de :34 - Última atualização Dom, 02 de Abril de :04

Android e Bancos de Dados

Escrever scripts de PHP com HTML

Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

Protocolo HTTP. Professor Leonardo Larback

Linguagem de Programação III - PHP

Desenvolvimento Web II

A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

Elementos da Linguagem C#

Linguagem Python. Processamento Estatístico da Linguagem Natural. Barra invertida em strings. Strings. Aspas triplas. Operações com Strings

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

Framework.NET. Linguagem de Programação III. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo

Descrição: Retorna uma lista com todos os publishers disponíveis no middleware.

Webservices LEANDRO MENDES FERREIRA

Introdução a Computação em Nuvem

Desenvolvimento de Aplicações Distribuídas

EA975 - Laboratório de Engenharia de Software

Layout de Integração Webservice Layout de Integração com SIP via Webservices Versão 1.4

Java RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

REST Um Estilo de Arquitetura de Sistemas Distribuídos

Apresentação da Disciplina e Fundamentos da Computação Móvel

Programação para Internet I

Minicurso de JavaScript PET Sistemas de Informação Segundo Dia Anthony Tailer. Clecio dos Santos. Rhauani Fazul.

Desenvolvimento de um aplicativo básico usando o Google Android

Conceitos de Linguagens de Programação

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Abrindo os dado públicos da Universidade Federal do Maranhão Um breve estudo

Microsoft Visual Studio Community 2013

Serviços Web: Introdução

Android e Bancos de Dados

Introdução a Sistemas Distribuídos

Introdução à HTML Dinámico. O linguagem JavaScript.

Service Oriented Architecture SOA

Programação para Internet

Pré-requisito Ter realizado os cursos de Lógica de Programação e HTML5 e CSS3, ou ter conhecimento equivalentes.

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

Paradigmas de Programação React Native

Visibilidade e Encapsulamento

Buscando a praticidade na integração do seu sistema com o nosso, a Papo consultou desenvolvedores, pesquisou concorrentes e avaliou tecnologias, para

C A P I T U L O 2 S I N T A X E B Á S I C A - V A R I Á V E I S E C O N S T A N T E S E M P H P

Transcrição:

Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão

Objetivos Nesta aula iremos apresentar a construção de um Web Service Rest utilizando o JSON como padrão de saída produzido. Neste aspecto serão abordados os conceitos de recursos, sub-recursos e parâmetros.

Plano de Aula Web Services REST e JSON Resources, URIs e Media Types JSON Resources SubResources Parâmetros

Resources, URIs e Media Types Resource: qualquer informação disponível; Exemplos de resources: O cadastro de uma pessoa; uma imagem; um documento; cotação de uma moeda. Deve possuir um identificador único. Esse identificador será utilizado para que o resource possa ser acessado. URI (Uniform Resource Identifier): identificador de um web resources na internet ou em uma intranet. Media Types: formas de representação de resources. Na web é normal que o resultado obtido de um requisição esteja em html, xml ou json.

JSON (JavaScript Object Notation) JSON é um formato leve para intercâmbio de dados computacionais que vem se tornando um padrão. Muito difundido com o antigo Ajax e o atual padrão arquitetural REST; JSON é similar ao XML porem mais compacto, mais rápido e mais simples de utilizar; Ele é baseado em texto, de formato leve e simples de parsear ; É independente de plataforma e linguagem de programação.

JSON: Sintaxe Um dado em JSON é composto pelo conjunto nome/valor; Os dados são separados por vírgula; As chaves definem um objeto; E colchetes definem uma coleção; Tipos de Dado: number (inteiro ou real) string (entre aspas duplas) boolean (true or false) array (entre colchetes) object (entre chaves) null

JSON: Sintaxe de Objetos São conjuntos não ordenados de pares formados por chave/valor Objetos são envolvidos por { }, separa pares chave/valor : separa chaves e valores As chaves são strings Os valores são valores JSON

JSON: Sintaxe professor : { chaves objeto string nome : Mauro Lopes, email : maurosilva@gmail.com, idade : 42, number dedicaçaoexclusiva : true } valores boolean

JSON: Sintaxe de Arrays São sequencias ordenadas de valores É muito comum estes valores serem objetos São envolvidas por [ ], separa pares chave/valor JSON não fala nada sobre índices.

JSON: Sintaxe array listadeprofessores :[ objetos { nome : Mauro, idade : 42, dedicaçaoexclusiva : true}, { nome : Carol, idade : 32, dedicaçaoexclusiva : false}, { nome : João, idade : 63, dedicaçaoexclusiva : true} ]

Web service com JAX-RS A especificação JAX-RS define um modelo de programação para a criação de web services restful (web service que seguem os princípios do estilo arquitetural REST).

Resources De acordo com a JAX-RS, os web resources são implementados por classes Java. Todo web resource deve possuir uma URI que é definida parcialmente pela anotação @Path. web resource

Resources Os métodos HTTP podem ser mapeados para métodos Java de uma classe. As anotações @GET, @PUT, @POST, @DELETE e @HEAD são utilizadas para realizar esse mapeamento. web resource

Resources Media Type, é utilizado para a representação do resource, no caso o formato de retorno do mesmo. Usamos a anotação @Produces e o enum MediaType. web resource

Subresource A princípio, uma classe define apenas um resource. Porém, podemos definir subresources dentro de uma classe através de métodos anotados com @Path. web resource subresource

Subresource O sufixo da URI de um subresource é definido pela concatenação do valor da anotação @Path aplicada na classe com o valor da anotação @Path aplicada no método correspondente ao subresource. No exemplo mostrado anteriormente teríamos o seguinte endereço:.../recurso/subrecurso.../boamusica/radio

Parâmetros: @PathParam web resource subresource parâmetro

Parâmetros Outras opções de parâmetros: @QueryParam @FormParam @HeaderParam @CookieParam

Dúvidas Página do Professor Mauro: http://www.dai.ifma.edu.br/~mlcsilva

Próxima Aula Prática de Laboratório: Web Services REST.

Referências Sistemas Distribuídos - Conceitos e Projeto, George Coulouris, 4ª Edição - Editora Bookman, 784 páginas. SOA aplicado: integrando com web services e além, Alexandre Saudate Casa do Código, 277 páginas.