generalnie to tak, hasła klucze: REST (JAX-RS, Spring), AJAX, JSON, jQuery (ew. AngularJS), JPA(i np. Hibernate)
Mniej więcej wyglądałoby to tak, że masz jakiegoś Tomcata np. i RESTful webservice napisany w JAX-RS lub Springu. Ten serwis do zapisywania ziarenek do bazy używa JPA i jako implementacji Hibernate. No i teraz, żeby to się stało użyteczne, robisz np. w springu tzw. Controller'y, których metody "podpisujesz" pod URLe za pomocą adnotacji @RequestMapping
np.
@Controller
public class UserController {
@ResponseBody
@RequestMapping(value = "/user")
public User zwrocUsera(){
User user = new User("npimie", "nazwisko", wiekWPostaciCyfryNpDziesięć);
return user;
}
}
adnotacja @ResponseBody mówi: jak bede skierowany pod tę metodę, to wynik poprosze w postaci JSON
(lub inny jeśli określisz tzw Converter [jak w ścieżce klas jest biblioteka Jackson to domyslnie używany jest chyba MappingJacksonHttpMessageConverter]. Spring oferuje wiele converterów - więc mozesz dostac np XML)
I np. jak masz serwer który lata na localhost:8080 to wchodzisz pod localhost:8080/user
i dostajesz w postaci JSON'a obiekt usera (zamienianie javowych obiektów, beanów itp. na postac JSON robisz za pomocą biblioteki Jackson - chociaż tak na prawde to się robi samo :P)
w związku z czym w przegladarce wyswietli sie cos podobnego:
{name:"imie", lastname:"nazwisko", wiek:10}
Potem to zbierasz JavaScriptem i wyświetlasz.
Więc wygląda to mniej wiecej tak:
Czyli JSON służy to wymiany danych między serwerem a klientem (czyli np. PHP i Javascriptem albo JavaEE a javascriptem albo np JavaEE, a klientem desktopowym)