21. Conclusione
Nell’introduzione di questo documento è stato scritto:
Il suo obiettivo è insegnare il linguaggio Java in un'ottica professionale. Per questo motivo, ci affidiamo fortemente al framework Spring [http://spring.io/], ampiamente utilizzato nello sviluppo JEE (Java Enterprise Edition). Logicamente, questo corso dovrebbe essere seguito da un corso JEE.
Il lettore interessato potrà approfondire l’argomento con vari documenti didattici su JEE:
- [Introduction à Struts 2 par l'exemple] (2012). Struts è stato il primo framework MVC al mondo JEE, più di 10 anni fa (~2005). Struts 2 rappresenta un’evoluzione del framework Struts originale;
- [Introduction à JSF2, Primefaces et Primefaces mobile] (2012). Questo documento presenta un altro framework MVC del tipo JEE, la versione 2 di JSF (Java Server Faces) e i EJB3 (Enterprise Java Bean), che offrono funzionalità simili a quelle di Spring. Presenta inoltre [Primefaces], una libreria di componenti Ajax (Asynchronous JavaScript and XML) per JSF e la sua versione [Primefaces mobile] destinata a smartphone e tablet;
- [Tutoriel Angular JS et Spring 4] (2014), che presenta un’altra architettura web, quella client/server. In questo caso,
- il client è realizzato con il framework Angular jS;
- il server è realizzato con Spring MVC;
- [Spring MVC et Thymeleaf] (2015), che illustra i dettagli di Spring MVC e lo associa al generatore di pagine Thymeleaf. L'applicazione realizzata è la stessa di quella descritta nel documento [Tutoriel Angular JS et Spring 4], il che consente di confrontare le due architetture;
- [Exploiter une base de données relationnelle avec l'écosystème Spring] (2015). Questo documento è quello su cui si basa il presente TD. Non apporta nulla di nuovo, se non che gli esempi sono stati elaborati con 6 SGBD (MySQL, Oracle, SQL Server, PostgreSQL, IBM, DB2, Firebird) e 3 implementazioni JPA (Hibernate, EclipseLink, OpenJPA). Il suo obiettivo è mostrare come progettare l’architettura di un’applicazione in modo che sia portabile da un SGBD all’altro e da un’implementazione JPA all’altra;