Net-Base Revistë

04.06.2026

Migrimi nga Firebird në MariaDB: Hapat, pengesat e zakonshme dhe siguria e operimit në përditshmëri

Një migrim nga Firebird në MariaDB rrallëherë është vetëm çështje eksport-importi. Vendimtare janë dialekti SQL, transaksionet, kodimet e karaktereve, llojet e të dhënave, trigger/gjeneratorët, performanca dhe një Cutover i pastër. Ky artikull tregon një procedurë praktike për...

04.06.2026

Nga tema e revistës në praktikën e projektit

Faqe shërbimi dhe teknike të përshtatshme për artikullin

Kush dëshiron të migrojë Firebird në MariaDB, zakonisht ka një qëllim të qartë: një platformë të dhënash që mund të operohet mirë në afat të gjatë dhe që përshtatet me infrastrukturën ekzistuese, strategjitë e backup-it, monitorimin dhe njohuritë në ekipin IT. Në praktikë kjo rrallë është thjesht një kopjim i të dhënave. Firebird dhe MariaDB ndryshojnë në dialektin SQL, sjelljen e transaksioneve, tipet e të dhënave, rregullat e setit të karaktereve (kolacionet) si dhe në mënyrën se si logjika implementohet në bazën e të dhënave (triggere, Stored Procedures, sekencat/generatorët).

Ky artikull përshkruan një qasje që funksionon në kompani: me një analizë të besueshme, një rrugë migrimi të kontrolluar, testueshmëri të dokumentuar dhe një Cutover që nuk rrezikon operacionin pa nevojë. Fokusin e vendos qëllimisht te operacioni, administrimi, cilësia e të dhënave dhe integrimet – më pak te detajet e framework-ut.

Pse ndërmarrjet zëvendësojnë Firebird – dhe pse MariaDB shpesh zgjidhet

Firebird është atraktiv për shumë aplikacione biznesi të zhvilluara me kohë: i lehtë, i gatshëm shpejt për t’u vendosur dhe shpesh stabil për periudha të gjata në operim. Njëkohësisht, në varësi të organizatës shfaqen zakonisht nxitës tipikë për një zëvendësim:

  • Standardizimi i operimit: MariaDB (MySQL-kompatibel) operohet në shumë mjedise si baza e të dhënave standard, përfshirë automatizimin, proceset e patch-eve dhe monitorimin.
  • Ecosistemi i platformave dhe mjeteve: Shumë mjete ETL, lidhje BI dhe vegla operacionale janë veçanërisht të përgatitura për MySQL/MariaDB.
  • Koncepte shkallëzimi dhe disponueshmërie të lartë: Replikimi, konfigurimet proxy, opsionet e klustrit dhe operimi në konteinerë shpesh janë më lehtësisht të integrueshme në nivel organizativ.
  • Personeli dhe përgjegjësitë: Njohuritë dhe disponueshmëria on-call mund të mbulohen më lehtë kur baza e të dhënave përshtatet me peizazhin e përgjithshëm.

Është e rëndësishme: Një migrim ia vlen vetëm nëse nuk funksionon vetëm “ndryshe”, por bëhet i operueshëm. Kjo përfshin parametra të qartë operimi, kohët e Backup/RESTore, monitorim, integritet të dhënash të verifikueshëm dhe një rollback të planifikueshëm.

Firebird vs. MariaDB: Diferenca teknike që në projekte kanë vlerë reale

Para dizajnit të vërtetë të migrimit ia vlen një vështrim i synuar mbi ndryshimet që më vonë përcaktojnë kohën dhe rrezikun:

Dialekti SQL dhe funksionet

Firebird sjell variante sintakse dhe emra funksionesh të veta. MariaDB është MySQL-kompatibel, por gjithashtu ka veçoritë e veta. Konfliktet tipike janë funksionet e datës/orës, funksionet e stringjeve, rregullat e casting-ut dhe mënyra se si optimizohen pyetjet. Në migrim kjo nuk është akademike: çdo pyetje e përshtatur mund të shkaktojë regresione nëse nuk testohet sistematikisht.

Transaksionet, izolimi dhe konkurenca

