Net-Base Lehti

29.05.2026

BDE-korvaus: Näin modernisoitte Delphi-sovellukset ilman tietoon ja käyttöön liittyvää riskiä

Monet Delphi-sovellukset käyttävät yhä Borland Database Enginea (BDE) – ja maksavat siitä käyttöongelmilla, ajuriongelmilla, tietoturvariskeillä sekä alustan päivitysten estymisellä. Tämä artikkeli näyttää, miten BDE-korvaus suunnitellaan teknisesti huolellisesti: tietojen migraatio...

29.05.2026

Lehden aiheesta projektikäytäntöön

Artikkeliin liittyvät palvelu- ja tekniikkasivut

Monissa yrityksissä BDE-korvaaminen ei ole toivelistalla – mutta ennemmin tai myöhemmin se ilmestyy riskikartalle. Borland Database Engine (BDE) on historiallinen datan käyttökerros Delphi-sovelluksille, ja vakiintuneissa ympäristöissä se palvelee usein edelleen Paradox-tauluja tai vanhempia tietokantaliitäntöjä. Niin kauan kuin kaikki „jollain lailla toimii“, aihe vaikuttaa hallittavalta. Käytännössä usein ensin horjuvat kuitenkin käyttö, päivitykset ja rajapinnat: 64-bittiin siirtyminen, uudet Windows-versiot, modernit tietokannat, turvallisuusvaatimukset, Terminalserver/VDI tai yksinkertaisesti tarve vakaaseen ja jäljitettävään ylläpitoon.

Tässä katsauksessa selkeytetään, millä realistisilla kohtaloseikoilla BDE-pohjainen sovellus nykytilassa epäonnistuu, miten korvaaminen kannattaa suunnitella siten että tiedot, rajapinnat ja prosessit toimivat siirtymästä huolimatta, ja mitkä migraatiopolut ovat käytännössä osoittautuneet toimiviksi. Painopiste ei ole „koodin kosmeettisessa“ muutoksessa, vaan käyttöturvallisuudessa, datan laadussa, ylläpidettävyydessä ja mahdollisuudessa modernisoida sovellusta vaiheittain – ilman tarpeetonta Big-Bangia.

Miksi BDE muodostuu tuotannossa ongelmaksi

BDE ei ole pelkästään „vanha“, vaan se ei useissa suhteissa enää vastaa nykyisiä IT-standardeja. Tämä ei yleensä näy yhdessä suuressa räjähdyksessä, vaan monissa pienissä kitkahäviöissä, jotka syövät IT-tiimien aikaa ja lisäävät riskejä.

Tekniset ja organisatoriset oireet

  • Epäluotettavat tai vaikeasti ylläpidettävät asiakasasennukset: BDE-konfiguraatio, alias-hallinta, polut, kirjoitusoikeudet ja riippuvuudet eivät usein ole siististi paketoitavissa. Terminalserver- tai VDI-ympäristöissä nämä ongelmat eskaloituvat nopeasti.
  • Ajurien ja yhteensopivuuden rajat: Modernit tietokannat ja turvallisuuskonfiguraatiot (esim. TLS-standardit, tunnistusmenetelmät) eivät enää muotoudu luotettavasti BDE-yhteyksillä.
  • 32-/64-bittiset konfliktit: Monet yritykset haluavat perustellusti ottaa käyttöön 64-bittiset clientit, uudet Office-versiot, ajan tasalla olevat tulostus-/PDF-komponentit tai ARM64-laitteet. Tässä BDE muodostuu pullonkaulaksi.
  • Tietoturva ja koventaminen: Vanhat datapolut, paikalliset tiedostot, epäselvät oikeusvaatimukset, puuttuvat salaus- tai auditointiominaisuudet eivät sovi nykyisiin turvallisuus- ja vaatimustenmukaisuusodotuksiin.
  • Rajapintojen tulevaisuuden puute: Kun vaaditaan API:t (REST), keskitetty identiteetinhallinta (esim. SAML 2.0 Single Sign-on -standardina) tai palvelupohjainen integraatio, BDE-ydin toimii ankkurina legacy-asiakkaassa.

Oleellista: Eine BDE-korvaaminen harvoin on „vain“ kirjaston vaihto. Se koskettaa tietomalleja, transaktioita, lukituksia (lukituskäyttäytyminen), rinnakkaisuutta, virheenkäsittelyä, deployointeja ja usein myös oikeusmallia.

