Ajeet Ganesh Shankar and William Terrence McCloskey

EECS Department, University of California, Berkeley

Technical Report No. UCB/EECS-2006-34

April 4, 2006

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-34.pdf

E-commerce server reliability is critical, as downtimes cost an average of \$10,000 per minute~\cite{gartner}. Commercial web server development today is done with fairly generic programming languages, like Java, Perl, and C\#. The generality of these languages, while permitting a wide range of target applications, makes it difficult to guarantee reliability: dynamic type errors, race conditions, and resource leaks contribute to instability. Though the languages may detect such errors at runtime, the resulting downtimes in production code are costly.

We present Katana, a specialized framework for creating reliable web servers. Generality is exchanged for specific capabilities tailored to server operation. In particular, servers written with Katana benefit from these properties: truly statically type-checked code; specialized language features for common server tasks, such as data transformation and formatted output; native, statically-checked database interaction; automatic memory management and concurrency control; and built-in state-sharing mechanisms. By eliminating much of the complexity inherent in general-purpose frameworks and unnecessary for web server operation, while retaining a suitable range of expressiveness, Katana servers are not subject to several entire classes of bugs that plague existing web servers, and are thus more reliable.

Preliminary results indicate that Katana is comparable to existing server frameworks in terms of ease of use and performance, suggesting that it is a viable architecture for real-world web servers.


BibTeX citation:

@techreport{Shankar:EECS-2006-34,
    Author= {Shankar, Ajeet Ganesh and McCloskey, William Terrence},
    Title= {Katana: A Specialized Framework for Reliable Web Servers},
    Year= {2006},
    Month= {Apr},
    Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-34.html},
    Number= {UCB/EECS-2006-34},
    Abstract= {E-commerce server reliability is critical, as downtimes cost an average of \$10,000 per minute~\cite{gartner}. Commercial web server development today is done with fairly generic programming languages, like Java, Perl, and C\#. The generality of these languages, while permitting a wide range of target applications, makes it difficult to guarantee reliability: dynamic type errors, race conditions, and resource leaks contribute to instability. Though the  languages may detect such errors at runtime, the resulting downtimes in production code are costly.

We present Katana, a specialized framework for creating reliable web servers. Generality is exchanged for specific capabilities tailored to server operation. In particular, servers written with Katana benefit from these properties: truly statically type-checked code; specialized language features for common server tasks, such as data transformation and formatted output; native, statically-checked database interaction; automatic memory management and concurrency control; and built-in state-sharing mechanisms. By eliminating much of the  complexity inherent in general-purpose frameworks and unnecessary for web server operation, while retaining a suitable range of expressiveness, Katana servers are not subject to several entire classes of bugs that plague existing web servers, and are thus more reliable.

Preliminary results indicate that Katana is comparable to existing server frameworks in terms of ease of use and performance, suggesting that it is a viable architecture for real-world web servers.},
}

EndNote citation:

%0 Report
%A Shankar, Ajeet Ganesh 
%A McCloskey, William Terrence 
%T Katana: A Specialized Framework for Reliable Web Servers
%I EECS Department, University of California, Berkeley
%D 2006
%8 April 4
%@ UCB/EECS-2006-34
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-34.html
%F Shankar:EECS-2006-34