[Box Backup] Box and non-C++ clients
Ben Summers
boxbackup@fluffy.co.uk
Wed, 15 Feb 2006 22:11:18 +0000
On 15 Feb 2006, at 21:20, Stefan Norlin wrote:
>> The only downside - and its a biggy - is that it works by calling
>> bbackup executables directly rather than libraries. Its written in
>> PHP.
>
> I have also tried using cgi-script:ing to call the various
> executables...
> and then I started looking at implementing the protocol in Java... :)
>
> Nevertheless it would be cool to have a look at your interface.
Some random thoughts...
* It sounds like it might be better to have a separate server for
provisioning, with a different (but similar) protocol to bbstored.
Otherwise you start confusing functionality between the file server
and the provisioning system. It also means you don't have to run the
provisioning server if you don't want to.
* Maybe it could use an "easier" protocol. Like say something over
HTTP (I have HTTP handling libraries for the Box framework).
* On the "dream API" remember that 1) filenames are encrypted, so the
server can't do searching on wildcards and 2) you can already request
a list of the old versions of a file. For efficiency, it might be
nice to stream an entire directory tree, instead of requesting it one
bit at a time.
* I have a web app framework which works within the Box libraries,
which I am considering open sourcing. Perl scripts write C++, which
means that you can very easily use the existing code for talking to
the servers. It's a bit weird, but very productive, and you end up
with a single binary standalone web server. All the usual web app
stuff, like templating, i18n, form handling inc validation, database
and data binding, you know the stuff. Except that the business logic
is written in C++.
* Some of the other bits which have been developed sound very
interesting. I would welcome them into the project if appropriate,
but maybe it'd be simplest for everyone if they were "separate" to
some degree? It all depends, especially on which license was chosen.
Of course, all the bits will get prominent links from the home page
whatever happens.
* Check out SWIG for wrapping C++ libraries for Perl, PHP, Python,
Tcl, Ruby and PHP.
* I had no idea there was so much interest or so much going on!
Thanks.
Ben