Java Standaard Edition

Java Enterprise Edition (Java EE) is een uitbreiding op Java Standaard Edition (J2SE) ten behoeve van enterprise applicatieontwikkeling. Uiteraard zijn onze specialisten zeer bekwaam met de Java programmeertaal en de beschikbare standaard bibliotheken. Zij hebben ervaring met verschillende raamwerken die maatwerk ontwikkeling vergemakkelijken in zowel standalone als enterprise omgevingen.

Java is vanaf begin jaren ‘90 ontstaan bij Sun als opvolger voor C++. Aanvankelijk heette de taal ‘Oak’ naar de boom die voor het raam stond toen men bij het bedenken van een naam naar buiten keek en een eik zag. Er bestond echter al een taal met die naam en de bedenkers gebruikte toen de naam van hun favoriete koffie: Java.

Java kan beschouwd worden als een vereniging van de voordelen (en nadelen) van Smalltalk en C++. Java is in tien jaar uitgegroeid tot een zeer uitgebreide taal, waarbij zelfs de C++ generics uiteindelijk toegevoegd zijn, en kent een uitputtende standaard bibliotheek. Alle mogelijke middelen die men nodig heeft bij het ontwikkelen van maatwerk zijn doorgaans in de bibliotheek beschikbaar. Bijvoorbeeld I/O en data structures maar ondertussen ook regular expressions en XML processing.

De ontwikkelaars van 42 hebben ruime ervaring in diverse talen zoals C++ en Smalltalk en zijn nu allemaal gespecialiseerd in Java en zeer bekwaam met de standaard aanwezige features.

Toch voorziet Java (nog) niet in alle mogelijkheden die een ontwikkelaar nodig zou kunnen hebben bij een maatwerk project. Hierbij kunnen diverse commerciële en open sources initiatieven gebruikt worden om dit gat te dichten. De ontwikkelaars gaan echter pragmatisch met deze initiatieven om. Er zijn diverse frameworks ontwikkeld die heel veel problemen op zouden lossen. De ontwikkelaars van 42 zijn van mening dat er een duidelijke toegevoegde waarde moet zijn voordat men zich zo’n veelomvattend framework op de hals haalt. Als het probleem door het framework slechts wordt verplaatst of op een andere manier wordt aangepakt, is die toegevoegde waarde er niet. Naast de aan- of afwezigheid van voordelen moet ook worden nagedacht over de mogelijke nadelen. Afhankelijkheid van een extra leverancier, afhankelijkheid van kennis van het framework bij de onderhouds programmeurs, zijn voorbeelden van dergelijke nadelen.

De experts van 42 zijn van mening dat een dergelijk framework normaliter niet nodig is omdat zij met kennis en kunde in staat zijn met de normaal beschikbare middelen (lees: standaard en enterprise Java) degelijke maatwerk te realiseren.

Zoals gezegd kunnen raamwerken voor specifieke functies toch nodig zijn, en de ontwikkelaars van 42 kennen dan ook de initiatieven die beschikbaar zijn om het ontwikkelen te vergemakkelijken. Apache biedt bijvoorbeeld een flinke verzameling projecten die zinvol kunnen zijn, bijvoorbeeld voor logging, XML processing en binding en data structuren. Vaak worden deze projecten uiteindelijk (min of meer) in de standaard Java library opgenomen.

Daarnaast zijn er vele andere projecten, zoals OSCache en JGroups ten behoeve van gedistribueerde caches, waarmee de medewerkers van 42 ruime ervaring hebben opgedaan.

Ook belangrijk zijn persistentie raamwerken. Zoals Java Data Objects (JDO) implementaties als SolarMetric Kodo en Genie die POJOs kunnen mappen naar relationele en object databases. Een ander populair raamwerk is Hibernate en wordt hieronder beschreven.

Hibernate

In een J2EE/JEE omgeving kunnen container en bean demarcated entity enterprise bean (CMP/BMP EJB) gebruikt worden. Deze specificatie is echter zeer beperkt en omslachtig en is niet erg populair geworden. Vanaf J2EE 1.5 (omgedoopt tot Java EE 5) is de hele opzet van deze entity beans gewijzigd zodat de meeste tekortkomingen overkomen zijn. In een volgende versie van Standaard Java zal deze persistentie (Java Persistence API ofwel JPA) zelfs aanwezig zijn buiten een enterprise container omgeving.

Hibernate is een bewezen open source persistentie raamwerk dat vaak gebruikt wordt in Standaard en Enterprise Java omgevingen. Hibernate zorgt voor Object-Relational mapping van Java Bean (in feite gewone Java classes ook wel aan geduid als POJOs, Plain Old Java Objects) naar relationele database tabellen.

De ontwikkelaars van 42 hebben ruime ervaring met Hibernate en andere persistentie frameworks.
De JPA is grotendeels geïnspireerd door het Hibernate framework.

NL-JUG

42 moedigt haar medewerkers aan om actief in kennis vergaring en uitwisseling deel te nemen. Alle medewerkers kunnen dan ook gratis lid worden van de Nederlandse Java User Group (NL-JUG) bij. 42 is ook actief betrokken bij de NL-JUG. Eens per jaar organiseert de NL-Jug samen met 42 de programmeer wedstrijd ‘Masters of Java’