Net-Base Revija

02.06.2026

MariaDB z Delphi in FireDAC povezati: arhitektura, izbira gonilnika in obratovanje brez presenečenj

Kako iz Delphi-aplikacij preko FireDAC MariaDB urejeno in zanesljivo povezati: možnosti gonilnika, TLS, nabori znakov, transakcije, pooling, zmogljivost in obratovanje – s poudarkom na administraciji, vzdrževanju in migracijah v uveljavljenih sistemih.

02.06.2026

Od teme v reviji do projektne prakse

Ustrezne strani storitev in tehnični opisi k prispevku

Kdor MariaDB z Delphi in BDE-zamenjava z nativno povezavo povezati želi, običajno gleda na več kot zgolj »samo« uspešno povezavo. V podjetniških okoljih štejejo predvsem zanesljivost obratovanja, jasna konfiguracija, reproducibilne namestitve in dostop do podatkov, ki ostane stabilen tudi pod obremenitvijo. MariaDB se pogosto uporablja kot stroškovno učinkovita, dobro upravljana alternativa v MySQL-ekosistemu – in Delphi-aplikacije so v mnogih podjetjih zrasle, procesno orientirane rešitve, ki morajo delovati zanesljivo in se skozi leta naprej razvijati.

Zato v tem prispevku ne gre za detajle frameworkov ali demo-kodo, temveč za odločitve, ki res zadevajo IT-vodstvo in administracijo: katera strategija gonilnika je smiselna (nativne klientske knjižnice vs. ODBC), kako se izogniti težavam s kodiranjem znakov in collation, kako načrtovati TLS na pregleden način, kateri transakcijski in zaklepalni vidiki so pri MariaDB relevantni ter kako ohraniti obvladljivost monitoringa, posodobitev in iskanja napak v vsakodnevnem delu. Cilj je povezava, ki ne le »deluje«, temveč je skozi življenjsko dobo poslovne programske opreme vzdržna in auditabilna.

MariaDB z Delphi in FireDAC povezati v praksi

MariaDB izhaja iz MySQL in je na mnogih področjih združljiva, a ni identična. Za obratovanje to pomeni: veliko orodij, konceptov in odjemalskih gonilnikov deluje podobno, vendar so razlike pri funkcionalnostih, privzetih vrednostih, obnašanju optimizatorja in deloma tudi pri podatkovnih tipih ali sistemskih spremenljivkah. Za Delphi/BDE-Ablosung mit nativer Anbindung je to zlasti pomembno pri vprašanju, kateri gonilniški pot se uporablja in katere predpostavke SQL-dialekta so v aplikaciji vgrajene.

FireDAC je plast dostopa do podatkov v Delphi, ki lahko enotno poveže različne baze podatkov. FireDAC pri tem zajema povezavo, parametre, transakcije in vedenje datasetov. Pomembno v vsakdanjem podjetniškem okolju: FireDAC ni le ‚gonilnik‘, ampak plast, ki glede na bazo lahko uporablja različne gonilniške mode. V praksi to za MariaDB običajno pomeni dve robustni poti: nativne MySQL/MariaDB klientske knjižnice ali ODBC.

Strategija gonilnikov: Nativna klientska knjižnica vs. ODBC – kaj je v obratovanju boljše?

Najpomembnejša odločitev je, ali boste FireDAC povezali preko nativne klientske knjižnice (iz MySQL/MariaDB okolja) ali preko ODBC-gonilnika. Obe poti sta tehnično veljavni, vendar se razlikujeta pri nameščanju, procesih posodabljanja in vzorcih napak.

Nativna klientska knjižnica (libmysql / MariaDB Connector/C)

Pri nativni povezavi FireDAC uporablja odjemalsko knjižnico, ki mora biti na voljo med izvajanjem (tipično kot DLL na Windows ali kot Shared Library na Linux). V praksi se srečate z dvema variantama:

  • MySQL-Client-Library: široko razširjena, vendar odvisna od različic in poti distribucije.
  • MariaDB Connector/C: pogosto bolj konsistentna za MariaDB-strežnike, z lastnim ciklom izdaj.

Z vidika obratovanja: Nativne knjižnice ponavadi nudijo najboljše performanse in najbolj neposredno diagnostiko napak (handshake, TLS, avtentikacija). Cena tega je dodaten gradnik v deploymentu: prava različica knjižnice mora biti prisotna na vseh ciljnih sistemih in ne sme biti »po naključju« prepisana z drugo programsko opremo.

