Technologijų profilis
Mūsų techninis pagrindas – apžvalga
Technologijas taikome ne pagal madą, o pagal eksploatavimo realybę, gyvavimo trukmę, integracijos poreikį ir komandos pajėgumą. Lemia ne skambus terminas, o tai, ar sistema vėliau išliks tvarkingai eksploatuojama, plečiama ir perimama.
Stipru verslo logikai ir daugiaplatformiams klientams
Delphi yra stiprus ten, kur ilgainiui susiformavusi verslo logika, su duomenų baze glaudžiai susiję procesai, ataskaitos ir stabilūs klientai, skirti Windows, macOS ir Linux, turi būti ilgalaikiai palaikomi ir toliau vystomi.
Peržiūrėti Delphi
C#
Stipru REST, paslaugoms ir portalams
C# naudojame, kai portalai, modernios backend paslaugos, REST API ir integracijos turi tvarkingai prisijungti prie esamų įmonės sistemų.
Peržiūrėti C#
Architektūra
Layer-3 vietoje monolitinės palikimo naštos
Sąmoningai atskiriame sąsają, verslo logiką ir duomenų prieigą, kad pakeitimai išliktų planuojami, o naujų paslaugų nereikėtų kurti prieš esamą pagrindą.
Peržiūrėti Layer-3
Platformos
Windows 11 ARM64 iš karto įtraukti į planavimą
Be klasikinių x64 tikslų, anksti atsižvelgiame į aktualias platformas, tokias kaip Windows 11 ARM64, kad nauja aparatinė įranga ir diegimai vėliau netaptų atskiru specialiu projektu.
Peržiūrėti ARM64
Kada kuri kryptis yra prasminga
Delphi yra prasminga, kai
- esama dalykinė logika turi būti tęsiama,
- sudėtingi darbalaukio procesai turi išlikti stabilūs,
- Windows-, macOS- ir Linux klientai turi būti kuriami bendra dalykine baze.
C# yra prasminga, kai
- kuriami REST serveriai ir paslaugos,
- pagrindinis dėmesys skiriamas API ir išorinėms integracijoms,
- reikalingos modernios paslaugų architektūros.
Hibridas yra prasmingas, kai
- esamos programos ir nauji portalai turi veikti kartu,
- darbalaukis, paslaugos ir žiniatinklis naudoja tą pačią duomenų bazę,
- modernizavimas turi vykti etapais ir kaip Layer-3 struktūra.
Delphi modernizavimas praktikoje
Jei sena Delphi programa dalykine prasme vis dar vertinga, jos nemodernizuojame aklai. Pirmiausia analizuojame, kaip sistema iš tikrųjų veikia, kokius procesus ji palaiko, kur nutrūksta duomenų srautai ir kokios palikimo naštos lėtina eksploatavimą. Iš to susiformuoja modernizavimo kelias, kuris ne tik popieriuje atrodo tvarkingas, bet ir kasdienybėje išlieka tvarus.
Daugelyje per laiką išaugusių taikomųjų sistemų tikroji vertė slypi ne vartotojo sąsajoje, o metų metus kauptoje dalykinėje logikoje, specialiose taisyklėse, išimtyse ir patirtimi paremtose žiniose. Tokios substancijos lengvabūdiškai neišmeti. Mes švariai atskiriame atsakomybes, pertvarkome duomenų bazę, pakeičiame senus prieigos kelius, sukuriame naujas REST sąsajas ir prireikus papildome klientus, skirtus Windows, macOS ir Linux, remdamiesi tuo pačiu dalykiniu pagrindu. Taip neįvyksta staigus lūžis – gaunama nuosekli evoliucija su aiškiu techniniu kontūru.
Dažnai tai taip pat reiškia istoriškai susiformavusius monolitus vėl grąžinti į formą, kuri tampa prižiūrima, testuojama ir plečiama. Stabilizuojama prieiga prie duomenų, dalykinė logika atskiriama nuo sąsajos kodo, sąsajos tampa planuojamos, o būsimi plėtiniai nebeturi būti iškovojami prieš esamą bazę. Tikslas – ne kosmetinis modernizavimas, o sistema, kuri vėl suteikia įmonei erdvės naujiems reikalavimams.
Servisai ir serveriai kaip tos pačios architektūros dalis
Daugeliui įmonių sistemų šiandien reikia ne tik kliento, bet ir foninių tarnybų, Windows arba Linux servisų ir REST serverių. Būtent todėl šių dalių neplanuojame kaip vėliau prijungiamo priedo, o laikome tos pačios architektūros dalimi. Servisas, kuris tik vėliau kažkaip „prisideda“, beveik visada tampa išimtiniu atveju.
Jei duomenis reikia apdoroti paskirstytai, teikti sąsajas, vykdyti eksportus, stebėti importus ar laiko grafiku fone vykdyti užduotis, techninė atsakomybė turi būti aiški nuo pat pradžių. Kurios dalys veikia kliente, kurios – tarnyboje, kurios – serveryje, kaip klaidos tampa matomos, kaip būsenų pokyčiai tampa atsekami, kaip išlaikoma nuosekli dalykinė logika? Į šiuos klausimus atsakome anksti, kad iš atskirų komponentų susidarytų patikima visuma.
Tai ypač svarbu daugiaplatformiuose projektuose. Darbalaukio klientas, veikiantis Windows, macOS arba Linux, dalykine prasme neturi reikšti ko nors kito nei lydintis REST serveris ar foninė tarnyba. Todėl duomenų modelį, procesus, teises, integracijas ir eksploatavimą visada mąstome kartu. Taip gimsta architektūra, kurioje klientai, servisai ir serveriai kalba ta pačia kalba.
Mūsų principas
Technologija mums nėra tikėjimo sistema. Lemiamas dalykas – kad architektūra, komandos darbas, eksploatavimas ir būsimi plėtiniai tiktų įmonei. Laimi ne garsiausia platforma, o ta, su kuria riziką, prižiūrimumą ir augimą galima valdyti prasmingai.
Kai kurias užduotis sąmoningai sprendžiame su Delphi, nes ten išaugusi dalykinė logika, našūs klientai ir daugiaplatformiškumas atskleidžia savo stipriąsias puses. Kiti reikalavimai geriau dera su C#, su servisais, su portalu arba su abiejų deriniu. Gera architektūra neatsiranda iš mados – ji kyla iš aiškumo: kuri sistemos dalis už ką atsakinga, kokios gyvavimo trukmės tikėtis, kokio dydžio komanda, kiek kritinis eksploatavimas ir kokie plėtiniai realistiškai atsiras per artimiausius metus?
Būtent čia mums prasideda profesionali programinės įrangos kūrimo praktika. Norime pateikti ne tik tai, kas veikia šiandien, bet sukurti techninį pagrindą, kuris ir vėliau bus suprantamas, perimamas ir ekonomiškai prižiūrimas.
Dažniausi klausimai apie technologiją ir architektūrą
Technologiniai sprendimai turi tikti komandai, dalykinei sričiai ir eksploatavimui. Būtent todėl šiuos klausimus aiškinamės ne abstrakčiai, o visada pagal konkrečią sistemą.
Kada Delphi yra tikslinga, palyginti su visiškai nauja platforma?
Visada tuomet, kai išaugusi dalykinė logika, našūs darbalaukio procesai ir daugiaplatformiai tikslai turi būti ekonomiškai tęsiami, o ne neapgalvotai pakeičiant esamą esmę.
Kada papildomai naudojate C#?
Pirmiausia portalams, žiniatinklio „backendams“, REST paslaugoms, integracijoms ir į paslaugas orientuotos architektūros dalims, kurias galima gerai suderinti su esamomis darbalaukio sistemomis.
Kiek svarbi Layer-3 praktikoje?
Labai. Tik aiškus UI, verslo logikos ir duomenų prieigos atskyrimas leidžia suvaldomai vykdyti modernizavimą, testavimą, paslaugas ir būsimus platformos keitimus.
Ar anksti įtraukiate į planavimą naujas platformas, tokias kaip Windows 11 ARM64?
Taip. Nauja tikslinė aparatinė įranga ir diegimo keliai tikrinami anksti, kad vėliau iš to netaptų brangūs specialieji projektai.
Daugiau klausimų – skaitykite vienoje vietoje
Šie trumpi atsakymai lieka čia, šiame puslapyje. Centralizuotame DUK nukreipiamajame puslapyje temą papildomai įrėminame architektūros, modernizavimo, platformų ir eksploatavimo kontekste.