Microsoft BizTalk Server
Wat is BizTalk Server?
BizTalk Server stelt bedrijven en instellingen in staat om tegen lage kosten, eenvoudig en in korte tijd:
- bedrijfsapplicaties te integreren;
- gegevens met handelspartners uit te wisselen;
- bedrijfsprocessen te automatiseren.
Met BizTalk Server zijn systemen, medewerkers en partners efficiënt en effectief met elkaar te integreren. Ook zijn bedrijfsprocessen op een flexibele manier te automatiseren en met elkaar te koppelen, waardoor een efficiëntere bedrijfsvoering is te realiseren.
Integratie van applicaties: intern en met partners
Op het gebied van applicatie-integratie zijn twee scenario’s van belang:
- enerzijds het koppelen van applicaties zoals die binnen een organisatie worden gebruikt (Enterprise Application Integration);
- anderzijds de geautomatiseerde berichtenuitwisseling tussen twee of meer verschillende organisaties (business-to-business of ketenintegratie).
Dergelijke integratieoplossingen worden onder andere mogelijk gemaakt door:
- connectiviteit met bestaande systemen via meegeleverde, los verkrijgbare of zelfontwikkelde adapters en webservices;
- berichttransport en routering (publish & subscribe) ten behoeve van berichtuitwisseling tussen systemen en applicaties;
- vertaling van berichten en berichtformaten tussen heterogene omgevingen (transformatie);
- beheer van handelspartners; dat wil zeggen het snel kunnen toevoegen, configureren, uitrollen en testen van connecties met nieuwe partners.

Automatisering bedrijfsprocessen
Elke organisatie heeft dagelijks te maken met tal van handmatige
werkzaamheden, lange doorlooptijden, dubbele en foutieve gegevensinvoer,
tijdrovende zoekacties naar informatie, hoge administratieve
overheadkosten enzovoort.
Vaak is dat te verbeteren door die gestructureerde processen waarbij die
problemen spelen, te automatiseren. Het resultaat is dat de juiste
informatie altijd op het juiste moment bij de juiste personen en/of
systemen beschikbaar is, wat sneller en efficiënter handelen mogelijk
maakt.
Speciaal hiervoor biedt BizTalk Server naast de hierboven beschreven
functionaliteit - de volgende functies:
- Orchestration Designer for Business Analysts; dit is een add-on voor Microsoft Visio waarmee een business-/process-analist bedrijfsprocessen in een grafische omgeving kan modelleren. Op basis van het gecreëerde model kunnen ontwikkelaars de processen vervolgens koppelen aan applicaties, berichten en andere processen en interactief samenwerken met analisten;
- Business Activity Monitoring; dit biedt eindgebruikers via Microsoft Excel real-time inzicht in key-performance-indicators, door het beschikbaar stellen van informatie over transacties en processen (bijvoorbeeld gedetailleerde transactievolumes en doorlooptijden);
- Business Rules; deze maken geautomatiseerde bedrijfsprocessen extreem flexibel, door eindgebruikers de mogelijkheid te geven zelf regels te wijzigen en te activeren, waardoor bedrijfsprocessen onmiddellijk zijn aan te passen aan omstandigheden, zonder dat een nieuwe applicatie uitgerold dient te worden.
Overzicht BizTalk Server techniek
Het hart van BizTalk Server is de server-engine.
De server-engine bestaat uit twee delen:
- een messagingcomponent die de communicatie met een grote range aan systemen mogelijk maakt. Er wordt gebruikgemaakt van adapters die allerlei protocollen en dataformaten aankunnen, zoals webservices, CRM, SAP, FTP, SOAP, SqlServer, File etc.;
- de orchestraties, die de weergave zijn van de businessprocessen.
Deze worden in een grafische
omgeving gemodelleerd en geïmplementeerd,
gebruikmakend van de messagingcomponent
en de logica van de bedrijfsprocessen.
Procesintegratie
De grote meerderheid van moderne bedrijfsprocessen hangt op zijn
minst voor een deel af van software. Terwijl sommige van deze processen
door één enkele applicatie worden ondersteund, baseren vele andere zich
op diverse softwaresystemen. In veel gevallen is deze software gecreëerd
in verschillende tijden, op verschillende platforms, en maken ze gebruik
van verschillende technologieën.
Het automatiseren van die bedrijfsprocessen vereist aansluiting tussen
diverse systemen. Deze uitdaging heeft diverse namen: onder meer
bedrijfsprocesautomatisering (BPA) en bedrijfsprocesbeheer (BPM).
Ongeacht de naam, zijn twee scenario’s het meest belangrijk voor
applicatie-integratie:
- het verbinden van applicaties binnen één enkele organisatie, wat Enterprise Application Integration (EAI) wordt genoemd;
- business-to-business (B2B)-integratie, die applicaties in verschillende organisaties verbindt.
EAI
De afbeelding hierboven geeft een eenvoudig voorbeeld van BizTalk
Server dat op een EAI-probleem wordt toegepast. In dit scenario merkt
een voorraadsysteem - bijvoorbeeld werkend op een IBM-systeem - op dat
de voorraad van een product laag is en geeft daarna een bestelorderverzoek. Dit verzoek wordt verzonden naar een orchestratie
van BizTalk Server (stap 1), dat op zijn beurt een inkooporderverzoek
uitstuurt naar de ERP-applicatie. (stap 2).
De ERP-toepassing, die bijvoorbeeld op Unix draait, stuurt de gevraagde
inkooporder (stap 3) terug, en de orchestratie van BizTalk Server
informeert vervolgens een fulfillment-applicatie, die bijvoorbeeld als
Windows-
applicatie op het .Net-framework is gebouwd (stap 4).
B2B
Verbinden van applicaties binnen een organisatie is belangrijk, maar applicaties die organisaties overspannen, kunnen minstens zoveel waarde hebben. Dit figuur toont een eenvoudig voorbeeld van dit soort business-to-business-integratie. In dit geval runt de kopende organisatie boven in het figuur een BizTalk Server-orchestratie die met twee leveranciersorganisaties in verbinding staat. Leverancier A gebruikt BizTalk Server, die indirecte toegang tot zijn applicatie verleent. Leverancier B gebruikt een integratieplatform van een andere partij, die met de orchestratie van de kopende organisatie verbonden wordt door bijvoorbeeld webservices.

