SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
API porque todo Governo 
deveria ter uma? 
pedrohosilva.wordpress.com.br 
@Github @outlook / pedro-hos
~/whois? 
Não sou esse
~/whois?
API 
● Dados ou funções de negócio expostos na internet; 
● Acelerar Parcerias; 
● Simplificar Integração -> Mobile X Desktop X Web 
etc; 
● Internet das coisas -> RaspberryPi 
● Rest JSON 
● Segurança 
● Padrão de Acesso 
● Fácil Hello Word 
● Documentação bem detalhada
Cases 
Governo, Quanto tem: dados.gov.br 
● Desnormalizado; 
● Não é API; 
● Documentação relativamente Fraca, quando 
tem 
● Dados são difíceis de encontrar
Cases
● REST Estilo arquitetural criado por Roy 
Fielding 
● RESTful Design que respeita os 
conceitos Rest
Tá Fácil
E o Governo? 
Seria maravilhoso se os dados estivessem 
expostos de uma maneira limpa com uma 
documentação acessível e clara! 
Poderíamos ajudar de muitas formas!
Alguns Padrões 
❏ URIs 
❏ Resources 
❏ Operações 
❏ Media Types 
❏ Status Code 
❏ . . .
URI 
http:// call4papers-jugvale.rhcloud.com /rest /evento 
http://call4papers-jugvale.rhcloud.com/rest/evento/{id} 
http://call4papers-jugvale.rhcloud.com/rest/evento/{id}/papers 
http://call4papers-jugvale.rhcloud.com/rest/v1/evento/{id}
Extra API
Recursos 
( . . . ) /evento/
Recursos 
( . . . ) /evento/{id}
Recursos 
( . . . ) /evento/{id}/papers
Principais Operações 
Mais ou menos isso . . 
● POST CREATE 
● GET READ 
● PUT UPDATE 
● DELETE DELETE
Media Types 
● XML: application/xml 
● JSON: application/json 
● TEXT: application/text 
● Binay: image/*, image/jpg, etc. . .
Status HTTP 
● 1XX - Informacionais 
● 2xx - Sucesso 
○ 200 - OK 
○ 201 - Criado 
● 3xx - Redirecionamento 
○ 301 - Moved Permanently (Location no Header) 
○ 307 - Movido Temporariamente
Status HTTP 
● 4xx - Erro causados pelo cliente 
○ 401 - Não Autorizado 
○ 403 - Forbidden 
○ 404 - Not Found 
● 5xx - Erro originado no server 
○ 500 - Internal Server Error 
○ 503 - Service Unavaible
Obrigado

Mais conteúdo relacionado

Semelhante a Por que APIs ajudam governos a compartilhar dados

Como um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoComo um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoDavid Robert Camargo de Campos
 
No mundo das ap is com Restful webservices
No mundo das ap is com Restful webservicesNo mundo das ap is com Restful webservices
No mundo das ap is com Restful webservicesWaldemar Neto
 
Workshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaWorkshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaSensedia
 
REST Web Services com Java
REST Web Services com JavaREST Web Services com Java
REST Web Services com JavaJugVale
 
Python Eve - APIs RESTful Profissionais em poucas linhas
Python Eve - APIs RESTful Profissionais em poucas linhasPython Eve - APIs RESTful Profissionais em poucas linhas
Python Eve - APIs RESTful Profissionais em poucas linhasRuda Filgueiras
 
Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011
Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011
Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011Caio Moreno
 
Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...
Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...
Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...IT4biz IT Solutions
 
Pentaho inteligência de negócios utilizando software livre campus party 2011
Pentaho  inteligência de negócios utilizando software livre   campus party 2011Pentaho  inteligência de negócios utilizando software livre   campus party 2011
Pentaho inteligência de negócios utilizando software livre campus party 2011Campus Party Brasil
 
APIs: o que são? onde vivem? do que se alimentam? [PyNE2016]
APIs: o que são? onde vivem? do que se alimentam? [PyNE2016]APIs: o que são? onde vivem? do que se alimentam? [PyNE2016]
APIs: o que são? onde vivem? do que se alimentam? [PyNE2016]Filipe Ximenes
 
Oficina Técnica da INDA em Belém no Consegi
Oficina Técnica da INDA em Belém no ConsegiOficina Técnica da INDA em Belém no Consegi
Oficina Técnica da INDA em Belém no Conseginitaibezerra
 
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto AlegreInteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto AlegreIT4biz IT Solutions
 
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto AlegreInteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto AlegreCaio Moreno
 
Portal Padrão - passado . presente . futuro, #WPD 2014
Portal Padrão - passado . presente . futuro, #WPD 2014Portal Padrão - passado . presente . futuro, #WPD 2014
Portal Padrão - passado . presente . futuro, #WPD 2014Tania Andrea
 
HTTP: A Base do Desenvolvimento Web - FISL 12
HTTP: A Base do Desenvolvimento Web - FISL 12HTTP: A Base do Desenvolvimento Web - FISL 12
HTTP: A Base do Desenvolvimento Web - FISL 12Alexandre Gaigalas
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Quebrando o monolito com microserviços - TDC 2017
Quebrando o monolito com microserviços - TDC 2017Quebrando o monolito com microserviços - TDC 2017
Quebrando o monolito com microserviços - TDC 2017Rodrigo Stefani Domingues
 
O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]Filipe Ximenes
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.comricobl
 

Semelhante a Por que APIs ajudam governos a compartilhar dados (20)

Como um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoComo um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenho
 
No mundo das ap is com Restful webservices
No mundo das ap is com Restful webservicesNo mundo das ap is com Restful webservices
No mundo das ap is com Restful webservices
 
Workshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha BásicaWorkshop Hands-On APIX 2018 - Trilha Básica
Workshop Hands-On APIX 2018 - Trilha Básica
 
REST Web Services com Java
REST Web Services com JavaREST Web Services com Java
REST Web Services com Java
 
Python Eve - APIs RESTful Profissionais em poucas linhas
Python Eve - APIs RESTful Profissionais em poucas linhasPython Eve - APIs RESTful Profissionais em poucas linhas
Python Eve - APIs RESTful Profissionais em poucas linhas
 
Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011
Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011
Pentaho: Inteligência de Negócios utilizando software livre @Campus Party 2011
 
Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...
Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...
Pentaho: Inteligência de Negócios utilizando Software Livre @ Telefonica Camp...
 
Pentaho inteligência de negócios utilizando software livre campus party 2011
Pentaho  inteligência de negócios utilizando software livre   campus party 2011Pentaho  inteligência de negócios utilizando software livre   campus party 2011
Pentaho inteligência de negócios utilizando software livre campus party 2011
 
Zabbix conference 2018v2
Zabbix conference 2018v2Zabbix conference 2018v2
Zabbix conference 2018v2
 
APIs: o que são? onde vivem? do que se alimentam? [PyNE2016]
APIs: o que são? onde vivem? do que se alimentam? [PyNE2016]APIs: o que são? onde vivem? do que se alimentam? [PyNE2016]
APIs: o que são? onde vivem? do que se alimentam? [PyNE2016]
 
Oficina Técnica da INDA em Belém no Consegi
Oficina Técnica da INDA em Belém no ConsegiOficina Técnica da INDA em Belém no Consegi
Oficina Técnica da INDA em Belém no Consegi
 
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto AlegreInteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
 
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto AlegreInteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
Inteligência de Negócios (BI) utilizando Software Livre @ FISL 12 - Porto Alegre
 
Portal Padrão - passado . presente . futuro, #WPD 2014
Portal Padrão - passado . presente . futuro, #WPD 2014Portal Padrão - passado . presente . futuro, #WPD 2014
Portal Padrão - passado . presente . futuro, #WPD 2014
 
HTTP: A Base do Desenvolvimento Web - FISL 12
HTTP: A Base do Desenvolvimento Web - FISL 12HTTP: A Base do Desenvolvimento Web - FISL 12
HTTP: A Base do Desenvolvimento Web - FISL 12
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Quebrando o monolito com microserviços - TDC 2017
Quebrando o monolito com microserviços - TDC 2017Quebrando o monolito com microserviços - TDC 2017
Quebrando o monolito com microserviços - TDC 2017
 
O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]O que é esse tal de rest? [PyBR2016]
O que é esse tal de rest? [PyBR2016]
 
Python e Django na Globo.com
Python e Django na Globo.comPython e Django na Globo.com
Python e Django na Globo.com
 
Construindo um sistema distribuido usando rest
Construindo um sistema distribuido usando restConstruindo um sistema distribuido usando rest
Construindo um sistema distribuido usando rest
 

Por que APIs ajudam governos a compartilhar dados

  • 1. API porque todo Governo deveria ter uma? pedrohosilva.wordpress.com.br @Github @outlook / pedro-hos
  • 4. API ● Dados ou funções de negócio expostos na internet; ● Acelerar Parcerias; ● Simplificar Integração -> Mobile X Desktop X Web etc; ● Internet das coisas -> RaspberryPi ● Rest JSON ● Segurança ● Padrão de Acesso ● Fácil Hello Word ● Documentação bem detalhada
  • 5. Cases Governo, Quanto tem: dados.gov.br ● Desnormalizado; ● Não é API; ● Documentação relativamente Fraca, quando tem ● Dados são difíceis de encontrar
  • 7. ● REST Estilo arquitetural criado por Roy Fielding ● RESTful Design que respeita os conceitos Rest
  • 9. E o Governo? Seria maravilhoso se os dados estivessem expostos de uma maneira limpa com uma documentação acessível e clara! Poderíamos ajudar de muitas formas!
  • 10. Alguns Padrões ❏ URIs ❏ Resources ❏ Operações ❏ Media Types ❏ Status Code ❏ . . .
  • 11. URI http:// call4papers-jugvale.rhcloud.com /rest /evento http://call4papers-jugvale.rhcloud.com/rest/evento/{id} http://call4papers-jugvale.rhcloud.com/rest/evento/{id}/papers http://call4papers-jugvale.rhcloud.com/rest/v1/evento/{id}
  • 13. Recursos ( . . . ) /evento/
  • 14. Recursos ( . . . ) /evento/{id}
  • 15. Recursos ( . . . ) /evento/{id}/papers
  • 16. Principais Operações Mais ou menos isso . . ● POST CREATE ● GET READ ● PUT UPDATE ● DELETE DELETE
  • 17. Media Types ● XML: application/xml ● JSON: application/json ● TEXT: application/text ● Binay: image/*, image/jpg, etc. . .
  • 18. Status HTTP ● 1XX - Informacionais ● 2xx - Sucesso ○ 200 - OK ○ 201 - Criado ● 3xx - Redirecionamento ○ 301 - Moved Permanently (Location no Header) ○ 307 - Movido Temporariamente
  • 19. Status HTTP ● 4xx - Erro causados pelo cliente ○ 401 - Não Autorizado ○ 403 - Forbidden ○ 404 - Not Found ● 5xx - Erro originado no server ○ 500 - Internal Server Error ○ 503 - Service Unavaible