Ontwerpen en ontwikkelen van een Interface Server

De Interface Server (IFS) is bedoeld om alle automatische processen op gecontroleerde wijze met elkaar te laten samenwerken, op te starten en te monitoren. De IFS bestaat uit de volgende twee delen:

1. Scheduler

Dit continue draaiend proces start de verschillende jobs op die uitgevoerd moeten worden. De volgende events kunnen het starten van een job tot gevolg hebben:
a. Op basis van een nieuwe file;
b. Op basis van datum/tijd;
c. Op basis van een ontvangen e-mail.

In de database staan alle jobs met bijbehorend event gedefinieerd. Een job kan elk willekeurig programma zijn, maar de Interface Server geeft op standaard wijze parameters door. Een wrapper is dus soms nodig om het programma met de juiste parameters en opties op te starten.
Als twee verschillende jobs afhankelijk van elkaar zijn (na elkaar gestart moeten worden) dan kan de eerste job een signaalfile op het systeem plaatsen. De tweede moet als trigger event deze signaalfile gedefinieerd hebben.

2. Webinterface

De administratie van de IFS kan volledig met behulp van een webinterface worden uitgevoerd. Hiermee kunnen jobs worden aangemaakt, gewijzigd en verwijderd. Tevens kan de helpdesk continue zien welke jobs niet goed hebben gelopen, want de exit waarde van elke job wordt in de database opgeslagen. Het scherm dat deze exit waarden toont wordt elke 60 seconden ververst zodat deze continue op een monitor getoond kan worden.

Toegepaste software
•  Webserver is Apache;
•  Webpagina’s geschreven in PHP;
•  Scheduler geschreven in Perl;
•  Onderliggende database is MySQL;
•  De jobs die de Interface Server opstart kan elk willekeurig programma zijn, echter de interface server geeft op een standaard wijze parameters op. Vaak is dus een klein wrapper programma nodig die er voor zorgt dat de Interface Server de parameters op correcte wijze doorgeeft aan het werkelijke programma.

HW/OS
Hardware is een SUN Netra T1. Deze pizzadoos is 1U hoog heeft maximaal een cpu, twee interne disken en 4Gb fysiek geheugen. Dit is een relatief goedkope bak draaiend onder Sun Solaris 8.

Alle software van de Interface Server is geschreven met behulp van Open Source software dat op veel verschillende platformen beschikbaar is. De Interface Server kan dus op andere hardware en OS draaien, met kleine aanpassingen zelfs ook op Windows.

Richard, Senior System/Software Engineer