Firebird punon me Multiversion Concurrency Control (MVCC): lexuesit zakonisht nuk bllokojnë shkruesit në të njëjtën mënyrë si në modelet klasike të bllokimit. MariaDB gjithashtu përdor MVCC (përmes InnoDB), por sjellja konkrete varet shumë nga niveli i izolimit, indeksimi dhe forma e pyetjes. Në praktikë kjo do të thotë: pas migrimit sjelljet e bllokimeve, frekuenca e deadlock-eve dhe “Long Running Transactions” mund të ndikohen në mënyra të ndryshme.

Seti i karaktereve, kolacionet dhe renditja

Një faktor i shpeshtë i rrezikut të projektit është kombinimi i setit të karaktereve (p.sh. UTF-8) dhe Collation (rregullat e renditjes dhe krahasimit). Projektet Firebird shpesh përmbajnë gjendje të përziera: të dhëna të vjetra në encodime legacy, të konvertuara më vonë, përveç kodit të aplikacionit me konvertime të veta. Në MariaDB Collations mund të konfigurohen për bazë të dhënash, tabelë ose fushë. Cilësimet e gabuara çojnë në krahasime të pasakta, çelësa „të dyfishtë“ me renditje case-insensitive ose lista të gjetjeve surprizuese.

Datentypen und Präzision

Firebird dhe MariaDB ndryshojnë në numërikën, llojet e kohës, Boolean, BLOBs si dhe në trajtimin e vlerave default. Veçanërisht kritik është precizioni te shumat monetare (Decimal) dhe te timestamp-et. Një migrim duhet të planifikojë mapimin e tipeve në mënyrë që të mos ndodhin rrumbullakime të padukshme ose prerje të të dhënave.

Generatoren/Sequenzen, Auto-Increment und Trigger

Firebird përdor shpesh „gjeneratorë“ (sekuenca) në kombinim me trigger-a për dhënien e çelësave primarë. MariaDB punon në mënyrë tipike me AUTO_INCREMENT ose SEQUENCE (varësisht nga versioni/setup). Nëse aplikacioni deri tani kërkon eksplicit vlerat e gjeneratorit ose logjika e trigger-it bazohet te gjeneratorët, kjo duhet ndërtuar saktë ose ndryshuar me vetëdije — përfshirë vlerat e sakta fillestare dhe mungesën e konflikteve.

Vorbereitung: Inventur statt Bauchgefühl

Një migrim i qëndrueshëm fillon me një inventar që nuk numëron thjesht tabelat, por edhe paraqet përdorimin. Qëllimi është të shmangen befasitë gjatë javës së kalimit.

1) Objekt- und Logikinventar

  • Tabelat, Views, Indekset, Constraints
  • Trigger (sidomos për Audit, validime, çelësa primarë)
  • Stored Procedures dhe UDFs (User Defined Functions)
  • Generatorët/Sekuencat dhe modelet e përdorimit të tyre
  • Rollet/Lejimet, përkatësisht përdoruesit e aplikacionit

E rëndësishme është pyetja: Çfarë është ruajtje e thjeshtë e të dhënave – dhe çfarë është logjikë biznesi që ndodhet brenda bazës së të dhënave? Sa më shumë logjikë që qëndron në Firebird, aq më shumë punë migrimi kërkohet për transferimin ose zhvendosjen e qëllimshme në shërbime/aplikacion.

2) Datenprofiling und Datenqualität

Para kopjimit duhet të jetë e qartë nëse të dhënat janë konsistente. Barrat tipike të së kaluarës janë vlerat e pavlefshme të datave, „0“ në vend të NULL, vargje të prera, çelësa jo unikë ose shkelje historike të toleruara të Constraints. MariaDB në disa pika është më strikte, në të tjera më tolerante – të dyja mund të çojnë në raste problematike. Një profiling i të dhënave identifikon fushat me vlera skajore, encode-t e papritura dhe norma të dukshme të NULL.

3) Last- und Zugriffsmuster

Për operim dhe performancë nuk vlen vetëm sasia e të dhënave, por edhe mënyra e aksesit: Cilat tabela janë hotspots? Cilat raporte ekzekutohen natën? Cilët tranzaksione janë të gjata? Cilat pyetje ekzekutohen pa indeks? Firebird mund t’i „falë“ disa modele, MariaDB mund të reagojë me locking ose ngarkesë të lartë IO. Kjo analizë përcakton më vonë dizajnin e indekseve, përshtatjet e query-ve dhe parametrat.

Architekturentscheidung: 1:1-Portierung oder kontrollierte Modernisierung?