BDE-korvaamisen realistinen luokittelu: Mitä tarkalleen ottaen korvataan?

Käynnissä olevissa sovelluksissa termi „BDE“ on yleensä yläkäsite. Luotettavaa suunnittelua varten täytyy olla selvää, mitä rooleja BDE toteuttaa kyseisessä järjestelmässä:

  • Tietokantakäyttökerros: datasettien, kyselyiden, Stored Procedure -kutsujen, kursoreiden käyttäytymisen ja parametrien sitomisen hallinta.
  • Ajuri-/yhteyskerros: Liitettävyys Paradox, dBASE, InterBase/Firebird tai myös SQL Server/Oracle vanhempien ohjaimien kautta.
  • Konfiguraatio: BDE-Administrator, Aliases, NetDir, paikalliset polut, jaetut hakemistot.
  • Semantiikka: Miten lukitus tapahtuu? Miten päivämäärä- ja lukumuodot tulkitaan? Mitä kenttätyyppejä ja indeksejä on historiallisesti käytetty?

IT-johtamisen ja ylläpidon kannalta tämä selvennys on ero „pienen päivityksen“ ja rakenteellisen modernisointihankkeen välillä. Vasta tämän jälkeen voidaan päättää, riittääkö pelkkä tietojen käyttökerroksen modernisointi vai onko samalla tarpeen toteuttaa tietokantamigraatio tai arkkitehtuurin järjestelyt.

Kohdearkkitehtuurit BDE-jälkeen: tyypilliset polut

Ei ole yhtä ainoaa korvaajaa. Käytännössä on vakiintunut kolme polkua, joita voidaan myös yhdistellä:

1) Suora siirtymä kohteeseen FireDAC olemassa olevan tietokannan kanssa

BDE-Ablösung mit nativer Anbindung on moderni tietokantakäyttökirjasto Delphi:lle, joka tukee useita tietokantoja ja ajureita ja on arkipäiväisessä käytössä merkittävästi automaattisempi kuin BDE-konfiguraatiot. Tämä polku sopii, jos tietokanta itsessään on kestävä ja keskeinen riski on vanhassa käyttökerroksessa. On tärkeää testata huolellisesti yhteysparametrit, transaktiot ja tyyppien kartoitukset (esim. String/Unicode, Päivämäärä/Aika).

2) Migraatio Paradox-/tiedostopohjaisesta asiakas-palvelin-malliin (PostgreSQL, SQL Server, MariaDB)

Jos käytössä on vielä Paradox-tauluja tai muita tiedostopohjaisia rakenteita, BDE-Ablösung on usein oikea hetki siirtyä keskitettyyn tietokantaan. Asiakas-palvelin tarkoittaa tässä: transaktiot turvataan palvelinpuolella, varmuuskopiot hallitaan keskitetysti, käyttöoikeudet määritellään tietokantatasolla ja samanaikaiset haut voidaan hallita kontrolloidummin. Käytön ja turvallisuuden kannalta tämä on yleensä suurin vaikuttava tekijä.

3) Eriyttäminen palveluilla: REST-API ennen nykylogiikkaa

Senen sijaan, että client muunnettaisiin heti kokonaan, voi REST-palvelu (REST tarkoittaa „Representational State Transfer“, yleinen tyyli HTTP-pohjaisille rajapinnoille) toimia integraatiokerroksena. Tällä tavalla portailit, ulkoiset järjestelmät tai uudet moduulit voidaan liittää ilman, että jokainen kutsu tulee suoraan legacy-clientistä. Tämä polku on erityisen hyödyllinen, kun sovellusta halutaan kasvattaa vaiheittain modulaariseen arkkitehtuuriin.

Ennakkotyö, joka ratkaisee menestyksen tai jumiutumisen

BDE-Ablösung epäonnistuu harvoin teknisten rajoitteiden vuoksi, useammin syynä on puuttuva läpinäkyvyys tiedoissa ja prosesseissa. Seuraavat ennakkotoimet vähentävät projekti- ja käyttöön liittyvää riskiä tuntuvasti.

