Installatie en functioneren van de McdServerService

0000002291     -      16-07-2021

McdServerService is de opvolger van de McdServer. De service is gekend om zijn samenwerking met versie 8.4 van MCD, MFD DIST en SOS. Vergeleken met zijn voorganger, brengt de McdServerService tal van verbeteringen, namelijk:

  • Zoals de naam al doet vermoeden, gaat het over een service. Hij kan zelfs werken indien er geen enkele sessie geopend is op de server waar deze wordt uitgevoerd.
  • Het omvat een TCP server en vereist dus niet langer een andere server voor ondersteunende communicatie. En ook een FTP-server is niet meer nodig.
  • Aangezien de McdServer niet is opgebouwd op basis van bestandsuitwisseling (over, mcd, zip,...), maar steunt op een echte TCP-communicatie, is de reactiesnelheid van het systeem veel hoger. Dit resulteert dan ook in een snellere uitwisseling.
  • Het vereist enkel een openstaande TCP-poort. Dit vergemakkelijkt de configuratie van routers en firewalls die overbrugd moeten worden.
  • Het werkt in multi-thread: het is dus in staat om gelijktijdig meerdere locaties op afstand te bedienen. Dit maakt het mogelijk om stateless functies te gebruiken, en vereist dus niet langer het session-concept.
  • Het is volledig bi-directioneel en symmetrisch: alles wat kan worden ingevoerd, kan men exporteren en vice versa. Zo kan de McdServer op beide locaties geïnstalleerd en gesynchroniseerd worden.
  • Het maakt gegevensuitwisseling mogelijk in alle informatiebestanden.
  • Het is mogelijk om een customizer MCD-client toe te voegen, die het mogelijk maakt om SQL-queries te wijzigen zowel op clientside als serverside. Zie dit voorbeeld.
  • Dit maakt een uitwisseling van SQL-bestanden mogelijk
  • De nieuwe optie "Uitwisselingen centrale \ Kas bewegingen" laat ons toe om te bepalen of de overdracht van registraties van HISCAISSE (kassahistorieken) moet ... (Op JA zetten in SOS-configuratie; ID = MCD_TCAISS)

Het is niet mogelijk om de McdServerService te gebruiken met inter-sites communicatiefunctionaliteiten die niet zijn opgenomen in Aruba of Majuro. Zelfs de functionaliteiten van Aruba en Majuro kunnen niet meer communiceren met de oudere versie van McdServer.

De nieuwe McdServer is niet compatibel met de serienummers van niveau 3. Het ontwikkelingsteam vond het onredelijk om een nauwkeurige pool beschikbare serienummers te hebben op meerdere sites met een niet-permanente gegevensuitwisseling.

Installatie van de McdServerService

