fb
Enterprise Integration 8 minuten

Wat is er nieuw aan de WSO2 Enterprise Integrator 7.0.0?

Hans Bot
Hans Bot
Senior Solution Architect
yenlo blog 2019 11 21 whats new in wso2 ei 7 0 0 social
Scroll

yenlo_blog_2019-11-21_whats-new-in-wso2-ei-7-0-0Het antwoord op deze vraag en titel van deze blog luidt: Behoorlijk veel. Aan de andere kant, heel veel is toch ook hetzelfde gebleven. Dat ga ik uitleggen.

Al een aantal jaar biedt WSO2 de WSO2 Enterprise Service Bus (ESB) aan als het kernonderdeel in de bemiddeling / transformatie van jouw SOA landschap. De ESB heeft zich ontpopt als Enterprise Integrator, een gebundeld product waarin niet alleen de Enterprise Service Bus in zit, maar ook de Data Services Server en een aantal andere gerelateerde producten, zoals het Business Process Server profile, het Message Broker profile en het Analytics profile.

Als je het compleet wil maken, zou je ook het microservices framework voor Java mee moeten rekenen, een equivalent van Spring boot om microservices mee te bouwen, en daarnaast ook nog de Business Rules Server. En laten we de Integration Studio niet vergeten, de IDE voor de Enterprise Integrator die onlangs een make-over heeft gehad.

De functionaliteit van de Enterprise Integrator is nooit echt anders geweest dan die van de Enterprise Service Bus. Maar natuurlijk is het door producten te bundelen wel een veel sterkere engine geworden en toch runt het nog steeds Synapse en Axis2 frameworks die al sinds de initiële ontwikkeling de kern van de Enterprise Service Bus vormen.

Maar de new WSO2 Enterprise Integrator 7.0.0 is anders.

Wat zegt de naam ons?

De nieuwe versie van de Enterprise Integrator is opnieuw een verzameling aan producten, maar deze keer duidelijk op een andere manier ingestoken. De Message Broker en Business Process Server profile zitten niet meer standaard in het pakket. Enterprise Integrator 7.0.0 is eigenlijk opgedeeld in drie losse componenten die afzonderlijk te downloaden zijn en je daardoor een combinatie aan nieuwe en bekende tools geven voor bemiddeling en transformatie, de ontwikkeling van microservices en de verwerking van continue gegevensstromen. Alle drie zijn ze geoptimaliseerd voor containerized target platforms.

De drie losse componenten heten:

  1. Micro Integrator
  2. Ballerina Integrator
  3. Streaming Integrator

The Enterprise Integrator 7.0.0, a high level overview

Laten we ze alle drie eens van dichtbij bekijken.

Micro Integrator

De Micro Integrator is niet nieuw. Deze lichtgewicht versie van de Enterprise Integrator is al sinds de release van WSO2 EI versie 6.3.0 beschikbaar. De Micro Integrator gebruikt Synapse en Axis2, maar de bekende management console die we kennen van de volledige Integrator ontbreekt.

Micro Integrator

Goed beschouwd betekent dit dat het een losstaand product is dat verschilt van de oude Enterprise Integrator (Integrator profile), omdat het niet volledig compatibel is. De services die bijvoorbeeld één van de admin services gebruiken werken niet, omdat ze niet in het product zitten. Dat was natuurlijk te verwachten als je de logica van onveranderbare containers volgt. In andere woorden: het is niet te bedoeling om een container die al runt te managen, maar in plaats daarvan implementeer je de veranderingen in een nieuwe versie van de container image. Naast deze administratieve verschillen, in termen van bemiddeling en transformatie, voelt het product nog steeds heel bekend aan als dé Enterprise Integrator. Het ondersteund alle functies die we van de EI kennen en wij liepen tegen geen enkel probleem aan bij het runnen van bestaande sequences op de nieuwe versie. Maar test alsjeblieft eerst al je artifacts voordat je op het nieuwe platform overstapt.

