Goals and Purpose

A shell for the web. But why? A shell provides a simple interface to computer resources. The command-line shells you might be familiar with (BASH for *nix, MS-DOS's command.com, etc.) are all designed to interface primarily with resources found on the local computer, i.e. files and directories. We now find ourselves in the connected age of the Internet and yet our tools are lagging behind. Enter the IOVAR Web Shell, a shell designed for interfacing with resources across the web.

Unix Tradition

Following the Unix tradition, this project strives to make available a number of small single-purpose utilities that may be combined to form complex operations. Additionally, GNU/Linux and other Unix-like systems have mostly standardized on the locations for various resources such as executables, libraries, documentation, user home directories, etc. These standard locations are defined in the Filesystem Hierarchy Standard and so for consistency this project will also try to follow that standard (though the "root" is the top of the project directory instead of the top of the local filesystem).

Caching Support

In order to facilitate ever-growing and distributed data needs, this project will track and provide information that is useful to caching servers. Note that it is outside the scope of this project to actually provide the caching services. Instead, it is intended that any number of caching technologies may be used in conjunction with this project. Only basic metadata such as resource name/location and last-modified timestamps will be tracked so that it may be relayed to caching services in the HTTP response headers. Additionally, this metadata will be used to provide a history of resource accesses for the user and by the ls utility to display resource listings.

Simple Database Access (as XML)

A basic facility shall be provided that allows, with a simple configuration/description, an SQL database to be accessed through named resources under /var/lib. For example, a database with a Users table might be accessed at /var/lib/user, with an individual user record at /var/lib/user/123 or /var/lib/user/some_username.

Distributed and Clustered Network Resources

The Internet is a giant web of distributed network resources. This project aims to make the process of accessing and modifying these resources as easy as working with files on your own computer.

Last modified 4 years ago Last modified on 01/12/13 03:46:44