De Java wereld

Java

ondanks dat mijn vader een Indonees was, praat ik hier niet over het eiland .. waar ik graag nog een keertje naar toe wil gaan, maar ik praat over de programmeertaal Java. Waarom nu opeens Java.

Als je mijn blogs een beetje leest of mij persoonlijk kent, dan weet je dat ik de afgelopen 13 jaar alleen maar bezig ben geweest met integratie en voornamelijk met Oracle tooling omtrent SOA. Denk dat ik mij best een expert mag noemen met de kennis die ik op dit moment heb, maar ik had niet het gevoel dat ik goed kon groeien in de markt. Ook memo’s schrijven om ervoor te zorgen dat als team een inhaalslag gemaakt kon worden op het technologisch vlak kwam niet hoog genoeg in de organisatorische boom om daadwerkelijk aan de gang te kunnen gaan. Het meest frustrerende was dat het zelfs “gratis” was en dat een ingehuurde partner het wel voor elkaar kreeg om het voor zijn eigen team wel geregeld te krijgen.

Dat was het moment dat het bij mij van kriebelen in de onderbuik overging naar een gevoel dat ik weg moest om zelf nog te kunnen groeien.

Rule Engine werk

Dankzij meerdere toevalligheden kon ik bij een team aanschuiven om te zien of ik mij kon verdiepen in de rol van Solution Architect. Dat doe ik dan ook met veel plezier. Cursus uitgezocht en een stage periode aangezwengeld bij een nieuw team. Dat team klonk zo enthousiast en gezellig, maar het duurde toch even voordat ik door kreeg dat er een ongezonde sfeer in het team zat. Misschien dat ik hier later nog verder over kan uitwijden, in een andere persoonlijke blog, maar voor nu laat ik het even voor wat het is.

In het team wordt er gewerkt met een Rule Engine en men praat over Java voor connectiviteit. Dus na wat zoeken kwam ik op Drools Java Rule Engine en het leek mij leuk om mijzelf wat hierin te verdiepen. Zelf kan ik ook wel een Oracle Database oplossing downloaden om daar ook het datamodel in kwijt te kunnen.

Dus mijn eerste voorzichtige stappen zijn om een Rule Engine aan de praat te krijgen op een ontwikkelomgeving. Hiervoor heb ik een Virtualbox met Ubuntu 20 geinstalleerd en daarin het ik een Eclipse installatie uitgevoerd:

 

En nu wordt het spannend. Wat kan en ga ik hiermee doen? Met mijn SOA virtualboxes wist ik meestal precies waar ik naartoe wilde en ook eigenlijk wel hoe ik dat moest doen. Nu tast ik wel wat in het duister, dus nu moet ik kijken hoe ik de Drools Engine draaiend krijg. Volgens mij is dat een plugin, maar dat  weet ik dus niet. Ga ik nu mee aan de slag. Hoop dat ik binnenkort een update kan doen.

Eerst maar even controleren hoe ik de rule engine aan de praat krijg:

Eerst JBoss installeren via de Marketplace:

Dan JBoss invullen en Go klikken:

Selecteer de JBoss Tools en Install en daarna Confirm

Waarschuwing geaccepteerd dat er andere software werd geinstalleerd en gaan met die banaan.

Drools installatie via de New Software optie bij About

Verder dan dit ben ik niet gekomen. Nu ondertussen op een nieuwe omgeving en op mijn UNRAID server een VM met Ubuntu geïnstalleerd en terwijl ik bezig was met een Eclipse stappen uitvoeren, dacht ik dat ik al een keertje dit had uitgevoerd. Dit keer wil ik verder komen, dus ik heb gezocht op Drools by Example. Daaruit kwam naar voren dat je ook een Studio kon downloaden. Deze studio zal gebaseerd zijn op Eclipse, maar zonder de overbodige zaken die standaard met een full blown Eclipse meekomen (ja ik had de EE met alles erop en eraan opgehaald, want ik wilde niets missen 😉 )

Dus de Studio gedownload, via https://www.drools.org/download/download.html. Daar moest ik de Drools en jBPM integration Distribution ZIP downloaden.

Na downloaden, moest ik deze uitpakken. Met een kleine glimlach op mijn gezicht, dacht ik dat ik toch wel weer wat handiger was geworden … echter bleek bij het volgende onderdeel dat ik toch gewoon weer met Eclipse en plugins aan de slag mocht.

*zucht*

Maar deze keer had ik de plugins dus al lokaal opgeslagen (de stap hierboven) en daarmee kan het updaten toch weer wat sneller uitgevoerd worden.

Dan op Add klikken

https://downloads.jboss.org/jbpm/release/7.48.0.Final/updatesite/

Selecteer de Drools en jBPM box … je krijgt dan genoeg te downloaden:

  • Core: voor de regels denk ik
  • Guvner: is de repo waarin de regels terecht komen
  • jBPMN Core: BPM Notatie
  • jBoss Runtime: server waarop het draait)
  • Kie Navigator (Kie staat voor Knowledge Is Everything) is het overkoepelende gedeelte. Hoop dat ik na al deze uitleg toch meer weet van al deze verschillende zaken.

Dan een paar keer Next Next Finish acties en dan moet er nog een acceptatie vinden van de licentie meuk. Daarna komt er een melding die een gemiddelde gebruiker voor Abort ABOR ABORT NOW zal kiezen:

Maar wij gaan voor Pfft: Install anywayz …

 

Daarna een Restart …

Nu zou Drools beschikbaar moeten zijn. Slik … of Gulp in het Engels …

Ja joh .. het is hier fantastisch VAKANTIEMAN … De goede oude tijden. Volgens mij was dat een programma, waarin een presentator ging kijken hoe mensen genoten van hun vakantie. 20 jaar later en de programma’s gaan er alleen maar over hoe de vakantiegangers al coma-zuipend voor de camera komen, de presentator redding moet bieden voor malifide praktijken en allemaal dat soort dingen. Hebben jullie ook wel eens het gevoel dat de hele maatschappij gek is geworden?

En weer terug naar mijn testcase:

Ik neig naar de onderste: lekker een voorbeeldje downloaden en alleen de Hello World tekst aanpassen. Maar misschien moet ik nu toch ook eens proberen snugger over te komen, alsof ik ooit een hard-core developer zou kunnen gaan worden 🙂

Dus bovenste gekozen en op Next geklikt. MyFirstDroolsFuckUp

In het voorbeeld stata dat je kiest voor Maven zodat je niet zelf een complete Drools runtime hoeft te downloaden. Ja lekker een beetje laat. Dat heb ik al gedaan (denk ik) en dus kies ik toch (een beetje recalsie .. recalcy … tegendraads) voor de Java en Drools Runtime classes

Dan krijg ik een leeg scherm voor mijn kiezen, maar mijn gutfeeling (ok, een beetje omdat ik er vaker tegenaan gelopen ben) zegt dat ik naar de download en subfolder binaries moet gaan:

Daar staat dan alles goed ingevuld voor de runtime. Sjemig, wat heb ik dat G O E D gedaan 🙂

In het genoemde voorbeeld staat dat er een eenvoudige validatie op een model class wordt uitgevoerd. In een bankAccount moet geld staan.

Geef een reactie

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *