A component-based application framework

Build a directed graph of components that communicate via
basic data structures, reka handles execution and data passing

  • self hosted
  • open source
  • JVM
  • somewhat experimental :)

  • hello world
  • embedded jruby
  • external process
 1 
name hello world
 2 
 
 3 
http {
 4 
  listen localhost:3000
 5 
  on request {
 6 
    put response {
 7 
      content Hello World!
 8 
    }
 9 
  }
10 
}
  1 
name hello jruby
  2 
 
  3 
jruby rb {
  4 
  Gemfile <<- gemfile
  5 
    source 'https://rubygems.org'
  6 
    gem 'nokogiri'
  7 
  ---
  8 
}
  9 
 
 10 
http {
 11 
  listen jruby.reka.io
 12 
  on request {
 13 
    run main
 14 
  }
 15 
}
 16 
 
 17 
def main {
 18 
 
 19 
  rb <<- ruby
 20 
    require 'nokogiri'
 21 
    require 'open-uri'
 22 
    doc = Nokogiri(open('http://nicksellen.co.uk').read)
 23 
    doc.at('h1').text
 24 
  ---
 25 
 
 26 
  putv:response.content :rb
 27 
 
 28 
}
  1 
name external process
  2 
 
  3 
process bash {
  4 
  script <<- bash
  5 
    #!/bin/bash
  6 
    while read line; do
  7 
      echo "you requested: $line"
  8 
    done
  9 
  ---
 10 
}
 11 
 
 12 
http {
 13 
  listen bash.reka.io
 14 
  on request {
 15 
    bash :request.path
 16 
    putv:response.content :out
 17 
  }
 18 
}

Curiosity piqued?

Email me at hello@nicksellen.co.uk