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.

 

 

 

 

  • No labels