eBox

From Wikipedia, the free encyclopedia

Jump to: navigation, search
eBox Platform
Image:Ebox-logo.png

eBox Platform running on a PPC Linkstation
Company / developer Warp Networks
OS family Ubuntu Linux
Source model Open Source
Latest stable release 0.12 / August 28, 2008
License GPL
Website www.ebox-platform.com

eBox Platform is an open source distribution and development framework, based on the Ubuntu Linux computer operating system, intended to manage services in a computer network.

It offers a layer of abstraction and management, accessible through a simple web interface, and also a simplified development environment for new features or customization.

eBox is licensed under the terms of the GNU General Public License and started as an open-source, collaborative project of two companies.[1]. On 16 November 2006 eBox was officially approved as a NEOTEC project, receiving public funds from the CDTI (a Spanish public organisation, under the Ministry of Industry, Commerce and Tourism) to complete the development of version 1.0.[2]

Ubuntu Gutsy Gibbon Tribe 3 featured eBox as "network services control tool".[3]

Contents

[edit] Overview

[edit] Features

eBox Platform features are:

  • Open source
  • User friendly
    • Easy to use graphical frontend
    • High level abstraction of networking and workgroup services
    • Context aware help, warning and error reporting
    • Internationalization and multilanguage support
    • eBox Platform Live CD
  • Efficient management
    • Integration
      • Centralized configuration storage system, exporting and importing to XML format
      • Transactional configuration changes
      • Log registry incorporated
    • Automation
      • SOAP interface (in progress)
    • Backup
    • Component based installation and update

[edit] Services

[edit] Development

eBox Platform uses an open source model, with all the source code available for its users.

[edit] Design

eBox is a web application using Apache webserver with mod perl as foundation and Mason components as building blocks, mainly written in object oriented Perl, with some Javascript for visual improvements.

Its design incorporates modern programming techniques as:[4]

  • Design patterns: an Observer design pattern is used mainly to integrate different modules across eBox Platform. E.g. each service reports about which ports it needs to be open. Besides this, a Singleton holds global configuration and behaviour details.
  • Presentation and logic decoupling: user interface uses CSS and Ajax, and include several Mason components, as a generic table used to configure services. Program logic is held inside library packages and CGI-like code.
  • Fault tolerance: errors and warnings are managed through software exceptions, flowing from core to its handling routine.

It also offers debugging facilities, integrating the layout of the execution stack of the Perl 5 interpreter.

Service are monitored and automatically respawned if they die.

[edit] Open Source Components

eBox is an open source product written in Perl, and using the following components:

eBox Platform Live CD is built using Remastersys project. The whole distribution uses Ubuntu 8.04 Hardy Heron and a tailored Ubuntu Installer for non-live media.

[edit] Community

Main eBox community work and support takes place at eBox users' mailing lists.

eBox's inclusion on Ubuntu Gutsy Gibbon was preceded by some comments at Ubuntu Forums community.[5]

There is also a very active group of Linkstation users which succeeded in porting eBox to PowerPC.[6]

[edit] Documentation

  • Installation guide: holds instructions about different installation methods like CD and Ubuntu packages, and how to get source code and run eBox from scratch
  • User's guide: aimed at software users, introduces some concepts and terminology, and explain different services and use cases
  • Developer's guide: targeted at software developers and translators, it explains basic API, module backend, component interaction, web fronted and includes a small example about how to build a sample module from the ground up
  • API reference: class and method's description and parameters

[edit] See also

[edit] References

[edit] External links

Personal tools