20 maart, 2017

PWN wilde graag zijn SAP-omgeving koppelen aan de website. Omdat hier echter geen out-of-the-box oplossing voor beschikbaar was, hebben wij een Drupal koppeling gerealiseerd.

Synetic werd door PWN benaderd om de website te vernieuwen. Een van de uitdagingen binnen dit project vormde de integratie met SAP. PWN gebruikt SAP onder meer voor Mijn PWN, waarin klantinformatie staat als NAW-gegevens, aansluitingen en watermeterstanden.

Omdat er geen bestaande oplossing aanwezig was om SAP direct met Drupal te laten integreren hebben wij hiervoor een koppeling gebouwd.

Wat doet de Drupal SAP koppeling?

De Drupal koppeling zorgt ervoor dat de website van PWN in verbinding staat met SAP en er gegevens kunnen worden uitgewisseld.

De verbinding tussen de PWN-website en SAP verloopt via een Enterprise Service Bus, een platform dat de communicatie tussen verschillende systemen verzorgt. In dit geval communiceert de website van PWN richting de ESB en doet deze niets anders dan het bericht doorgeven aan SAP.

Via de ESB hebben we een koppeling gelegd met SAP om de communicatie richting de website van PWN te realiseren. Wanneer een klant bijvoorbeeld via Mijn PWN het contactformulier invult, worden deze gegevens verstuurt naar de ESB die het vervolgens doorstuurt naar SAP.

Hoe gaat dit precies in zijn werk?

Allereerst wordt er vanuit de website van PWN een verbinding opgezet met de ESB. In de ESB zijn een aantal aanspreekpunten gedefinieerd waar een bericht naartoe gestuurd kan worden. Deze aanspreekpunten worden endpoints genoemd.

Drupal SAP koppeling PWN

Ieder endpoint heeft een eigen functionaliteit. Zo kan het ene endpoint zijn opgezet om contactverzoeken te verzenden, terwijl een ander endpoint juist klantgegevens ophaalt. Voor ieder endpoint is daarbij ook een validatie beschikbaar in de vorm van XSD-bestanden, waarin staat hoe een bericht gestructureerd moet worden. Denk aan welke velden er nodig zijn en de opbouw hiervan.

In het geval van PWN hebben we op basis van de Azure Client Libraries van Microsoft een framework opgezet dat de gehele communicatie verzorgt met de ESB en waarin alle generieke zaken staan. Het grote voordeel hiervan is dat je de focus alleen nog maar hoeft te leggen op de specifieke code, bijvoorbeeld hoe klantgegevens moeten worden opgehaald.

Om de connectie tot stand te laten komen vraagt de ESB om een authenticatie. Vervolgens wordt de connectie gerealiseerd en kan er vanuit PWN naar een endpoint bij de ESB een bericht gestuurd worden naar SAP.

Veilige verbinding

In het framework voor de ESB communicatie is de verwerking en foutafhandeling van de ESB antwoorden op een generiek niveau afgehandeld. Op deze manier werkt de applicatie zelf altijd op eenzelfde manier met de koppeling. Dit verlaagt het risico op een foute implementatie voor een bepaalde dienst aanzienlijk, terwijl het tegelijkertijd een toekomstige implementatie van een nieuwe dienst aanzienlijk eenvoudiger maakt.

Omdat het hier om bedrijfsgevoelige informatie gaat is het zaak om deze goed te beveiligen. Klantgegevens van PWN worden daarom gecodeerd verstuurd en uitgelezen via een beveiligde verbinding.

Uiteraard blijven wij continu nieuwe zaken toevoegen aan de Drupal koppeling, zodat op termijn nog meer processen geautomatiseerd verlopen en dit de gebruiksvriendelijkheid van de PWN-website verder verbetert.

Wil je ook graag externe systemen aan je Drupal website koppelen? Neem dan gerust contact met ons op!