Expresscion is an open, cloud-friendly SCXML orchestration server.
Expresscion (formerly SCXMLD) provides Node.js express middleware which implements the State Machines as a Service (SMaaS) REST protocol.
Install PostgreSQL and Redis and set POSTGRES_URL and REDIS_URL in your environment.
You can clone this project boilerplate and run npm install
; or follow the instructions.
Init a new Node.js project with npm init
.
Create a new index.scxml
file in the project root.
Install expresscion as package dependency: npm install --save expresscion
Add to package.json:
"scripts": {
"start": "node_modules/expresscion/bin/www index.scxml"
},
Then run npm start
, and visit http://localhost:8002/ in your web browser.
Optionally, install command-line tools: https://github.com/JacobeanRnD/smaas-cli
Expresscion is designed to work well with existing devops tools. Here is how to deploy to heroku:
heroku create my-app
heroku git:remote -a my-app
heroku addons:create heroku-postgresql
heroku addons:create heroku-redis
heroku config:set POSTGRES_URL=`heroku config:get DATABASE_URL`
heroku config:set HOST_URL=https://my-app.herokuapp.com
git push heroku master