De setup begint met de installatie:

  • McdServerService.exe: Server die in de diensten van uw lokale configuratie zal worden overgenomen
  • McdServerGui.exeBeheersapplicatie die automatisch opstart bij het opstarten van Windows en die zichtbaar zal zijn in de systray.
  • McdServerService.ini configuratiebestand die ons toelaat om volgende service-parameters te wijzigen:
    • Port: de te gebruiken TCP-poort
    • Rep_data: het pad naar de data directory van Mercator waaraan de service gekoppeld moet worden. (Waarschuwing: breng niet toegewezen pools in kaart, want een service kan geen niet-toegewezen pools zien.
    • secur_string: een persoonlijke string die zal gebruikt woorden voor de encryptie en beveiliging van communicatie.
Na het wijzigen van het .ini-bestand, is het nodig om de service te herstarten. Dit kan via een simpele rechtsklik op het icoon van de McdServerGui in de systray.
 
McdServerGui laat ons toe om lopende activiteiten op de McdServerService te visualiseren, starten en stoppen. De activiteiten van McdServerService worden ook gelogged in de dagboekbestanden die ze bevinden in de subdirectory Log. Deze fiches kunnen bekeken worden met Notepad.
 
Indien het Mercator dossier zich op een andere server bevind, is het noodzakelijk dat de user waarop de McdServerService draait voldoende rechten heeft om de data en de SQL-server te kunnen bereiken. Dit kan gedaan worden via administrative tools. Het volstaat om een account met voldoende rechten aan te geven op het tabblad "Verbinding". Hierna moet je de service herstarten.
 
Indien men wenst om de McdServerService activiteiten in real time te visualiseren in "console"-mode, volstaat het om volgende procedure als volgt uit te voeren:
  • De service McdServerService stoppen (indien deze actief is). Dit kan eenvoudig gedaan worden via McdServerGui die zich bevind in de systray.
  • McdServerService.exe herstarten en -console meegeven als parameter.
  • Opgelet: na het sluiten van de applicatie, zijn de functionaliteiten van McdServerService niet verzekerd. In dit geval moet men de service manueel herstarten.

Indien men niet wil dat McdServerGui automatisch gestart wordt bij het opstarten van Windows volstaat het om de sleutel in het register HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run te wijzigen en de McdServerGui-string te verwijderen.

Configuratie van Mercator

De opties zijn definieerbaar via "Tools \ Opties \ Uitwisselingencentrale":

  • Host McdServerService: duidt het ip-adres (publiek) aan of de hostnaam die gebruikt wordt om te wachten op de McdServerService, devolgd door : en de poort. Bijvoorbeeld:
    • 88.195.65.10:5060
    • adsl.mercator.be:5060
  • Secur keten. McdServerService: dezelfde waarde als de waarde van de secur_string in het .ini-bestand (zie boven)
  • Time-out "remote": het maximum aantal seconden wachttijd voor een antwoord van de McdServerService
  • Sens uitwisselingsdocumenten:
    • OUT (standaard): documenten worden geëxporteerd en beschikbare kunnen worden geïmporteerd.
    • IN: de documenten zijn geïmporteerd en beschikbare kunnen worden geëxporteerd.

Betreffende de laatste optie moet men goed weten dat deze niet systematisch kan gewijzigd worden na het heen en weer transfereren van documenten.

Noties van time-outs:

In tegenstelling tot de Legacy-versie, is McdServerService niet afhankelijk van andere servers (FTP-server) en bevat niet langer de term "sessie". Dit vermindert drastisch het aantal time-outs. Er blijven er 3 over.

  • Client-side:
    • Time-out "remote": het gaat over de wachttijd in seconden voor de client TCP. Dit is het interval waarvan, na het verzenden van een TCP-query, Mercator wacht op het antwoord. Deze periode is dus ten minste gelijk aan de grootste som van de upload tijd + de SQL-uitvoeringstijd van de applicatie op de McdServer.
    • Time-out (sec.) SQL Server (Aruba commando's): wachttijd voor een SQL-uitvoering in Mercator. (Deze timeout is niet gelimiteerd tot het aantal centrale-uitwisselingen, maar wordt in heel Mercator gebruikt) Deze periode moet ten minste gelijk zijn aan de grootste uitvoeringstijd van een update of een SQL-extractie.
  • Server-side: in het McdServerService.ini-bestand: timeout_sql. Dit is de zelfde time-out als hierboven, maar enkel voor uitgevoerde SQL-queries door de McdServerService. Het wordt uitgedrukt in seconden.

Installatie van meerdere McdServerServices op dezelfde server

Indien er meerdere Mercator-dossiers geherbergd worden op dezelfde server, kan het handig zijn om meerdere McdServerServices te hebben op diezelfde server. Dit kan gedaan worden door een extra lijn toe te voegen in het McdServerService.ini-bestand: serviceSuffix=....

Deze suffix is een vrije string (compatibel met toegestane tekens in de service naam) die zal u toelaten om de naam van de service te vervolledigen om zo McdServers te onderscheiden van elkaar.

Opgelet: voor het toevoegen of aanpassen van deze lijn, is het noodzakelijk om de service te stoppen en deze te verwijderen onder de huidige naam. We moeten dus de procedure in deze volgorde aanpassen. (de volgorde is belangrijk):

  • Installatie vanuit de basis-setup: de dienst zal worden geïnstalleerd als McdServerService of stoppen met de dienst indien deze al geïnstalleerd is.
  • De service verwijderen met zijn huidige naam via McdServerservice.exe -u
  • toevoegen of wijzigen van de lijn serviceSuffix = XYZ in McdServerService.ini
  • De service herinstalleren met zijn nieuwe naam via McdServerService.exe -i. De service zal dus geïnstalleerd worden als McdServerService XYZ.
  • De service herstarten

Enkele overwegingen bij de keuze van de uit te wisselen gegevens

Het hierbeschreven systeem is gekend voor het transfereren van gegevens via variaties hierop. De geest is het transfereren van unieke delta-gegevens en geen massale data-overdracht. Als er bijvoorbeeld duizenden records uitgewisseld moeten worden, is het het beste om dit buiten de McdServerService te sturen. De belangrijke informatiebestanden kunnen altijd geïmporteerd worden in XML-formaat. De mappen met veel of grote bestanden kunnen eenvoudig uit het systeem getransporteerd worden.

Indien dit niet gerespecteerd wordt, kan dit leiden tot abnormaal lange communicatie overdrachten, en connectie-verbrekingen of overschrijding van het RAM-geheugen (server en client-side). Hier moet speciaal rekening mee gehouden worden bij het opstarten van het systeem.


McdServerService 2.0 ondersteund IPv6-adressering

In Mercator moet de optie "Host McdServerService" de waarde [IPv6-adres]:poort bevatten.

Bijvoorbeeld : [2002:587:1ab5::587:1eb6]:5060

Vervolgens moet men een lijn toevoegen in het McdServerService.ini bestand.

  • Om IPv4 en IPv6 verbindingen toe te laten: 
    address_family = ipV4+ipV6
  • Om enkel IPv6 verbindingen toe te laten:
    address_family = ipV6

De laatste versie van de McdServerService.exe is hier beschikbaar.


Andere paginas betreffende de configuratie van het uitwisselen met de McdServerService :