Mini-hackathon WVDB & inSystems

Hackathon

Woensdag 28 februari is een aantal OutSystems developers van Witlox Van Den Boomen Adviseurs Accountants (verder te noemen WVDB) en inSystems samen de uitdaging aangegaan om in korte tijd interfaces te realiseren naar een aantal bij WVDB in gebruik zijnde applicaties. Plaats van uitvoering van een mini-hackathon was het kantoor van WVDB in Waalre.

Zowel WVDB als inSystems waren vertegenwoordigd met 3 deelnemers. Vanuit inSystems waren dit Milko, Gerben en ik. De challenge was om samen met Timothy en Jonathan van WVDB verschillende bronsystemen te ontsluiten, waarbij Jonathan een ondersteunende functionele rol had. Elk bronsysteem heeft eigen API’s waarmee verschillende gegevens opgevraagd kunnen worden. Het betrof de bronsystemen:

  • Cobra (HRM & Salaris)
  • Twinfield (Online boekhouden)
  • Exact (Online boekhouden)
  • Nmbrs (HRM & Salaris)

Sommige API’s werkten via OAuth2 en andere alleen via een username in combinatie met een van te voren aangevraagd token. De architectuur van de API’s bestond uit REST of SOAP.

De opdracht bestond uit verschillende onderdelen, waarvan inloggen en authenticatie het lastigst bleek. Daarnaast dienden er gegevens opgevraagd en op het scherm getoond te worden, bijvoorbeeld:

  • Geef leeftijd, dienstjaren en huidige salaris van alle medewerkers.
  • Wie zijn er op dit moment ziek

Als ondersteunende tools hebben we Postman en SOAP UI gebruikt. Dit was vooral handig om het inloggen te verifiëren, zodat je je daarna kon richten om het binnen OutSystems te integreren.

Aan REST services in OutSystems kun je gemakkelijk headers toevoegen, maar bij SOAP gaat dit net even wat anders. Hieronder een voorbeeld:

OutSystems SOAP

SoapHeader is van het type “SOAPHeader record”, waarbij het veld “Element” wordt gevuld met de authenticatie header. Vervolgens voeg je dit record toe aan een lijst van het type “SOAPHeader record list”. Via de action “SetWebReferenceSoapHeaders” ken je de SOAPHeader record list toe aan de SOAP service.

OutSystems SOAP

Let op! De parameter “WebReferenceName” moet exact overeenkomen met de SOAP service naam, ondanks dat het een string literal is. OutSystems controleert de naam en je krijgt een error als deze afwijkt. Je kunt de naam kopiëren van de integrations tab in Service Studio, hieronder aangegeven in de blauwe balk:

OutSystems SOAP

Om de mini-hackathon enigszins vorm te geven, werd er een grote klok getoond die terug telde en hadden we pizza!
Aan het einde heeft iedereen zijn resultaat gepresenteerd en werden er door WVDB een paar leuke attenties beschikbaar gesteld. WVDB kan nu mooi verder met de resultaten en deze verder implementeren t.b.v. analyses.