API Basics

Layered Application Tiers

In software engineering worden applicaties logisch opgesplitst in verschillende “tiers”. Een typische 3-Tier webapplicatie bestaat uit 3 lagen: de laag die de gebruiker te zien krijgt—de UI, bestaande uit HTML en CSS, de backend—een server waar de requests naartoe worden gestuurd en die de aanvragen verwerkt, en een data laag die onze database voorstelt. Onderstaand schema vat dit samen (via Trevor N. Mudge):

In de praktijk varieert deze tier benadering van project tot project.

Tot nu toe in dit vak hebben we ons toegelegd op Tier 3: de data laag. Zonder frontend applicatie laag kan een gebruiker echter niet interageren met deze database; er is dus minstens één extra tier nodig.

Om ons in het vak databases te kunnen focussen op de data en de integratie van de data met de software gaan wij ons toeleggen op Tier 2 + 3. Het web gedeelte valt weg en proberen zoveel mogelijk gebruik te maken van een commandline interface om te concepten uit te werken. In het vak Full Stack Web development duiken gaan we meer in op een mooie interface GUI programmeren. Een simpele 2-tier applicatie is ook wel een client-server applicatie genoemd. In ons geval is de server de database, die in principe op een andere machine kan gedeployed worden. Voor de oefeningen vereenvoudigen we dit systeem door gebruik te maken van een embedded database die in het lokaal geheugen kan draaien.

We teren dus op de volgende kennis:

  • Het opstellen van Gradle projecten in Java (SES);
  • Databases ontwerpen en koppelen (Databases);
  • GUI interfaces ontwikkelen (FSWEB).

Problemen met je JDK versie en Gradle versies? Raadpleeg de Gradle Compatibiility Matrix. Gradle 6.7 of hoger ondersteunt JDK15. Gradle 8.5 of hoger ondersteunt JDK21. Let op met syntax wijzigingen bij Gradle 7+!
Je Gradle versie verhogen kan door de URL in gradle/gradlew.properties te wijzigen.

Gradle dependency of Git source control problemen? Grijp terug naar de cursus van SES.

API solutions testen