Java – IT technologie met ongelimiteerde mogelijkheden

Egmont-Petersen

Java – zoveel meer dan een programmeertaal

Java is een programmeertaal waarmee je zoveel meer kan dan met eerdere programmeertalen zoals C++, C, Pascal. Ik heb veel ervaring met deze andere talen. Java werk ik professioneel mee sinds 2012, met veel plezier.

Met Java kan je onder andere:

  • Een stand-alone applicatie maken die als enkel programma draait op een PC/Laptop.
  • Een eenvoudige webapplicatie maken die draait onder Tomcat of WildFly/JBoss.
  • Een microservice maken die via webcalls kan worden aangeroepen. Hiermee ondersteunt Java ook een modulaire opbouw van samenwerkende microservices.
  • Een cloud-webapplicatie.
  • Een interactieve website met achterliggende proceslogica.
  • Een Big Data analytics applicatie
  • Een web-crawl applicatie die alle weblinks binnen een hoofddomein doorspit.
  • veel andere mogelijkheden

 

Spring of Java Enterprise (JEE)?

Bij het opzetten van een nieuwe Java web-applicatie moet een keuze worden gemaakt tussen Spring of Java Enterprise web–frameworks. Ik heb ervaringen met beide frameworks uit verschillende softwareprojecten.

In de basis is Spring (Spring-4) een light-weight framework. Er is niet zoveel nodig om te configureren voor elke Java-klasse (‘bean’). Een heel aantal keuzes zijn impliciet gemaakt. Je kan bijvoorbeeld een singleton Javaklasse annoteren, maar het is niet ‘default’. Je rijdt mee op de ‘Spring wave’. Java-Spring applicaties draaien moeiteloos onder de Tomcat applicatieserver, de meer light-weight webserver in vergelijking met de WildFly/JBoss applicatieserver. In combinatie met de sqlite database draait een grotere Java-Spring webapplicatie zelfs op een Raspberry Pi, met snelle responstijden.

In Java Enterprise (JEE) moet je meer expliciete keuzes maken. Is een Java-bean Stateless, Singleton of Statefull? Moeten expliciete afhankelijkheden worden aangegeven tussen opstartende Java-beans? (DependsOn-annotatie). Ook moet je in de datalayer aangeven of de database container-based of session-based transaction-management doet (‘Begin/End transaction’). Het verplicht maken van een aantal keuzes heeft als gevolg dat een JEE applicatie zwaarder oogt dan een Spring applicatie. Veel JEE beans bevatten 3-5 EE annotatieregels, terwijl in Spring slechts 1-2 annotatieregels volstaan voor de meeste beans.

Voor grote multi-user webapplicaties met veel parallelle sessies gaat mijn voorkeur uit naar het JEE framework. Voor meer light-weight applicaties raad ik Spring aan. Toch heb ik ook aan een Spring applicatie ontwikkeld die door consumenten uit heel Nederland werd aangeroepen. In JEE moet je voor elke bean specificeren of alle gebruikers de data delen, of dat de data in de bean (zijn ‘state’) juist sessiespecifiek zijn.