
        <html>
        <head>
        <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <title>Websh - Welcome</title>
        <script language="JavaScript" src="/websh/buttons.js"></script>
        <link href="websh.css" rel="styleSheet" type="text/css">
        <meta name="description" content="Websh - the rapid development environment to build powerful web applications.">
        <META NAME="keywords" CONTENT="websh, Websh, e-commerce, web application, apache, perl,  php, asp, cold fusion">
        </head>
    
        <body marginwidth="0" marginheight="0" topmargin="0" leftmargin="0"
        bgcolor="#ffffff" link="#006699" alink="red" vlink="#006699">
    
        <map name="grafik_navi">
        <area href="mailto:websh-dev@tcl.apache.org" coords="94,2,154,26" shape="rect">
        <area href="/websh/" coords="4,2,64,26" shape="rect">
        <area href="/websh/contact.html" coords="184,2,244,26" shape="rect">
        </map>
        <table border="0" cellpadding="0" cellspacing="0" width="100%" height="76">
        <tr valign="top">
    
            <td width="500" bgcolor="#006699"><img height="50" width="300" src="/websh/images/grafik_navi_home.gif" alt="" border="0" usemap="#grafik_navi"><img height="50" width="200" src="/websh/images/grafik_index.gif" alt=""></td>
        
        <td><img height="50" width="270" src="/websh/images/logo.gif" alt="Websh"></td>
	<td width="5000" bgcolor="#000000">&nbsp;</td>
        </tr>
        <tr>
        <td width="500">
        <table border="0" cellpadding="0" cellspacing="0" width="500" height="40">
    
            <tr bgcolor="#006699">
            <td width="120"><br></td>
            <td><a href="/websh/docu.html"  onmouseover="swap('docu','b_docu_b')"  onmouseout="swap('docu','b_docu_a')"><img height="20"  width="100"  src="/websh/buttons/b_docu_a.gif"  name="docu" border="0" alt="documentation"></a></td>
            <td><a href="/websh/support.html"  onmouseover="swap('supp','b_supp_b')"  onmouseout="swap('supp','b_supp_a')"><img height="20"  width="70"  src="/websh/buttons/b_supp_a.gif"  name="supp" border="0" alt="support"></a></td>
            <td><a href="/websh/resources.html"  onmouseover="swap('ress','b_ress_b')"  onmouseout="swap('ress','b_ress_a')"><img height="20"  width="110"  src="/websh/buttons/b_ress_a.gif"  name="ress" border="0" alt="resources and links"></a></td>
            <td><a href="/websh/download.html"  onmouseover="swap('down','b_down_b')"  onmouseout="swap('down','b_down_a')"><img height="20"  width="100"  src="/websh/buttons/b_down_a.gif"  name="down" border="0" alt="download"></a></td>
            </tr>
            <tr height="20">
            <td width="120" height="20"><img height="20" width="120" src="/websh/buttons/b_prod_c.gif"></td>
            <td width="100" height="20"><img height="20" width="100" src="/websh/images/title.gif"></td>
            <td width="70" height="20"><img height="20" width="70" src="/websh/images/title.gif"></td>
            <td width="110" height="20"><img height="20" width="110" src="/websh/images/title.gif"></td>
            <td width="100" height="20"><img height="20" width="100" src="/websh/images/title.gif"></td>
            </tr>
        
        </table>
        </td>
        <td><img height="40" width="270" src="/websh/images/logo_strich.gif"></td>
        </tr>
        </table>
    
    <table border="0" cellpadding="0" cellspacing="0" width="770">
    
        <tr height="30">
        <td width="10" valign="top"></td>
        <td width="150" height="30"></td>
        
                    <td width="455" height="30">
		    <h1>Websh described</h1>
                    </td>
                    <td width="10" height="30"><br>
                    </td>
                    <td width="145" height="30">
		    <h1>characteristics</h1>
                    </td>
                
        </tr>
    
    <tr valign="top">
    
	
	<td width="10"><img height="1" border="0" width="10" src="/websh/images/stuntFFFFFF001010.gif"></td>
        <td width="150">
        <table border="0" cellpadding="0" cellspacing="0" width="141">
    
        
        <tr valign="top">
        <td width="10"><img height="11" width="10" src="/websh/images/pfeil.gif"></td>
        <td class=nav>
        <b>product description</b><br>
	
	    - <a href="#history">history</a><br>
	
	    - <a href="#tcl">based on Tcl</a><br>
	
	    - <a href="#design">design</a><br>
	
	<br></td></tr>
    
	
        </table>
        </td>
    
    
    <td width="455">
      <img height="160" width="150" src="images/ausschnitt_product.gif" align="left" alt="graphics">

      Websh is a rapid development environment for building
      powerful, fast, and reliable web applications. Websh is
      versatile and handles everything from HTML generation to
      data-base driven one-to-one page customization. We have been
      using it for years for virtually all our customer projects,
      which typically are E-commerce shops or electronic banking
      applications. Websh is extensible and portable, and its
      comprehensive set of commands is quickly learned.

      <h2>Open Source Software</h2>

      Websh is released as open source software. The source code as
      well as binaries for a selection of platforms are available for
      download for free. Websh users have full control over and
      insight into Websh. This is protection of investment.

      <h2>Apache 2 module</h2>

      Websh is scalable.  Its CGI interface ensures that Websh
      can be employed virtually everywhere, using off-the-shelf web
      servers.  If performance is key, the Websh Apache 2 module
      gives you lightening-fast one-to-one content.  And the nice
      thing: for both the CGI environment and for the Apache 2 module,
      you use exactly the same Websh application.  <br><br>
    </td>
    <td width="10"></td>
    <td width="145">
      <table border="0" cellpadding="0" cellspacing="0" width="145">
      
        <tr valign="top">
        <td width="10"><img height="10" width="10" src="/websh/images/punkt_rot.gif"></td>
        <td>Open Source
        </td>
        </tr>
    
      
        <tr valign="top">
        <td width="10"><img height="10" width="10" src="/websh/images/punkt_rot.gif"></td>
        <td>Apache 2 module
        </td>
        </tr>
    
      
        <tr valign="top">
        <td width="10"><img height="10" width="10" src="/websh/images/punkt_rot.gif"></td>
        <td>Tcl Extension
        </td>
        </tr>
    
      
        <tr valign="top">
        <td width="10"><img height="10" width="10" src="/websh/images/punkt_rot.gif"></td>
        <td>Thread Safe
        </td>
        </tr>
    
      
        <tr valign="top">
        <td width="10"><img height="10" width="10" src="/websh/images/punkt_rot.gif"></td>
        <td>Modular Design
        </td>
        </tr>
    
      
        <tr valign="top">
        <td width="10"><img height="10" width="10" src="/websh/images/punkt_rot.gif"></td>
        <td>Extensible
        </td>
        </tr>
    
      <tr>
        <td colspan="2" height="30">
          <br><h1>key features</h1>
        </td>
      </tr>
      
        <tr valign="top">
        <td width="10"><img height="10" width="10" src="/websh/images/punkt_rot.gif"></td>
        <td>web transaction state management
        </td>
        </tr>
    
      
        <tr valign="top">
        <td width="10"><img height="10" width="10" src="/websh/images/punkt_rot.gif"></td>
        <td>session management
        </td>
        </tr>
    
      
        <tr valign="top">
        <td width="10"><img height="10" width="10" src="/websh/images/punkt_rot.gif"></td>
        <td>strong encryption (extensible)
        </td>
        </tr>
    
      
        <tr valign="top">
        <td width="10"><img height="10" width="10" src="/websh/images/punkt_rot.gif"></td>
        <td>fast logging facility (extensible)
        </td>
        </tr>
    
      </table>
    </td>
  </tr>
    
	<tr valign="top">
	
	<td width="10"><img height="1" border="0" width="10" src="/websh/images/stuntFFFFFF001010.gif"></td>
        <td width="150">
        <table border="0" cellpadding="0" cellspacing="0" width="141">
    
        <tr valign="top">
        <td width="10"><a href="product.html"><img height="10" border="0" width="10" src="/websh/images/uppfeil.gif"></a></td>
	<td></td>
	</tr>
	
        </table>
        </td>
    
	<td width="455">
	<h2 class="nomargin"><a name="history">Websh history</a></h2>
	</td>
	</tr>
    
    <tr valign="top">
      <td width="10"></td>
      <td width="150"></td>
      <td width="455">
	The development of Websh began in 1996. Websh
	has since been successfully used in virtually all customer
	projects of Netcetera. Why does a technology-driven company
	like Netcetera rely on a tool with such a slow release cycle ?
	Good design pays off.<br><br>

	While the Internet changes at a rapid pace, the underlying
	technologies remain stable, and Websh has been built to
	handle them. The practical experience gained from the
	day-to-day use of Websh has now been channeled into the
	current release, Websh 3.  <br><br>
    </td>
    </tr>
    
	<tr valign="top">
	
	<td width="10"><img height="1" border="0" width="10" src="/websh/images/stuntFFFFFF001010.gif"></td>
        <td width="150">
        <table border="0" cellpadding="0" cellspacing="0" width="141">
    
        <tr valign="top">
        <td width="10"><a href="product.html"><img height="10" border="0" width="10" src="/websh/images/uppfeil.gif"></a></td>
	<td></td>
	</tr>
	
        </table>
        </td>
    
	<td width="455">
	<h2 class="nomargin"><a name="tcl">Based on Tcl</a></h2>
	</td>
	</tr>
    
    <tr valign="top">
    <tr valign="top">
      <td width="10"></td>
      <td width="150"></td>
      <td width="455">
	  Websh is based on the Tool Command Language (Tcl,
	  pronounced &quot;tickle&quot;). Tcl is a fast, comprehensive
	  scripting language as well as a library.  The Tcl
	  development started 1987 at the University of California at
    Berkeley with John K.Ousterhout. Development continues through a large group of volunteers coordinated by the <a href="http://www.tcl.tk/community/coreteam/">Tcl Core Team</a>, who also perform the majority of the work.<br><br>

	  The decision to build Websh on top of Tcl has several
	  advantages which can be summarized as
	  &quot;flexibility&quot;. <b>Figure 1</b> gives an overview
	  of the Websh Architecture.<br><br>

	  <img src="images/ws3ov.gif" alt="Websh Architecture"><br>
	  <b>Figure 1</b> - Websh Architecture<br><br><br>

	  Most Web-based applications need to separate items with a
	  high change rate from other, static parts. In other words,
	  <b class=blue>configurability</b>&nbsp; is needed.  For
	  example, HTML output must be changeable without the need to
	  recompile the application.<br><br>

	  Using Tcl as an embedded system, such configurable parts can
	  be designed as Tcl code snipplets and configuration files.
	  <br><br><br>

	  Web-based applications demand a high degree of flexibility
	  or <b class=blue>extensibility</b>&nbsp;.  In particular, it
	  must be straight-forward to add new functionality.  Websh
	  does not manage data base access, for example, but rather
	  relies on proven Tcl extensions for this task. Choosing Tcl
	  for Websh thus ensures the extensibility of Websh
	  itself.
	  <br><br><br>

	  Finally, Web-based applications must be deployable on a wide
	  range of platforms. Tcl has been ported to all important
	  operating systems. Embedding Tcl thus ensures the <b
	  class=blue>portability</b>&nbsp; of Websh.  <br><br><br>

    </td>
    </tr>
    
	<tr valign="top">
	
	<td width="10"><img height="1" border="0" width="10" src="/websh/images/stuntFFFFFF001010.gif"></td>
        <td width="150">
        <table border="0" cellpadding="0" cellspacing="0" width="141">
    
        <tr valign="top">
        <td width="10"><a href="product.html"><img height="10" border="0" width="10" src="/websh/images/uppfeil.gif"></a></td>
	<td></td>
	</tr>
	
        </table>
        </td>
    
	<td width="455">
	<h2 class="nomargin"><a name="design">Websh Design</a></h2>
	</td>
	</tr>
    
    <tr valign="top">
    <tr valign="top">
      <td width="10"></td>
      <td width="150"></td>
      <td width="455">

	  Websh has a modular design, particularly for thread
	  safety.Each module manages its own data, and locking
	  mechanisms are used where needed. Websh modules are
	  extensible through plug-Ins.<br>

	  <b>Figure 2</b> gives an overview of the Websh
	  modules. In the following, each module is shortly
	  described.<br> <img src="images/ws3arch.gif" alt="Websh 3
	  Design"><br>

	  <b>Figure 2</b> - Websh 3 modules<br>

	  <h2>request and url management</h2>

	  The Websh application developer does not need to get
	  involved with the details of the HTTP protocol or the
	  parsing of data.  Rather, he concentrates on the application
	  logic and leaves the rest to Websh.  This module parses
	  input from the browser, e.g.  HTML form data, and makes it
	  available to Websh. <br><br>

	  One of the distinctive features of Websh is its state
	  management capability. Web-based applications often need to
	  carry information from one HTTP transaction to the next.  As
	  an example, the user will choose his preferred language.
	  Applications for electronic commerce systems, Internet
	  banking and so on also need mechanisms to identify and group
	  transactions into longer transactions which cover more than
	  one single HTTP request and its response. This Websh
	  module introduces state.

	  <h2>session management</h2>

	  Websh provides sessions for transaction data management as
	  well. For example, a Websh application would store the
	  items in a "shopping cart" in a session context. The session
	  management module handles session data, which can be stored
	  on the client side using Netscape cookies; or on the server
	  side using the file system (fs), a data base management
	  system (DBMS), or the Netcetera cache manager (ncm).  The
	  module provides a uniform interface to access the session
	  context regardless of the storage used.  It is implemented
	  in Tcl and makes extensive use of namespaces.

	  <h2>output management</h2>

	  Websh provides commands to format HTTP-compliant output
	  to be sent back to the client. output can be directed to Tcl
	  channels or to Tcl variables for buffering purposes. The
	  output management module is fully configurable to give the
	  user control over the generated output.

	  <h2>conversion</h2>

	  Need HTML compliant input ? Want to send data via an URL, or
	  in a form field ? This module converts umlauts to their
	  proper HTML entities or their URI encoded equivalent, for
	  example.  As do all Websh modules, the conversion module
	  manages its data on its own, thus ensuring thread safety.


	  <h2>security by encryption</h2>

	  The proper handling of sensitive data is crucial for banking
	  or E-commerce applications. Three aspects are important:
	  Data transfer, data storage, and session hijacking. This
	  Websh module provides the commands to encode and decode
	  data, and to manage pass-phrases and encryption methods.
	  <br><br>

	  Websh relies on well-known and well-tested encryption
	  methods, which are made available to Websh by means of
	  plug-ins.<br>

	  <h2>messages on streams</h2>

    This Websh module implements a simple protocol to facilitate
    communication over Tcl channels. Particularly, it is used for
    communication over TCP/IP connections.

	  <h2>logging facility</h2>

	  Web applications need a versatile logging mechanism to
	  report errors and other information. In fact, Websh
	  itself makes heavy use of the logging facility. Logging must
	  be easy to use, fast, and extensible. Typically, Websh
	  applications handle hundreds of requests per second, and the
	  logging facility has been designed with this kind of load in
	  mind.  <br><br>

	  The logging module is extensible through plug-Ins.
	  <br><br><br>
	  Find more information in the
	  <a href="whitepaper.html">Websh white paper</a>.

	</td>
      </tr>
    </table>
    
        <table border="0" cellpadding="0" cellspacing="0" width="770" height="45">
        <tr valign="top">
        <td colspan="2">
        <hr noshade size="1">
        </td>
        </tr>
        <tr valign="top">
        <td width="10"></td>
        <td width="760">
	<span class="blue">description</span>&nbsp;|&nbsp;<a href="/websh/docu.html">documentation</a>&nbsp;|&nbsp;<a href="/websh/support.html">support</a>&nbsp;|&nbsp;<a href="/websh/resources.html">resources</a>&nbsp;|&nbsp;<a href="/websh/download.html">download</a>&nbsp;|&nbsp;<a href="/websh/credits.html">credits</a>&nbsp;|&nbsp;<a href="/websh/copyright.html">copyright</a>
	</td></tr>
        <tr valign="top">
        <td colspan="2">
        <hr noshade size="1">
        </td>
        </tr>
        <tr valign="top">
        <td width="10"></td>
        <td width="760">
        <span class="klein"><b>&copy; Websh - an <a href="http://tcl.apache.org">Apache Tcl</a> project - part of the <a href="http://www.apache.org/">Apache Software Foundation</a></b></span></td>
        </tr>
        </table>
        </body>
        </html>
    