A-Complete-Guide-to-API-Development-

Ano ang API at Mga bagay na dapat isaalang-alang kapag bumubuo ng isang API?

Ang API (Application Programming Interface) ay isang hanay ng mga tagubilin, pamantayan, o kinakailangan na nagbibigay-daan sa isang software o app na gumamit ng mga feature o serbisyo ng isa pang app, platform, o device para sa mas mahuhusay na serbisyo. Sa madaling salita, ito ay isang bagay na nagbibigay-daan sa mga app na makipag-ugnayan sa isa't isa.

 

Ang API ay ang batayan ng lahat ng app na nakikitungo sa data o nagbibigay-daan sa komunikasyon sa pagitan ng dalawang produkto o serbisyo. Binibigyan nito ng kapangyarihan ang isang Mobile application o platform na ibahagi ang data nito sa iba pang mga app/platform at mapagaan ang karanasan ng user nang hindi sinasangkot ang mga developer. 

Bukod pa rito, inaalis ng mga API ang pangangailangang lumikha ng maihahambing na platform o software mula sa simula. Maaari mong gamitin ang kasalukuyan o isa pang platform o app. Dahil sa mga kadahilanang ito, ang proseso ng pagbuo ng API ay isang pagtuon para sa parehong mga developer ng app at executive ng kumpanya.

 

Paggawa ng API

Ipagpalagay na nagbukas ka ng ilang XYZ app o website para mag-book ng flight. Pinunan mo ang form, kasama ang mga oras ng pag-alis at pagdating, lungsod, impormasyon ng flight, at iba pang kinakailangang impormasyon, pagkatapos ay isinumite ito. Sa loob ng isang fraction ng mga segundo, isang listahan ng mga flight ang lalabas sa screen kasama ang presyo, mga timing, availability ng upuan, at iba pang mga detalye. Paano nga ba ito nangyayari?

 

Upang magbigay ng ganoong mahigpit na data, nagpadala ang platform ng kahilingan sa website ng airline na ma-access ang kanilang database at makakuha ng nauugnay na data sa pamamagitan ng interface ng application program. Tumugon ang website gamit ang data na inihatid ng API Integration sa platform at ipinakita ito ng platform sa screen.

 

Dito, gumaganap ang app/platform ng flight booking at website ng airline bilang mga endpoint habang ang API ang intermediate na nag-streamline sa proseso ng pagbabahagi ng data. Kapag pinag-uusapan ang pakikipag-usap sa mga endpoint, gumagana ang API sa dalawang paraan, ibig sabihin, REST(Representational State Transfer) at SOAP(Simple Object Access Protocol).

 

Kahit na ang parehong mga pamamaraan ay nagdudulot ng mabisang resulta, a kumpanya ng pag-unlad ng mobile app mas pinipili ang REST kaysa SOAP dahil ang mga SOAP API ay mabigat at nakadepende sa platform.

 

Upang maunawaan ang lifecycle ng API at kung paano gumagana ang API nang detalyado, makipag-ugnayan sa aming mga eksperto ngayon!

 

Mga Tool para sa Pagbuo ng API

Bagama't napakaraming mga tool at teknolohiya sa disenyo ng API na nilagyan ng proseso ng paglikha ng isang API, ang mga sikat na teknolohiya at tool sa pagbuo ng API para sa pagbuo ng mga API para sa mga developer ay:

 

  • Apigee

Ito ang API management provider ng Google na tumutulong sa mga developer at entrepreneur na magtagumpay sa digital transformation sa pamamagitan ng muling pagtatatag ng API Integration approach.

 

  • APIMatic at API Transformer

Ito ang iba pang sikat na tool para sa pagbuo ng API. Nag-aalok sila ng mga sopistikadong tool sa awtomatikong pagbuo upang bumuo ng mga nangungunang SDK at mga snippet ng code mula sa mga format na partikular sa API at ibahin ang mga ito sa iba pang mga pormasyon ng detalye, gaya ng RAML, API Blueprint, atbp.

 

  • API Science 

Pangunahing ginagamit ang tool na ito para sa pagsusuri sa pagganap ng parehong mga panloob na API at panlabas na mga API.

 

  • Arkitekturang Walang Server ng API 

Ang mga produktong ito ay tumutulong sa mga developer ng mobile app sa pagdidisenyo, pagbuo, pag-publish, at pagho-host ng mga API sa tulong ng cloud-based na imprastraktura ng server.

 

  • API-Platform

Ito ay isa sa mga open-source na PHP frameworks na angkop para sa web API development.

 

  • May Akda0

