Warrah - 2/5/2010
Written on Fri, 05 Feb 2010 19:25:46 +0000 - Last updated on Wed, 12 May 2010 07:00:15 +0000A journal entry in the development of the Warrahoperating system, dated February 5, 2010.
Warrah
concept
The core concept of Warrah is that it is a hybrid between traditional desktop operating systems and web operating systems such as EyeOS. The concept is similar to Google Chrome OS, but different, in that the user retains control of their machine instead of simply using it as a dumb client.
Warrah is fundamentally a web server. The web server portion of Warrah is called the
Warrahexecutive, since it executes Warrah
services. It listens on port
58300 (the ASCII characters for the name Warrahadded together and multiplied by 100). The GUI component of Warrah, a web browser, connects to this server:
http://localhost:58300/
and Warrah will deliver a login screen, which prompts the user to login. The login is then AJAX posted to the login
service, which will deliver the desktop environment to the user.
Warrah
services
In Warrah, a
serviceis an application. All services are run by the executive and accessed through the client by a URL constructed like:
http://localhost:58300/<username>/<servicename>Since Warrah is built on open standards, all Warrah services act as SOAP endpoints. When this URL is hit with a HTTP Get, the executive starts up the service (if it is not already) and returns the WSDL for this service. Services can communicate to each other through SOAP method calls. Additionally, a JavaScript function
getService(serviceName) can be used to return an object through which SOAP calls can be made.
Warrah services
should implement 3 methods:
start,
open, and
quit. The
start method is invoked from the desktop when a service is started and is expected to display some sort of user interface to the service. The
open method is expected to take at least one argument and should invoke some method to work with the file through the service. The
quit method is expected to dispose of resources being used by the service and destroy its user interface elements.
Warrah applications/services are actually zipped directories with the extension
.app.