Synapsis è un middleware realizzato con lo scopo di collegare 'mente' e 'corpo'. La mente, generamente è intesa come entità in grado di effettuare ragionamenti mentre il corpo è lo strumento grazie al quale la mente ha una rappresentazione fisica nell'ambiente ed attraverso il quale può effettuare azione (movimento, ricerca, prelevamento....). Il corpo ha anche il compito di notificare alla mente le percezioni che riceve dall'amnbiente che lo circonda (ad esempio il fatto di essere stato toccato).
Per realizzare questo Middleware è stato fatto uso del PlayFramework. I principali motivi che hanno portato alla scelta di questo framework sono scalabilità, reattività, distribuzione e modularità, resi possibili dal largo uso di Akka.
Le principali tecnologie utilizzate sono:
Per capire bene come utilizzarlo leggere la tesi.
- Installare sbt sul proprio pc (nel mio caso ho utilizzato homebrew)
- Clone/Fork del repository (consiglio il fork per rimanere aggiornati in caso di cambiamenti)
- Entrare da terminale nella sottocartella
synapsis-middleware
- Utilizzare il comando
sbt compile
per effettuare una prima compilare del progetto
Per avviare il progetto è sufficiente:
- Entrare da terminale nella sottocartella
synapsis-middleware
- Utilizzare il comando
sbt run
per avviare il progetto
Il progetto sarà così avviato su http://localhost:9000 La pagina principale è ancora un template quindi non ha funzionalità ma serve solo a capire se il middleware è online
Online è presente la stessa versione del middleware disonibile all'indirizzo Synapsis-middleware-heroku. Raccomando di non abusare dato che è un account free e quindi soggetto a limitazioni.
Per velocizzare lo sviluppo è stata messa a disposizione degli sviluppatori la possibilità di realizzare MockActor, pienamente personalizzabili, che possono essere sostituite a una delle due entità (corpo/mente). La modalità di utilizzo è illustrata nel pdf.
Utilizzare il terminale per controllare lo stato di esecuzione del middleware. Verranno stampate informazioni utili come collegamenti, messaggi scambiati ...