Er zijn guru’s die zeggen dat je Social Media en Enterprise Systems niet mag vermengen. Ik ben het daar niet mee eens. Als jouw marketing manager denkt jullie omzet te kunnen vergroten door alle prijsverlagingen in het artikelbestand automatisch op de Facebook pagina van je bedrijf te posten, dan zou ik daar zeker iets voor gaan bouwen. Voor de kosten hoef je het niet te laten. Je zou ook kunnen denken aan een koppeling tussen je Enterprise CRM systeem en LinkedIn. Dan kan je accountmanager nieuwe klanten automatisch uitnodigen om een connectie te worden.
Bij de verschillende Social Media worden verschillende technieken gebruikt. Veel voorkomende technieken zijn bijvoorbeeld REST webservices, JavaScript API’s en het autorisatieprotocol Oauth. Over het algemeen zijn de koppelingen goed gedocumenteerd en is er een forum beschikbaar om ervaringen uit te wisselen met andere ontwikkelaars. Met een beetje geluk is er een library beschikbaar waar de basis protocollen voor je in geïmplementeerd zijn, wat het gebruik vanuit jouw programmeertaal vergemakkelijkt.
Als Uniface developer hebben we helaas nog niet de luxe dat er complete libraries voor ons gemaakt zijn. Maar de meeste basis protocollen zijn gelukkig vrij eenvoudig te implementeren.
Om te laten zien hoe je dit kunt aanpakken leg ik hier uit hoe je een koppeling tussen een Uniface web applicatie en LinkedIn kunt maken. Hiervoor gebruik ik de Uniface JavaScript API die nieuw is in Uniface 9.5 die binnenkort op de markt komt.
Ik heb geprobeerd het voorbeeld zo eenvoudig mogelijk te houden, zodat je goed kunt zien hoe de principes werken. Daarna zou het vrij gemakkelijk moeten zijn om het naar eigen inzicht uit te breiden.
LinkedIn
In dit voorbeeld gaan we inloggen bij LinkedIn en enkele gegevens uit ons eigen profiel ophalen. Wij doen dit vanuit een webpagina die gebouwd is als Uniface Dynamic Server Page.
We beginnen met het registreren van onze applicatie bij LinkedIn, zodat we een API key krijgen.
NB: Voor het testen van je applicatie kun je een localhost URL gebruiken.
In Uniface beginnen we met het bouwen van de informatie structuur van de pagina in een Dynamic Server Page. Daarop zetten we een dummy entiteit met knop om de gegevens op te halen, en een aantal velden om ze in te stoppen:
Deze structuur kopiëren we naar de Server Page Layout Editor. Hier zouden we de opmaak van de pagina nog kunnen verfraaien, maar de standaard opmaak volstaat voor dit voorbeeld:
In de HTML source moeten twee stukjes JavaScript opgenomen worden. In de Header moet een verwijzing komen naar de LinkedIn JavaScript API en de API key die je gekregen hebt bij het registreren van je applicatie bij LinkedIn. In de Body staat een stukje script wat er voor zorgt dat er een Login button getoond wordt, die na een geslaagde login vervangen wordt door Hello Voornaam Achternaam.
Als laatste hebben we dan nog een stukje code nodig om de gegevens uit het LinkedIn profiel te halen en in de Uniface velden te zetten.:
Als we nu compileren en testen ziet de pagina er zo uit:
Als je op de “Sign in with LinkedIn” button klikt verschijnt er een pagina van LinkedIn. Wat daar op staat is afhankelijk van de situatie. Meestal zal dit een standaard login pagina zijn, gevolgd door een pagina waarop je toestemming aan de applicatie moet geven om jouw LinkedIn account te gebruiken. Ik krijg nu een ietwat andere pagina omdat ik al toestemming verleend heb, maar dit al een tijd niet meer gebruikt heb:
Nu ben ik ingelogd en LinkedIn heeft de button vervangen door een welkomtekst met mijn naam er in:
Als ik nu op de “Get your profile” button klik, worden enkele gegevens uit mijn LinkedIn profiel opgehaald en in de Uniface velden gezet:
En zo hebben we dus met een paar regeltjes code een koppeling gemaakt tussen een Uniface web applicatie en LinkedIn. Lees vooral de documentatie van LinkedIn over hun API om te zien hoe je dit uit kunt breiden tot een koppeling die zinvol is voor jouw business.