Ik heb de volgende situatie:
Naar een mailaccount wordt een mailtje gestuurd met een XML als bijlage. Deze XML moet worden geopend en specifieke gegevens daarvan moeten worden opgeslagen in een database.
Vervolgens moet op basis van instructies in de XML een aantal handelingen worden gedaan en uiteindelijk moet er een mailtje worden terug gestuurd met het resultaat (PDF als bijlage).
Nu is de vraag wat de beste architectuur is om dit op te lossen.
Voorwaarden: De mailbox zit in een MS Echange server, de database kan Oracle of PostGIS zijn en de mailtje kunnen 24 uur per dag binnen komen, ca 200 per dag. Het geheel moet op Windows Server draaien en geschreven worden in C#
Nu had ik het volgende bedacht:
Twee Windows service maken: mailinspector en pdfbuilder.
De mailinspector kijkt om de zoveel tijd (5 minuten) in de mailbox of er nieuwe mail is, zo ja dan wordt die geopend en wordt de XML geparsed en in de database gezet met status=nieuw.
De pdfbuilder kijkt ook om de zoveel tijd of er in de database records zijn met de status=nieuw en gaat daar mee aan de slag.
Voordeel van deze oplossing is dat als om wat voor reden dan ook de server onderuit schuift, nog niet volledig afgehandelde requests weer opnieuw opgepakt kunnen worden.
Nadeel is dat ook al is er niets te doen de twee services constant aan het vragen zijn of er werk is.
Mijn vraag is wat voor aternatieven er zijn. Ik sta open voor alles
Naar een mailaccount wordt een mailtje gestuurd met een XML als bijlage. Deze XML moet worden geopend en specifieke gegevens daarvan moeten worden opgeslagen in een database.
Vervolgens moet op basis van instructies in de XML een aantal handelingen worden gedaan en uiteindelijk moet er een mailtje worden terug gestuurd met het resultaat (PDF als bijlage).
Nu is de vraag wat de beste architectuur is om dit op te lossen.
Voorwaarden: De mailbox zit in een MS Echange server, de database kan Oracle of PostGIS zijn en de mailtje kunnen 24 uur per dag binnen komen, ca 200 per dag. Het geheel moet op Windows Server draaien en geschreven worden in C#
Nu had ik het volgende bedacht:
Twee Windows service maken: mailinspector en pdfbuilder.
De mailinspector kijkt om de zoveel tijd (5 minuten) in de mailbox of er nieuwe mail is, zo ja dan wordt die geopend en wordt de XML geparsed en in de database gezet met status=nieuw.
De pdfbuilder kijkt ook om de zoveel tijd of er in de database records zijn met de status=nieuw en gaat daar mee aan de slag.
Voordeel van deze oplossing is dat als om wat voor reden dan ook de server onderuit schuift, nog niet volledig afgehandelde requests weer opnieuw opgepakt kunnen worden.
Nadeel is dat ook al is er niets te doen de twee services constant aan het vragen zijn of er werk is.
Mijn vraag is wat voor aternatieven er zijn. Ik sta open voor alles