Gjatë migrimit ka dy ekstreme: „1:1 übernehmen“ ose „alles neu“. Në realitet, një rrugë e mesme e kontrolluar zakonisht ka më pak rrezik:

  • 1:1 për strukturat e të dhënave atje ku aplikacioni është i fortë i lidhur dhe ndryshimet do të ishin të kushtueshme.
  • Pastrime të synuara për vendimet e vjetra që në MariaDB do të çonin në rrezik të qëndrueshëm të operimit (p.sh. VarChars të tepërta, mungesë indekse, Collations të paqarta).
  • Ndërlidhje e shkëputur në ndërfaqe, ku preken sisteme të jashtme (BI, DWH, ERP/DMS/CRM). Këtu shpesh është e qëllueshme një shtresë kontrate e qëndrueshme (Views, API, tabela eksporti).

Për aplikacionet e zhvilluara Delphi– ose Windows-Client-Server, shtresa e aksesit në të dhëna ka një rol qendror. Nëse përdorni BDE-Ablösung me lidhje native (një bibliotekë aksesimi e përhapur për Delphi), lidhja teknike me MariaDB në thelb është realizueshme. Vendimtare nuk është aq driver-i, sa semantika: transaksionet, tipet e parametrave, kodet e gabimeve, trajtimi i BLOB-ve dhe variacionet e pyetjeve që deri tani kanë “funksionuar”.

Problemet tipike në hapin „Migrimi nga Firebird në MariaDB“

NULL, vlerat Default dhe vargjet e zbrazëta

Në aplikacionet e vjetra vargjet e zbrazëta dhe NULL shpesh nuk ndahen qartë. Në raporte, filtra ose çelësa unikë kjo mund të sjellë rezultate të ndryshme pas migrimit. Këtu ndihmon një përcaktim i qartë për çdo kolonë: a lejohet NULL? Vlera parazgjedhje (DEFAULT)? A shkruhet dhe lexohet në UI/Service në mënyrë konsekuente në përputhje me këtë përcaktim?

Fushat Boolean dhe të statusit

Firebird shpesh përdor modele Smallint(0/1) ose char(‚T’/’F‘). MariaDB ka BOOLEAN si alias (zakonisht TINYINT(1)). Për ndërfaqet është e rëndësishme: si serializohen vlerat (p.sh. në REST-Services)? Një konvertim i paqartë mund të sjellë gabime “true/false” që manifestohet vetëm gjatë procesit.

BLOB-et: dokumente, imazhe, e‑mail

Fushat BLOB rrallëherë janë thjesht “të mëdha”. Ato ndikojnë në backup, restore, replikim dhe performancë. Për MariaDB duhet vendosur nëse BLOB-et do të mbeten në bazën e të dhënave apo nëse një magazinim objekt‑bazuar (sistemi i skedarëve, S3‑kompatibel) është më i përshtatshëm afatmesëm. Për vetë migrimin: kontrolloni nëse BLOB-et janë binare apo tekstuale, cilat encoding‑e zbatohen dhe si i interpreton aplikacioni përmbajtjet.

Identitetet dhe gjenerimi i çelësave

Nëse Firebird vendos çelësat primarë përmes Trigger + Generator, pala pritëse duhet të rregullojë në mënyrë unike se kush jep ID‑në: baza e të dhënave (AUTO_INCREMENT/SEQUENCE) apo aplikacioni. Forma të përziera janë të rrezikshme. Gjithashtu, vlerat fillestare duhet të vendosen saktë pas importit, përndryshe rrezikohen kolizionet e çelësave gjatë krijimit të parë pas cutover.

Logjika e trigger‑ave për auditime dhe validim

Shumë sisteme kanë trigger‑a që mbajnë kohën e ndryshimit, identifikimin e përdoruesit ose rreshta auditi. MariaDB mbështet trigger‑a, por detajet (sintaksa, timing, akses në OLD/NEW, trajtimi i gabimeve) ndryshojnë. Sidomos trigger‑at e auditit janë operativisht të rëndësishëm: nëse ato ndalojnë heshturazi pas migrimit, lind problem për compliance dhe gjurmueshmëri.

Konflikte të seteve të karaktereve dhe gabime “të padukshme” të të dhënave

Një klasike: të dhënat duken në aplikacion siç duhet, por në sistemin pritës renditen gabim ose nuk gjenden në kërkime LIKE. Shkaku janë përputhjet e gabuara të collation‑eve ose encoding‑eve të përziera. Prandaj: mos testoni vetëm “shfaqjen”, por logjikën e kërkimit, kontrollin e dyfishtëzimeve, import/export dhe integrimet (p.sh. CSV/EDI).

