Follow Us on Twitter

Oracle Enterprise Service Bus (ESB)

Juni 2006 - Oracle Enterprise Service Bus, kortweg Oracle ESB, bestaat uit twee componenten: de ESB server, en de ESB designer ontwikkelomgeving binnen JDeveloper. Deze intuïtieve en flexibele ontwikkelomgeving maakt het mogelijk om op relatief eenvoudige wijze complexe, op open standaarden gebaseerde, integratieoplossingen te bouwen. Alhoewel ESB is gebouwd op een messaging infrastructuur, is het door gebruik te maken van de meegeleverde services mogelijk om niet alleen op data-, maar juist ook op procesniveau applicaties te integreren. Deze modulaire manier van bouwen maakt ESB erg flexibel. Om de gebouwde integratieprocessen te kunnen beheren, is de ESB server voorzien van een webconsole. Via deze console kunnen processen gestart, gestopt, geïmporteerd, geëxporteerd en verwijderd worden. Tevens is het mogelijk om het proces op bepaalde punten inhoudelijk te wijzigen zoals het toevoegen van traceerbare velden (tracking fields) en het aanpassen van routering binnen een routingservice.

Sneak Peak

Sinds mei dit jaar participeert Whitehorses in het beta programma van de Oracle Enterprise Service Bus (ESB). Dit nieuwe product van Oracle uit de Fusion Middleware productlijn biedt functionaliteit vergelijkbaar met Oracle InterConnect, echter veel uitgebreider. In combinatie met bijvoorbeeld Oracle BPEL process manager kunnen ontwikkelaars met Oracle ESB op zeer eenvoudige manier complexe integratieoplossingen bouwen, zowel op data- als op procesniveau.

Een goede keuze van Oracle is om ESB volledig te baseren op open standaarden als JCA, XML, JMS, Web Services and WSIF. Deze standaarden zijn onder andere gebruikt voor het maken van nieuwe applicatie- en protocoladapters, waarmee op eenvoudige wijze applicaties op ESB kunnen worden aangesloten. Dit zijn dezelfde adapters als gebruikt worden voor Oracle InterConnect en BPEL Process Manager. Door het gebruik van open standaarden is het zelfs mogelijk om een eigen adapter te bouwen.

 Oracle ESB Architectuur
Enterprise Service Bus architectuur

De architectuur van Oracle ESB is gebaseerd op een applicatieframework, dat messaging als belangrijkste component heeft. Door het gebruik van services zoals datatransformatie met XSLT, content-based routing en connecties met BPEL Process Manager, kunnen bedrijfsprocessen op elkaar worden aangesloten. ESB is meer dan alleen messaging.

Omdat Oracle ESB in feite een 'normale' J2EE applicatie is, draait het binnen de Oracle OC4J J2EE container. Hierdoor is het gelijk mogelijk om ESB binnen RAC en/of GRID omgevingen te implementeren. Op deze manier biedt ESB schaalbaarheid, fail-over en high-availability.

Het ontwikkelen op het Oracle ESB platform werkt erg intuïtief door de meegeleverde JDeveloper plugin. Met deze ESB designer plugin krijgt de ontwikkelaar een grafische omgeving om integratieoplossingen te implementeren, vergelijkbaar met die van Oracle BPEL Process Manager:

ESB designer plugin voor JDeveloper
De ESB designer plugin in JDeveloper (klik voor grotere versie)

Deze ontwikkelomgeving is een enorme verbetering in vergelijking met bijvoorbeeld iStudio, zoals wordt meegeleverd met Oracle InterConnect. Het ontwikkelen in de ESB designer is bijna zo makkelijk als het bouwen met legostenen. Iedere adapter, routing en translatie wordt geïmplementeerd als een service. Iedere service is te zien als een eigen legosteen. Deze services, zijn ook daadwerkelijk webservices; ieder blok heeft een eigen WSDL. Het ontwikkelen in ESB designer is op deze manier erg intuïtief en flexibel gemaakt.

Het voordeel van deze aanpak is dat de ontwikkelaar erg veel vrijheid heeft om een oplossing te bouwen. Dit is tevens een nadeel: indien er niet gebruik wordt gemaakt van een standaard werkwijze, kunnen gebouwde integratieoplossingen al snel onoverzichtelijk worden. Dit heeft negatieve gevolgen voor bijvoorbeeld onderhoudbaarheid, uitbreidbaarheid en schaalbaarheid van de gebouwde integratieoplossing.

