Järjestelmäintegraatiot
Clojure-sovelluksen arkkitehtuuri yleisesti
- Sovellusprosessi käyttää HTTP-pyyntöjen käsittelyyn HTTP Kit -kirjastoa.
- HTTP Kit luo HTTP-pyyntöä esittävän tietorakenteen, joka on Ring-kirjaston käyttämässä muodossa, ja antaa sen Ring handler -funktion käsiteltäväksi jossain thread poolin säikeessä.
- Ring handler palauttaa HTTP-vastausta esittävän tietorakenteen, josta HTTP Kit luo HTTP-vastauksen ja palauttaa sen selaimelle.
- Varsinaisen sovelluslogiikan sisältävä handler on rikastettu erilaisilla middlewareilla, jotka mm. hoitavat autentikaation, päättelevät sisällön esittämiseen käytettävän localen, jne.
- Tietokannan käsittelyyn käytetään Korma-kirjastoa. Korma hallitsee omaa connection pooliaan, joka luodaan sovellusprosessin käynnistyessä.
Sovellusarkkitehtuuri korkealla tasolla
Kuvassa esimerkkinä yksi järjestelmäintegraatio. Tarkoitus on kuvata miten Clojure-sovellus toimii Java-virtuaalikoneessa. Varsinainen ydinsovellus on Servlet-pohjainen, joten sovelluspalvelimena voisi olla Tomcat tai Jetty, mikäli ei haluta käyttää upotettua containeria.