Strategjia e migrimit: Offline, Online apo Hibrid?

Zgjedhja e strategjisë përcakton planin e projektit. Tipikisht ka tre variante:

Migrim Offline (cutover klasik)

Aplikacioni ndalet, të dhënat eksportohen/importohen dhe pastaj bëhet kalimi. Përparësitë: e thjeshtë, gjendje e qartë e të dhënave. Disavantazhet: downtime‑i mund të jetë i gjatë në varësi të volumit të të dhënave dhe validimit.

Migrim Online (operim paralel)

Firebird mbetet produktiv, MariaDB mbushet vazhdimisht (p.sh. përmes mekanizmave të replikimit ose Change-Data-Capture). Cutover është i shkurtër. Për këtë arsye kompleksiteti është dukshëm më i lartë: konflikte, renditje, transaksione, trajtim i gabimeve.

Hibrid (fazë paraprake + import delta final)

Në shumë kompani praktik: Një import fillestar në masë kryhet paraprakisht, më pas transferohen vetëm ndryshimet (delta) derisa të bëhet kalimi final. Hileja është një përcaktim i qartë i delta: stemplat kohore, sekuencat ose protokollet e ndryshimeve duhet të jenë të besueshme.

ETL dhe marrja e të dhënave: Si t’i bëni rrugët e importit të qëndrueshme

Në marrje ia vlen një proces i qartë në vend të „një skript dhe shpresë“. Këtu „të qëndrueshme“ do të thotë: të përsëritshme, të protokolluara, të verifikueshme.

Qasja Staging në vend të importit direkt

Një model i provuar është një bazë të dhënash staging (ose një skemë), në të cilën të dhënat importohen fillimisht të papërpunuara. Aty mund të:

  • Normalizoni kodimet
  • Kontrolloni dhe konvertoni tipat
  • Kontrolloni integritetin e referencave
  • Bëni të dukshme konfliktet e dublikateve

Vetëm pas kësaj të dhënat transferohen në skemën e synuar. Kjo redukton rrezikun, sepse gabimet shfaqen herët dhe importi mbetet i përsëritshëm.

Validimi: Kontrollet që ndihmojnë vërtet në operim

Vendosni validime në mënyrë që më vonë të shërbejnë si pranimi dhe sigurim operativ. Kategoritë tipike të kontrolleve:

  • Numri i rreshtave për tabelë (jo si provë e vetme, por si sinjal bazë)
  • Kontrollet e shumave/Hash mbi kolonat kritike (p.sh. shumat, statusi, stemplat kohore)
  • Referencat (çelësat e huaj të braktisur, edhe nëse historikisht pa constraint)
  • Mostrat rastësore nga proceset me rëndësi funksionale (porositë, dokumentet, historitë)

Veçanërisht e rëndësishme për vendimmarrësit: Validimi nuk është „nice to have“, por shtylla për të minimizuar rrezikun e një gabimi të ngadaltë në të dhëna.

Performanca dhe operimi: Çfarë vendos pas importit

Pas marrjes së suksesshme të të dhënave fillon faza që përcakton punën e përditshme: kohët e përgjigjes, stabiliteti, dritaret e mirëmbajtjes dhe transparenca në operim.

Dizajni i indekseve dhe profilët e kërkesave

Indekset nuk transferohen 1:1, sepse optimizer-i vepron ndryshe. Një qasje e arsyeshme:

  • Nisni me një set bazë të mbuluar mirë (çelësat primar/të huaj, kolonat e filtrit të përdorura shpesh)
  • Testime ngarkese me workflow-e realiste (jo vetëm SELECT-e sintetike)
  • Shtesa të synuara të indekseve bazuar në slow-query-logs dhe monitoring

Rëndësishme: Indekse të tepërta përkeqësojnë performancën e shkrimit dhe rrisin përdorimin e memorie/IO. Qëllimi është një kompromis operativ, jo një „indeks për çdo pyetje“.

Madhësia e transaksioneve dhe përpunimi në lote

Shumë procese legacy punojnë me transaksione të mëdha (p.sh. proceset e bilancit natën). Në MariaDB kjo mund të çojë në ngarkesë Undo/Redo, bllokime ose kohë të gjata rikuperimi. Këtu ndihmojnë kufij të qartë të loteve, përpunim idempotent (i përsëritshëm pa dyfishime) dhe pika commit të vendosura qartë.