Door het gebruik van JDeveloper als ontwikkelomgeving, kunnen de gebouwde oplossingen met één druk op de knop in gebruik worden genomen op de Oracle ESB server, het zogenaamde deployen. Dit is vergelijkbaar met het ontwikkelen van J2EE- of BPEL-applicaties in JDeveloper.

De vanuit ESB designer gedeployde integratieprocessen kunnen binnen Oracle ESB worden bekeken en beheerd op een webgebaseerde console:

ESB console
De Enterprise Service Bus console

Deze webconsole is qua stijl erg vergelijkbaar met de console van Oracle BPEL Process Manager. In de webconsole kunnen alle integratieprocessen bekeken worden. Deze processen worden ook weer in dezelfde bloknotatie weergegeven zoals ze in ESB designer zijn ontwikkeld.

Specifieke onderdelen van het proces zijn zelfs runtime in de console te wijzigen. Zo kan bijvoorbeeld de routering binnen een routingservice ad-hoc worden aangepast, zonder de noodzaak het proces te herstarten of opnieuw te deployen vanuit de ESB designer (JDeveloper).

Ook kunnen er in de ESB console zogenaamde tracking fields worden ingesteld. Tracking fields zijn variabelen binnen een integratieproces die kunnen worden aangemerkt als traceerbare velden voor het monitoren van het proces. Omdat ESB al het dataverkeer binnen een integratieproces vastlegt, kan er via deze velden specifiek door de historie worden gezocht. Dit vergemakkelijkt het analyseren van problemen tijdens ontwikkelen, testen en productie.

Verder is het mogelijk om via de webconsole integratieprocessen te stoppen, starten, verwijderen, exporteren en importeren. Als laatste dient de console er ook voor om domain-value maps (DVM’s) te maken en te beheren. DVM’s zijn vertaaltabellen, bedoeld om stamgegevens tussen verschillende applicatiedomeinen te kunnen uitwisselen. Een voorbeeld hiervan is bijvoorbeeld het stamgegeven geslacht. In systeem A kan mannelijk worden vastgelegd als de waarde ‘M’, terwijl dit in systeem B wordt vastgelegd als ‘1’. Een DVM legt deze vertaling tussen de waarde ‘M’ en ‘1’ vast.

Tot zover deze sneak-preview van Oracle ESB. Naar verwachting zal Oracle ESB in september door Oracle worden gelanceerd. In de toekomst zullen wij u op de hoogte houden van alle ins en outs.

Conclusie

Oracle ESB is een flexibel en krachtig product, met een goed doordacht server- en ontwikkelplatform. De mogelijkheid om ESB te integreren met Oracle BPEL Process Manager doet daar nog een schepje bovenop. Deze flexibiliteit maakt ESB een geweldig integratieplatform. Het is echter ook een valkuil: om gebouwde integratieprocessen beheersbaar en onderhoudbaar te houden, is een doordachte architectuur noodzakelijk. Het verdient de aanbeveling om een standaard aanpak en best-practices te definiëren.

Oracle ESB is geenszins een nieuw concept. Het zal moeten concurreren met namen als Tibco, Sonic en Webmethods. Hoe dit uitpakt moet de toekomst uitwijzen. Echter naar onze mening is Oracle ESB voor bedrijven op een Oracle productstack een goede en logische keuze.

In de komende whitebooks zullen wij u meer vertellen over Oracle ESB, hoe ESB zich verhoud tot de overige Oracle integratieproducten (InterConnect en BPEL Process Manager), evenals best-practices en migratiepaden.

Referenties


Over de auteur

Bastiaan is Oracle/Java consultant, teamleider en Oracle web-, multi-channel en Linux specialist bij Whitehorses. Hij heeft ruim 7 jaar ervaring met de Oracle server- en ontwikkelproducten op alle gangbare platformen, zowel met als zonder Java. Vanuit een achtergrond als systeemintegrator en programmeur heeft Bastiaan zich ontwikkeld als een allround technisch specialist met een focus op data- en applicatie-integratie (EAI/SOA).

Waardering:
 

Reacties

Nieuwe reactie inzenden

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.

Meer informatie over formaatmogelijkheden

CAPTCHA
Deze vraag is om te testen of u een persoon bent en om spam te voorkomen
Image CAPTCHA
Enter the characters shown in the image.