Ito ay isang solusyon sa pamamahala ng pagkakakilanlan na ginagamit upang patotohanan at pahintulutan ang mga API.

 

  • ClearBlade

Ito ay isang provider ng pamamahala ng API para sa pagtanggap ng teknolohiya ng IoT sa iyong proseso.

 

  • GitHub

Ang open-source na git repository hosting service na ito ay nagbibigay-daan sa mga developer na pamahalaan ang mga code file, pull request, version control, at komento na ipinamamahagi sa buong grupo. Hinahayaan din silang i-save ang kanilang code sa mga pribadong repositoryo.

 

  • Kartero

Ito ay karaniwang isang API toolchain na nagbibigay kapangyarihan sa mga developer na patakbuhin, subukan, idokumento, at suriin ang pagganap ng kanilang API.

 

  • pagmamayabang

Ito ay isang open-source na framework na ginagamit para sa API development software. Ang mga higanteng teknolohiya tulad ng GettyImages at Microsoft ay gumagamit ng Swagger. Bagama't ang mundo ay puno ng mga API, mayroon pa ring malaking agwat sa paggamit ng mga perks ng teknolohiya ng API. Bagama't ang ilang mga API ay ginagawang madali ang pagsasama sa app, ginagawa ito ng iba sa isang bangungot.

 

Mga Dapat Magkaroon ng Mga Tampok ng Mahusay na API

  • Mga timestamp ng pagbabago o Paghahanap ayon sa pamantayan

Ang pangunahing feature ng API na dapat mayroon ang isang app ay ang mga timestamp ng Pagbabago/Paghahanap ayon sa pamantayan. Dapat hayaan ng API ang mga user na maghanap ng data batay sa iba't ibang pamantayan, tulad ng isang petsa. Ito ay dahil ang mga pagbabago (i-update, i-edit, at tanggalin) ang isinasaalang-alang namin pagkatapos lamang ng unang paunang pag-synchronize ng data.

 

  • Paging 

Maraming beses, nangyayari na hindi namin nais na makita ang kumpletong data na nagbago, ngunit isang sulyap lamang nito. Sa ganoong sitwasyon, ang API ay dapat na may kakayahang matukoy kung gaano karaming data ang ipapakita sa isang pagkakataon at sa anong dalas. Dapat din nitong ipaalam sa end-user ang tungkol sa no. ng mga pahina ng data na natitira.

 

  • paghihiwalay

Upang matiyak na natatanggap ng end-user ang lahat ng mga pahina ng data nang paisa-isa, ang API ay dapat magbigay ng kapangyarihan sa mga user na pag-uri-uriin ang data ayon sa oras ng pagbabago o ilang iba pang kundisyon.

 

  • JSON Support o REST

Bagama't hindi sapilitan, magandang isaalang-alang ang iyong API na RESTful (o pagbibigay ng suporta sa JSON(REST)) para sa epektibong pag-develop ng API. Ang REST API ay stateless, light-weighted, at hinahayaan kang subukang muli ang proseso ng pag-upload ng mobile app kung nabigo ito. Ito ay medyo matigas sa kaso ng SOAP. Bukod pa rito, ang syntax ng JSON ay kahawig ng karamihan sa mga programming language, na ginagawang madali para sa isang developer ng mobile app na i-parse ito sa anumang iba pang wika.

 

  • Awtorisasyon sa pamamagitan ng OAuth

Ito ay kinakailangan muli na ang iyong application program interface ay pinahihintulutan sa pamamagitan ng OAuth dahil ito ay mas mabilis kaysa sa iba pang mga pamamaraan na kailangan mo lamang mag-click sa isang pindutan at ito ay tapos na.

 

Sa madaling salita, ang oras ng pagpoproseso ay dapat na pinakamababa, mahusay ang oras ng pagtugon, at mataas ang antas ng seguridad. Napakahalaga na magsikap sa mga pinakamahusay na kasanayan sa pagbuo ng API para sa pag-secure ng iyong aplikasyon, pagkatapos ng lahat, ito ay tumatalakay sa isang tambak ng data.

 

