Technologijų profilis
Mūsų techninis pagrindas – apžvalga
Technologijas renkamės ne pagal madą, o pagal eksploatavimo realybę, tarnavimo laiką, integracijos poreikį ir komandos kompetenciją. Lemiamas yra ne skambus terminas, o tai, ar sistema vėliau išliks tvarkingai eksploatuojama, plečiama ir perimama.
Stipru verslo logikai ir daugiaplatformiams klientams
Delphi stiprus ten, kur išaugusi verslo logika, su duomenų baze glaudžiai susieti procesai, ataskaitos ir stabilūs Windows, macOS ir Linux klientai turi būti ilgalaikiai 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 monolitinio palikimo
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 aparatūra ir diegimai vėliau netaptų atskiru specialiu projektu.
Peržiūrėti ARM64
Kada kuri kryptis yra prasminga
Delphi prasminga, kai
- esama dalykinė logika turi būti tęsiama,
- sudėtingi darbastalio procesai turi išlikti stabilūs,
- Windows-, macOS- ir Linux klientai turi atsirasti bendru dalykiniu pagrindu.
C# prasminga, kai
- kuriami REST serveriai ir paslaugos,
- pagrindinis dėmesys skiriamas API ir išorinėms integracijoms,
- reikalingos modernios paslaugų architektūros.
Hibridas prasmingas, kai
- esamos programos ir nauji portalai turi bendradarbiauti,
- darbastalis, paslaugos ir žiniatinklis naudoja tą pačią duomenų bazę,
- modernizacija turi vykti etapais ir kaip Layer-3 struktūra.
Delphi modernizavimas praktikoje
Kai sena Delphi programa dalykiniu požiūriu vis dar vertinga, modernizuojame ne aklai. Pirmiausia analizuojame, kaip sistema iš tiesų 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 kasdienėje veikloje išlieka tvarus.
Daugelyje ilgainiui išaugusių sistemų tikroji vertė slypi ne sąsajoje, o metų metus kauptoje dalykinėje logikoje, specialiose taisyklėse, išimtyse ir patirtinėse žiniose. Tokios substancijos lengvabūdiškai neišmeti. Aiškiai atskiriame atsakomybes, pertvarkome duomenų bazę, pakeičiame senus prieigos būdus, sukuriame naujas REST sąsajas ir prireikus papildome klientus, skirtus Windows, macOS ir Linux, remdamiesi ta pačia dalykine baze. Taip neatsiranda staigus lūžis, o susiformuoja nuosekli evoliucija su aiškiu techniniu kontūru.
Dažnai tai taip pat reiškia istoriškai išaugusius monolitus vėl sugrąžinti į formą, kuri būtų prižiūrima, testuojama ir plečiama. Stabilizuojama prieiga prie duomenų, dalykinė logika atskiriama nuo sąsajos kodo, sąsajos tampa planuojamos, o būsimos plėtros nebereikia išsikovoti prieš esamą pagrindą. Tikslas nėra kosmetinis modernizavimas, o sistema, kuri vėl suteikia įmonei erdvės naujiems reikalavimams.
Paslaugos ir serveriai kaip tos pačios architektūros dalis
Daugeliui įmonių sistemų šiandien reikia ne tik kliento, bet ir foninių tarnybų, Windows arba Linux paslaugų ir REST serverių. Būtent todėl šias dalis planuojame ne kaip vėliau prikabinamą priedą, o kaip tos pačios architektūros dalį. Paslauga, kuri tik vėliau kažkaip atsiranda, beveik visada tampa išimtiniu atveju.
Jei duomenys turi būti apdorojami paskirstytai, teikiamos sąsajos, vykdomi eksportai, stebimi importai arba užduotys foniniu režimu atliekamos pagal grafiką, 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 dalykinės logikos konsistencija? Į šiuos klausimus atsakome anksti, kad iš atskirų komponentų susidarytų patikima bendra sistema.
Tai ypač svarbu daugiaplatformiuose projektuose. Darbalaukio klientas, veikiantis Windows, macOS arba Linux, dalykine prasme negali reikšti kažko kito nei jį lydintis REST serveris ar foninė tarnyba. Todėl duomenų modelį, procesus, teises, integracijas ir eksploatavimą visada mąstome kaip visumą. Taip atsiranda architektūra, kurioje klientai, paslaugos ir serveriai kalba ta pačia kalba.
Mūsų principas
Technologija mums nėra tikėjimo sistema. Lemiamas dalykas yra tai, kad architektūra, komandos pajėgumas, eksploatavimas ir būsima plėtra 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 sukaupta dalykinė logika, našūs klientai ir daugiaplatformiškumas išnaudoja savo stipriąsias puses. Kiti reikalavimai geriau tinka C#, paslaugoms, portalui arba abiejų deriniui. Gera architektūra neatsiranda iš mados, o iš aiškumo: kuri sistemos dalis už ką atsakinga, kokios trukmės gyvavimo tikėtis, koks komandos dydis, kiek kritiška eksploatacija ir kokios plėtros per artimiausius metus realistiškai ateis?
Būtent čia mums prasideda profesionali programinės įrangos kūrimo praktika. Norime ne tik pristatyti tai, kas veikia šiandien, bet sukurti techninį pagrindą, kuris ir vėliau būtų suprantamas, perimamas ir ekonomiškai prižiūrimas.
Dažniausi klausimai apie technologijas ir architektūrą
Technologiniai sprendimai turi derėti prie komandos, domeno ir eksploatacijos. Būtent todėl šių klausimų nesprendžiame abstrakčiai, o visada remiamės konkrečia sistema.
Kada Delphi yra prasminga alternatyva vietoje visiškai naujos platformos?
Visada tuomet, kai išaugusi domeno logika, našūs darbalaukio procesai ir kelių platformų tikslai turi būti ekonomiškai tęsiami, o ne neatsakingai pakeičiant turimą pagrindą.
Kada papildomai taikote C#?
Pirmiausia portalams, žiniatinklio backendams, REST paslaugoms, integracijoms ir į paslaugas orientuotos architektūros dalims, kurias galima gerai sujungti su esamomis darbalaukio sistemomis.
Kiek praktikoje svarbi Layer-3?
Labai. Tik aiškus UI, verslo logikos ir duomenų prieigos atskyrimas leidžia suvaldyti modernizavimą, testavimą, paslaugas ir būsimus platformų keitimus.
Ar naujas platformas, tokias kaip Windows 11 ARM64, numatote iš anksto?
Taip. Nauja tikslinė aparatinė įranga ir diegimo keliai įvertinami anksti, kad vėliau tai netaptų brangiais specialiais projektais.
Daugiau klausimų – skaitykite vienoje vietoje
Šie trumpi atsakymai lieka šiame puslapyje. Centrinėje DUK nukreipimo (landing) svetainėje temą papildomai pateikiame architektūros, modernizavimo, platformų ir eksploatacijos kontekste.