Enterprise Integration
Enterprise Integration omvat alles wat met integratie van systemen en diensten te maken heeft, binnen of buiten de eigen bedrijfsmuren om op die manier bedrijfsprocessen mogelijk te maken die softwareproductoverstijgend zijn. Zodoende is een best-of-breed aanpak mogelijk en kan dus op een optimale manier het bedrijf worden bestuurd.
Veelal wordt voor integratie een ESB (Enterprise Service Bus) ingezet om bijvoorbeeld een SOA (Service Oriented Architecture) mogelijk te maken, maar er kan ook op een meer traditionele manier EAI (Enterprise Application Integration) worden toegepast. Microsoft’s BizTalk Server is een product waarmee beide architecturen neergezet kunnen worden.

Bij het inzetten van een integratie oplossing zijn de volgende zaken belangrijk:
Loose coupling
Loose coupling houdt in dat er niet rechstreeks gekoppeld wordt aan applicatie interfaces door middel van harde codering en/of aanroep van API’s, maar door middel van het uitwisselen van berichten. Meestal is dit tegenwoordig XML berichtenverkeer (veelal web services), maar vaak zien we ook nog koppelingen tussen applicaties gebaseerd op het uitwisselen van de welbekende flat files of andere bestandformaten. BizTalk Server kan een veelheid aan bestands- en uitwisselingsformaten aan, die allen beschreven worden door XML schemas, met eventuele extensies op die schemas om de niet-XML formaten te kunnen afhandelen. De schemas zijn onderdeel van de BizTalk solutions die vanuit Visual Studio ontwikkeld worden.
Transformatie
Transformatie is nodig, omdat informatie die uit het ene systeem komt, eigenlijk nooit rechstreeks door het andere systeem verwerkt kan worden. De structuur en inhoud van het bericht wordt omgezet van de bron naar het doel. De ontwikkelaar van BizTalk oplossingen kan hiervoor de BizTalk Mapper gebruiken. Dit is een grafische tool die geïntegreerd is in Visual Studio. Door middel van het trekken van lijntjes en het gebruiken van een hele lijst van voorgedefinieerde “functoids”, kan de transformatie ontwikkeld worden. De hiermee ontwikkelde “map” wordt naar XSLT omgezet, die tijdens runtime de transformaties uitvoert.
Canoniek datamodel / abstractielaag
Door de introductie van een tussenformaat - het zogenaamde canonieke (of “canonical”) datamodel - kan een extra abstractielaag worden toevoegd, die het gemakkelijker maakt om op wijzigingen van back-end en front-end applicaties in te springen.
Ook maakt dit tussenformaat de scheiding van applicatiedomeinen mogelijk. Iemand die verstand heeft van front-end applicatie ontwikkelingen hoeft alleen maar rekening te houden met de “mapping” van het schema, dat de composite service beschrijft naar de user interface. Een SAP integratie specialist kan de mapping tussen bijvoorbeeld het back-end SAP systeem naar het canonieke formaat ontwerpen en implementeren. De introductie van een tussenformaat is bijna altijd een goed idee (voor meer informatie over dit onderwerp, zie de motion10 white paper “Using canonical formats with BizTalk Server”).
Dynamic routing
Binnen de ESB kan het routeren van de informatie naar de juiste doelsystemen dynamisch gebeuren. Voor elk bericht dat in de ESB arriveert, wordt bepaald wat ermee moet gebeuren. Bijvoorbeeld transformatie naar canoniek formaat, verrijken met NAW gegevens uit CRM systeem, het uitvoeren van orkestratie X, etc. De acties die moeten plaatsvinden worden beschreven in de zogenaamde Itinerary (of ook wel “routing slip” genoemd). Als er dus iets moet wijzigen in bijvoorbeeld de volgorde van de uit te voeren akties, is dit een kwestie van configuratie. Er hoeft niet opnieuw een “deploy” van de oplossing te worden gedaan.
Composite services
De bus is bij uitstek geschikt om composite services (services die weer samengesteld zijn uit meerdere andere services) aan te bieden aan bijvoorbeeld een SharePoint front-end. Dit omdat de ESB veelal gebruikt wordt om complexe bedrijfsprocessen uit te voeren, die gemodelleerd zijn in bijvoorbeeld Microsoft Visio. Om de financiële en logistieke afhandeling, dus de status van een order te zien in het resultaat, zal de ESB verschillende systemen raadplegen. De monitoring en het management van de integratielaag kan op een centrale plek worden gedaan, omdat alle transacties door de ESB worden afgehandeld.
Business Rules Engine
De “business rules” moeten op een centrale plek binnen elke organisatie vastliggen. Dit is de plek waar besluiten worden genomen. Bijvoorbeeld om een workflow te starten voor de goedkeuring van een afdelingshoofd of manager voor de verwerking van een transactie. Of om een kortingspercentage te bepalen voor binnenkomende orders en betaaltermijnen. De controle op die regels kan ook vanuit deze centrale plaats gebeuren, omdat alle transacties door de ESB worden afgehandeld, waarbij meerdere back-end systemen erbij kunnen worden betrokken. Het vastleggen van de regels gebeurt door informatie analisten en is géén taak voor ontwikkelaars.
Exception handling
De syntactische en semantische validatie van transacties en het toepasen van de regels gebeurt allemaal binnen de ESB. Daarom is dit de aangewezen plaats om de foutafhandeling in te richten. De BizTalk ESB biedt de mogelijkheid om in een centraal dashboard binnen de SharePoint omgeving alle relevante informatie te laten zien over verwerkte en te verwerken informatie. Hier is het bijvoorbeeld ook mogelijk om foutgemelde transacties te verbeteren en opnieuw aan te bieden. Deze management portal voor de BizTalk ESB is een standaard onderdeel en zeer vriendelijk in het gebruik voor technisch en functioneel support personeel. Het biedt tevens de mogelijkheid om proactief op te hoogte te worden gebracht van (potentiële) foutsituaties.
Business Activity Monitoring
Het monitoren van de “business activity” gaat een stap verder dan pure technische en functionele monitoring. De ESB kan zo geconfigureerd worden dat tijdens het uitvoeren en verwerken van transacties, bedrijfsinformatie zoals artikelnummers, hoeveelheden, prijzen, afleverlokaties, etc. kan worden bijgehouden en geaggregeerd. Vervolgens wordt in de SharePoint Portal door middel van SQL Server Analysis Services en Reporting Services een mooi dashboard geboden. De “business user” kan aan de hand van deze informatie betere beslissingen nemen. Deze functionaliteit zit meer in de business intelligence (BI) hoek en valt binnen de SharePoint omgeving in de Insights taartpunt. Die combinatie van technologiën maakt het mogelijk om trends in orderstromen te ontdekken en een overzicht te krijgen van alle orders voor bepaalde artikelen in een bepaalde regio gedurende de afgelopen week.
De consultants van motion10 hebben jarenlange ervaring met het uitdenken en inzetten van integratieoplosingen op basis van BizTalk Sever. Veel van deze praktijkervaring is omgezet in best practices en een standaard aanpak van integratieprojecten.
