Mes technologijas taikome ne pagal madą, o pagal veiklos realijas, tarnavimo trukmę, integracijos poreikį ir komandos gebėjimus. Svarbu ne šūkis, o ar sistema vėliau bus tvarkingai eksploatuojama, išplečiama ir perimama.
Tinka verslo logikai ir daugiaplatformiams klientams
Delphi yra pranašus ten, kur brandi verslo logika, su duomenų baze susiję procesai, ataskaitos ir stabilūs klientai skirti Windows, macOS ir Linux turi būti palaikomi ilgainiui.
Delphi peržiūrėti
C#
Tinka REST, paslaugoms ir portalams
C# naudojame, kai portalai, modernios backend paslaugos, REST-APIs ir integracijos turi sklandžiai prisijungti prie esamų įmonės sistemų.
C# peržiūrėti
Architektūra
Layer-3 vietoj monolitiško palikimo
Mes sąmoningai atskiriame vartotojo sąsają, verslo logiką ir duomenų prieigą, kad pakeitimai būtų planuojami ir naujos paslaugos nebūtų kuriamos prieš esamą sistemą.
Layer-3 peržiūrėti
Platformos
Windows 11 ARM64 iškart numatyti
Be klasikinių x64 taikinių, mes anksti įtraukiame tokias šiuolaikines platformas kaip Windows 11 ARM64, kad nauja įranga ir diegimai vėliau netaptų atskiru projektu.
Peržiūrėti ARM64
Kada kuri kryptis yra tinkama
Delphi yra prasminga, kai
- esama verslo logika turi tęstis,
- sudėtingi darbalaukio procesai turi išlikti stabili,
- Windows-, macOS- ir Linux-klientai turi būti sukurti bendru domeniniu pagrindu.
C# yra prasminga, kai
- kuriami REST serveriai ir paslaugos,
- API ir išorinės integracijos yra centre,
- reikalinga moderni paslaugų architektūra.
Hibridinis sprendimas yra prasmingas, kai
- esamos programos ir nauji portalai turi bendradarbiauti,
- darbalaukis, paslaugos ir web naudoja tą pačią duomenų bazę,
- modernizacija turi vykti palaipsniui ir kaip Layer-3 struktūra.
Delphi-modernizacija praktikoje
Jei sena Delphi programa vis dar turi funkcinę vertę, mes nemodernizuojame aklai. Pirmiausia analizuojame, kaip sistema iš tikrųjų veikia, kokius procesus ji palaiko, kur nutrūksta duomenų srautai ir kokios paveldėtos problemos sulėtina eksploatavimą. Iš to susidaro modernizacijos kelias, kuris ne tik gerai atrodo popieriuje, bet ir išlieka patikimas kasdieniame naudojime.
Daugelyje ilgai vystytų programų tikroji vertė slypi ne vartotojo sąsajoje, o daugelio metų verslo logikoje, specialiuose taisyklių rinkiniuose, išimtyse ir patirties žiniose. Šių žinių neleidžiama lengvai mesti lauk. Mes aiškiai atskiriame atsakomybes, pertvarkome duomenų bazę, pakeičiame senus prieigos kelius, sukuriame naujas REST-sąsajas ir prireikus papildome klientus Windows, macOS ir Linux remiantis ta pačia verslo logika. Taip nesusidaro staigus lūžis, o atkuriama nuosekli, suprantama vystymosi eiga su aiškiu techniniu apibrėžimu.
Dažnai tai taip pat reiškia istorinių monolitų pertvarkymą į formą, kurią galima prižiūrėti, testuoti ir išplėsti. Duomenų prieiga stabilizuojama, verslo logika atskiriama nuo vartotojo sąsajos kodo, sąsajos tampa planuojamos, o būsimoms plėtinėms nebereikia kovoti su esama sistemos baze. Tikslas nėra kosmetinis atnaujinimas, o sistema, kuri įmonei vėl suteikia erdvės naujiems reikalavimams.
Paslaugos ir serveriai kaip tos pačios architektūros dalis
Daugelis įmonių sistemų šiandien reikalauja ne tik kliento, bet ir fono paslaugų, Windows- arba Linux-servisų ir REST-serverių. Būtent todėl šių dalių neplanuojame kaip vėlesnio priestato, o kaip tos pačios architektūros dalį. Paslauga, kuri atsiranda tik vėliau, beveik visada tampa išimtinės situacijos priežastimi.
Kai duomenys turi būti paskirstytai apdorojami, teikiamos sąsajos, vykdomi eksportai, prižiūrimi importai arba užduotys laiku vykdomos fone, techninė atsakomybė turi būti aiškiai nustatyta nuo pat pradžių. Kuri dalis veikia kliente, kuri paslaugoje, kuri serveryje, kaip klaidos matomos, kaip atsekami būsenos pasikeitimai, kaip išlaikomas logikos nuoseklumas? Į šiuos klausimus atsakome anksti, kad atskirų blokų rinkinys taptų patikima visuma.
Tai ypač svarbu daugialypėse platformose. Darbalaukio klientas ant Windows, macOS arba Linux negali funkciniu požiūriu reikšti kažko kito nei lydintis REST-serveris ar fono paslauga. Todėl duomenų modelį, procesus, teises, integracijas ir eksploatavimą visuomet planuojame kartu. Taip susiformuoja architektūra, kurioje klientai, paslaugos ir serveriai kalba ta pačia kalba.
Mūsų principas
Technologija mums nėra tikėjimo sistema. Svarbiausia, kad architektūra, komandos gebėjimai, eksploatavimas ir būsimos plėtros atitiktų įmonės poreikius. 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 naudodami Delphi, nes ten ilgai kaupta verslo logika, aukšto našumo klientai ir daugiaplatformiškumas geriausiai atsiskleidžia. Kiti reikalavimai labiau tinka C#, paslaugoms, portalui arba abiejų deriniui. Gera architektūra nekuriama pagal madą, o pagal aiškumą: kokią atsakomybę turi kuris sistemos komponentas, kokia laukiamoji jo gyvavimo trukmė, koks komandos dydis, kiek kritiškas eksploatavimas ir kokie plėtiniai realistiškai pasirodys per artimiausius metus?
Būtent čia mums prasideda profesionalus programinės įrangos kūrimas. Nenorime vien tik pristatyti to, kas veikia šiandien; siekiame sukurti techninį pagrindą, kuris vėliau būtų vis dar suprantamas, perimamas ir ekonomiškai prižiūrimas.
Dažniausi klausimai apie technologiją ir architektūrą
Technologiniai sprendimai turi derėti prie komandos, funkcinės srities ir eksploatacijos. Būtent todėl šių klausimų neaptariame abstrakčiai, o visuomet žiūrime į konkretų sistemą.
Kada Delphi yra prasmingas, palyginti su visiška nauja platforma?
Visada, kai reikia ekonomiškai išlaikyti susiformavusią verslo logiką, našius darbalaukio procesus ir daugiasplatforminius tikslus, užuot lengvabūdiškai keičiant esminę sistemos dalį.
Kada papildomai taikote C#?
Visų pirma portaluose, web-backenduose, REST-servisuose, integracijose ir su paslaugomis orientuotose architektūros dalyse, kurios gerai integruojasi su esamomis darbalaukio sistemomis.
Kiek svarbus yra Layer-3 praktikoje?
Labai. Tik švarus UI, verslo logikos ir duomenų prieigos atskyrimas padaro modernizaciją, testavimą, paslaugų diegimą ir būsimus platformų perėjimus valdomais.
Ar naujas platformas, tokias kaip Windows 11 ARM64, svarstote jau anksti?
Taip. Nauja tikslinė aparatinė įranga ir diegimo keliai tikrinami anksti, kad vėliau tai netaptų brangiais specialiais projektais.
Peržiūrėti papildomus klausimus
Šie trumpi atsakymai lieka šiame puslapyje. Centrinėje DUK nukreipimo puslapyje temą papildomai susiejame su architektūra, modernizavimu, platformomis ir eksploatacija.