API profilis
Delphi REST-API ir REST-Server apžvalga
REST su Delphi ekonomiškai yra tvirtas tuomet, kai esama verslo logika nėra išmetama, o tvarkingai išnešama į išorę. Vietoje to, kad greta esamos sistemos būtų kuriamas paralelinis žiniatinklio pasaulis, mes kuriame REST serverius taip, kad taisyklės, duomenys ir procesų logika kontroliuojamai išliktų kartu.
REST galiniai taškai su dalykine atsakomybe
Gera API ne tik atvaizduoja duomenis, bet ir vaidmenis, patvirtinimus, validacijas bei būsenų perėjimus, kurie įmonėje iš tiesų yra reikšmingi.
Delphi-REST serveris kaip esamos sistemos dalis
Jei dalykinė logika jau yra išaugusi Delphi aplinkoje, švarus REST serveris gali produktyviai pernešti šią substanciją toliau, užuot ją išradinėjęs iš naujo.
Numatyti logging, monitoring ir klaidų kelius
API turi veikti ramiai, būti stebimos ir nuosekliai sąveikauti su klientais, portalais bei servisais. Būtent tai planuojame nuo pat pradžių.
Kada REST serveris su Delphi tampa ypač prasmingas
Kai tik keli klientai, žiniatinklio prieigos, mobilūs scenarijai, integracijos ar foninės tarnybos turi naudoti tą pačią dalykinę logiką, tiesioginė prieiga prie duomenų bazės dažnai tampa per ankšta. Tuomet REST serveris yra ta vieta, kur taisyklės, duomenys ir kontrolė prasmingai susijungia.
Ypač išaugusiose Delphi sistemose tai yra didelis privalumas. Vietoje to, kad nauji reikalavimai būtų prastumiami per UI artimą senąjį kodą, verslo logika gali būti žingsnis po žingsnio perkelta į serveriui tinkamą vidurį. Taip atsiranda REST galiniai taškai, kurie yra ne tik techniškai pasiekiami, bet ir dalykiškai patikimi. Būtent dėl to Delphi klientas, portalas ir integracijos išlieka nuoseklūs, užuot prižiūrėjus kelias tų pačių taisyklių versijas.
Tikroji nauda pasimato vėliau eksploatacijoje. Švariai sukarpytas REST serveris supaprastina teisių ir patvirtinimų logiką, stabilizuoja išorinius prijungimus, sumažina pražūtingų tiesioginių prieigų prie duomenų bazės naštą ir sukuria geresnį pagrindą Windows ir Linux servisams arba klientų portalams. Todėl REST vertiname ne kaip protokolo klausimą, o kaip architektūrinį žingsnį.
- Dalykinės logikos neužrakinti formose, o struktūruoti ją serveriui
- Kurti REST galinius taškus su vaidmenimis, validacijomis ir švariu duomenų modeliu
- Logging, monitoring ir klaidų tvarkymą numatyti arti produkcinės aplinkos
- Klientus, portalus ir servisus sujungti per tą patį dalykinį vidurį
Kas REST architektūrose su Delphi dažnai praleidžiama
Daugelis REST projektų žlunga ne dėl framework’o, o dėl to, kad dalykinė atsakomybė lieka senajame pagrinde, o API tampa tik plonu transporto sluoksniu. Tuomet prasideda dubliavimai, nenuoseklumai ir operaciniai aplinkkeliai.
Mes to išvengiame būtent taip: pirmiausia išsiaiškiname, kurios taisyklės turi būti centralios, kurie duomenų keliai jau yra kritiški ir kur vėliau turėtų jungtis portalai ar integracijos. Iš to susidaro REST pjūvis, kuris veikia tiek esamam pagrindui, tiek būsimiems plėtros keliams. Daugeliu atvejų tai tiesiogiai veda toliau į servisus ir portalus arba į bendrą Layer-3 architektūrą.
API vietoje paralelinio pasaulio
REST serveris tampa ekonomiškas tada, kai jis neša tą pačią dalykinę substanciją kaip esama sistema ir ne tik prideda naujus galinius taškus greta senų taisyklių.
Teisės ir būsenos išlieka centralizuotos
Rolės modelis, validacijos ir būsenų perėjimai neturi būti atskiruose klientuose, o bendroje dalykinėje šerdyje.
Eksploatavimas tampa planuojamas
Kai logai, techniniai klaidų keliai ir foniniai procesai apgalvojami anksti, iš API neatsiranda vėlesnių palaikymo spąstų.
REST su Delphi gali būti labai stipru
Su sąlyga, kad serveris mąstomas kaip tos pačios programos dalykinis plėtinys, o ne kaip laisvas žiniatinklio sluoksnis greta esamos sistemos.
REST serveris kaip tiltas į kitą plėtros etapą
Daugelis įmonių nenori visiško pakeitimo, o kelio, kuris leidžia portalą, integraciją ir modernius prieigos būdus, nenuvertinant esamos substancijos. Būtent čia švari REST architektūra parodo savo stiprybę.
Jei norite pamatyti, kaip jūsų Delphi taikomoji programa gali kontroliuojamai atsiverti API, servisams ir portalams, čia dažnai yra prasmingiausias startas. Iš ten greitai tampa matoma, ar kitas žingsnis veda į servisus, daugiaplatformiškumą ar duomenų prieigą.
Pirmiausia dalykiškai „iškirpti“ API
Kai rolės, validacijos ir duomenų modelis aiškiai yra vedantys, REST netampa paraleliniu projektu, o tvirtu jūsų programos išplėtimu.
Kaip įmonės atpažįsta, kad REST su Delphi dalykiškai gali būti labai prasminga
Jei vertinga verslo logika jau gyvena esamoje Delphi sistemoje, švariai „iškirptas“ REST serveris dažnai yra ekonomiškesnis nei dalykiškai dvigubas naujas perįgyvendinimas.
Esamas taisykles galima perkelti į API
Vertinga logika neprivalo būti prarasta, jei ji švariai atskiriama nuo UI artimo kodo ir sukerpama taip, kad galėtų veikti serveryje.
Klientas ir API išlieka toje pačioje dalykinėje linijoje
Būtent tai užkerta kelią vėlesniems prieštaravimams tarp darbalaukio, portalo ir integracijos kelių.
Logavimas, teisės ir klaidų keliai tampa labiau centralizuoti
Švari API sukuria daugiau atsekamumo nei tiesioginė duomenų bazės prieiga iš daugelio kampų.
Ką turėtų pateikti pirmasis REST serverio pjūvis Delphi aplinkai
Sėkmę lemia tai, kuri logika tampa centrine ir kaip prasmingai galima „iškirpti“ teises, duomenų modelį ir eksploatavimą.
- vaizdą, kurios taisyklės turėtų būti padarytos tinkamos API ir kas gali likti lokaliai
- autentifikavimo, logavimo, klaidų kelių ir diegimo įvertinimą
- starto kelią, kuris neleis darbalaukiui, API ir vėlesniems portalams dalykiškai išsiskirti
REST su Delphi planuoti nuo dalykinės logikos
Jei reikia API, techninė kryptis turėtų būti išvedama iš branduolinės sistemos, o ne atsirasti kaip lygiagreti realybė šalia.
DUK apie Delphi REST-API ir REST-Server
REST su Delphi tampa stiprus, kai API nestovi atsietai šalia esamos sistemos, o tvarkingai perima teises, verslo logiką, duomenų modelį ir eksploatavimą.
Ar su Delphi galima kurti produkcines REST-API?
Taip. Ypač kai ta pati dalykinė logika jau gyvena Delphi esamoje sistemoje, tvarkingai suprojektuotas REST-Server dažnai yra ekonomiškesnis nei visiškai nauja lygiagreti sistema.
Kada verta rinktis REST-Server, palyginti su tiesiogine prieiga prie duomenų bazės?
Kai tik keli klientai, portalai, paslaugos ar integracijos turi kontroliuojamai naudoti tas pačias taisykles ir tiesioginė SQL prieiga dalykine prasme tampa per rizikinga.
Kaip užtikrinate Delphi-Client ir REST nuoseklumą?
Taikydami architektūrą, kurioje verslo taisyklės nelieka paslėptos formose, o tampa bendrai panaudojamos klientui, API ir foniniams procesams.
Skaityti daugiau klausimų vienoje vietoje
Šie trumpi atsakymai lieka šiame puslapyje. Centriniame DUK nukreipiamajame puslapyje temą papildomai susiejame su architektūra, modernizavimu, platformomis ir eksploatavimu.