Tilannekartoitus: tiedot, toiminnot, käyttö

  • Tietoinventaario: Mitkä taulut, tiedostot, indeksit, viitteet ja erityiskentät ovat olemassa? Kuinka suuret tietovarannot ovat, kuinka nopeasti ne kasvavat ja missä ne sijaitsevat nykyisin?
  • Transaktiorajat: Missä liiketoimintaprosessi odottaa „kaikki tai ei mitään“? Missä on toistaiseksi toimittu hiljaisesti osittaisten päivitysten varassa?
  • Batch- ja sivuprosessit: Import/Export, raportointi, PDF-tuotannot, yölliset ajot, rajapintatehtävät. Nämä osat ovat migraatioissa usein todellisia vikatilanteiden lähteitä.
  • Käyttöympäristökuva: Miten asennus/levitys tapahtuu (MSI, Copy-Deploy, ohjelmistonjakelu)? Mitä oikeuksia asiakaslaitteissa vaaditaan? Mitä lokitiedostoja on olemassa? Miten tuki järjestetään?

Tässä vaiheessa kannattaa tietoisesti ottaa mukaan ylläpidon osaaminen: „Mitä tapahtuu, kun client vaihtuu?“, „Miten reagoimme vioittuneisiin tietoihin?“, „Kuinka kauan palautus kestää?“ – nämä ovat kysymykset, jotka myöhemmin määrittävät rolloutin.

Tietojen laatu ja implisiittisten sääntöjen näkyväksi tekeminen

Erityisesti Paradox- tai historiallisesti kehittyneissä tietomalleissa monet säännöt ovat implisiittisiä: arvoalueet, erikoiskoodit, „tyhjät“ kentät merkityksen kantajina tai viitteet ilman todellisia vierasavaimia. Siirryttäessä PostgreSQL/SQL Server/MariaDB-ympäristöön on päätettävä, mitkä säännöt teknisesti pakotetaan (constraints) ja mitkä aluksi vain validoidaan (esim. tarkistustöiden kautta). Tämä päätös ei ole akateeminen: liian tiukat säännöt voivat estää tuotantotuonnin, liian löysät säännöt säilyttävät virheitä pitkällä aikavälillä.

Tekniset ydinkysymykset BDE-korvaamisessa

Päätöksentekijöille „tietojen käytön vaihtaminen“ vaikuttaa usein suoraviivaiselta. Käytännössä on kuitenkin useita teknisiä säätöjä, jotka vaikuttavat suoraan käyttöön, vakauteen ja tukityön määrään.

Tietotyypit, Unicode ja lajittelu

Monet legacy-sovellukset kantavat mukanaan ANSI-ajalta periytyviä kuormia. Modernisoinnin yhteydessä merkistö, lajittelujärjestys (collation), iso-/pienkirjainten käsittely ja erikoismerkit (umlautit, ß) on määriteltävä yksiselitteisesti. Muuten syntyy „aavemaisia“ virheitä: haut antavat erilaisia tuloksia, kaksoiskappaleita syntyy, vienti poikkeaa. Siksi Unicode-migraatio on usein osa korvausprojektia – ei välttämättä Big Bang -tyyppisenä, mutta tietoisesti suunniteltuna vaiheena.

Transaktiot ja lukituskäyttäytyminen (Locking)

Tiedostopohjainen tietovarastointi toimii eri tavalla kuin client-server-malli. SQL-tietokannoissa rinnakkaisuutta määrittävät isolaatioasteet, rivilukitukset ja deadlock-käsittely. Käytännössä tämä tarkoittaa, että on tiedettävä, mitkä toiminnot kestävät pitkään, mitkä taulut ovat „hotspotteja“ ja missä kohtaa auttavat sopivat indeksit, lyhyemmät transaktiot tai optimoidut kyselyt. Tässä puhdas monitorointi maksaa itsensä takaisin sen sijaan, että tyytyisit vain tuntemukseen „tuntuu hitaalta“.

Virhekuviot: asiakasohjelman dialogista kontrolloituun lokitukseen

Monet vanhat sovellukset ilmoittavat tietokantavirheet suoraan dialogissa tai tuottavat vain vähän hyödynnettäviä viestejä. BDE-korvaamisen jälkeen virheiden tulee olla keskitetysti jäljitettävissä: mikä kysely, mikä käyttäjä, mikä toiminto, mikä tietokantaviesti? Ylläpidon kannalta ratkaisevaa on, että virheet voidaan rajata toistettavasti ilman yksittäisten clientien „kikkailua“. Palvelupohjaisissa osissa käytetään lisäksi rakenteisia lokeja (esim. JSON) ja korrelaatio-ID:itä pyyntöjen seuraamiseksi komponenttien yli.

Deployment ja konfigurointi: pois aliasien holtittomasta kasvusta

