REST API: Karakteristikat

Karakteristikat e REST API

Stateless

REST API mund të jetë stateless, që e ka kuptimin se nuk e ruan gjendjen. P.sh. për çdo kërkesë (request) të dërguar, serveri kthen përgjigje (response) dhe çdo kërkesë vijuese që i shkon serverit konsiderohet si kërkesë që nuk ka kurrfarë lidhje me kërkesën paraprake. Pra, ka mundur të vijë nga përdoruesi i njëjtë apo një përdorues tjetër.

Cache

Në një aplikacion që pranon shumë kërkesa dhe kthen shumë përgjigje, mund të vërehet degradim i performansave, pra ngadalësim të punës. Kjo ndodh për shkak se prej momentit të dërgimit të një kërkese në serveri te aplikacioni ynë, aplikacioni duhet të kryejë një sërë operacionesh për të ardhur deri te kompletimi i përgjigjes që do ta kthejë, ku këtu përfshihen thirrje të shumëfishta në databazë, qasjen në fajlla, veprime të ndryshme të kalkulimit të vlerave për të përfunduar në gjenerimin e HTML apo JSON fajllit i cili do të jetë “produkt final” dhe që do të kthehet si përgjigje. I tërë ky proces mund të marrë shumë kohë për t’u kompletuar, ndërkohë që rezultatet e kthyera jo gjithmonë do të jenë të ndryshme nga ato që janë gjeneruar më parë.

Prandaj, një zgjidhje shumë e mirë që mundëson ngritjen e performancës së aplikacionit është nëpërmes përdorimit të cache, ku rezultatet e gjeneruara më parë ruhen në formën e vet finale, të gatshme për t’iu kthyer përdoruesit, pa pasur nevojë të kalohet nëpër tërë procesin e gjenerimit. Për shembull, kur kemi të bëjmë me të dhëna të cilat nuk ndryshojnë brenda një periudhe të caktuar, është shumë më e përshtatshme që të ruhen në formën finale për t’u servuar të gatshme, dhe jo që në çdo kërkesë të kalohet nëpër çdo hap të ekzekutimit të programit,

Kjo është e realizueshme për faktin se përgjigja e serverit gjithmonë është fajll, qoftë ai fajll në formatin tekstual, HTML, JSON, fajll binar, etj. dhe fajllat e gjeneruar mund të ruhen thjesht në formën statike për një periudhë të caktuar.

Sistem shumështresor

Një REST API mund të servohet nga shumë server të ndryshëm, ku serverët mund ta ndajnë ngarkesën ndërmjet vete, apo që një server të merret me pranimin e kërkesave, tjetri me gjenerimin e rezultateve, e një tjetër me kthimin e përgjigjesh drejt klientit i cili e ka dërguar kërkesën. Në këtë mënyrë mund ta zhvillojmë një Web servis i cili mund të veprojë i decentralizuar në kuptimin që funksionalitete të ndryshme mund të ofrohen nga servise të veçanta, të cilat ekzekutohen veçmas por megjithatë e formojnë një tërësi logjike dhe funksionale.

Kjo do të thotë që një REST API mund të komunikojë me një tjetër REST API, qoftë në sistemin e njëjtë, qoftë duke e përdorur një REST API ekstern, por që në instancë të fundit – të gjitha bashkë e formojnë një sistem.

Platformë agnostike

REST API ofron një ndërfaqe uniforme për komunikim, ku aspak nuk është e rëndësishme në çfarë platforme apo në cilën gjuhë programore është zhvilluar REST aplikacioni. Mund ta kemi një mikroservis të ndërtuar në Java i cili lehtësisht shkëmben të dhëna me një mikroservis tjetër të ndërtuar në Golang, Python, PHP apo ndonjë gjuhë tjetër.

Në vend se të zhvillohet si një Web aplikacion monolitik, një Web servis pra mund të zbërthehet në tërësi më të vogla të cilat mund të kenë dedikime të ndryshme por edhe të zhvillohen nga ekipe të ndryshme duke përdorur teknologji të ndryshme të cilat janë më të përshtatshme për punën konkrete, e prapë ai Web servis të veprojë si një tërësi kompakte përballë klientit të cilit në radhë të parë i interesojnë të dhënat dhe jo detajet e implementimit të aplikacionit.

All Rights Reserved Theme by 404 THEME.