Software:Tntnet

From HandWiki
Tntnet
Stable release
2.2.1 / 17 January 2014; 10 years ago (2014-01-17)
Preview release
2.3RC1 / 12 July 2015; 8 years ago (2015-07-12)
Written inC++
Operating systemLinux Unix
TypeWeb server
LicenseLGPL
Websitewww.tntnet.org

Tntnet is Web server software, coded in C++, which enables other C++ programs to bundle requests modules. This enables developing Web applications in C++. The GET and POST requests are interpreted by the tntnet server and sent to the web application program, which will send a reply back over the network. Tntnet is free software released under the GNU Lesser General Public License (LGPL).[1]

Tntnet provides many of the same features as script-based CGI, but with different tradeoffs. Being C++ based, tntnet allows the use of methods such as object-oriented programming and polymorphism, which are also supported in modern scripting languages.

Under tntnet, the web application is compiled ahead of time, while script-based CGIs are often interpreted. Compiled modules, being native, will generally be faster than scripts. Programs such as cgid or fastcgi can be used to improve the performance of script-based CGIs.

Tntnet directly integrates the web application into the webserver. Webservers often have APIs for doing this. Apache HTTP Server uses a module system, where Internet Information Services (IIS) uses Internet Server Application Programming Interface (ISAPI). Tntnet originally used Apache's module system, but this was changed due to the difficulty of interfacing with Apache through its C API while maintaining the benefits of using C++.

In this situation, Tommi Mäkitalo developed the tntnet framework. Tntnet is also a webserver, which is present in the source code. This way, tntnet acts as a layer in front of the actual web application. When in use, the webserver part receives the HTTP requests, interprets them and sends them to the (binary) web application part. The web application and webserver communicate to each other constantly.

Extra libraries

Extra libraries provide more tools for the programmer.

Cxxtools

Tntnet uses a library of tools named Cxxtools. To build applications written using tntnet, Cxxtools is needed.

Tntdb

The library Tntdb is a database abstraction layer. The programs developed using Tntdb do not depend on a specific type of underlying database system. Tntdb can handle the following database systems:

Applications

  • tntzenoreader - a system for using the Wikipedia-DVD
  • live Weboberfläche für VDR - a free software package for the recording of digital video: Digital Video Broadcasting (DVB)
  • Several example applications (in the /demos/ directory of the tntnet package)

References

External links

  • Interview with Tommi Mäkitalo at 16 November 2006 November 2006 by RadioTux (in German)
  • Podcast with Tommi Mäkitalo at the LinuxTag 2011 in Berlin by NiceGeekCast (German)