Vernieuwing Timesheet applicatie

​Binnen Delta-N wordt al enige jaren gebruik gemaakt van de Timesheet applicatie. Met behulp van deze web applicatie registreren Delta-N medewerkers de uren die ze voor klanten gewerkt hebben. De ingevoerde uren worden d.m.v. een batch proces gesynchroniseerd met het achterliggende Microsoft Navision backend dat gebruikt wordt voor de daadwerkelijke administratie en het factureringsproces. De applicatie draaide al weer enige jaren, de gebruikte techniek was verouderd en dus… de hoogste tijd om daar verandering in aan te brengen!

Timesheet 2.0

Naast het bieden van nieuwe functionaliteit, moest Timesheet 2.0 ook naadloos passen binnen de ‘Mobile first, Cloud first’ visie. Er is dan ook gekozen voor een compleet nieuwe architectuur en er wordt gebruik gemaakt van de nieuwste technologie.

Architectuur
 
De applicatie is ontwikkeld als ‘responsive’ web applicatie zodat deze te gebruiken is vanuit verschillende browsers en devices. Daarnaast zijn er native mobile apps ontwikkeld voor zowel iOS, Android als Windows (Universal App). Microsoft Azure is gebruikt als platform voor het hosten van de verschillende applicatie onderdelen.

Timesheet 2.0 web applicatie

De Timesheet web applicatie is ontwikkeld met behulp van HTML5, CSS3 en AngularJS. Met behulp van deze technologieën is een ‘lightweight’ en responive web applicatie ontwikkeld. De web applicatie wordt gehost als Microsoft Azure Web App.

Timesheet Screenshot 

Timesheet 2.0 API

De daadwerkelijke business logica van Timesheet 2.0 is ontwikkeld als MVC Web API. Deze, op REST en JSON gebaseerde API, is uitermate geschikt om te benaderen vanuit zowel de Timesheet web applicatie als de Mobile Apps. De business logica is dan ook slechts één keer ontwikkeld en wordt gedeeld door de web applicatie en mobile apps.

Connectie met Delta-N on-premise

Om verschillende redenen draait de Microsoft Navision backend bij Delta-N intern (on-premise). Om de Navision functionaliteit beschikbaar te maken voor de Timesheet 2.0 applicatie moest het mogelijk zijn om vanuit Microsoft Azure te communiceren met Delta-N on-premise.
Microsoft Azure biedt hiervoor verschillende opties. Eén van de mogelijkheden is het opzetten van een Virtual Network (VNET) tussen Microsoft Azure en het Delta-N netwerk. Hierdoor worden alle resources in het interne Delta-N netwerk toegankelijk vanuit Microsoft Azure. Aangezien voor Timesheet 2.0 alleen communicatie nodig was met Microsoft Navision is er gekozen voor een andere mogelijkheid, namelijk Azure ‘Biztalk Hybrid Connections’. Met behulp van dit Azure product is het mogelijk om vanuit Azure een veilige connectie op te zetten naar één enkele resource in het interne Delta-N netwerk. In dit geval wordt de connectie gelegd naar een intern gehoste web service die de communicatie met Microsoft Navision verzorgt. 

Azure Active Directory

Om er voor te zorgen dat alleen geautoriseerde Delta-N medewerkers gebruik kunnen maken van Timesheet 2.0 wordt Azure Active Directory (AAD) ingezet. Alle gebruikersaccounts in de Delta-N on-premise Active Directory worden gesynchroniseerd met de AAD. Vanuit de Timesheet 2.0 web applicatie en de mobile Apps melden Delta-N medewerkers zich aan bij AAD. Na een succesvolle aanmelding wordt er vanuit AAD een access token ontvangen. Dit token wordt vervolgens binnen de verschillende applicatie onderdelen gebruikt om te bepalen voor welke functionaliteit de ingelogde medewerker geautoriseerd is.

Mobile AppsMobile App

Naast de Timesheet 2.0 web applicatie zijn er ook mobile apps ontwikkeld. Deze apps bieden minder functionaliteit dan de web applicatie maar zijn uitermate geschikt om snel de dagelijks gemaakte uren te boeken. De mobile apps zijn ontwikkeld m.b.v. Xamarin Forms en zijn beschikbaar gemaakt als iOS, Android en Windows 10 Universal App. Door gebruik te maken van Xamarin Forms is er een maximale hoeveelheid herbruikbare code ontwikkeld en is er slechts een zeer geringe hoeveelheid platform specifieke code geschreven.

Conclusie

Door gebruik te maken van de laatste technologieën zijn we in staat geweest om in een relatief kort tijdsbestek een nieuwe versie van de Timesheet applicatie te ontwikkelen. Met behulp van Microsoft Azure wordt het eenvoudig om de verschillende applicatie onderdelen op een veilige en stabiele manier te hosten. Daarnaast biedt Azure een aantal mogelijkheden om on-premises resources op een veilige manier te benaderen vanuit de Cloud. Voor Delta-N betekent dit dat de Microsoft Dynamics Navision functionaliteit nu toegankelijk is vanuit mobile apps en dat het voor Delta-N medewerkers een stuk eenvoudiger wordt om de urenverantwoording te doen.