Usein tavoite on yhtenäistää konfiguraatio: yhteysasetukset eivät enää per clientia BDE-ylläpitäjässä, vaan keskitetysti tai ainakin standardoituna konfiguraatiotiedostojen/rekisterimerkintöjen kautta, jotka asetetaan ohjelmistojakelulla. Terminal-palvelimilla tämä on erityisen tärkeää. Myös sertifikaatit, TLS-parametrit ja proxy-aiheiset asetukset eivät saa pysyä „käsityönä“ hoidettuina.

Migrointistrategia: vaiheittain Big Bangin sijaan

Korvaaminen voidaan tehdä vaiheittain. Se vähentää käyttökatkon riskiä ja mahdollistaa varhaiset parannukset tuotantoympäristössä samalla kun sovellusta käytetään edelleen.

Vaihe 1: Vakaa tietojen käyttö vaihtokelpoisena kerroksena

Monissa Delphi-sovelluksissa datan käyttö on hajautettu käyttöliittymän läpi. Käytännöllinen välivaihe on selkeästi eriytetty datan käyttökerros (usein kutsutaan „Layer“:iksi; Layer-3-arkkitehtuurissa käyttöliittymä, liiketoimintalogiikka ja datan käyttö erotetaan). Tavoitteena ei ole akateeminen puhtaus, vaan ylläpidettävyys: kun kaikki tietokantakutsut kulkevat muutaman pisteen kautta, ajureita, parametreja ja transaktioiden käsittelyä voidaan muuttaa johdonmukaisesti.

Etappi 2: Rinnakkainen käyttö ja vertailutestit

Erityisesti tietomigraatioissa rinnakkainen käyttö on erittäin arvokas: määritelty tietomäärä siirretään uuteen tietokantaan, keskeiset käyttötapaukset testataan molempia järjestelmiä vastaan ja poikkeamat analysoidaan systemaattisesti. On tärkeää, ettei testejä supisteta pelkkään „lomakkeen avaamiseen“, vaan mukaan otetaan myös sivuprosessit: Import/Export, raportointi, eräajot, tulostus/PDF ja käyttöoikeustestit.

Etappi 3: Cutover ja palautusstrategia

Umschaltpunkt (Cutover) tulee suunnitella käytännönläheisesti: huoltoikkuna, datan jäädytys, määritellyt tarkistuslistat, valvonta ja selkeä „Rollback“-skenaario. Rollback ei tarkoita mielivaltaista edestakaista vaihtelua, vaan sitä, että ongelmatilanteessa palaudutaan järjestelmällisesti työkyvyksi. Tähän kuuluvat varmuuskopiot, palautustestit ja suunnitelma, miten palautuksen jälkeen varmistetaan tietojen konsistenssi.

Tietokantamigraatio yksityiskohtaisesti: mitä IT:n ja operoinnin tulisi huomioida

Kun BDE-korvaus Paradoxista tai muista tiedostopohjaisista rakenteista keskitetyllä SQL-tietokannalla toteutetaan, IT-tiimit kohtaavat useita päätöksiä, jotka myöhemmin muovaavat käyttökustannuksia ja tukea.

Skeeman suunnittelu: 1:1 siirto vai kohdennettu parannus?

1:1-siirto vähentää lyhyen aikavälin riskiä, mutta säilyttää usein heikkouksia: puuttuvat ensisijaiset avaimet, epäyhtenäiset tietotyypit, „Semantik in Strings“, historiallisen kehityksen mukaiset kenttäpituudet. Realistinen lähestymistapa on kaksivaiheinen: ensin vakaa migraatio (minimaaliset muutokset), sitten kontrolloidut konsolidointiaskeleet. Tätä varten tarvitaan skeeman versiointi (migraatiot), jotta muutokset voidaan ottaa käyttöön jäljitettävästi.

Suorituskyky: indeksit ja tyypilliset kyselyt pitää arvioida varhain

Paradox- ja BDE-tyypilliset käyttökuviot eivät yleensä sovi 1:1 SQL:ään. Oleellista on mitata varhain tärkeimmät käyttötapaukset: hakulomakkeet, listaukset, kirjaukset ja eräajot. Näistä seuraavat indeksit, kyselyoptimoinnit ja tarvittaessa materialisoidut näkymät. Ylläpidolle on tärkeää, että suorituskyky ei synny „sattumalta“, vaan mittaustulosten ja dokumentoitujen toimenpiteiden kautta.

Varmuuskopiointi/palautus ja korkea saatavuus