ODBC (MariaDB ODBC Driver)

ODBC (Open Database Connectivity) je standardiziran koncept gonilnikov na ravni operacijskega sistema. FireDAC lahko preko njega naslovi MariaDB, če je nameščen ustrezen ODBC-gonilnik. Na prvi pogled deluje »prijazno do administracije«, ker je ODBC v mnogih podjetjih že uveljavljen (npr. za orodja za poročanje).

Pogled z vidika obratovanja: ODBC lahko poenostavi nameščanje (deployment), če že razširjate standardiziran paket gonilnikov preko sistema za distribucijo programske opreme. Vendar se uvedejo dodatne plasti abstrakcije: sporočila o napakah so včasih manj natančna, posodobitve gonilnikov pa je treba strogo nadzorovati, ker lahko vplivajo tudi na druge aplikacije.

Kriteriji odločanja za podjetja

  • Nadzor uvajanja: dobavljanje izvorne (native) knjižnice skupaj z vsako aplikacijo je pogosto bolj robustno kot sistemske spremembe ODBC.
  • Upravljanje sprememb: ODBC je primeren, če se različice gonilnikov centralno upravljajo in temeljito testirajo.
  • Diagnoza napak: izvirne poti so pogosto bolj neposredno razhroščevalne (Handshake/TLS/Avtentikacija).
  • Združljivost: pri vtičnikih za avtentikacijo in pravilnikih TLS je lahko odločilen specifičen gonilnik.

V mnogih stabilnih podjetniških okoljih se za produktivne namizne ali servisne aplikacije uporablja izvorna knjižnica (ciljno verzionirana in dobavljena z aplikacijo), ODBC pa se raje uporablja tam, kjer so priključena orodja tretjih strani.

Jasna opredelitev parametrov povezave: Host, Port, Timeouts, Failover

Pogosta napaka v razvitih aplikacijah je »nekako povezana« konfiguracija. Za obratovanje in vzdrževanje potrebujete jasno, sledljivo definicijo parametrov povezave – in sicer za vsako okolje (razvoj, test, produkcija) brez trde vgradnje v programske datoteke.

Pomembni parametri z vidika obratovanja:

  • Host/Port: privzeto 3306, vendar so v segmentiranih omrežjih pogosto uporabljena drugačna vrata.
  • Connect Timeout: ščiti pred »zamrznjenimi« vzpostavitvami povezav pri težavah z usmerjanjem ali DNS.
  • Read/Write Timeout: preprečuje, da bi posamezni zahtevki ob težavah z omrežjem blokirali proces.
  • Keepalive: smiselno pri daljših obdobjih neaktivnosti, zlasti pri WAN/VPN povezavah.
  • Failover-Strategie: pri replikaciji/clusterjih morate definirati, kako naj odjemalci preklapljajo (ali namerno ne avtomatsko).

Pravilo iz prakse: Timeouts niso »Nice-to-have«, temveč del varnosti obratovanja. Brez jasnih timeoutov lahko posamezni odjemalci ali storitve zasedejo vire in sprožijo posledične učinke (npr. napolnijo se thread-pooli, uporabniški vmesnik ne reagira, opravila se kopičijo).

TLS in certifikati: šifriranje je obratovalni projekt, kein Haken

V sodobnih okoljih je TLS (Transport Layer Security, torej šifriranje na transportni poti) ni opcijsko. Ključno je, da TLS ni le »vključen«, temveč pravilno validiran: preveriti strežniški certifikat, nadzorovati verigo CA, zagotoviti preverjanje imena gostitelja in izključiti zastarele protokole.

