Openbron in Entreprise Application Integration

Opensourcesoftware speelt al langer een belangrijke rol in onder meer serverinfrastructuur, databases en embedded software, en ook de gemiddelde desktop bevat wel één of andere opensourcetool. Meer recent duikt dit concept ook op in de wereld van SOA, web services en applicatie-integratie. Maar hoe presteren die tools in vergelijking met hun commerciële equivalenten?
Enterprise Application Integration (EAI) beschrijft hoe je de problemen oplost die de evolutie van logge alomvattende monolithische blokken van applicaties naar een set van gespecialiseerde best of breed toepassingen met zich meebrengen. Die gespecialiseerde toepassingen draaien vaak op verschillende hardware- en softwareplatformen, voor verschillende soorten gebruikers. Via middlewaretechnologie worden bruggen geslagen tussen de applicaties en systemen, die niet alleen toelaten informatie uit te wisselen, maar ook om die informatie indien nodig om te vormen of zelfs bedrijfslogica te implementeren.
SOA
Service Oriented Architecture – of SOA – wordt vaak in een adem genoemd met EAI. Nochtans is een SOA niet zozeer een set van tools, maar heeft het eerder betrekking op een set van richtlijnen voor het vlot op elkaar afstemmen van businessprocessen en IT.
Typisch voor een SOA zijn ondermeer loosely coupled componenten die zich manifesteren in de vorm van een service met duidelijk gedefi nieerde en gestandaardiseerde interfaces. Services doordacht afl ijnen voor maximaal hergebruik bevordert op termijn dan weer het onderhoud en de aanpasbaarheid, en dat zonder de autonomie van de applicaties in het gedrang te brengen.
De bindings, de lijm die nodig is om met behulp van deze services de processen samen te stellen, zijn taal- en platformonafhankelijk. Web Services (SOAP) zijn inmiddels de facto de SOA-lijm geworden.
ENTERPRISE SERVICE BUS
Een Enterprise Service Bus, of ESB, wordt soms verkeerdelijk beschreven als een voorverpakte SOA-implementatie. Bestaande defi nities gaan van minimalistisch tot bombastisch, maar een algemeen aanvaarde defi nitie bestaat nog niet. Wij defi niëren een ESB tussen die twee uitersten. Het is een betrouwbare integratieoplossing tussen heterogene applicaties met mogelijkheden tot routing en transformatie. Ze kan via open standaarden worden aangeroepen en heeft op zijn minst ondersteuning voor Web Services.
Het begrip open standaarden is daarbij cruciaal, evenals het aspect betrouwbaarheid: er moet een garantie zijn dat de informatie over de bus daadwerkelijk wordt afgeleverd.
HOE OPEN IS DIE SOURCE?
Openbronsoftware is geen recent verschijnsel: in de jaren ’60 werd software alleen ontwikkeld voor eigen gebruik of voor andere ontwikkelaars. In zekere zin was alle software toen min of meer open source. In de jaren ’70 nam het aantal eindgebruikers toe en zagen de ontwikkelaars de mogelijkheid om munt te slaan uit hun software door ze te verkopen. Zo ontstonden begrippen als eigendomsrecht van software. Niet iedereen vond dat een goede ontwikkeling. Een zekere Richard M. Stallman richtte in 1985 de Free Software Foundation op en dat was meteen de start van een hele open source beweging.
Opensourcesoftware en free software (‘As in free speech, not free beer’, volgens Stallman) zijn telkens onderhevig aan licentiemodellen met zeer uiteenlopende verplichtingen en beperkingen. Als u deze software overweegt voor businesskritische toepassingen is het absoluut aan te raden om grondig na te gaan welke licentiemodellen van toepassing zijn, om achteraf onaangename verrassingen te vermijden.
Bijvoorbeeld, omdat de GNU GPL-licentie op dit moment het populairste licentiemodel is (65% tot 70% van opensourceprojecten) moet men zeker het ‘virale’ aspect ervan niet vergeten. Er zijn echter vele licentievormen die men kan tegenkomen, elk met zijn eigen nuanceverschil.
OPEN SOURCE EN EAI
Het samenvoegen van de termen ‘open source’ en ‘EAI’ creeert het beeld dat er effectief complete, volwaardige openbronoplossingen zijn voor een EAI-problematiek. Dat is, jam mer genoeg, vandaag nog helemaal niet het geval.
EAI is een breed gegeven, en geen enkele proprietary of opensourcetool bedekt vandaag het volledige spectrum. In de context van dit artikel beperken we ons dan ook tot twee aspecten binnen EAI, namelijk de ESB’s en de JMS-providers.
HOEVEEL KOST MIJN BUSTICKET?
We spreken al sinds 2003 over ESB’s. Commerciële bedrijven zijn ondertussen sterk vertegenwoordigd op de ESB-markt. We denken hierbij aan spelers zoals TIBCO, Sonic, IBM, BEA, webMethods, Fiorano, Cape Clear, Software AG, Oracle en IONA. Die producten zijn inmiddels volwassen geworden, soms dankzij overnames van gespecialiseerde spelers (bijvoorbeeld de recente overname van de registry/repository provider Infravio door webMethods of FlashLine door BEA Systems).
Bij de opensourcealternatieven zijn er vandaag maar twee echte koplopers, namelijk Mule en ServiceMix. Andere spelers zoals Celtix, OpenESB, JBoss ESB, Apache Synapse verschijnen aan de horizon maar hebben nog een lange weg af te leggen.
Hierbij valt het onmiddellijk op dat vandaag de openbron- ESB’s nog lang niet over alle features beschikken die we in de commerciële tegenhangers min of meer standaard verwachten (bijvoorbeeld monitoring, rapportering, een portal, enzovoort).
Bedrijven die overwegen om voor een openbron-ESB te gaan en tevreden zijn met de aanwezige functionaliteit zullen echter niet teleurgesteld zijn: op een ‘per feature’ basis presteren de openbronproducten even goed als de commerciële tegenhangers.
AAN BEDRIJVEN DE KEUZE
Maar een bedrijf verwacht meer van software dan het al dan niet aanwezig zijn van bepaalde features. Typisch aan opensourceproducten in volle ontwikkeling is dat er minder aandacht gaat naar documentatie en onderhoud, het ontbreken daarvan kan uiteindelijk een hogere TCO (Total Cost of Ownership) tot gevolg hebben. Het idee dat men dankzij de beschikbare broncode over een levenselixir beschikt dat zelfs de beste documentatie overbodig maakt is misschien zaligmakend, maar dat is het alleen voor de happy few die beschikken over de juiste technische competenties. Op termijn kunnen die aspecten doorwegen, en de commerciële ESB’s winnen hier meestal met glans.
De beperktere maturiteit van open source-ESB’s manifesteert zich ook door de afwezigheid van eye candy: in plaats van de blitse grafische interfaces van hun commerciële tegenhangers moeten zij het stellen met droge – maar daarom niet minder goede – XML-configuratiebestanden. Die lijn kan worden doorgetrokken naar een beperktere ontwikkelomgeving, wat toch wel een lagere productiviteit zou kunnen betekenen.
Open source ESB-implementaties evolueren dus in de juiste richting. De features die ze bevatten werken goed maar het geheel ontbreekt nog aan maturiteit. Voor echte commerciële projecten is het misschien nog wat vroeg, maar voor bedrijven die de technologie willen leren kennen zijn ze zeker van nut. Opensource-ESB’s hebben nog wat tijd nodig om hun commerciële tegenpolen te evenaren, maar als de huidige trend wordt voortgezet kan dat misschien snel gebeuren.
OPEN SOURCE BROKERS
Naast de (complexe) ESB’s loont het de moeite om ook de open source JMS-providers even onder loep te nemen. Een JMS-provider of broker verzorgt de berichtenlaag binnen een EAI-oplossing. JMS (of Java Message Service) is de facto de standaard geworden om berichten betrouwbaar en persistent te verhandelen, en dit via point to point of via het publish/ subscribe model.
OPEN SOURCE ALS CONCURRENT
JMS-providers doken al op rond 2001 en zijn eenvoudiger, maar ook een stuk meer volwassen dan de ESB’s. Er zijn vandaag dan ook zeer interessante openbronalternatieven voor JMS-providers: producten als ActiveMQ, OpenJMS, JBoss Messaging, Joram en Mantaray zijn op alle vlakken volwaardige concurrenten voor hun commerciële tegenhangers (de commerciële JMS-providers zijn van dezelfde bedrijven die reeds vermeld werd
en bij de ESB’s).
Door de eenvoud zijn de features van de commerciële brokers rechtstreeks te vergelijken met die van de openbron tegenhangers. Belangrijke aspecten die getest werden zijn: robuustheid, persistentie, monitoring en berichtgrootte. Telkens weer kon er worden bewezen dat sommige opensourceproducten beter presteerden dan de commerciële alternatieven.
De resultaten spreken ook voor zich: een aantal open source JMS-providers scoren over het algemeen beter dan sommige commerciële, dit in tegenstelling tot de ESB’s. Het feit dat de openbron-brokerontwikkelaars ook tijd hebben geïnvesteerd in het maken van een mooie, administratieve gebruikersinterface is een bijkomende indicatie dat deze producten matuur zijn.
TOEKOMST
De richting die de open source EAI-oplossingen vandaag lijken te nemen kan geïllustreerd worden door de architectuur van het product FUSE van LogicBlaze: de best of breed opensourceproducten worden geselecteerd en samengevoegd, als de licenties van de onderdelen dat toelaten natuurlijk, en als het technisch mogelijk is. Voortbouwend op de maturiteit en kwaliteit van de open source JMS-technologie kunnen we verwachten dat op korte termijn ook de ESB’s zullen kunnen concurreren met de commerciële tegenhangers.
Men moet wel onthouden dat de initiële investering in een ESB binnen een bedrijf veel lager ligt dan de uiteindelijke onderhoudskosten, en dat deze nu net gevoelig kunnen liggen bij openbronproducten. Gespecialiseerde dienstverlenende bedrijven kunnen hier eventueel een aanvullende rol spelen.
Stijn Muys en Koert Van Espen zijn respectievelijk EAI consultant en managing partner bij Apogado.














