U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Gebruik van Mercator-engines vanuit een extern programma: MercatorWebService

0000002263     -      12-08-2020

MercatorWebService is een tool die het mogelijk maakt om Mercator-engines te gebruiken vanuit een extern programma. Deze applicatie kan ontwikkeld worden in een omgeving die SOAP WebServices ondersteunt.Dit is dus niet meer beperkt tot de .NET-omgeving en opent min of meer een deur naar alle bestaande ontwikkelomgevingen. MercatorWebService gebruikt intern deze functie: een Mercator Majuro omgeving instantieren vanuit een extern .NET-programma. .De standaardconfiguratie is gebouwd met een IIS server dat zich in hetzelfde netwerk bevindt als Mercator, waarnaar deze webservice moet connecteren.

MercatorWebService bestaat in drie versies, die dezelfde methods hebben, maar met enkele verschillen met betrekking tot de geretourneerde types:

  • Versie met .NET-types: in deze versie worden de types DataSet en DataTable geretourneerd door dezefde types, indien deze bestaan in het .NET-framework. In principe is deze versie bedoeld voor een client die geschreven is in een .NET-taal.
  • Versie met vereenvoudigde types: in deze versie worden de types DataSet en DataTable geretourneerd in de vorm van eenvoudige array. Deze versie moet gebruikt worden indien de client in Java geschreven is, omdat het onmogelijk is om een Java-stub te genereren indien de definitie van de webservice een DataSet of DataTable-types bevat.
  • Versie PHP : intermediaire versie

MercatorWebService biedt tal van methodes waarvan de lijst hier te vinden is:

Deze methodes bieden ons de toegang tot informatie uit de engines, en de mogelijkheid om deze te bewerken:

  • BillingEngine
  • BookingEngine
  • ActionEngine
  • InventoryEngine
  • TransferEngine

Bovendien biedt Mercator WebService methoden om het merendeel van de publieke properties uit MercatorUi.Globals uit te lezen.


Installatie:

De installatie van de webservice is eenvoudig. Op basis van een functionele IIS-server, moet men:

  • de website toevoegen
     
  • in de hoofddirectory van deze website MercatorWebServiceNet.zip of MercatorWebServiceSimpl.zip of MercatorWebServicePhp.zip ontzippen, in functie van de criteria hieronder.
     
  • De assemblies MercatorTunnel, MercatorUi, MercatorDatabase, MercatorHtml en MercatorComponents van Mercator in de Bin-map van deze website plaatsen,
     
  • het bestand web.config wijzigen in de zone appSettings
    • MainDir : de hoofddirectory van Mercator meegeven waarnaar de webservice moet verwijzen. Deze map moet een lokale map zijn.
    • IdDossier : in multi-dossiers configuratie, het ID van het dossier ingeven, zoniet leeglaten.
    • UserLogin : de gebruikersnaam van de sessie waarop MercatorWebService moet draaien
    • Password : het wachtwoord van deze gebruiker
    • Sha1Seed: een vrije string meegeven die gebruikt zal worden voor de berekening van de SOAP-header beveiliging voor de toegang tot de webservice.
  • Op het niveau van de application pool, die gekoppeld is aan deze website:
    • meegeven dat deze versie .NET-framework 4.0 gebruikt
    • In de geavanceerde eigenschappen de propertie "Identité" aanvullen met de gegevens van een gebruiker die beschikt over voldoende rechten om:
      • te schrijven in de wwwroot/Log en wwwroot/Bin directories
      • complete toegang te hebben tot de directory waarin Mercator Majuro zich bevindt.
         
  • Op netwerkniveau, moet men de gebruikte poorten openen (route, firewall,...)

Het goed werken van de webservice kan getest worden via deze url (te wijzigen in functie van het te gebruiken domein):

  • http://webservice.full.mercator.eu/MercatorWebService.asmx
  • http://webservice.full.mercator.eu/MercatorWebService.asmx?wsdl
  • http://webservice.simpl.mercator.eu/MercatorWebService.asmx
  • http://webservice.simpl.mercator.eu/MercatorWebService.asmx?wsdl

Vanaf dit moment is de webservice beschikbaar en kan deze gebruikt worden door elke client die het SOAP-protocol ondersteunt.

Bij elke start van de ASP.NET-applicatie, controleert de webservice de Mercator-assemblies (MercatorTunnel, MercatorUi, MercatorDatabase, MercatorHtml en MercatorComponents). Waar nodig, worden deze assemblies gekopieerd vanuit de hoofddirectory van Mercator naar de bin-map van de webservice.


Belangrijke veiligheidsoverwegingen:

Een webservice is eigenlijk een toeganspoort tot de IT-infrastructuur van een bedrijf en vooral hier, de ERP in zijn geheel. Het beveiligen van de toegang moet dus op punt gezet worden door professionals bij het oprichten van deze infrastructuur.

Standaard biedt MercatorWebService volgende beveiligings-functionaliteiten:

  • Alle kritieke methodes zijn beschermd door een SOAP-header die een SHA1 sleutel moet bevatten waarvan het berekeningsalgoritme zich hier bevindt.
  • MercatorWebService blokkeert automatisch clients waarvan het aantal inlogpogingen via de SOAP-header zich boven een bepaalt aantal bevindt.

Indien deze basisprincipes onvoldoende zijn qua bescherming die het bedrijf wenst, kunnen ook nog andere mogelijkheden verkend worden:

  • MercatorWebService toegankelijk maken vanuit het HTTPS in plaats van HTTP
  • de toegang voor klanten beperken tot VPN
  • ...

Dit valt buiten het kader van deze informatie en de ondersteuning van Mercator.  Mercator is niet verantwoordelijk ingeval van gegevensschending via de MercatorWebService. We herinneren hier dat het gebruik van MercatorWebService volledig optioneel is en niet noodzakelijk is voor een goede werking van Mercator.

 


 

Voorbeeld clients die MercatorWebService gebruiken: :

We bieden hier enkele client-voorbeelden die MercatorWebService gebruiken. Deze worden "as-is" geleverd en worden niet ondersteund.. Inderdaad, de bijzonderheden en eventuele problemen die specifiek zijn voor de ontwikkelingstaal en SOAP ondersteunen worden niet ondersteund door Mercator. De gegeven voorbeelden zijn dus indicatief. Deze lijst is natuurlijk niet compleet omdat de meeste huidige ontwikkelomgevingen min of meer de mogelijkheid bieden om een SOAP-client te maken.

De gegeven voorbeelden zijn niet beperkt tot het platform waarvoor zij gedocumenteerd zijn. Sterker nog, alle methoden van MercatorWebService zijn toegankelijk voor alle klanten van deze webservice.


Opgelet: sinds de release van december 2018 worden lokale resources niet langer ondersteund.