« Hem

Såhär kan en integration se ut

God eftermiddag! Återigen känns det som att veckan bara har flugit förbi och det är redan fredag. Den här veckan har jag haft fullt upp med att utöka en integration med ett nytt flöde, något jag tror jag nämnde i förra inlägget. Det första jag behövde göra var att förstå hur integrationen faktiskt fungerade, och jag tänkte använda det jag tagit reda på som ett exempel på hur ett integrationsflöde kan se ut.

Här kan ni se en översikt av flödet, och jag tänkte gå igenom steg för steg vad det är som händer.

integrationexempel1. XML och FTP

Vi har ett system som samlar in väderdata, till exempel temperaturen över en viss tidsperiod eller hur mycket nederbörd det kommit. Den här informationen lagras sedan i XML-format och sparas på en FTP-server, och det är genom att hämta XML-filerna på FTP-n som vi kommer åt informationen. Informationen från filerna kallas generellt för meddelanden när de går genom en integration.

2. BizTalk-port

BizTalk är den integrationsplattform som används i den här integrationen, och när filerna har lagts på FTP-n, så finns det portar i BizTalk som hämtar in dem. I dessa portar finns det sedan ”mappningar” som översätter de inkommande XML-filerna till ett internt XML-format. Detta är för att man ska kunna lägga till nya dataformat in i integrationen, utan att behöva ändra logiken internt. Allt man behöver göra är då att mappa över den nya filen till det interna formatet, sedan kan den behandlas på samma sätt som alla andra meddelanden. I porten finns även en mekanism som arkiverar all data som skickas in och lagrar den för senare användning, till exempel analys.

3. Inuti BizTalk

Här ska jag inte fördjupa mig i några detaljer, men kort sagt kan man säga att BizTalk använder något som heter orkestreringar för att styra processen. I det här flödet så valideras värdena i meddelanden, och beroende på resultatet av valideringen, så tar meddelandet olika vägar.

4. WCF-tjänst

Oavsett vilken väg meddelandet tagit, så kommer det i slutänden till en port i BizTalk, som skickar det vidare till en extern WCF-tjänst. Även på den här porten sker det mappningar, nu från det interna XML-formatet till en XML-fil som tjänsten kan hantera.

5. Ner i databasen

WCF-tjänsten anropar i sin tur en lagrad procedur i en SQL Server databas, som översätter meddelandet från XML till SQL och sparar ner informationen i databasen. Sedan kan det finnas andra system som prenumererar på de här värdena, då skickas en notifiering (via BizTalk) till dessa system och berättar att nu finns det nya värden att hämta.

Det här blev väldigt kortfattat, men jag tror vi nöjer oss så för den här gången! Min uppgift i det här är att utöka integrationen vid punkt 1, så vi kan ta in ytterligare ett filformat via vår FTP. Här ser man direkt fördelarna med att ha ett internt format att översätta till – jag behöver bara göra förändringen vid punkt 1, inuti BizTalk kan allt fortsätta funka som förut.

Leave a Reply

Language: