mini tutorial de como instalar scala estilo shotgun. * Si ya tienes instalado Scalatra todavía lo haremos en menos tiempo. Si no este manual de como instalar Scalatra para impacientes te ayudará a hacerlo en un par de minutos. Y ahora llega la mejor parte, tenemos dos opciones: a) hacerlo de cero. Buscar toda la documentación de Scalatra, Interface REST de Elastic Search, etc, etc. b) Clonar este proyecto de github, configurarlo y aprender como con unas cuantas lineas de Scalatra montamos un proxy de Elastic Search y los configuramos a nuestra medida y necesidades. Por supuesto vamos a escoger la opción B que nos mete en el partido en 3 minutos. 1) clonar el proyecto de ejemplo de proxy para Elastic Search usando Scalatra:
git clone https://github.com/nfb-onf/nfbsearch-scalatra.git2) Configurar el URI de conexión a tu Servidor de elastic Search (linea 35)
$ cd NFBSearch-Scalatra
$ vi src/main/scala/ca/nfb/NFBSearchServlet.scala
3) hacer un build del proyecto y lanzarlo.
$ ./sbt
> container:start
> browse
Lo que más me gusta de usar Scalatra es lo sencillo que es implementar una acción:
get("/search") { contentType = formats("json") val q:String = params("q") val httpClient = new HttpClient val response: Response = httpClient.get(new URL("http://localhost:9200/nfb_films/films/_search?q=" + q)) response.body.asString }Incluso alguien con poca experiencia con Scala/Scalatra sería capaz de leer y modificar este código. Es puro código suscinto sin ningún tipo de ceremonia, lo explica muy bien Javier Lafora, nuestro CTO en ASPGems en su post sobre por que usamos ruby y rails en ASPGems como tecnología web y tiene muchos puntos en común con «Por que usamos Scala para hacer Big Data en ASPGems» (este todavía no está escrito!!! 😉 )