Elsevier Weekblad

Een API die complexe processen op de achtergrond verbergt

OPDRACHTGEVER

Reed Business Information

LIVE SINDS

Maart 2016

ENRISE TEAM

Sashimi

De opdracht

Bouw de nieuwe Elsevierweekblad.nl en draag zorg voor de transitie van maatwerksoftware voor gebruikersbeheer naar de SAAS-oplossing Gigya.

De uitdaging

De processen die je als gebruiker uitvoert op de bestaande website (inloggen, registreren, profiel wijzigen, abonnement claimen) hebben we eerst in kaart gebracht om het te kunnen plotten op de mogelijkheden die Gigya biedt. De bestaande gebruikersdatabase bleek daarbij complexer dan geschat: met het ouder worden van de software zijn bestaande oplossingen anders geïnterpreteerd of veranderd en is veel kennis verloren gegaan. Zo ontstond  langzaamaan een complex systeem van verantwoordelijkheden.

Om de bestaande website te vervangen zal ook het het EPI server CMS uitgefaseerd moeten worden. De data uit dit CMS zal geconverteerd moeten worden om geschikt te zijn voor import in WordPress.

 

De oplossing

Strategisch hebben we ervoor gekozen om een API te ontwikkelen die de complexe processen op de achtergrond verbergt. De nieuwe applicatie communiceert voor gebruikersbeheer enkel met een Accounts Service API waardoor de implementatie niet alleen eenvoudiger is, maar ook gebruikt kan worden voor bijvoorbeeld apps op mobiele devices.

De Accounts Service zorgt op haar beurt dat de gebruikersinformatie op de juiste manier in de achterliggende systemen wordt gezet. De migratie van een gebruiker wordt on-demand uitgevoerd, wat inhoudt dat het oude en het nieuwe systeem naast elkaar kunnen draaien. Elsevier houdt hiermee de vrijheid om zelf te beslissen wanneer de oude software uitgefaseerd wordt.

De import API zorgt dat artikelen – inclusief media van verschillende bronnen, zoals het ANP en de redactie van Elsevier – in de nieuwe WordPress-website geïmporteerd worden. De import draagt hierbij zorg voor de conversie van de oude structuur naar een geschikt formaat voor WordPress.

Techniek

  • PHP
  • Webservice
  • Redis
  • RabbitMQ
  • Varnish
  • Symfony2
  • oAuth2
  • WP-CLI
  • Continuous integration
  • Continuous deployment

Online ambities bespreken?

Start typing to search