Mga Terminolohiya ng API

 

  1. API Key – Kapag humiling ang isang API check sa pamamagitan ng isang parameter at maunawaan ang humihiling. At ipinasa ang awtorisadong code sa request key at sinasabing isang API KEY.
  2. Endpoint – Kapag ang API mula sa isang system ay nakikipag-ugnayan sa isa pang system, ang isang dulo ng channel ng komunikasyon ay kilala bilang isang endpoint.
  3. JSON – Ang mga object ng JSON o Javascript ay ginagamit upang maging isang format ng data na ginagamit para sa mga parameter ng kahilingan ng API at body ng tugon. 
  4. GET – Gamit ang pamamaraan ng HTTP ng API para sa pagkuha ng mga mapagkukunan
  5. POST – Ito ang pamamaraan ng HTTP ng RESTful API para sa pagbuo ng mga mapagkukunan. 
  6. OAuth – Ito ay isang karaniwang balangkas ng awtorisasyon na nagbibigay ng access mula sa panig ng user nang hindi nagbabahagi ng anumang mga kredensyal. 
  7. REST – Ang programming na nagpapahusay sa kahusayan ng komunikasyon sa pagitan ng dalawang device/systems. Ibinabahagi ng REST ang tanging data na kinakailangan hindi ang kumpletong data. Ang mga sistemang ipinapatupad sa arkitektura na ito ay sinasabing mga 'RESTful' na sistema, at ang pinakamaraming halimbawa ng mga RESTful system ay ang World Wide Web.
  8. SOAP – SOAP o Simple Object Access Protocol ay isang messaging protocol para sa pagbabahagi ng structured na impormasyon sa pagsasagawa ng mga serbisyo sa web sa mga computer network.
  9. Latency – Ito ay tinukoy bilang ang kabuuang oras na kinuha ng isang proseso ng pagbuo ng API mula sa kahilingan hanggang sa tugon.
  10. Paglilimita sa Rate – nangangahulugan ito ng paghihigpit sa bilang ng mga kahilingang maaaring maabot ng isang user sa isang API bawat oras.

 

Pinakamahuhusay na Kasanayan para sa Pagbuo ng Tamang API

  • Gumamit ng Throttling

Ang App Throttling ay isang magandang kasanayan na dapat isaalang-alang para sa pag-redirect ng overflow ng trapiko, mga backup na API, at pagprotekta nito mula sa mga pag-atake ng DoS (Denial of Service).

 

  • Isaalang-alang ang iyong API gateway bilang Enforcer

Habang nagse-set up ng mga panuntunan sa pag-throttling, paglalapat ng mga API key, o OAuth, dapat ituring ang API gateway bilang ang punto ng pagpapatupad. Dapat itong kunin bilang isang pulis na nagbibigay-daan lamang sa mga tamang user na makakuha ng access sa data. Dapat nitong bigyan ka ng kapangyarihan na i-encrypt ang mensahe o i-edit ang kumpidensyal na impormasyon, at sa gayon, pag-aralan at pamahalaan kung paano ginagamit ang iyong API.

 

  • Payagan ang overriding na pamamaraan ng HTTP

Dahil sinusuportahan lang ng ilang proxy ang mga pamamaraan ng GET at POST, kailangan mong hayaan ang iyong RESTful API na i-override ang pamamaraang HTTP. Para sa paggawa nito, gamitin ang custom na HTTP Header X-HTTP-Method-Override.

 

  • Suriin ang mga API at imprastraktura

Sa kasalukuyang panahon, posibleng makuha ang real-time na pagsusuri, ngunit paano kung ang API server ay pinaghihinalaang may mga tagas ng memorya, nag-drain ng CPU, o iba pang ganoong isyu? Upang isaalang-alang ang mga ganitong sitwasyon, hindi mo maaaring panatilihing nasa tungkulin ang isang developer. Gayunpaman, madali mo itong maisagawa sa pamamagitan ng paggamit ng maraming tool na available sa merkado, tulad ng AWS cloud watch.

 

  • Tiyakin ang seguridad

Dapat mong tiyakin na ang iyong teknolohiya ng API ay ligtas ngunit hindi sa halaga ng pagiging kabaitan ng gumagamit. Kung ang sinumang user ay gumugol ng higit sa 5 minuto sa pagpapatotoo, nangangahulugan ito na ang iyong API ay malayo sa pagiging user-friendly. Maaari kang gumamit ng token-based authentication para gawing secure ang iyong API.

 

  • dokumentasyon

Panghuli ngunit hindi bababa sa, kumikita ang gumawa ng malawak na dokumentasyon para sa isang API para sa mga mobile app na nagbibigay-daan sa iba pang mga developer ng mobile app na madaling maunawaan ang buong proseso at gamitin ang impormasyon para sa pag-aalok ng mas mahusay na karanasan ng user. Sa madaling salita, ang mahusay na dokumentasyon ng API sa proseso ng epektibong pagbuo ng API ay magpapababa sa oras ng pagpapatupad ng proyekto, gastos ng proyekto at magpapalakas sa kahusayan ng teknolohiya ng API.