Beesnest - Personal Application Server

Home Documents Downloads/Code About Contact Me

Some thoughts about Beesnest and personal web applications

Personal web applications are going to be a big deal. Soon. There are few nice servers for this purpose, that I know of (I will put a partial list here...). That is good, I'm sure we will all benefit from it. One advantage of Beesnest is that it doesn't limit the developer for one specific scripting language. Other major advantage is the ability to store an interpreter loaded in the memory.

I hate to write GUIs. For me it is hard and not much fun. On the other hand, nice looking web pages are not too hard to do (and it is usually the job of a web designer). Web applications for hundreds, thousands or more, are all over the place (that is what I'm doing for living). Way not using this excellent technology for applications that runs on your own computer?

If you're server serves thousands of customers, it will not make much sense to keep a scripting language interpreter loaded in memory for each client. That will drain the resources of the server very quickly. But if your server serves just a few customers, why not?

I see Beesnest in use of a personal home setting or a small office. No more then 10 clients at the most, while most if not all the communication is over the localhost or a LAN.

Ajax technology will work great with the concept of personal web applications. Moreover, when you only serve 10 clients, it is very easy to implement Comet in your server. All you need is an adapter that will block waiting to some event. Then you can send whatever you want to the client, on an already open connection.

One main concern is that it will be easy, for a software vendor, to install it's application on the Beesnest framework. The installation program should "know" where to put the files, how to add files to the configuration, how to build the links to the application web pages and what engines and adapters are already installed.

Other concern is to find a way to let a Firewall software to alert the user, if one of the adapters or engines tries to open an independent connection to the Internet. On the other hand, Beesnest should be able to accept connections.

The use of a software from a remote location is not a main goal of Beesnest. It might be nice, but GoToMyPC does a pretty good job...

In my opinion, there is an extra value for a simple application. I try to keep Beesnest simple and small as much as I can. Some times though, in order to solve a small problem I need to go one step up in the complexity level. For example, the script timeout is such a problem. It will require to run the script Process function from a separate thread :-(

I had a hard time to decide if I'm going to develop Beesnest under Java or C++. I choose C++ from several reasons. One is that Java has a very well developed concept of application servers, though it is an enterprise level servers. I wanted to take it to an entirely different direction, using C++ is more of a "fresh start". Another reason to choose C++ is that with Java it seems to be hard to write the scripts engines, without using native C (or whatever it's called). Still I do like Java, and there are advantages of using it. I can see Beesnest, one day, been ported to Java (Jeesnest).

Home Documents Downloads/Code About Contact Me