Slides in Portuguese.
A short presentation about "API development with PHP" used in a short course during the IV Semana de Tecnologia de Informação in FATEC São José do Rio Preto - SP. 20/10/216.
-------------------------------------------------------------------------------
Slides usadas na apresentação de um mini-curso sobre a Criação de APIs em PHP realizado na FATEC de São José do Rio Preto-SP como parte da IV Semana de Tecnologia de Informação. 20/10/2016.
3. Agenda
1. O que é uma API afinal?
2. API = Web Service?
3. Protocolo SOAP
4. Arquitetura REST
5. SMTC: Criando Clientes
6. A arquitetura de uma API (MVC?)
7. SMTC: Criando um Servidor
8. Testando APIs
9. Tendências: GraphQL
10. Conclusões e Dicas
11. Bibliografia e Leitura Complementar
4. 1. O que é uma API afinal? (1)
Application
Programming
Interface
An application programming interface
(API) is a set of subroutine definitions,
protocols, and tools for building software
and applications. A good API makes it
easier to develop a program by providing
all the building blocks, which are then put
together by the programmer.
Fonte:
https://en.wikipedia.org/wiki/Application_
programming_interface
5. 1. O que é uma API afinal ? (2)
Pensando no contexto Web
A diferença básica está no formato da resposta
6. 1. O que é uma API afinal? (3)
Existem APIs para basicamente qualquer coisa:
● Serviços meteorológicos;
● Google Maps;
● Spotify;
● PayPal
● JSON-Porn
7. 2. API = Web Service?
APIs não estão limitadas ao contexto Web.
● Linux Kernel API
● Java API
● ...
O que são Web Services então?
Solução para comunicação entre aplicações Web
diferentes. Web service é um tipo de API
Foco desse mini-curso
8. 3. Protocolo SOAP (1)
● Simple Object Access Protocol
● Recomendação W3C;
● Padão baseado em XML;
● Stateless
● Funciona em conjunto com UDDI
e WSDL
11. 4. Padrão REST (1)
● Representation State Transfer;
● Não é um protocolo em si, mas funciona sobre
o protocolo HTTP;
○ GET, POST, PUT, DELETE
● É um padrão arquitetural;
● Orientado a recursos;
● Stateless;
{ REST }
19. 8. Testando APIs
Algumas métricas:
● Usabilidade: É fácil de configurar?
● Funcionalidade: Funciona conforme a documentação?
● Confiança: Funciona sempre?
● Segurança: As informações passadas estão seguras?
20. 9. Tendências: GraphQL
● Especificação de uma linguagem de buscas para APIs;
● Qual o problema com o REST?
● GraphQL será adotado?
● Implementação em PHP:
○ https://github.com/webonyx/graphql-php
21. 10. Conclusões e Dicas
● A necessidade de APIs será cada vez maior então é bom estar preparado;
● Analise suas necessidades para decidir entre SOAP ou REST (GraphQL?);
● Lembre-se de testar sua API;
● Lembre-se de Documentar sua API;
22. 11. Bibliografia e
Leitura
complementar
1. Sturgeon, Phil. “Desenvolvendo
APIs Sem Arrependimento”.
LeanPub, 2014.
2. Gazarov, Petr. “What is an API? In
English, please”. FreeCodeCamp,
2016.
3. Dall´Oglio, Pablo. “PHP -
Programando com Orientação a
Objetos”. Novatec, 2015.
23. Por hoje é só!
jameswpm@gmail.com
github.com/jameswpm
Linkedin: James Miranda