Keskitetyn tietokannan myötä pelisäännöt muuttuvat: varmuuskopioiden on oltava konsistentteja, säännöllisesti testattuja ja nopeasti palautettavissa. Palautustestit eivät ole ylellisyyttä, vaan perusta luotettaville RTO/RPO-tavoitteille (RTO = aika palautumiseen, RPO = maksimihäviö ajassa mitattuna). Kritiikalisuuden mukaan käytetään replikaatiota, standby-instansseja tai selkeästi sovittuja huoltoikkunoita. BDE-korvaus on hyvä hetki määritellä nämä operointi- ja ylläpitovaatimukset kunnolla.

Rajapinnat ja integraatio: usein aliarvostettu osa

Monet olemassa olevat sovellukset eivät toimi eristyksissä. Ne syöttävät DMS:ää, kytkeytyvät ERP:iin, toimittavat dataa BI/raportointiin tai kommunikoivat koneiden ja työkalujen kanssa. BDE-korvauksen yhteydessä rajapinnat harvoin muuttuvat toiminnallisesti, mutta teknisesti muutos on todennäköinen.

Importin/Exportin vakauttaminen

Tyypillisiä virhelähteitä ovat kiinteät polut, paikalliset asemat, Excel‑muodot, CSV‑enkoodaus ja puuttuva validointi. Modernisoinnissa kannattaa käsitellä tuonti/vienti määriteltynä, testattavana toimintona: selkeä formaattikuvaus, lokitus, virhelistat, uudelleenkäynnistettävyys. Se vähentää tukitapauksia merkittävästi, koska virheet eivät enää „hiljaa“ päästä läpi.

REST-APIs als Integrationsanker

Kun uusia järjestelmiä aiotaan kytkeä, on REST-API usein pragmaattinen reitti. Tärkeitä ovat eivät ainoastaan päätepisteet vaan myös käyttöön liittyvät näkökohdat: autentikointi (esim. Token), pyyntörajoitukset, lokitus, API:n versionhallinta ja konsepti rikkoville muutoksille (Breaking Changes). API, joka otetaan käyttöön ilman versionointia, aiheuttaa myöhemmin tarpeettomia riippuvuuksia.

Turvallisuus ja käyttöoikeudet korvaamisen jälkeen

BDE-jakson päättyessä syntyy mahdollisuus tehdä käyttöoikeuksista yhtenäisempiä. Legacy-järjestelmissä oikeudet toteutetaan usein osittain sovelluksen sisällä, osittain „tiedostopolkujen kautta“. Modernit tavoitetilat erottelevat selkeästi:

  • Autentikointi: Kuka on käyttäjä? (esim. Windows/AD, SSO SAML 2.0:n kautta)
  • Autorisointi: Mitä hän saa sovelluksessa tehdä? (roolit, oikeudet, monivuokraisuus)
  • Tietokantaoikeudet: Sovelluksen pääsy tapahtuu teknisten DB‑käyttäjien kautta, ei loppukäyttäjätilien; sensitiiviset admin‑toiminnot ovat eriytettyjä.
  • Audit ja jäljitettävyys: Tärkeät muutokset tulee kirjata (kuka, mitä, milloin), niin etteivät kaikki yksityiskohdat „hukku“ lokitiedostoihin.

IT‑johdolle olennainen asia: turvallisuus ei synny „enemmän dialogeista“, vaan selkeistä vastuista ja tarkastettavista säännöistä. Juuri tämä mahdollistuu usein ensimmäistä kertaa rakenteellisessa BDE-korvaamisessa.

Testi- ja käyttöönotto‑suunnitelma: mikä käytännössä todella merkitsee

Modernisoinneissa testattavuus on käyttöönottokriteeri. Mitä vähemmän toistettavissa, sitä suurempi tukityö. Pragmaattinen käyttöönotto‑suunnitelma yhdistää tekniset ja organisatoriset toimenpiteet.

Testityypit, jotka kannattaa suunnitella

  • Ydintoimintojen regressiotestit: kirjaukset, perustiedot, haku, raportit, tulostus/PDF.
  • Datan validointi: otantatarkastukset ja automaattiset tarkistukset (määrät, summat, viitteet, duplikaatit).
  • Kuormitus-/suorituskykytestit: ei benchmarkina, vaan todellisten huippukuormien ja eräajojen mukaan.
  • Käyttötestit: asennus, päivitys, rollback, lokien kierto, varmuuskopiointi/palautus, monitorointi‑eventit.

Pilotoiminen ja porrastettu käyttöönotto

