cubes – ways of deployment
Post on 18-Dec-2014
1.615 Views
Preview:
DESCRIPTION
TRANSCRIPT
Ways of Cubes Deployment
data brewery
Stefan Urbanek ■ @Stiivi ■ stefan.urbanek@gmail.com ■ February 2014
Simple Slicer
Public
store
Slicer server
HTML & JS Application
HTTP request
JSON reply
model
Run Slicer server
Provide desired output
1
3
2 Query server from JavaScript
GET /cubes !GET /cube/{CUBE}/model !GET /cube/{CUBE}/aggregate?…
> slicer serve slicer.ini
WSGI Slicer
Public
store
WSGI
HTML & JS Application
HTTP request
JSON reply
Slicer Flask App
model
Same usage as stand-alone Slicer server
Slicer as a Service
Internal
Public
store
Slicer server
Web ApplicationPHP, RoR, Django
HTTP request
JSON reply
model
HTML
GET /cube/{CUBE}/aggregate?…
Run a Slicer server instance
Provide desired output
1
3
4
Query with HTTP requests
2 Get the model using HTTP
GET /cubes !GET /cube/{CUBE}/model
Python Application
from cubes import Workspace !workspace = Workspace(“slicer.ini”) browser = workspace.browser(…) result = browser.aggregate(…)
Public
store
JSON reply
CubesPython API
Django, Flask, …
HTML
model
Python Web App handles the request
Python Web App provides output
1
2
3
Application uses the Cubes directly:
Flask Blueprint*
* http://flask.pocoo.org/docs/blueprints/
Public
store
Flask
HTML
Slicer Blueprintmodel
from flask import Flask from cubes.server import slicer !app = Flask(__name__) !app.register_blueprint(slicer, url_prefix=“/slicer", config="slicer.ini")
Register Slicer as part of Flask app
Provide Slicer API as additional“raw analytical data” API do whatever you want in Flask
1
2
Summary
Slicer server(stand-alone)
HTTP JSONFlask
Slicer Blueprint
HTTP
JSON
Python App? ?
Cubes Python APIWSGI + Slicer serverHTTP JSON
separate integrated
LinksCubes Home
cubes.databrewery.org
github
github.com/Stiivi/cubes
Development Documentation
cubes.databrewery.org/dev/doc/for github master HEAD
top related