Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevarria - Tchelinux 2019 Rio Grande

23 views

Published on

A arquitetura das aplicações web vem mudando ao longo do tempo, não basta só sabermos fazer requests e esperarmos um json de retorno. Entender o conceito por trás das APIs e as vantagens do padrão RESTful farão toda a diferença na hora de desenvolver aplicações "elegantes".

Marcos Echevarria é Marcos Echevarria é mestre em Ciência da Computação pela Universidade Católica de Pelotas. Desenvolve sistemas web há mais de 10 anos, tendo liderado equipes em projetos de médio e grande porte em empresas nacionais e internacionais. Atualmente é CEO na empresa Be Mobile e professor na Universidade Católica de Pelotas, onde leciona as disciplinas de Algoritmos e Engenharia de Software.

Para mais informações:
https://twitter.com/quinhodev

Published in: Technology
  • Be the first to comment

  • Be the first to like this

APIs, REST e RESTful: O que os programadores precisam saber? - Marcos Echevarria - Tchelinux 2019 Rio Grande

  1. 1. APIs, REST e RESTful O que os programadores precisam saber?
  2. 2. Olá! Eu sou Marcos Echevarria ▹ Natural de Pelotas ▹ CEO e Head do time de desenvolvimento ▹ Professor universitário há mais de 10 anos ▹ Aos poucos retribuindo à comunidade 2
  3. 3. APIs
  4. 4. O que é? API ou “Application Programming Interface”, é uma forma de integrar sistemas, possibilitando benefícios como a segurança dos dados, facilidade no intercâmbio entre informações com diferentes linguagens de programação, entre outras. Elas proporcionam a integração entre sistemas que possuem linguagem totalmente distintas de maneira ágil. Esta interface permite a construção de aplicativos e a sua utilização de maneira não tão evidente para os usuários.
  5. 5. Microserviços
  6. 6. O que é? Microservices, também conhecido como arquitetura de microserviços, é um estilo arquitetônico que estrutura uma solução como uma coleção de serviços ligeiramente acoplados, que implementam capacidades empresariais. A arquitetura microservice permite a entrega e a implantação contínua de aplicativos grandes e complexos. Ele também permite que uma organização evolua sua pilha de tecnologia.
  7. 7. REST
  8. 8. O que é REST? REST é um estilo de se projetar aplicativos da Web fracamente acoplados que contam com recursos nomeados e não com mensagens. Engenhosamente, o REST transporta a infraestrutura já validada e bem-sucedida da Web — HTTP e alavanca aspectos do protocolo como pedidos GET e POST.
  9. 9. Um pouco de história O termo REST foi definido por Roy T. Fielding em sua tese de PhD. Roy foi um dos principais desenvolvedores de muitos dos protocolos Web essenciais, incluindo HTTP e URIs, e ele formalizou várias das idéias por trás deles nesse documento. A dissertação é considerada “A Bíblia do REST”.
  10. 10. Request Request Http Server apache nginx node.js apache tomcat Glassfish Back-end php java node.js ruby C# get/post/put/delete Response dataType html text json xml
  11. 11. URIs e recursos Quando fazemos requisições Web, precisamos falar o caminho da mesma, a URI (Unified Resource Identifier), ou seja, o identificador único de um recurso. Então ao criar as URIs do nosso sistema devemos levar em conta que elas representam recursos, não ações.
  12. 12. Nomeando recursos /produtos/edita /produto/123 Para representar a edição de um produto podemos usar a URI /produto com o método HTTP PUT.
  13. 13. Operações e métodos O importante no REST é que você tenha um conjunto pequeno e fixo de operações bem definidas. Isso gera uma interface uniforme. O protocolo HTTP possui sete métodos: ▸ GET ▸ POST ▸ PUT ▸ DELETE ▸ HEAD ▸ OPTIONS ▸ TRACE
  14. 14. Request Request Http Server apache nginx node.js apache tomcat Glassfish Back-end php java node.js ruby C# get/post/put/delete Response dataType html text json xml
  15. 15. REST - Princípios fundamentais ▸ Dê a todas as coisas um Identificador ▸ Vincule as coisas ▸ Utilize métodos padronizados ▸ Recursos com múltiplas representações ▸ Comunique sem estado Vamos utilizar um recurso Cliente.
  16. 16. Nomeando nossos recursos GET: {API_HOST}/cliente GET: {API_HOST}/cliente/33 POST: {API_HOST}/cliente PUT: {API_HOST}/cliente/33 DELETE: {API_HOST}/cliente/{id} Lendo uma lista de clientes Lendo um cliente específico Criando um cliente Atualizando um cliente Removendo um cliente
  17. 17. Status code HTTP
  18. 18. RESTful
  19. 19. O que é? RESTful é a capacidade de um serviço web fazer REST. Quando criamos uma aplicação web com base na arquitetura REST, podemos dizer que nossa aplicação é RESTful. É mais questão de nomenclatura.
  20. 20. Request https://maps.googleapis.com/ maps/api/distancematrix/json ?units=imperial&origins=Wash ington,DC&destinations=New+Y ork+City,NY&key=YOUR_API_KEY Response
  21. 21. Integrações
  22. 22. Obrigado! Perguntas? Onde me achar: @quinhodev quinho@gmail.com https://echevarria.github.io 36

×