BizTalk Server in de praktijk
Heeft u het voorgaande gelezen, dan beseft u waarschijnlijk dat
BizTalk Server geen leightweight component is om berichten uit te
wisselen tussen uw MS Outlook- en een MS Access-database.
BizTalk Server is een serverproduct dat tot zijn recht komt bij grote,
complexe of snel wisselende integratievraagstukken. We zullen hier drie
praktijkvoorbeelden geven waar Delta-N het gebruik van BizTalk Server
zou adviseren.
1. Grote integratieomgeving
Een middelgrote tot grote organisatie heeft al snel een groot aantal
applicaties in gebruik. Van oudsher nog een legacysysteem, misschien een
AS400- of Unix-systeem, een aantal websites, een groot aantal zelf
ontwikkelde of aangekochte Windows-applicaties en waarschijnlijk ook nog
een aantal - al dan niet in kaart gebrachte - desktopapplicaties. Al
snel loopt het aantal op tot 100 stuks of meer, en allemaal hebben ze
toegevoegde waarde binnen uw bedrijf. Sommige zou u wel willen vervangen,
maar dat is te duur of te complex; andere draaien naar volle
tevredenheid en weer andere zijn binnenkort aan vervanging toe. In ieder
geval worden ze bijna allemaal gebruikt en hebben ze diverse raakpunten
met elkaar. Productie-, uren-, klant- en leveranciergegevens: ze komen
op veel plaatsen voor in verschillende databases en bestanden. Zou u de
interfaces en koppelingen modelleren in een diagram, dan zou er al snel
een wirwar van lijnen ontstaan van applicaties die elkaars gegevens
gebruiken. Vaak via geautomatiseerde point-to-point interfaces, maar ook
vaak genoeg nog met (veel) handmatige acties; vaak gedocumenteerd, maar
even vaak ook niet. In een dergelijk scenario zou BizTalk Server een
oplossing bieden.
BizTalk Server fungeert in dit geval - als enterprise-service-bus - als
een spin in het web tussen alle applicaties. Koppelingen worden niet
meer point-to-point opgeleverd, maar worden allemaal gerouteerd via
BizTalk Server. Hiermee wordt uw integratiestroom inzichtelijk en zijn
gegevens makkelijker te hergebruiken.
Het probleem bij een dergelijke implementatie is vaak het vinden van een
sponsor binnen uw bedrijf. De IT-architect wil graag een geoliede
integratieoplossing, vooral als de zoveelste point-to-point koppeling
wordt geïmplementeerd. Echter, vaak wordt de beslissing voor een
integratieproduct opgehangen aan één project. Bij dat ene project is
vaak geen budget om een integratieproduct in de organisatie op te zetten,
en kiest men toch vaak om maar weer een point-to-point koppeling te
ontwikkelen. De keuze voor een integratie-oplossing zal in dit geval als
apart project gestart dienen te worden, en de IT-architect zal zich
sterk moeten maken om budget te verkrijgen voor deze diepte-investering.
Want dat is BizTalk Server in dit geval: een investering nu om er later
de vruchten van te plukken.
2. Complexe omgeving
Stel: uw bedrijf biedt een dienst aan die onder andere inhoudt dat uw
klanten berichten op uw systeem achterlaten en berichten uit uw systeem
retour ontvangen.
Idealiter leveren uw klanten de berichten in uw formaat af op uw
webservice, en halen zij de berichten in uw formaat weer op. Zoals wel
vaker, is de praktijk waarschijnlijk iets weerbarstiger. Klanten willen
graag uw dienst afnemen, maar willen dat uw dienst zich aanpast aan hun
systeem en niet andersom. Dit betekent voor u dat u met meerdere
systemen moet koppelen en deze koppelingen allemaal moet onderhouden.
Als het systeem van de klant verandert, moet u direct de koppeling
aanpassen. Als uw dienst koppelt met tien of meer systemen die dan ook
nog voor elke klant een eigen inrichting hebben - bijvoorbeeld een
systeem als SAP of Oracle, waar het product bij veel klanten gelijk is,
maar de inrichting en daarmee de berichtenstroom zeer divers), dan is de
integratie al snel te complex om te vangen in de C#-code van een
webservice.
In een situatie als deze is BizTalk Server een goede keuze om uw
integratie- en koppelinguitdagingen mee aan te pakken.
3. Snel wisselende gegevensstromen
Idealiter wordt de logica van een programma niet vermengd met de
workflow of snel wisselende logica als mapping, transformatie en
validatie.
Als u wel eens een applicatie heeft gezien die als doel heeft 20 of meer
brondocumenten om te zetten naar 30 of meer doelberichten, dan weet u
dat C# niet de taal is om een dergelijk proces volledig mee op te zetten.
De C#-code zit vol met condities en voorwaarden en als er dagelijks
wijzigingen zijn in de routering, de mapping van data, de voorwaarden,
de validatie etc., dan is de applicatie al snel een bron van ergernis.
In dat geval is de situatie zo complex, dat u een domain specific
language als BizTalk Server nodig heeft. Dit serverproduct is ontwikkeld
met als doel om genoemde veelzijdige en sterk wisselende gegevensstromen
beheersbaar te maken. Met grafische tools om de mapping weer te geven,
een configuratie-omgeving om start- en eindpunten van berichtstromen te
configureren en een business-rules-engine om beslispunten in te
definiëren, is BizTalk Server bij uitstek geschikt om een dergelijk
probleem het hoofd te bieden.
Meer informatie?
Heeft u na het lezen van deze informatie vragen over BizTalk Server
voor uw eigen organisatie? Neem vrijblijvend contact op met Delta-N en
laat ons weten hoe wij uw business kunnen ondersteunen.