shutterstock_151502030

De cursus die ik vorige week gaf was dus een Live Virtual Class. En ja, het ging goed. Alle verbindingen deden het, misschien wel omdat jullie voor ons hebben geduimd. Maar waarover ging die cursus eigenlijk? Wel, over Java natuurlijk, en om precies te zijn over de Java Enterprise Edition (Java EE). Zeg maar: Java voor grote mensen. Of eigenlijk grote bedrijven, die hun IT-medewerkers op zo’n cursus sturen. Bedrijven, die voor hun zaken afhankelijk zijn van een uitgebreid geautomatiseerd systeem. De IT-medewerkers moeten dat systeem ontwerpen, programmeren en onderhouden. Vaak in teams die ieder verantwoordelijk zijn voor een deel van het systeem. Het is cruciaal dat die teams onderling communiceren en met elkaar afspreken hoe de delen van het systeem samenwerken. Daarbij speelt Java EE een belangrijke rol. Welke bedrijven werken ermee? Denk aan je bank, je verzekeraar, of je internetwinkel.

Java EE definieert een groot aantal standaards waaraan de programmeurs zich moeten houden. Dat vereenvoudigt het maken van afspraken, en zorgt ervoor dat de verschillende onderdelen die de teams maken op elkaar aansluiten. Het maakt het ook eenvoudiger om goed opgeleide mensen te vinden, omdat de standaards van Java EE in veel grote bedrijven wereldwijd worden toegepast. Daarbij komen ze vaak dezelfde problemen tegen:

  • beveiliging (gebruikers toelaten en specifieke permissies geven)
  • gelijktijdigheid (sommige systemen hebben miljoenen gebruikers waarvan er duizenden tegelijk bezig kunnen zijn)
  • schaalbaarheid (hoe zorg je ervoor dat je een plotselinge toename in het aantal gebruikers aankunt)
  • distributie (je kunt om de twee laatstgenoemde problemen op te lossen het systeem verdelen over een groot aantal computers die samenwerken, maar dat is op zich ook weer een hele klus)

en nog veel andere problemen. Java EE helpt bij het oplossen van deze steeds terugkerende problemen door het leveren van een zgn. Application Server. Dat is software, die diensten aanbiedt aan de systemen van de bedrijven. Diensten, die de oplossing zijn voor de bekende problemen. Een bedrijf hoeft “alleen nog maar” zijn eigen specifieke probleem op te lossen en toe te voegen aan de application server. Dat gebeurt in de vorm van componenten. Stukken software die ieder een taak hebben, hun eigen deel van het systeem implementeren. De application server voegt zijn eigen diensten daaraan toe en koppelt alle componenten aan elkaar.

De grote leveranciers van commerciële application servers zijn Oracle en IBM. Daarnaast bestaan er vele open source varianten (ontwikkeld door een groot aantal tamelijk slimme programmeurs van over de hele wereld), zoals GlassFish of JBoss, die gratis te downloaden zijn. Niet per se minder goed dan de commerciële, maar zonder support en garanties. Die bank van je vindt dat niet fijn (en kan zich dat veroorloven). Maar veel wat kleinere bedrijven draaien zonder problemen op een open source application server.

Er zijn verschillende soorten componenten gedefinieerd; je kunt ze groeperen volgens de plek die ze innemen in het systeem. Dat kan dichtbij de gebruiker zijn (de “voorkant” van het systeem); de taak van de componenten daar is de interactie met de gebruiker (de client). Of het kan dichtbij de databases zijn waarin alle gegevens worden bewaard (de “achterkant”); daar gaat het om het efficiënt en betrouwbaar opslaan en terugvinden van de gegevens (de data). Of het kan er tussenin zijn; daar gebeurt het “echte” werk, het rekenen, het controleren, het overmaken van geld, het invoeren en uitleveren van bestellingen. Dit deel wordt de business logic genoemd. Onderstaand schema laat deze plekken zien, van voorkant tot achterkant, met de gebruikelijke termen voor die plekken. Engelstalig, natuurlijk. (Je moest eens weten hoeveel moeite het me soms kost om deze blog in het Nederlands te schrijven.)

shutterstock_71174038

Is Java EE het ei van Columbus? Voor sommigen wel, voor anderen niet. Er was een tijd dat Java EE niet heel populair was omdat het te complex was, met als gevolg dat er allerlei meer lichtgewicht alternatieven ontstonden. Die zijn deels ingehaald doordat Java EE ook simpeler is geworden, en daarmee populairder. Dat is een nek-aan-nek race die altijd zal blijven bestaan, maar dat is goed nieuws. Zo worden beide stromingen er beter van. De wereld blijft veranderen, Java verandert mee. Voor een Java-docent goed nieuws, natuurlijk. Ik zou trouwens in slaap vallen als mijn vak niet voortdurend veranderde.

Advertenties