Het verlies van de management console wordt deels goedgemaakt door een opdrachtregel interface die je de mogelijkheid geeft om de synapse artifacts in de Micro Integrator instance te monitoren. De optie ‘Hot Deploy’ wordt vanwege de onveranderbare containers echter niet meer ondersteund. Je zult simpelweg Micro Integrator bewust op moeten starten met het deployed CAR-bestand. Let er ook op dat het nieuwe model kleinere integratienodes toestaat, waarbij niet langer alle integraties van de hele enterprise op een enkele ESB draaien, wat DevOps teams nu de mogelijkheid geeft om hun eigen Micro Integrator instance te runnen. Dit zal organisaties zeker helpen bij het adopteren van de manier van werken met DevOps en de flexibiliteit vergroten.

Ballerina integrator

De Ballerina Integrator is bedoeld voor ontwikkelaars die gedecentraliseerde integratie-architectuur, microservices en cloudeigen apps gebruiken. Het kan gebruikt worden om integratie microservices te creëren met gebruik van een code-first integratiestijl. De integraties die je compileert geven je veel kortere runtimes, starten sneller en verwerken berichten een stuk sneller. En omdat de Ballerina taal Turing complete is, ben je niet langer beperkt tot het gebruik van de integratiepatronen die door de Integrator ondersteund worden.

Dit is een een aanzienlijke verandering ten opzichte van de Micro Integrator die configuration based was.

De Ballerina Integrator werkt met de Ballerina programmeertaal (ballerina.io) die de afgelopen jaren ontwikkeld is in een eigen door WSO2 geleide community. Het is gebaseerd op de beste aspecten van andere talen, zoals Java, Go, Python, Swift, enz. De focus van Ballerina ligt op massively distributed (micro)services, en omvat hoogwaardige cloudeigen functies met daarnaast een grafische tool voor sequentiediagrammen. Het helpt je om je systemen te organiseren als een verzameling componenten die onderling berichten uitwissen. In feite is dit waar het cloudeigen computing model op neer komt. Het is dus ook geen toeval dat Ballerina zo goed strookt met cloudeigen computing. En ja, het biedt ook volledige ondersteuning voor serverless computing. Het is zelfs een van de weinige talen die ondersteund wordt op AWS Lambda.

Ballerina werkt met bibliotheken die opgenomen kunnen worden om een specifieke functie te bieden, inclusief verbindingen met cloud-gebaseerde services en algemene integratiepatronen, waaronder gedistribueerde transacties, compensaties en circuitbrekers. Het ondersteund ook de connectoren en adaptors waar we bij de traditionele Integrator al van hielden. De Ballerina Central is een rijke en groeiende bron voor deze onderdelen.

In Ballerina zijn zowel JSON als XML native datatypen. Het aanroepen van functies en service die deze twee datatypen teruggeven was nog nooit zo gemakkelijk. Om de gedistribueerde architectuur verder te helpen, gaat Ballerina er vanuit dat iedere call op het netwerk een error kan geven en maakt de verwerking van deze foutmeldingen eenvoudiger. Ballerina bevat belangrijke taalelementen, zoals service endpoints, network-aware data types, connectors en workers die het eenvoudiger en effectiever maken om robuuste integraties over netwerkeindpunten te bouwen.

Ballerina

Voor ontwikkelaars die met Ballerina werken zal dit een verandering zijn in vergelijking met de Micro Integrator. We zullen weer code moeten gaan schrijven en gaan surfen op de (integratie) infrastructuur als codegolf, maar we gaan ook gebruik maken van krachtige libraries om het integratiewiel niet opnieuw uit te hoeven vinden.

Streaming integrator

Integratieteams zullen onvermijdelijk events en streaming data moeten integreren, wat vaak om complexe verwerkingsprocessen en event triggering vraagt. (Of erger nog, de verwerking van ruwe data.) Dit soort data streaming is niet nieuw voor WSO2. Het is de technologie achter Analytics engines die in de Enterprise Integrator, Identity Server en API Manager gebruikt wordt en daarnaast ook voor het throttling mechanism dat in de API Manager zit. Maar de Streaming Integrator kan ook gebruikt worden om zakelijkere gegevens op te vangen, dat in vergelijking met de technischere gegevens in het Analytics product. Daarvoor gebruikt het de krachtige querytaal Siddhi, die de mogelijkheid heeft om gegevens op te vangen, analyseren en output te genereren.

