1

I even don't know what question to ask but I'll try anyway I need a small footprint 'application server' that will host a database, scripting language and a web server - all in a single process. Something that will not require external SDK/frameworks like Java, .Net or Ruby - just an exe with a bunch of script files with my custom code.

The functionality should include: a http server, script programming API for common tasks (db access, http communication, system API interfacing) and an embedded database/key-value store. It should work on windows and unix.

For example MongoDB has no external dependencies, has a database built-in and also has javascript interpreter inside. But it can't run custom scripts or load extension libraries (afaik) - it was not designed to be an application server. But if it were, this would be what I'm looking for.

Any suggestions/ideas?

Clifford
  • 88,407
  • 13
  • 85
  • 165
nightwatch
  • 1,276
  • 2
  • 18
  • 27
  • It's funny, the only thing that comes to mind is "fossil" the version control system. It has sqlite built in. It's not really meant to be an application server, but I think it does actually have all the components you are looking for, and it's a single executable file. There has been recent effort to give it a JSON REST api. If you're trying to run in Windows or Linux, why can't you use something a little more hefty? What is your goal? – Eve Freeman Apr 20 '12 at 14:37
  • My goal is to provide small and simple 'agent' applications that will be installed on windows and unix computers. They will collect data, send it to server and respond to various REST control requests. I'd like the application to be small, lightweight, customizable, and simple to install by copying files. Just a self-hosted web application that doesn't require web server, database server and application server. Doesn't it look sexy? – nightwatch Apr 20 '12 at 14:56

1 Answers1

1

Most scripting languages would be suitable for this, for example Python or Tcl, since they can load SQLite3 bindings and run a web application server in a single process. Many of these languages also have simpler databases implemented in their native language.

If you are comfortable with Lua, it might be a particularly good choice because it is easy to strip it down to relatively few files.

Guan Yang
  • 1,202
  • 8
  • 6