This software is ALPHA and lacks documentation.
Lens is a tool for online analytical data processing in medical studies.
This repository contains a top-level documentation of the whole Lens system which currently consists of these components:
- Lens App - the web frontend of the Lens system
- Lens Warehouse - the data warehouse service which holds the actual data to be queried
- Lens Workbook - the workbook storage service which manages the workbooks containing queries of various users
- Lens Auth - the central OAuth 2.0 authorization service for all Lens backend services
In addition to the Lens components, the warehouse and workbook service needs a Datomic database each.
Different deployment scenarios are thinkable. Each Lens service follows the principles of a 12-factor app. Public deployments on Heroku are evenly possible as private deployments on a PaaS system like Deis. Currently a deployment on Deis is tested.
There are also different ways to deploy the two Datomic databases needed by the warehouse and the workbook service. The minimal deployment is one Datomic Free Edition installation hosting both databases. In order to improve fault tolerance, two separate Datomic installations are also possible. Bigger production deployments may benefit from a Datomic Pro Edition installation. There is a no-cost Starter variant of the Pro Edition available. Lens is tested with a Datomic Pro Edition installation using Riak and Zookeeper as storage backend.
This repository contains a Docker Compose file which allows a single command deployment assuming a working Docker installation. All you need to do is cloning this repo and typing
docker-compose up
after the Lens system is started, you can point your browser at
http://localhost:8080
.
The Docker Compose file starts several containers which are all automated Docker
Hub builds of the respective GitHub projects available here. Please check
the docker-compose.yml
before bringing it up if you want to be sure that you
don't run unwanted containers in your environment.
Currently the Docker deployment comes with two empty databases which contain only the initial schema. You can log in the web frontend and create workbooks but there is no data to be queried.
There will be deployments with sample data very soon.
Copyright © 2015 Alexander Kiel
Distributed under the Eclipse Public License, the same as Clojure.