Het kan event streams met grote volumes aan data op hoge snelheden verwerken en gegevensbronnen/doelen mogen verschillend zijn in termen van protocollen, gegevensformaten, enz. Met de Streaming Integrator kun je eenvoudig continue query’s uitvoeren op tijdsperioden, die soms buckets worden genoemd. Als je een alert in zou willen stellen wanneer een bepaald apparaat de afgelopen vijf minuten in iedere bucket van één minuut geen reactie heeft gegeven, dan is de Streaming Integrator je partner.

De Streaming Integrator ondersteund naadloze integratie met de Micro Integrator en Ballerina Integrator, om bijvoorbeeld gevolg te geven aan een event dat in de Streaming Integrator naar voren kwam. Het is, zoals was te verwachten, volledig compatibel met de grootste streaming messaging systems zoals Kafka en NATS. Het kan gegevens uit de bekendste databases uitlezen en zelfs integreren in couldopslag. Het draait dus met plezier in een container.

yenlo_blog_2019-11-21_whats-new-in-wso2-ei-7-0-0_figuur-4

Samenvatting

De nieuwe EI 7.0.0 is een verzameling van drie producten die je in staat stellen om microservices in je IT-landschap te integreren, ongeacht of ze op basis van traditionele Synapse / AXiS2 werken of op het nieuwe Ballerina platform. Hierdoor kunnen API-gerichte integratieteams API’s, data, streams, SaaS en legacy apps vloeiend integreren.

De Micro Integrator en Ballerina Integrator bieden twee verschillende integratiebenaderingen (configuratiegericht vs. codegericht) en een integratiegebruiker kan nu beslissen welke benadering het beste past. Tot slot bevat het product de Streaming Integrator voor alle use cases die een verwerking vereisen van event streams.

De Streaming Integrator (SI) is een lichtgewicht stream verwerker die streaming SQL query’s kan afvangen, analyseren en verwerken en in real time naar aanleiding van events kan handelen.

Dit is een breed overzicht over hoe het product in elkaar steekt, zonder in te zoomen op de afzonderlijke componenten. We hebben het idee dat het klaar is voor een toekomst waarin microservices en integraties op basis van de traditionele ESB functies naast elkaar kunnen bestaan. Als je al flink geïnvesteerd hebt in een SOA-stijl integratie, dan kan deze coëxistentie nog best lang mee. Zo niet, dan blijft er nog maar weinig over dat de Micro Integrator wel heeft en niet ondersteund wordt in de Ballerina Integrator (hoewel dat nog wat experimenteel is in de fase).

De Enterprise Integrator (EI) 7.0.0 is een afzonderlijk product dat een leven zal gaan leiden naast de EI 6.x.x versies, waarvan een nieuwe versie (EI 6.6.0) voor later dit jaar op de planning staat. Dit is gewoon de voortzetting van de monolithische EI voor klanten die op dit moment de EI gebruiken. Als je vooral geïnteresseerd bent in Integrator Analytics, dan is het goed om te weten dat het Analytics profile in EI 6.5 naadloos aansluit bij de de EI 7.0 Micro Integrator. EI 7.0.0 is wel degelijk anders dan de 6.x.x, maar er is geen haast bij om over te stappen op de EI 7.0.0, omdat de bestaande producten ook de komende jaren nog ondersteund zullen worden. Als je echter overweegt op je eigen cloud te bouwen, een publieke could wil adopteren of een reeks aan toekomstige operaties wil hosten, dan zul je zeker blij zijn met deze nieuwe productlijn. Des te meer als je ook de DevOps aanpak wilt gaan inzetten.

Bij Yenlo vinden we het geweldig om de toekomst te laten opbloeien. Deze innovaties vinden weerklank bij ons, omdat wij hierdoor productievere werkwijzen kunnen gaan inzetten. Een aanpak die past bij een flexibele organisatie en zo de digitale transformatie versterkt. Daarom is het onze eer om samen met je op te trekken tijdens jouw transformatiereis. Vraag ons er gerust om!