Backup/RESTore, RPO/RTO dhe testimi i rikthimit

Për drejtimin e TI-së më në fund vlen: Sa shpejt mund të rikthej dhe sa i madh është humbja e të dhënave në rastin më të keq? Këto janë RTO (Recovery Time Objective) dhe RPO (Recovery Point Objective). Planifikoni:

  • Backup-e të rregullta (logjikisht/fizikisht sipas konceptit)
  • Ruajtje dhe kriptim
  • Teste të rikthimit në një mjedis të ndarë

Një migrim konsiderohet i qëndrueshëm në operim vetëm kur proceset e rikuperimit nuk janë vetëm të dokumentuara, por janë provuar në praktikë.

Monitorimi, alarme dhe planifikimi i kapacitetit

MariaDB mund të monitorohet mirë, por vetëm nëse zgjidhni sinjalet e duhura: numri i lidhjeve, statusi i replikimit (nëse përdoret), Buffer-Pool, Disk IO, Lock-Waits, Slow Queries, rritja e Tablespace-it. Vendosni kufijtë e alarmit në mënyrë që të mos mbingarkojnë gatishmërinë me „zhurmë“, por të sinjalizojnë herët problemet e vërteta.

Siguria dhe të drejtat: Nga mendësia e Firebird drejt operimit me MariaDB

Gjatë migrimeve të bazave të të dhënave, siguria shpesh merret në konsideratë vonë. Konceptet ndryshojnë: menaxhimi i përdoruesve, rolet, të drejtat bazuar në host, lidhjet TLS, politikat e fjalëkalimeve.

Pikë praktike për tranzicionin:

  • Ndajeni llogaritë e shërbimit: aplikacion, raportim, admin, mirëmbajtje – përdorues të ndarë, të drejta minimale.
  • Segmentimi i rrjetit: Mos hapni MariaDB për „të gjithë“; akseset lejoni vetëm nga rrjete dhe porta të përcaktuara.
  • Krypim në transit: TLS midis aplikacionit dhe bazës së të dhënave, veçanërisht për lokacione të shpërndara.
  • Regjistrimi: Sipas kërkesave të compliance, mbani të gjurmueshme akseset dhe veprimet e administratorëve.

Veçanërisht kur integrimet (p.sh. portale ose REST-Services) lidhen me bazën e të dhënave, baza nuk duhet të bëhet një „bus i përbashkët“, por të aksesohen përmes ndërfaqeve të përcaktuara. Kjo redukton lëvizjet laterale gjatë një incidenti sigurie.

Cutover-Planung: Si një projekt bëhet një kalim i kontrolluar

Cutover nuk është momenti kur „përfundimisht kalohet“, por çasti kur përgatitja e mirë bëhet e dukshme. Një plan praktik i Cutover-it përfshin:

  • Pika e Freeze-it (që nga kur nuk lejohet më asnjë ndryshim i të dhënave në Firebird)
  • Importi final delta duke përfshirë logimin dhe matjen e kohës
  • Verifikimi me kritere të qarta (jo „duket mirë“)
  • Ndërrimi i aplikacioneve (Connection Strings, DNS/Proxy, Secrets)
  • Smoke Tests për proceset kryesore të biznesit
  • Dritarja e vendimmarrjes për rollback (deri kur është e mundur kthimi dhe si)

Një rollback i pastër nuk do të thotë domosdoshmërisht „kopjim mbrapsht“. Shpesh rollback-i më praktik është: rikthimi tek Firebird dhe ndalimi i MariaDB-së për momentin, për sa kohë që gjatë dritares së Cutover-it nuk janë shkaktuar procese pasuese të pakthyeshme. Kjo duhet të harmonizohet organizativisht (p.sh. numrat e dokumenteve, eksportet e ndërfaqeve).

Integrimi dhe aplikacionet: Çfarë ndryshon rreth bazës së të dhënave

Baza e të dhënave rrallë është e izoluar. Varësitë tipike janë:

  • Reporting (pyetje SQL të drejtpërdrejta, Views, ekstrakte)
  • Ndërfaqe ndaj ERP/DMS/CRM (bazuar në skedar ose API)
  • Batch-Jobs, Windows-Services oder Linux-Services, që përpunojnë të dhënat
  • Portale dhe akseset e jashtme (p.sh. Portali i klientit)

