Questo corso fornisce una panoramica generale sui microservizi e permette allo studente di effettuare l'implementazione pratica di una web application composta da due microservizi utilizzando Spring Boot, il design pattern MVC, i servizi REST e l'accesso ai database.
L'applicazione sarà messa in sicurezza utilizzando i Json Web Token, una nuova tecnologia che sta lentamente sostituendo i cookies per l'implementazione degli accessi con credenziali.
Nel corso sono utilizzate le Java Persistence Api (JPA) che utilizzano Hibernate per l'accesso al database.
Impareremo come implementare il Data Binding con Spring e come validare i dati in due modi, sia con Spring Validator che attraverso la validazione JSR-303.
Impareremo a strutturare le nostre applicazioni attraverso un packaging corretto che tenga conto dei vari layer di cui è composta l'applicazione.
Impareremo a strutturare correttamente le nostre applicazioni, utilizzando i controller, i service, i dao e le utility, attraverso una suddivisione dei compiti, secondo il "Single Responsibility Principle".
Testeremo il funzionamento dei microservizi passo passo durante lo sviluppo utilizzando Postman.
Verrà sviluppata un'interfaccia front-end per la fruizione integrata di tali servizi, utilizzando AJAX e JQuery, sviluppando in tal modo una Single Page Application "framework-less", spiegando come gestire i messaggi JSON ottenuti in seguito alle chiamate asincrone ai microservizi realizzati.
I microservizi saranno in ascolto su porte di comunicazione differenti, risponderanno a specifici url-path e saranno in comunicazione tra di loro grazie all'oggetto RestTemplate.
Realizzeremo quindi, un sistema intercomunicante: l'interfaccia comunicherà con i microservizi tramite chiamate REST e i microservizi comunicheranno tra di loro tramite le stesse chiamate REST ma lato back-end.
I microservizi possederanno ciascuno una base di dati: il primo utilizzerà un in-memory database (H2), il secondo utilizzerà un database MySQL realizzato nel corso attraverso lo stack opensource XAMPP.
Useremo le application.properties per configurare la porta di comunicazione e la connessione al database dei nostri microservizi.
Impareremo ad utilizzare l'interfaccia CommandLineRunner() di Spring Boot per effettuare delle operazioni preventive lato server.