Profil teknologjie
Baza jonë teknike në përmbledhje
Ne teknologjitë nuk i përdorim sipas modës, por sipas realitetit të operimit, jetëgjatësisë, nevojës për integrim dhe aftësive të ekipit. Vendimtare nuk është fjala kyçe, por nëse sistemi më pas mbetet i operueshëm në mënyrë të pastër, i zgjerueshëm dhe i marrë në dorë nga të tjerë.
I fortë për logjikë biznesi dhe klientë multi-platformë
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 e qëndrueshëm për Windows, macOS dhe Linux duhet të vazhdojnë të mirëmbahen 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ë ndërmarrjes.
Shiko C#
Arkitekturë
Layer-3 në vend të një trashëgimie monolitike
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 duhet të ndërtohen kundër asaj që ekziston.
Shiko Layer-3
Platforma
Ta mendosh Windows 11 ARM64 që në fillim
Krahas objektivave klasike x64, ne marrim parasysh herët platformat aktuale si Windows 11 ARM64, që hardueri i ri dhe deployment-et të mos kthehen më vonë në një projekt të veçantë.
Shiko ARM64
Kur cili drejtim ka kuptim
Delphi ka kuptim, kur
- logjika ekzistuese funksionale duhet të vazhdojë të jetojë,
- proceset komplekse desktop duhet të mbeten të qëndrueshme,
- klientët 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ë se si punon realisht sistemi, cilat procese mbështet, ku ndërpriten rrjedhat e të dhënave dhe cilat trashëgimi 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 qëndrueshme edhe në përditshmëri.
Në shumë aplikacione të zhvilluara ndër vite, vlera e vërtetë nuk qëndron te ndërfaqja, por te vite të tëra logjike biznesi, rregulla të veçanta, përjashtime dhe dije 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, shtojmë klientë për Windows, macOS dhe Linux mbi të njëjtën bazë funksionale. Kështu nuk krijohet një ndërprerje e fortë, por një evoluim i kuptueshëm me profil të qartë teknik.
Shpesh kjo do të thotë edhe t’i rikthejmë monolitët e rritur historikisht 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 kanë më nevojë të imponohen kundër bazës ekzistuese. Qëllimi nuk është modernizim kozmetik, por një sistem që i jep kompanisë sërish hapësirë për kërkesa të reja.
Shërbimet dhe serverët si pjesë e së njëjtës arkitekturë
Sot shumë sisteme ndërmarrjeje 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 ne nuk i planifikojmë këto pjesë si shtesë të mëvonshme, por si pjesë të së njëjtës arkitekturë. Një shërbim që thjesht i shtohet më vonë në çfarëdo mënyre, pothuajse gjithmonë kthehet në rast të veçantë.
Nëse të dhënat duhet të përpunohen të shpërndara, të ofrohen ndërfaqe, të ekzekutohen eksporte, të monitorohen importe ose të kryhen në sfond detyra të planifikuara me kohë, atëherë 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 gjurmohen ndryshimet e gjendjes, si mbahet 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 besueshëm.
Kjo është vendimtare sidomos në projekte multiplatformë. Një klient desktop në Windows, macOS ose Linux nuk duhet, në aspektin funksional, të nënkuptojë diçka tjetër nga një server shoqërues REST ose një shërbim në sfond. Prandaj ne i 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 e ekipit, 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 multiplatformë i 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: çfarë përgjegjësie ka cili komponent sistemi, ç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 të dorëzojmë vetëm diçka që funksionon sot, por të krijojmë një bazë teknike që edhe më vonë të jetë e kuptueshme, e transferueshme dhe e mirëmbajtshme në mënyrë ekonomike.
Pyetje të shpeshta rreth teknologjisë dhe arkitekturës
Vendimet teknologjike duhet t’i përshtaten ekipit, domain-it dhe operimit. Pikërisht për këtë arsye ne nuk i sqarojmë këto pyetje në mënyrë abstrakte, por gjithmonë mbi sistemin konkret.
Kur është Delphi e arsyeshme kundrejt një riplatformimi të plotë?
Gjithmonë atëherë kur logjika e domain-it e zhvilluar ndër vite, proceset desktop me performancë të lartë dhe objektivat multi-platformë duhet të vazhdojnë të mbahen ekonomikisht, në vend që substanca të zëvendësohet pa kujdes.
Kur përdorni shtesë C#?
Kryesisht për portale, backende web, shërbime REST, integrime dhe pjesë arkitekture të orientuara 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 te të dhënat e bën të menaxhueshme modernizimin, testet, shërbimet dhe ndryshimet 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 verifikohen herët, që më vonë të mos shndërrohen 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ë uljes për FAQ, ne e rendisim temën gjithashtu në kontekst me arkitekturën, modernizimin, platformat dhe operimin.