Xitami
Encyclopedia
Xitami is a Web
World Wide Web
The World Wide Web is a system of interlinked hypertext documents accessed via the Internet...

 and FTP
File Transfer Protocol
File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...

 server, originally developed by iMatix Corporation as a free, open-source product from 1996 to 2000. It ran as a single process with a small footprint. It was not as fast as the fastest servers but scaled well. It supported several web application protocols and was very portable. It also had a web interface to configure the web/FTP server.

In 2009 iMatix launched a new version of Xitami, called X5 (Xitami/5).

History

iMatix started the original Xitami server in 1996 as a demonstration of its "SMT" multithreading technology for building protocol servers. The name was chosen at the last minute when the developers realized that their original choice ("Cosmos") had already been taken by another web server that no longer exists. "Xitami" is "iMatix" spelled backwards.

Xitami was featured in an April 1997 article in Dr. Dobb's Journal.
The web server attracted people looking for a fast but simple web/FTP server, mainly on Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

.

Xitami was designed to be portable, and was ported to Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 and other Unices
Unix-like
A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....

, OpenVMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...

, BeOS
BeOS
BeOS is an operating system for personal computers which began development by Be Inc. in 1991. It was first written to run on BeBox hardware. BeOS was optimized for digital media work and was written to take advantage of modern hardware facilities such as symmetric multiprocessing by utilizing...

, and OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...

. All non-portable functionality was encapsulated in a library layer called SFL (the "standard function library"). SFL was a free and open source project and was used fairly widely in other such projects. In 1999, the Apache web server adopted a similar approach to portability for Apache2, building the Apache Portable Runtime
Apache Portable Runtime
The Apache Portable Runtime is a supporting library for the Apache web server. It provides a set of APIs that map to the underlying operating system . Where the OS doesn't support a particular function, APR will provide an emulation...

 (APR).

The Xitami team continued to add features until mid-2000 when development of the server stopped except for security updates. In 2008 multiple printf
Printf
Printf format string refers to a control parameter used by a class of functions typically associated with some types of programming languages. The format string specifies a method for rendering an arbitrary number of varied data type parameter into a string...

vulnerabilities were reported in the final release of Xitami/2.5.

X5

In January 2009 iMatix announced the start of a new Xitami project, version 5, called X5. This uses the latest generation of iMatix's multithreading technology (Base2), making Xitami scalable to multiple cores, while remaining small, and simple. iMatix has stated that it is "designed to handle thousands of connections without difficulty" which makes it ready for long polling, in which client connections remain open for extended durations.
Windows binaries for X5 were released in February 2009 and X5 was used for the first time to run the iMatix Live Zyre website.
X5 shares the same technical framework as iMatix's OpenAMQ message service.

X5 is written in ANSI C99
C99
C99 is a modern dialect of the C programming language. It extends the previous version with new linguistic and library features, and helps implementations make better use of available computer hardware and compiler technology.-History:...

, using a meta-programming approach called "Model Oriented Programming". X5 was presented at FOSDEM
FOSDEM
FOSDEM is a non-commercial volunteer organized European event centered around free and open source software development. It is aimed at developers and anyone interested in the free and open source software movement...

 2009 as consisting of 3,457 lines of meta-meta code.
X5 uses APR
Apache Portable Runtime
The Apache Portable Runtime is a supporting library for the Apache web server. It provides a set of APIs that map to the underlying operating system . Where the OS doesn't support a particular function, APR will provide an emulation...

 in place of SFL, and has been run on Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, AIX, Solaris, and OpenVMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...

.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK