Zoeken:
In de zomer van 2008 werden wij benaderd met een nogal cryptische vraag over het ontwikkelen van printer drivers in Windows en het genereren van PDF bestanden. Na het ontwikkelen van een prototype werden we eindelijk bijgepraat over het project: het ontwikkelen van een hybride post oplossing.

Het idee is simpel: het mogelijk maken om via je tekstverwerker briefpost te kunnen sturen naar alle landen van de wereld. Een digitale brievenbus die het printen en adresseren van brieven uit handen neemt van de gebruiker. Met BlueMail kunnen bedrijven en particulieren besparen in hun printkosten: geen brieven meer printen, couverteren en frankeren.
Het systeem bestaat uit 3 onderdelen:
Om printopdrachten onder Windows op te kunnen vangen hebben we in C++ een printerdriver geschreven. Deze driver doet niets meer dan het converteren van printopdrachten (PostScript) naar PDF bestanden. Vervolgens geeft de printerdriver de PDF bestanden aan een Windows-applicatie om verwerkt te kunnen worden.

De via de BlueMail printerdriver geprinte brieven worden opgevangen in de Windows-applicatie die werd ontwikkeld in C#.NET. Deze applicatie probeert vervolgens door middel van een aantal slimme technieken het adres uit de brief te filteren. Dit klinkt makkelijker dan het is: door middel van blokherkenning en het toepassen van bepaalde adresconventies wordt er bepaald wat de kans is dat een stuk tekst een adres bevat. Uiteraard vereist dit ook bepaalde interactie met de gebruiker; wat als het herkennen niet gelukt is, of het verkeerde adres is gevonden? In nauwe samenwerking met de klant zijn we hier uitgekomen en was de grondslag voor BlueMail gelegd.
Naast functionaliteit om brieven te adresseren en te splitsen, biedt de Windows-applicatie een archief van de brieven die je verzonden hebt. Deze gegevens worden direct ingeladen vanaf de BlueMailCentral website. De applicatie bestaat dus voor een deel uit informatie die in je persoonlijke BlueMail-omgeving ("My BlueMail") staat. Vanwege dit web-container model wilden we de vormgeving van de Windows-applicatie goed laten aansluiten op het ontwerp van de website, zodat die twee delen één geheel vormden. Daardoor konden een aantal standaard interfacecomponenten van .NET niet gebruikt worden. In plaats van deze componenten ontwikkelden we verschillende onderdelen op maat. Vervolgens konden we ons gaan richten op het volgende onderdeel: communicatie met de distributieserver.
Brieven die via BlueMailCentral gepost worden, worden geprint in het land van bestemming. Dat scheelt de gebruiker de extra kosten voor internationale post. De brieven worden geprint in grote printstraten. De distributie van de digitale brieven naar de printcentra wordt gedaan door de distributieserver. Ook regelt dit deel van de applicatie de afrekening voor de brief in kwestie. De distributieserver is een Java EE applicatie die op een applicatieserver draait (JBoss).
De distributieserver zorgt ervoor dat de brieven naar het land van bestemming worden verzonden en houdt de status van de brieven in de gaten. Printstraten krijgen deze brieven aangeleverd en kunnen aangeven of deze zijn verzonden. De klant wordt tijdens dit process per e-mail op de hoogte gehouden maar kan alle statusveranderingen ook in de Windows applicatie en website terugvinden.