Pilotti selkeästi rajatuilla käyttäjäryhmillä ja määritellyillä tukareiteillä vähentää riskiä. Tärkeää on kerätä palaute rakenteellisesti: mitkä virheet ovat todellisia vikoja, mitkä johtuvat käyttäytymismuutoksista kuten lajittelusta/Unicodesta, mitkä ovat prosessikysymyksiä? Selkeä tiketti‑ ja priorisointiprosessi estää projektia jumiutumasta „kaikki on yhtä tärkeää“ ‑tilaan.

Milloin BDE-korvaaminen kannattaa erityisesti – ja milloin tarvitaan laajempia toimenpiteitä?

On selkeitä laukaisijoita, joissa vitkastelu on kalliimpaa kuin toiminta:

  • Suunniteltu 64‑bittinen siirtymä tai uudet Windows‑sukupolvet asiakasympäristössä
  • Toistuvat tukitapaukset johtuen client‑asennuksista, poluista, käyttöoikeuksista tai terminaalipalvelinympäristöistä
  • Tarve keskitetylle tietovarastolle, luotettavalle varmuuskopioinnille/palautukselle ja jäljitettäville auditoinneille
  • Uudet vaatimukset rajapinnoille (portaalit, BI, ulkoiset kumppanit) ja tietoturvalle

Joskus BDE-korvaus on kuitenkin vain ensimmäinen askel: jos samanaikaisesti UI/UX, prosessilogiikka tai käyttöoikeusmalli on uudistettava perusteellisesti, hanke kannattaa suunnitella modulaarisesti. „Kaikki kerralla“ vaikuttaa toki tehokkaalta, mutta johtaa monissa yrityksissä pitkiin jäädytysjaksoihin ja vaikeasti testattaviin välitiloihin. Parempi on tiekartta, joka tekee käyttöönoton edut näkyviksi varhain: vakaa pääsy tietoihin, keskitetty tietokanta, paremmat lokit, ja sen jälkeen vaiheittainen jatkomodernisointi (esim. portaalit tai palvelut).

Yhteenveto: BDE-korvaus hallittuna modernisointipolkuna

BDE-korvaus on enemmän kuin tekninen refaktorointi. Oikein suunniteltuna se on hallittu askel kohti helpommin ylläpidettävää liiketoimintaohjelmistoa: standardisoidut käyttöönotot, jäljitettävä tietojenhallinta, selkeämmät rajapinnat, parempi turvallisuus- ja auditointikyky sekä mahdollisuus liittää moderneja arkkitehtuurikomponentteja kuten REST-palveluita tai portaaliratkaisuja. Avain on luotettavassa nykytilan kartoituksessa, vaiheittaisessa migraatiostrategiassa ja käyttöönotossa, joka ottaa käytön ja datan laadun yhtä vakavasti kuin toiminnallisuuden.

Jos haluatte arvioida korvauksenne jäsennellysti ja määrittää realistisen migraatiopolun, ottakaa yhteyttä meihin:

Ammattillisessa kontekstissa myös Borland Database Enginein korvaaminen ja Delphi modernisointi näyttelevät tärkeää roolia, kun integraatioiden, datavirtojen ja jatkokehityksen on toimittava saumattomasti yhdessä.

Keskustelkaa projektista tai modernisointihankkeesta yhdessä Net-Base kanssa.

Seuraava vaihe

Kun aiheesta muodostuu todellinen projekti, arkkitehtuuri, nykytila ja operointi on tarkasteltava yhdessä varhaisessa vaiheessa.

Emme tue pelkästään yksittäiskysymyksissä, vaan myös silloin, kun lähdekoodipalasista, legacy-aiheista tai portaali-ideoista halutaan muodostaa luotettava yrityshanke.

  • Nykytila, tavoitetila ja tekniset riskit arvioidaan yhdessä.
  • REST, tietojen käyttö, portaalit ja käyttöönotto eivät siirry myöhempään vaiheeseen.
  • Näette ajoissa, mikä vaihtoehto on taloudellisesti ja operatiivisesti kannattava.

Jaa artikkeli

Jaa tämä viesti suoraan

LinkedIn, X, XING, Facebook, WhatsApp ja sähköposti ovat välittömästi saatavilla. Instagramia varten valmistelemme linkin ja lyhyen tekstin.

Sähköposti

Instagram avautuu uuteen välilehteen. Linkki ja lyhyt teksti kopioidaan ensin leikepöydälle.