ESB Enterprise Service Bus

Enterprise Service Bus (ESB)

Professioneel verbinden van software-pakketten met een Enterprise Service Bus (ESB)

Verbind zakelijke software-pakketten professioneel tot één effectief systeem met Enterprise Service Bus (ESB)

Knoop de beste software aan elkaar

Binnen je bedrijf worden verschillende applicaties gebruikt. Standaard software of maatwerk software, het loopt vast door elkaar heen. ESB knoopt de software aan elkaar.

Makkelijk uitbreiden

Heb je al een Enterprise Service Bus (ESB) of wil je later nieuwe software toevoegen aan je omgeving? Dat gaat heel eenvoudig met een Enterprise Service Bus (ESB).

Is een Enterprise Service Bus (ESB) de oplossing voor mijn organisatie?

Als kritische bedrijfsprocessen in jouw organisatie afhankelijk zijn van twee of meer softwarepakketten (maatwerk- en standaardpakketten), dan is een Enterprise Service Bus (ESB) zeker een aanrader. ‘Traditioneel’ zouden die verschillende systemen met elkaar verbonden worden door bijvoorbeeld alle systemen afzonderlijk met elkaar te verbinden, maar met een Enterprise Service Bus (ESB) ontstaat een tussenlaag. Een soort hub. Daardoor hoef je bij verandering van je software of integratie met nieuwe software alleen de verbinding met de hub (de ESB) te wijzigen en blijft software die niet wijzigt of vernieuwt onaangepast.

Situaties waarin een Enterprise Service Bus (ESB)-oplossing uitkomst biedt voor bedrijven zijn:

  • Als je verwacht dat de IT voor de kritische bedrijfsprocessen de komende jaren flink zal groeien of het aantal bedrijfsprocessen de komende jaren zal toenemen.
  • Als je bedrijfsprocessen afhankelijk zijn van datastromen met externe systemen waarbij je wijziging van die software niet zelf in de hand hebt. Denk bijvoorbeeld aan externe partners of systemen zoals leveranciers, banken, keurmerken, etc.
  • Als je een aantal standaard softwarepakketten voor de verschillende bedrijfsprocessen in je organisatie naar tevredenheid gebruikt, maar ze wel met elkaar wilt integreren. Denk aan pakketten voor CRM, bestellingen, betaalsystemen, etc.
  • Als een bedrijfskritische wijziging van de data uit één systeem tegelijk moet worden doorgevoerd in verschillende andere systemen.
  • Als de IT in je organisatie communiceert d.m.v. verschillende communicatieprotocollen of communicatietechnieken, zoals bijvoorbeeld REST, API, JSON, FTP, webservices, XML, EDI, SFTP of email.
  • Als het belangrijk is dat de berichtgeving tussen systemen of losse softwarepakketen wordt gevalideerd, getransformeerd en/of gecontroleerd.

 

Wat doet een Enterprise Service Bus (ESB)-oplossing?

Een Enterprise Service Bus (ESB) verbindt verschillende applicaties met elkaar op een professionele manier. In kern zorgt een Enterprise Service Bus (ESB) voor transformeren en transporteren van data tussen verschillende softwarepakketten. Heel kort door de bocht is een Enterprise Service Bus (ESB) de postkamer voor de data van je verschillende systemen. Het ene softwarepakket verstuurt een bericht naar een of meerdere softwarepakket(-ten). Als er bijvoorbeeld een nieuwe klant wordt aangemaakt in een CRM, komen de adresgegevens ook automatisch in het boekhoudpakket, bestelsysteem en de helpdesk. Een Enterprise Service Bus (ESB) verzorgt die berichtgeving.

 

Hoe werkt een Enterprise Service Bus (ESB)?

Zonder in technische details te belanden: de Enterprise Service Bus (ESB) tussenlaag verzorgt de datastromen tussen je systemen, waardoor bij verandering van één van de systemen of integratie met nieuwe systemen (ook van bijvoorbeeld externe partijen) niet meteen al je software opnieuw hoeft te verbinden. De wijzigingen van de (nieuwe) software hoeft namelijk alleen in de verbinding met de Enterprise Service Bus (ESB) te worden doorgevoerd.

