Kepler (software)
Encyclopedia
Kepler is a free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

 project written in Lua that provides a portable, extensible website
Website
A website, also written as Web site, web site, or simply site, is a collection of related web pages containing images, videos or other digital assets. A website is hosted on at least one web server, accessible via a network such as the Internet or a private local area network through an Internet...

 development platform. Current stable release is Kepler 1.1.1, for Lua 5.1. Kepler works 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...

 and most variants of Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

.

The platform was designed to work with a number of web serving environments, called "launchers" in Kepler terminology. Kepler includes launchers for Apache
Apache HTTP Server
The Apache HTTP Server, commonly referred to as Apache , is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million website milestone...

 (mod lua), FastCGI
FastCGI
FastCGI is a protocol for interfacing interactive programs with a web server. FastCGI is a variation on the earlier Common Gateway Interface ; FastCGI's main aim is to reduce the overhead associated with interfacing the web server and CGI programs, allowing a server to handle more web page...

, CGI
Common Gateway Interface
The Common Gateway Interface is a standard method for web servers software to delegate the generation of web pages to executable files...

, ISAPI as well as a native web server
Web server
Web server can refer to either the hardware or the software that helps to deliver content that can be accessed through the Internet....

 written in pure Lua, called Xavante http://www.keplerproject.org/xavante/.

Kepler Frameworks

Kepler also provides the following frameworks:
  • WSAPI - a web server
    Web server
    Web server can refer to either the hardware or the software that helps to deliver content that can be accessed through the Internet....

     API that abstracts the web server from Lua web applications a la Rack
    Rack (web server interface)
    Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between into a single method call.Rack is...

     and WSGI
  • Orbit - a WSAPI-based model–view–controller (MVC) web framework

Kepler Modules

Kepler also provides the following modules:
  • CGILua - tool for creating dynamic Web pages and manipulating input data from Web forms, providing a CGI
    Common Gateway Interface
    The Common Gateway Interface is a standard method for web servers software to delegate the generation of web pages to executable files...

    -like programming paradigm for different launchers such as Xavante and mod_lua
  • LuaSQL - an interface from Lua to a DBMS, enabling Lua programs to connect to ODBC, ADO
    ActiveX Data Objects
    Microsoft's ActiveX Data Objects is a set of Component Object Model objects for accessing data sources. A part of MDAC, it provides a middleware layer between programming languages and OLE DB...

    , Oracle
    Oracle database
    The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....

    , MySQL
    MySQL
    MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...

    , SQLite
    SQLite
    SQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...

     and PostgreSQL
    PostgreSQL
    PostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...

     databases
  • Copas - a coroutine-based dispatcher, used by Xavante
  • Cosmo - a templating engine that is "safe" protecting applications from arbitrary code within templates
  • Coxpcall - coroutine compatible encapsulation of native pcall and xpcall
  • LuaFileSystem - a library of file manipulation routines complementing Lua's basic set
  • Rings - a library for creating isolated Lua execution environments from within Lua
  • LuaExpat - an interface to the XML
    XML
    Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

     processing library Expat
    Expat (XML)
    In computing, Expat is a stream-oriented XML 1.0 parser library, written in C. As one of the first available open-source XML parsers, Expat has found a place in many open-source projects. Such projects include the Apache HTTP Server, Mozilla, Perl, Python and PHP...

  • LuaLogging - a simple logging API
  • LuaZip - library for reading inside ZIP
    ZIP (file format)
    Zip is a file format used for data compression and archiving. A zip file contains one or more files that have been compressed, to reduce file size, or stored as is...

     files
  • MD5/DES56 - basic cryptographic library, providing a digest function
    Cryptographic hash function
    A cryptographic hash function is a deterministic procedure that takes an arbitrary block of data and returns a fixed-size bit string, the hash value, such that an accidental or intentional change to the data will change the hash value...

    and a crypt/decrypt pair

Release history

Version Date Notes
1.1.1
1.1
1.1 Beta2
1.0

External links

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