Overstappen van Windows- naar multi-platform variant van Data Hub

Go to English version

Twee varianten

Er zijn twee verschillende varianten in omloop met de naam “Invantive Data Hub”:

  • Invantive Data Hub: alleen voor gebruik met het .net Framework v4.8 op Microsoft Windows.
  • Invantive Data Hub Multi-platform: voor gebruik op Windows, Linux en MacOS met .net core v6.0.

De Windows-variant van Invantive Data Hub wordt uit historische overwegingen het meest gebruikt.

Dit artikel beschrijft de verschillen en hoe een overstap gemaakt kan worden.

Beide varianten van Invantive Data Hub worden actief verder ontwikkeld en gelijktijdig uitgebracht.

Ontbrekende Functionaliteit Windows-variant

De Windows-variant is vrijwel geheel compatibel qua scripts en werking met de multi-platform-variant.

De Windows-variant mist één specifieke functionaliteit die in de multi-platform variant wel aanwezig per 12 juni 2023:

  • Compatibiliteit met One Exact Identity voor Exact Online

Zie Invantive Data Hub, Valuta Tools, Get My Report en One Exact Identity op Exact Online.

Ontbrekende Functionaliteit Multi-platform variant

De multi-platform variant is vrijwel geheel compatibel qua scripts en werking met de Windows-variant.

Echter, de volgende drivers zijn niet beschikbaar:

  • AccountView
  • IBM DB/2 UDB
  • LDAP
  • Microsoft ODBC
  • Microsoft Outlook
  • unmanaged Oracle (Pro*C)
  • Invantive Web Service

De unmanaged Oracle-driver kan vervangen worden door de managed versies; verander “Oracle” hiervoor in “OracleManaged” in settings*.xml. De managed versies hebben geen bulk insert en ondersteunen Oracle’s XML data type XMLType momenteel niet.

Keuzes bij Ontbrekende Functionaliteit

Het komt voor dat het ontbreken van ondersteuning voor One Exact Identity leidt tot een wens om over te stappen op de multi-platform-variant, maar dat het ontbreken van drivers tot onoverkomelijke problemen leidt.

Als alternatief kan in dit scenario ook door een ontwerper geadviseerd worden om een “proxy” te gebruiken. Bijvoorbeeld bij een database die zowel een verbinding via ODBC bevat naar een niet-meer ondersteunde SQL Server als naar Exact Online om in twee richtingen gegevens uit te wisselen, zijn de volgende drie oplossingsrichtingen met proxies denkbaar:

  • vervang ODBC-datacontainer door verbinding naar Invantive Web Service met ODBC;
  • vervang Exact Online-datacontainer door (read-only) OData4-verbinding met Invantive Bridge Online;
  • vervang Exact Online-datacontainer door eigen API-verbinding met Invantive App Online.

Overstappen

Om van de Windows-variant van Invantive Data Hub over te stappen op de multi-platform variant dienen de volgende stappen uitgevoerd te worden:

  • Installeer Microsoft .net core 6, bijvoorbeeld door de x64-Windows installer van .NET Runtime 6.0.16 te downloaden en te installeren vanaf Download .NET 6.0 (Linux, macOS, and Windows).
  • Download de Windows-versie van Invantive Data Hub Multi-platform vanaf https://download.invantive.com.
  • Kies een map voor de installatie, bijvoorbeeld “C:\Program Files (x86)\Invantive Software BV\Invantive Data Hub net6 22.0”
  • Pak het ZIP-bestand uit in deze map.
  • Controleer dat er een Invantive.Producer.Data.Hub.exe-bestand in de map staat.
  • Open gebruikt batchbestand(en) in een editor.
  • Indien de standaardformaat gebruikt wordt, commentarieer dan de volgende regel uit:
set INVANTIVE_PRG=C:\Program Files (x86)\Invantive Software BV\Invantive Data Hub 22.0\Invantive.Producer.QueryEngine.exe
  • Indien de standaardformaat gebruikt wordt, voeg dan de volgende regel toe:
set INVANTIVE_PRG=C:\Program Files (x86)\Invantive Software BV\Invantive Data Hub net6 22.0\Invantive.Producer.Data.Hub.exe
  • Controleer de juiste werking van de batchjob(s).

Een resulterende batchjob onder Windows ziet er dan bijvoorbeeld zo uit:

set INVANTIVE_LICENSE_KEY=lhG...licensekey...

set INVANTIVE_TRACE_FOLDER=c:\trace\cs

set INVANTIVE_CONFIGURATION_DATABASES_FOLDER=c:\jobs\cfg

set INVANTIVE_CONFIGURATION_FOLDER=c:\jobs\cfg

rem set INVANTIVE_PRG=C:\Program Files (x86)\Invantive Software BV\Invantive Data Hub 22.0\Invantive.Producer.QueryEngine.exe

set INVANTIVE_PRG=C:\Program Files (x86)\Invantive Software BV\Invantive Data Hub net6 22.0\Invantive.Producer.Data.Hub.exe

set INVANTIVE_CONN=GROUP\DATABASE

set INVANTIVE_SQL_FILE=c:\jobs\sql\acme-actual-job0600.sql

set INVANTIVE_LOG_FILE=c:\jobs\log\cs\acme-actual-job0600-%%Y%%m.log

set INVANTIVE_LOG_FILE_OVERWRITE=False

set INVANTIVE_INTERACTIVE=False

"%INVANTIVE_PRG%" /verbose /database:"%INVANTIVE_CONN%" /file:"%INVANTIVE_SQL_FILE%" /logfile:"%INVANTIVE_LOG_FILE%" /logoverwrite:"%INVANTIVE_LOG_FILE_OVERWRITE%" /interactive:%INVANTIVE_INTERACTIVE% /licensekey:%INVANTIVE_LICENSE_KEY%

IF %ERRORLEVEL% NEQ 0 (
  echo Failed Data Hub job with exit code %ERRORLEVEL%.
  exit /b %ERRORLEVEL%
)

echo Completed Data Hub job with exit code %ERRORLEVEL%.

Meestal wordt deze job t.b.v. dekkende logging aangeroepen door een ander batchscript dat vanuit de Windows Taakplanner gestart wordt:

@echo on
rem Run at 06:00 UTC.

set LOGFILE=c:\jobs\log\cs\acme-main-job0600-%date:~10,4%%date:~4,2%.log

echo *** >>%LOGFILE% 2>&1
echo *** Start acme-actual-job0600.bat %DATE% %TIME% *** >>%LOGFILE% 2>&1
echo *** >>%LOGFILE% 2>&1

call c:\jobs\batch\acme-actual-0600.bat >>%LOGFILE% 2>&1

IF %ERRORLEVEL% NEQ 0 (
  echo *** Fail acme-actual-job0600.bat %DATE% %TIME% *** >>%LOGFILE% 2>&1
  exit /b %ERRORLEVEL%
)

echo *** End acme-main-job0600.bat %DATE% %TIME% *** >>%LOGFILE% 2>&1