Het ontwerp van een Enterprise Service Bus (ESB)-oplossing begint bij Flusso met een Common Data Model (CDM). Dat is een overkoepelend data model waarin we de huidige en gewenste bedrijfsprocessen in je software in kaart brengen: Daarbij bekijken we:

  • welke systemen onderdeel uitmaken van je bedrijfsproces?
  • welke informatie we gaan transporteren tussen die systemen?
  • hoe die informatie nu in je systemen staat (data model van ieder systeem)?
  • of we die informatie moeten transformeren tijdens de uitwisseling?

 

Om een indruk te geven van de legio aan mogelijkheden in een Enterprise Service Bus (ESB) lichten we een paar vormen uit. In dat Common Data Model (CDM) stellen we integratie-patronen vast met Enterprise Integration Patterns (EIP’s). Er zijn veel Enterprise Integration Patterns (EIP’s), maar deze gebruiken we het meest:

 

Splitter aggregator

De splitter aggregator is voor berichten tussen systemen die een herhalend element bevatten dat we asynchroon kunnen verwerken. Bijvoorbeeld: een order in het ordersysteem heeft orderregels. Die orderregels uit die order worden opgesplitst in de Enterprise Service Bus (ESB) in losse berichten, soms zelf richting verschillende systemen (denk aan verschillende soorten magazijnen bijvoorbeeld). Die berichten verzendt de Enterprise Service Bus (ESB) los naar het picksysteem van de magazijnen. Indien gewenst kan de Enterprise Service Bus (ESB) die berichten ook weer terug sturen naar het ordersysteem of verzendsysteem (wanneer een product is gepickt, niet op voorraad is, vertraging heeft, etc.)

 

Scatter-gather

Wanneer één bericht naar verschillende systemen moet gebruiken we een scatter-gather. Bijvoorbeeld wanneer er een nieuwe klant in het CRM wordt aangemaakt, moeten alle gegevens van die klant ook naar een factuursysteem, mailinglist, ordersysteem, verkoopsysteem en noem maar op. Indien gewenst kan de Enterprise Service Bus (ESB) ook accorderen wat alle systemen met dat bericht hebben gedaan aan het CRM.

 

Content-Based Router

Is de inhoud bepalend voor de aflevering van het systeem, dan komt de content-based router aan te pas. Vergelijk het met de douane die post controleert. Een postpakketje is het bericht dat bij de Enterprise Service Bus (ESB) binnen komt en afhankelijk van de inhoud van het pakket, wordt bepaald wat ermee gebeurd (bijv. mag verzonden worden, vernietiging, retourzenden, giftige stoffen verwerking, etc.)

Er zijn ruim zestig EIP’s beschreven, waaronder de hier beschreven varianten. Ben je benieuwd welke er nog meer mogelijk zijn bekijk dan eens deze Wiki-pagina of lees het boek ‘Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions van Gregor Hohpe and Bobby Woolf.

 

Java Messaging Service

Eén van de technieken waarin een Enterprise Service Bus (ESB) berichten uitwisselt is bij ons de Java Messaging Service (JMS). Dat is een soort service in de Enterprise Service Bus (ESB) die zorgt dat taken niet worden vergeten of dat ze gegarandeerd worden afgeleverd. Eigenlijk is JMS de ‘wachtrij’ van je Enterprise Service Bus (ESB) wanneer berichten niet aankomen (om wat voor reden dan ook).

 

We integreren makkelijk

Enterprise Service Bus (ESB)-oplossingen realiseren we van huis uit met behulp van Camel, ServiceMix, Talend of MuleSoft. Heeft je organisatie al één of meerdere Enterprise Service Bus (ESB)-integraties? Dan kunnen we daar ook mee uit de voeten. Wanneer we van scratch af aan beginnen een Enterprise Service Bus (ESB)-oplossing voor je realiseren, dan adviseren we vaak een keuze voor open source. Meer weten over onze open source filosofie? Neem vrijblijvend contact met me op.

Jouw groeikansen vinden & volop benutten!

Al sinds 2006 bouwen wij mee aan online startups, lanceren we digitale platforms en helpen we organisaties om innovaties te versnellen.