Tipične pasti pri Delphi/FireDAC v podjetniškem obratovanju:

  • Pot do certifikatov in dovoljenja: storitve pogosto tečejo pod namenskim računom; datoteke CA oziroma skladišča certifikatov morajo biti dosegljiva.
  • Ime gostitelja proti certifikatnemu CN/SAN: če se odjemalci povezujejo preko vzdevkov (DNS-CNAME, VIP), mora certifikat pokrivati ta imena.
  • Vmesna potrdila: Nepopolne verige delujejo v nekaterih orodjih, v drugih okoljih pa odpovejo.
  • „Šifrirano, vendar ne preverjeno“: Pogost workaround zaradi anti-patterna je izklop preverjanja. To je operativno tvegano in se mu je treba izogniti.
  • Za IT-odgovorne osebe je tukaj pomembno: določite, kdo razširja potrdila, kako poteka obnova in kako spremljate veljavnost. Šifriranje ni zgolj vprašanje aplikacije, temveč zajema PKI-procese (Public Key Infrastructure) in časovna okna za spremembe.

    Nabori znakov, kolacije in „pokvarjeni umlauti“: vzroke sistematično preprečiti

    Klasičen problem pri migracijah baz podatkov in novih povezav so napačni posebni znaki ali nenavadne razvrstitve. Vzrok skoraj nikoli ni „Delphi ne zna UTF-8“, temveč mešanica privzetih nastavitev znakovnih nizov, definicij tabel/kolon in klienskega handshake.

    Na kaj morate biti pozorni:

    • Privzeta nastavitev strežnika vs. definicija sheme: Ne zanašajte se na globalne privzete vrednosti. Določite nabor znakov in kolacijo izrecno na ravni baze podatkov in tabel.
    • UTF-8-varianta: V okolju MariaDB/MySQL je utf8mb4 robustna izbira (popoln Unicode vključno s 4-bajt znaki). Starejši »utf8« ne pokriva vsega.
    • Klientski handshake: Gonilnik mora vedeti, v katerem kodiranju pošilja in prejema. Če klient in strežnik dogovorita različna kodiranja, nastanejo tihi podatkovni napaki.
    • Razvrščanje (Collation): Kolacija vpliva na primerjave in ORDER BY. Pri večjezičnih ali mešanih podatkih je potrebna premisljena odločitev.

    Za obratovanje šteje manj teoretično »prava« kolacija kot doslednost: določite enkrat, dokumentirajte in pri migracijah kontrolirajte z ujemalnimi poizvedbami. Še posebej v procesno bližnjih poslovnih aplikacijah se spremembe sortiranja pokažejo šele pozno (npr. v seznamih, izvozih ali logiki podvojenih vnosov).

    Avtentikacija in uporabniške pravice: minimalne pravice, jasne vloge

    MariaDB ponuja različne mehanizme avtentikacije (na osnovi gesla, deloma preko vtičnikov). Za aplikacije je odločilno, da uporabljate dedikiran DB-prijavni račun in pravice strogo porazdelite glede na potrebe. »DBA-pravice za aplikacijo« so nepotrebno tveganje.

    Priporočena praksa v poslovnih okoljih:

    • Ločeni uporabniki za vsako aplikacijo/storitev (in po potrebi ločeno za vsakega najemnika/okolje).
    • Najmanjše privilegije (Least Privilege): samo SELECT/INSERT/UPDATE/DELETE na potrebnih objektih, brez globalnih pravic.
    • Brez dinamičnih DDL-pravic (CREATE/ALTER) v produkcijskih aplikacijah, razen če je to del kontroliranega migracijskega procesa.
    • Rotacija gesel z načrtno zamenjavo (npr. vzporedno veljavni dostopi za kratka prehodna okna).

    Če aplikacija izvaja ozadinska opravila (uvozi, vmesniki, serijska obdelava), je pogosto smiselno tudi za ta opravila uporabljati ločene račune. To izboljša revizijsko sledljivost in omeji škodo ob kompromitiranih dostopnih podatkih.

    Transakcije, izolacija in zaklepi: načrtljivo namesto »baza je včasih počasna«

    V mnogih Delphi-obstoječih aplikacijah so se spremembe podatkov nakopičile skozi čas: posamezne posodobitve brez jasnih transakcijskih mej, »optimistične« predpostavke ali preveč široki zaklepi. MariaDB se glede na storage engine obnaša različno; v praksi je InnoDB večinoma privzeta izbira (transakcije, zaklepi na ravni vrstic, obnovitev po zrušitvi).

    Za IT- in projektne vodje so odločilni naslednji vidiki:

    • Meje transakcij: strokovna operacija (npr. vnos naročila) bi morala imeti jasno opredeljeno transakcijo. Nejasne meje povzročajo težko reproducibilna vmesna stanja.
    • Raven izolacije: določa, kateri „vmesni rezultati“ so vidni. Previsoka izolacija lahko poveča število zaklepov in čakalne dobe, prenizka izolacija pa lahko privede do strokovno napačnih rezultatov.
    • Zaklepanje/Deadlocki: deadlocki niso „napaka baze podatkov“, temveč znak konkurenčnih poti dostopa. Pomembno je, da jih aplikacija zazna, jih natančno zabeleži in kontrolirano ponovno poskusi (Retry) – a z določenimi omejitvami.
    • Dolge transakcije: odprte transakcije čez UI-interakcije ali dolgi procesi so pogost vzrok za zaklepe in težave z zmogljivostjo.

    V praksi se izkaže: kratke transakcije, jasen vrstni red pri posodobitvah (za zmanjšanje deadlockov) ter beleženje, ki v primeru napake omogoča sledljivost prizadetih SQL-operacij in kontekstnih podatkov, brez zapisovanja občutljivih podatkov v navadnem besedilu.

    Zmogljivost: indeksi, parametri, roundtripi in tipične FireDAC-pasti

    Če se po prehodu na MariaDB vse zdi nekoliko počasneje, razlog redko tiči v MariaDB kot produktu, temveč v kombinaciji oblikovanja poizvedb, indeksiranja in vedenja odjemalca. FireDAC nudi veliko nastavitev — umetnost je, jih obratovalno obvladovati.

    Preverjanje indeksov in dejanskega vedenja poizvedb

    Za administracijo je odločilno, da se najpomembnejše poizvedbe identificira in ovrednoti z Explain-plani. Tipični vzroki za nepričakovano obremenitev:

    • manjkajoči ali napačno sestavljeni sestavljeni indeksi (večstolpčni indeksi, usklajeni z uporabo v WHERE/ORDER BY)
    • iskanja z LIKE brez ustrezne strategije (npr. prefiksno proti polnobesedilnemu iskanju)
    • funkcije na stolpcih v WHERE-pogoju (indeks se ne uporablja)
    • velika varianca vrednosti parametrov (izbira načrta niha)

    To ni toliko »optimizacija razvijalcev« kot operativna disciplina: redno pregledovanje top-poizvedb, nadzor regresij po izdajah in usklajevanje SQL-logike s strokovnimi zahtevami.

    Zmanjšajte roundtripe in zavestno izberite način pridobivanja (Fetch)

    Roundtrip pomeni: en Request/Response-cikel med aplikacijo in bazo. Veliko majhnih roundtripov je preko LAN pogosto neopazno, preko VPN ali pri visoki vzporednosti pa drago. FireDAC lahko podatke pridobiva v blokih (možnosti fetch) in nudi Batch/Array-operacije. Pomembno je, da teh možnosti ne nastavite agresivno globalno, temveč odločate glede na posamezen primer uporabe (seznami, maska podrobnosti, izvoz, vmesniški jobi).

    Vezava parametrov namesto String-SQL

    Parametrizirane poizvedbe pomagajo ne le proti SQL-injection, temveč tudi izboljšajo predpomnjenje načrtov in znižajo težave z encodiranjem. Za obratovanje to pomeni: manj »posebnih primerov«, manj težko razložljivih napak pri določenih znakovnih nizih in večjo stabilnost ponavljajočih se poizvedb.

    Connection Pooling in vzporednost: namizje, servis, terminalni strežnik

    V poslovnem okolju je vzorec uporabe odločilen: posamezni namizni odjemalec se razlikuje od 50 vzporednih uporabnikov na terminalnem strežniku ali od Windows-/Windows- in Linux-Services, ki v ozadju obdelujejo jobe. »Preveč povezav« ne pomeni le doseganja limitov, temveč tudi nepotrebno obremenitev zaradi handshakov in zasedbe pomnilnika.

    Pomembna vprašanja:

    • Na proces vs. na nit: FireDAC-povezave so viri; načrtujte, koliko vzporednih DB-operacij je dejansko potrebno.
    • Pooling: Pool zmanjša stroške vzpostavitve povezav, vendar zahteva urejeno „pospravljanje“ (zaključevanje transakcij, ponastavitev nastavitev seje).
    • Stanje seje: Če nastavite spremenljivke na sejo (npr. SQL_MODE, časovna cona), morajo biti te v kontekstu poola konsistentne.
    • Terminalni strežnik: Veliko uporabnikov deli isti strežnik, vendar ne isti proces. To vpliva na to, kako se število povezav ob skaliranju obnaša.

    Z vidika obratovanja naj bo določena jasna ciljna vrednost: koliko aktivnih povezav v konicah je sprejemljivo, katere omejitve na strani DB veljajo in kako se aplikacija obnaša pri obremenitvi (backpressure namesto „vse hkrati“).

    Tipične napake iz prakse: kaj bi morali zgodaj zaznati

    Veliko težav se ne pojavi pri razvijalčevem testiranju, temveč v sozvočju omrežja, pravic, posodobitev in obsega podatkov. Tipične klase napak:

    • „Can’t connect“: DNS, požarni zid, napačen port, manjkajoče poti, prekratki časovni intervali za vzpostavitev povezave.
    • TLS-handshake ne uspe: potekli certifikati, napačen CA, ime gostitelja se ne ujema, politika protokolov preveč stroga ali preveč ohlapna.
    • „Access denied“: pravice niso usklajene z host-maskami (Benutzer@Host), rotacija gesel brez usklajenih uvajanj.
    • Težave s kodiranjem: privzeti nabor znakov ni konsistenten, mešani podatki iz starih uvozov.
    • Deadlocki/lock waits: dolge transakcije, različna zaporedja posodobitev, manjkajoči indeksi na stolpcih FK.

    Priporočilo: določite za vsak razred napak diagnostični kontrolni seznam (kateri logi, kateri DB-statusni kazalniki, kateri omrežni testi). To znatno zmanjša MTTR (povprečni čas do popravila), brez da bi v resni situaciji iskali „v megli“.

    Migracije in mešano obratovanje: iz MySQL ali legacy sistemov v MariaDB

    V projektih se povezava z MariaDB pogosto pojavi v kontekstu modernizacije: MySQL-verzije niso več podprte, strežnik za baze podatkov je treba konsolidirati ali pa se aplikacija izlušči iz legacy dostopa do podatkov (npr. BDE). Tehnično so ti koraki izvedljivi – tveganja so v podrobnostih.

    Ključne točke za varen potek:

    • Preverite podatkovne tipe: zlasti datum/čas, DECIMAL-škale, tekstovni stolpci, logika NULL/prednastavljenih vrednosti.
    • SQL-dialekt in funkcije: majhne razlike v funkcijah ali nastavitvah strict-mode lahko spremenijo poslovno logiko.
    • Stored Procedures/Views: če se uporabljajo, morata biti združljivost in postopek uvajanja jasna.
    • Časovne cone: strežniška in sejna časovna cona vplivata na obnašanje TIMESTAMP/DATETIME; za revizije in vmesnike je doslednost ključna.
    • Načrt preklopa: uskladitev podatkov, časovno okno za zamrznitev, možnost rollbacka in nadzor v prvih dneh.

    Pri programski opremi, ki je tesno povezana s procesi, je „Big Bang“ redko potreben. Pogosto je smiselnejši stopnjevani pristop: najprej zagotoviti gonilnike in konfiguracijsko funkcionalnost, nato pregledati podatkovni model in poizvedbe, nato postopoma preusmerjati module. To je mogoče dobro povezati z notranjimi temami modernizacije, na primer kadar poteka vzporedno Delphi modernizacija ali BDE-zamenjava.

    Nadzor, beleženje in vzdrževanje: kaj pričakujeta obratovanje in revizija

    Če aplikacija Delphi produktivno dostopa do MariaDB, povezava z bazo podatkov ne sme biti »nevidna«. Za administracijo in skladnost so pomembna sledljivost in minimalna površina za napad.

    Kaj morate na strani baze podatkov spremljati

    • Število povezav in vrhovi: korelira z menjavami izdaj, obremenitvijo terminalnega strežnika ali časovnimi okni opravil.
    • Slow Query Log: pokaže, kje se izgublja realni čas (ne le CPU, tudi zaklepi).
    • Čakalne dobe zaklepa: indikacije o konkurirajočih operacijah in manjkajočih indeksih.
    • Stanje replikacije (če se uporablja): zamude so pomembne za poročila in failover.

    Kaj bi morala aplikacija zagotoviti

    • Korelacijske ID: da se napake DB lahko povežejo s konkretnim funkcionalnim postopkom.
    • Tehnično beleženje s SQL-kontekstom (kateri primer uporabe, katera razred poizvedbe), vendar brez občutljivih vsebin v navadnem besedilu.
    • Transparentnost konfiguracije: katera različica gonilnika, katera TLS-politika, kateri naslov strežnika – za podporne primere odločilno.

    Cilj ni »več logov«, temveč uporaben log: hitro omejljiv, skladen z varstvom podatkov in uporaben za podporo druge stopnje.

    Varnost in hardening: praktični ukrepi, ki v Delphi-projektih pogosto manjkajo

    Stabilna povezava pomeni tudi: brez nepotrebnih površin za napad. Poleg TLS in minimalnih pravic imajo pomembno vlogo naslednje točke:

    • Ravnanje s skrivnostmi: gesel ne shranjujte v konfiguracijskih datotekah v navadnem besedilu brez zaščite. V Windows-okoljih lahko pomaga DPAPI/Protected Storage; v Linux so običajna RESTriktivna datotečna dovoljenja in secret-stores.
    • Zaščita pred SQL-injekcijo: dosledno uporabljajte parametre, tudi pri iskalnih maskah in dinamičnih filtrih.
    • Postopek popravkov: gonilniki/odjemalske knjižnice so del površine za napad. Verzovanje in uvajanje so enako pomembni kot popravki strežnika.
    • Segmentacija omrežja: strežniki baz podatkov naj ne bodo dostopni »za vse«, temveč le iz subnetov aplikacijskih strežnikov/odjemalcev.

    Za odločevalce je pomembno: varnost nastaja manj z enojnimi rešitvami in bolj s ponovljivim procesom (testiranje sprememb, kontrolirano uvajanje, nadzor).

    Kontrolni seznam: tako bo povezava MariaDB z FireDAC dolgoročno vzdržna

    Naslednji kontrolni seznam je namenoma formuliran obratovalno in je primeren kot osnova za prevzem projekta ali operativno dokumentacijo:

    1. Določena pot gonilnika (native Library ali ODBC) vključno s strategijo verzioniranja in posodabljanja.
    2. Konfiguracija externalizirana (okolja ločena, brez trdo kodiranih vrednosti, sledljivi privzeti nastavitve).
    3. TLS pravilno izveden (verifikacija aktivna, veriga certifikatov popolna, postopek obnove definiran).
    4. Strategija znakovnega nabora (utf8mb4, kolacije dokumentirane, migracija preverjena).
    5. Vloge in pravice v bazi (načelo najmanjših pravic, ločeni računi, rotacija načrtovana).
    6. Oblikovanje transakcij (jasne meje, kratka trajanja, definiran deadlock-handling).
    7. Monitoring/Logging (Slow Queries, čakanje na zaklep, korelacijske ID, skladno z varstvom podatkov).
    8. Model obremenitev in povezav (pooling, vzporednost, omejitve, scenariji terminalnih strežnikov/storitev).

    Zaključek: „Deluje“ ni dovolj – dobra povezava je operativna odločitev

    MariaDB se z Delphi in FireDAC lahko zanesljivo integrira, če je povezava obravnavana kot del celotne arhitekture: izbira gonilnika, TLS, nabori znakov, pravice, transakcije in nadzor morajo biti usklajeni. Kdor te točke zgodaj pravilno odloči in dokumentira, znatno zmanjša poznejša presenečenja pri obratovanju – zlasti v obstoječih, procesno povezanih poslovnih aplikacijah, kjer sta stabilnost in vzdrževnost pomembnejši od kratkoročnih začasnih rešitev.

    Če želite svojo povezavo z MariaDB v okviru modernizacije, BDE-zamenjava ali konsolidacije dostopa do podatkov strukturirati, se pogovorite z nami o vaših okvirnih pogojih in o najprimernejši poti migracije:

    V strokovnem okolju igrata tudi FireDAC Mariadb in Delphi Mariadb povezava pomembno vlogo, kadar morajo integracije, pretoki podatkov in nadaljnji razvoj brezhibno sodelovati.

    Pogovorite se o projektu ali modernizacijskem načrtu z Net-Base.

    naslednji korak

    Ko iz teme nastane resničen projekt, je treba arhitekturo, obstoječe sisteme in obratovanje zgodaj obravnavati skupaj.

    Ne podpiramo le pri posameznih vprašanjih, ampak tudi takrat, ko iz izrezkov izvorne kode, legacy-tem ali idej za portale nastane zanesljiv podjetniški projekt.

    • Obstoječe stanje, ciljno stanje in tehnična tveganja se ocenjujejo skupaj.
    • REST, dostop do podatkov, portali in Rollout ne bodo prestavljeni v kasnejše faze.
    • Že zgodaj vidite, katera pot je ekonomsko in operativno vzdržna.

    Deli objavo

    Deli ta prispevek neposredno

    LinkedIn, X, XING, Facebook, WhatsApp in e-pošta so takoj na voljo. Za Instagram pripravljamo povezavo in kratek tekst.

    E-pošta

    Instagram se odpre v novem zavihku. Povezava in kratek opis se pred tem kopirata v odložišče.