Sidomos në sisteme të zhvilluara me kalimin e kohës, vlen të shfrytëzoni rastin dhe të shkëputni akseset e të dhënave: Views/Exports qendrorë, REST-pikat fundore të qarta ose shtresa shërbimi. Kjo nuk është qëllim në vetvete, por përmirëson mirëmbajtjen dhe redukton varësitë direkte ndaj SQL, të cilat në migrimin tjetër do të jenë përsëri të kushtueshme.

Nëse aplikacioni juaj ekzistues është implementuar në Delphi, është gjithashtu momenti i përshtatshëm për të konsoliduar aksesin në të dhëna (p.sh. BDE-Ablosung mit nativer Anbindung të konfiguroni saktë, korniza transaksionesh të qëndrueshme, trajtim të njëtrajtshëm të gabimeve). Kjo kontribuon direkt në sigurinë e operimit dhe në gjetjen e gabimeve.

Strategjia e testimit: Pranimi pa iluzione

Një migrim i bazës së të dhënave rrallë dështon sepse „SELECT nuk funksionon“, por sepse rastet kufitare në proces sillen ndryshe. Një strategji e qëndrueshme testimi kombinon:

  • Testime teknike: vendosja e lidhjes, transaksionet, sjellja e bllokimeve, performanca nën ngarkesë.
  • Testime funksionale End-to-End: zinxhirë tipikë të procesit nga regjistrimi deri te analizimi.
  • Testime regresioni për raporte: krahasimi i shumave, grupeve dhe logjikës së filtrimit.
  • Testime të operimit: Backup/RESTore, monitorim/alarme, sjellja e RESTartimit pas mirëmbajtjes.

E rëndësishme është përcaktimi i kritereve të pranimit: Cilët tregues duhet të jenë të njëjtë? Cilat devijime janë të shpjegueshme (p.sh. renditja me të njëjtën collation)? Kush vendos në rast dyshimi? Pa këtë qeverisje lindin rrethime të panevojshme pak para Go-live.

Përfundim: Mendoni migrimin si projekt operativ – jo si çështje thjesht të bazës së të dhënave

Migrimi nga Firebird në MariaDB është i realizueshëm, nëse planifikohet si projekt operativ dhe integrimi. Pikat kritike rrallë janë vetë eksporti, por llojet e të dhënave, collation-et, logjika e trigger-ave, gjenerimi i çelësave, sjellja e transaksioneve dhe koreografia e sigurt e cutover-it. Kush merr seriozisht inventarin, validimin dhe testet e rikthimit zvogëlon dukshëm rreziqet e projektit dhe krijon një bazë të dhënash që mbetet e mirëmbajtshme afatgjatë.

Nëse dëshironi të përgatisni migrimin në mënyrë të strukturuar – nga analiza, përmes konceptit të testimit deri te plani i cutover-it dhe dorëzimi për operim – mund të na kontaktoni specifikisht për këtë:

Në fushën profesionale, gjithashtu migrimet Firebird dhe migrimet Mariadb luajnë një rol të rëndësishëm, kur integrimet, rrjedhat e të dhënave dhe zhvillimi i mëtejshëm duhet të funksionojnë ngushtë së bashku.

Diskutoni projektin ose nismën e modernizimit me Net-Base.

Hapi tjetër

Kur nga një temë lind një projekt real, arkitektura, sistemi ekzistues dhe operimi duhet të vlerësohen së bashku që në fillim.

Ne nuk mbështesim vetëm në çështje të veçanta, por edhe kur nga fragmente të kodit burimor, temat legacy ose idetë për portale duhet të zhvillohen në një projekt korporativ të qëndrueshëm.

  • Gjendja ekzistuese, imazhi i synuar dhe rreziqet teknike vlerësohen së bashku.
  • REST, qasja në të dhëna, portalet dhe implementimi nuk shtyhen si pasojë e mëvonshme.
  • Ju e shihni herët se cila rrugë është e qëndrueshme ekonomikisht dhe operativisht.

Ndaje postimin

Shpërndaj këtë postim drejtpërdrejt

LinkedIn, X, XING, Facebook, WhatsApp dhe E-Mail janë menjëherë të disponueshme. Për Instagram po përgatisim lidhjen dhe tekstin e shkurtër.

Postë elektronike

Instagram hapet në një skedë të re. Linku dhe teksti i shkurtër kopjohen më parë në memorjen e kopjimit.