[[okws]]
 

OKWS Wiki / Documentation Center

OKWS is a Web server, specialized for building fast and secure Web services. It provides Web developers with a small set of tools that has proved powerful enough to build complex systems with limited effort. Despite its emphasis on security, OKWS shows performance advantages relative to popular competitors: when servicing fully dynamic, non-disk-bound database workloads, OKWS's throughput and responsiveness exceed that of Apache, Flash (the reigning king of Web server performance) and Haboob (an academic system reputed to be the fastest Java Web server on the block). Commercial experience with OKWS suggests that the system can reduce hardware and system management costs, while providing security guarantees absent in current systems.

As of 30 March 2010, OKWS is still being maintained and worked on. See our Release Plan for more details.

Release Update

3/30/2010: OKWS v3.0 released! See this page for details on our subversion repository.

A Better Architecture

The basic idea behind OKWS is that each Web service you write (such as search or newsletter-subscribe) should run as a single process. There is no reason to sprinkle the same program across hundreds of address spaces just to get client concurrency. OKWS is built with this principle in mind. A Web service in OKWS is compiled into a free-standing process, calling upon our boilerplate libraries. Other standard helper processes run on the system, to direct traffic, to launch and relaunch applications should they crash, to log HTTP transactions to disk, and to access static HTML templates.

Programming in OKWS follows the single-threaded, event-driven model. No need to worry about the synchronization snafus that creep up when using multi-threaded or multi-process Web servers.

Who Runs OKWS?

Platform Support

OKWS runs on most Unixes, and has been tested extensively on FreeBSD and Linux.

Software Tools

Programming Web servers with SFS's libasync might seem at first seem onerous, mainly because it is. As a result, the OKWS team has been developing several generic libasync tools to help programmers. The first is a Python interface to the SFS core and RPC libraries, and a similar integration into OKWS. For more information on how to install Python support, please see our directions for installing OKWS along with Python tools.

A new tool, that is entirely compatible with existing libasync-based code, is tame2, which we urge you to read more about. It's a simple C++-level rewriter that makes your event code look more like threaded coded. I.e., you can make a sequence of serial blocking functions within one function body.

Download

OKWS is freely available here under a GPL license.

Read More

People

Patch Contributors

  • Ben Hollenstein
  • Ian Rickard (Apple Darwin Patches)
  • Michael Walfish (various patches and fixes for API problems).
  • Benjie Chen
 
okws.txt · Last modified: 2010/08/19 20:07 (external edit)
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki