Profili i teknologjisë
Baza jonë teknike në përmbledhje
Ne nuk përdorim teknologji sipas modës, por sipas realitetit të operimit, jetëgjatësisë, nevojës për integrim dhe përshtatshmërisë me ekipin. Vendimtare nuk është fjala e bujshme, por nëse sistemi më pas mbetet i operueshëm pastër, i zgjerueshëm dhe i marrshëm në dorëzim.
I fortë për logjikë biznesi dhe klientë shumëplatformësh
Delphi është i fortë aty ku logjika e biznesit e zhvilluar ndër vite, proceset pranë bazës së të dhënave, raportet dhe klientët stabilë për Windows, macOS dhe Linux duhet të vazhdojnë afatgjatë.
Shiko Delphi
C#
I fortë për REST, shërbime dhe portale
C# e përdorim kur portalet, shërbimet moderne backend, API-t REST dhe integrimet duhet të lidhen pastër me sistemet ekzistuese të kompanisë.
Shiko C#
Arkitekturë
Layer-3 në vend të një monoliti të trashëguar
Ne ndajmë me vetëdije ndërfaqen, logjikën e biznesit dhe aksesin në të dhëna, që ndryshimet të mbeten të planifikueshme dhe shërbimet e reja të mos kenë nevojë të ndërtohen kundër bazës ekzistuese.
Shiko Layer-3
Platforma
Windows 11 ARM64 ta mendosh që në fillim
Përveç objektivave klasike x64, ne marrim parasysh herët platformat aktuale si Windows 11 ARM64, që hardueri i ri dhe deployimet të mos bëhen më vonë një projekt i veçantë.
Shiko ARM64
Kur cilin drejtim ka kuptim
Delphi ka kuptim, kur
- logjika ekzistuese e fushës duhet të vazhdojë të jetojë,
- proceset komplekse desktop duhet të mbeten të qëndrueshme,
- klientë për Windows, macOS dhe Linux duhet të krijohen mbi një bazë të përbashkët funksionale.
C# ka kuptim, kur
- ndërtohen serverë dhe shërbime REST,
- API-t dhe integrimet e jashtme janë në qendër,
- kërkohen arkitektura moderne shërbimesh.
Hibrid ka kuptim, kur
- aplikacionet ekzistuese dhe portalet e reja duhet të bashkëpunojnë,
- Desktop, shërbimet dhe web-i përdorin të njëjtën bazë të dhënash,
- modernizimi duhet të bëhet hap pas hapi dhe si strukturë Layer-3.
Modernizimi i Delphi në praktikë
Kur një aplikacion i vjetër Delphi është ende i vlefshëm nga ana funksionale, ne nuk modernizojmë verbërisht. Së pari analizojmë si punon realisht sistemi, cilat procese mbështet, ku prishen rrjedhat e të dhënave dhe cilat ngarkesa të trashëguara e ngadalësojnë operimin. Prej kësaj del një rrugë modernizimi që jo vetëm duket e pastër në letër, por mbetet e zbatueshme në përditshmëri.
Në shumë aplikacione të zhvilluara ndër vite, vlera e vërtetë nuk qëndron te sipërfaqja, por te vite të tëra logjike biznesi, rregulla të veçanta, përjashtime dhe dije të fituara nga përvoja. Këtë substancë nuk e hedhim poshtë pa menduar. Ne ndajmë përgjegjësitë në mënyrë të pastër, riorganizojmë bazën e të dhënave, zëvendësojmë rrugët e vjetra të aksesit, krijojmë ndërfaqe të reja REST dhe, kur është e nevojshme, plotësojmë klientë për Windows, macOS dhe Linux mbi të njëjtën bazë funksionale. Kështu nuk krijohet një shkëputje e fortë, por një evoluim i kuptueshëm me një profil teknik të qartë.
Shpesh kjo do të thotë gjithashtu që monolitët e rritur historikisht të kthehen sërish në një formë që bëhet e mirëmbajtshme, e testueshme dhe e zgjerueshme. Aksesi te të dhënat stabilizohet, logjika e biznesit shkëputet nga kodi i ndërfaqes, ndërfaqet bëhen të planifikueshme dhe zgjerimet e ardhshme nuk duhet më të imponohen me vështirësi ndaj bazës ekzistuese. Qëllimi nuk është modernizim kozmetik, por një sistem që i jep sërish kompanisë hapësirë për kërkesa të reja.
Shërbimet dhe serverët si pjesë e së njëjtës arkitekturë
Shumë sisteme ndërmarrjeje sot nuk kanë nevojë vetëm për një klient, por edhe për shërbime në sfond, shërbime Windows ose Linux dhe serverë REST. Pikërisht për këtë arsye, këto pjesë nuk i planifikojmë si një shtesë të mëvonshme, por si pjesë të së njëjtës arkitekturë. Një shërbim që thjesht i bashkëngjitet më vonë, pothuajse gjithmonë bëhet rast i veçantë.
Nëse të dhënat duhen përpunuar në mënyrë të shpërndarë, nëse duhen ofruar ndërfaqe, nëse duhen kryer eksporte, monitoruar importe ose ekzekutuar detyra të planifikuara në sfond, përgjegjësia teknike duhet të jetë e qartë që në fillim. Cilat pjesë ekzekutohen në klient, cilat në shërbim, cilat në server, si bëhen të dukshme gabimet, si bëhen të gjurmueshme ndryshimet e gjendjes, si mbetet konsistente logjika e biznesit? Këtyre pyetjeve u përgjigjemi herët, që nga blloqe të veçuara të krijohet një sistem i përgjithshëm i qëndrueshëm.
Kjo është vendimtare veçanërisht në projekte shumëplatformëshe. Një klient desktop në Windows, macOS ose Linux nuk duhet, nga ana funksionale, të nënkuptojë diçka tjetër nga një server shoqërues REST ose një shërbim në sfond. Prandaj ne mendojmë gjithmonë së bashku modelin e të dhënave, proceset, autorizimet, integrimet dhe operimin. Kështu krijohet një arkitekturë në të cilën klientët, shërbimet dhe serverët flasin të njëjtën gjuhë.
Parimi ynë
Teknologjia për ne nuk është një sistem besimi. Vendimtare është që arkitektura, aftësia për punë në ekip, operimi dhe zgjerimet e ardhshme t’i përshtaten kompanisë. Nuk fiton platforma më e zhurmshme, por ajo me të cilën rreziku, mirëmbajtshmëria dhe rritja mund të menaxhohen në mënyrë të arsyeshme.
Disa detyra i zgjidhim me vetëdije me Delphi, sepse aty logjika e biznesit e rritur ndër vite, klientët performantë dhe aftësia shumëplatformëshe shfaqin pikat e tyre të forta. Kërkesa të tjera përshtaten më mirë me C#, me shërbime, me një portal ose me një kombinim të të dyjave. Arkitektura e mirë nuk lind nga moda, por nga qartësia: cila përgjegjësi i takon cilës pjesë të sistemit, çfarë jetëgjatësie pritet, sa i madh është ekipi, sa kritik është operimi dhe cilat zgjerime do të vijnë realisht në vitet e ardhshme?
Pikërisht aty fillon për ne zhvillimi profesional i softuerit. Ne nuk duam vetëm të dorëzojmë diçka që funksionon sot, por të krijojmë një bazë teknike që edhe më vonë të jetë e kuptueshme, e marrshme përsipër dhe ekonomikisht e mirëmbajtshme.
Pyetje të shpeshta për teknologjinë dhe arkitekturën
Vendimet teknologjike duhet t’i përshtaten ekipit, domain-it dhe operimit. Pikërisht për këtë arsye, këto pyetje nuk i sqarojmë në mënyrë abstrakte, por gjithmonë mbi sistemin konkret.
Kur është Delphi i arsyeshëm krahasuar me një riplatformim tërësisht të ri?
Sa herë që logjika e domain-it e rritur me kohë, proceset desktop me performancë të lartë dhe objektivat multi-platformë duhet të vazhdojnë të mbështeten ekonomikisht, në vend që substanca të zëvendësohet pa kujdes.
Kur përdorni shtesë C#?
Sidomos për portale, backend-e web, shërbime REST, integrime dhe pjesë të arkitekturës së orientuar nga shërbimet, të cilat mund të ndërthuren mirë me sistemet ekzistuese desktop.
Sa i rëndësishëm është Layer-3 në praktikë?
Shumë. Vetëm ndarja e pastër e UI, logjikës së biznesit dhe aksesit në të dhëna e bën të menaxhueshme modernizimin, testet, shërbimet dhe ndërrimet e ardhshme të platformës.
A i merrni parasysh herët platformat e reja si Windows 11 ARM64?
Po. Hardueri i ri i synuar dhe rrugët e deployment-it vlerësohen herët, që më pas të mos kthehen në projekte të veçanta të kushtueshme.
Lexoni të mbledhura pyetje të tjera
Këto përgjigje të shkurtra mbeten këtu në faqe. Në faqen qendrore të FAQ landingpage e vendosim temën shtesë në kontekstin e arkitekturës, modernizimit, platformave dhe operimit.