hevea application servers
hevea is a set of two servers developed in C# (.NET) :
  • a Web application server
  • a Ftp application Server
hevea combines a Web application server and a Ftp application Server. The goal is that developers include hevea in their own application to provide communication facilities, easy to deploy and maintain, instead of using an external server like IIS.

hevea is available for .NET 1.1 and 2.0
Like other Web Application Server, hevea supports static content as well as dynamic content.

You may use hevea for data transfer over http: a client posts data to one hevea application url which processes it and gives back a result. This can be done through an implementation similar to Http Handler or through a Web service.

You can use hevea to build Web-based application, using the provided Html UI controls, or through implementing you own controls.
(ASP.NET pages and controls are not currently supported)

Some hevea characteristics :
  • UTF-8 text encoding
  • file upload support
  • HTTPS (SSL3) support
  • Web Service support
  • remote user and user profiles management through the included web console
  • embedded file explorer
Of course hevea has not he pretention to compete with Apache/Tomcat or IIS. The main advantage of hevea is that it can be embedded in your application.
That means, no need to deploy and maintain a specific web project, no need to configure and monitor the external server... Additionnaly, depending on the process that you implement thanks to hevea, you will certainly have to exchange data with your own server process. Since hevea runs the same application domain, no need to implement remoting channels !
Typical usecases :
  • adding web-based frontal / monitoring console to a server application (service for instance)
  • support for data exchange over HTTP by a server application (service for instance)
Oak is the Ftp part of hevea. Actually, Oak can be used like a basic FTP server to exchange files. But the main interesting side is that Oak handles dynamic content, like hevea does with Web application, meaning :
  • the file a ftp client asks for will be generated on demand within your own process implementation
  • the file the ftp client sends is processed on file arrival through your own process implementation
To resume, Oak provides you a way to synchronoulsy exchange data through ftp.
Some hevea.oak characteristics :
  • standard ftp clients are compatible with Oak (in case you find one that is not, please tell us)
  • user and user profiles management (common to hevea)
  • UTF-8 file name encoding supported
Things to do :
  • Add the support of ASP.NET
  • .NET 1.1 & 2.0 versions: put resources like images in a resource file
  • ...
  • SMTP server ?