Skip to content

Latest commit

 

History

History
175 lines (129 loc) · 7.1 KB

organization.rst

File metadata and controls

175 lines (129 loc) · 7.1 KB

Organization structure

Basic layout

Firebird Butler is an extensive division with number of parts and projects divided into several layers and pillars.

The layers are:

  1. Specifications and other documents

    This is the shared foundation of the Butler projects. This document collection (in which this text is included) contains a description of the division, its parts and how they fit in with each other, the specification of the developer platform, the used communication protocols, and the recommended practices for their implementation and use. It also includes the specification of selected services implemented within the Butler's projects, and other related documentation.

    All these documents (provided under CC-BY-SA-4.0 license) reside in the Butler repository on GitHub. They are also accessible in HTML and other formats at readthedocs.

    The main communication channel for discussion of specifications, implementation strategies, and other issues related to the whole division or its basics is the firebird-butler forum on googlegroups.

    Tip

    There is also a low-traffic, read-only annoucement list for delivery of information about new releases and other important events related to the project.

  2. Implementations of the Butler platform

    Different implementations of the development platform represent the individual pillars of the division. These pillars are typically formed around a particular programming language or development environment. Currently, due to limited resources, the division has only three pillars:

    1. Saturnin : a reference implementation in Python
    2. ButlerJavaSDK : implementation in Java
    3. :ref:`Butler SDK for Free Pascal <butler-fpc-sdk>` : implementation in Free Pascal

    We hope the Butler's potential will attract other developers to help us deliver implementations also for Delphi, C# and other environments.

    Each SDK is a sub-project with its own repositories, communication channels, developers and documentation.

  3. Implementations of Butler Services

    Implementation of :doc:`Butler services </rfc/3/FBSD>` is structured into stand-alone sub-projects because it is typically defined by the SDK used and the specific focus. Any such project can define its own standards and specifications beyond the basic :doc:`specifications for Butler Services <specifications>`. The basic specifications then provide the necessary minimum level of interoperability between Services implemented by different sub-projects.

    Within the Firebird Butler project, only one sub-project of this type is currently being developed - a Firebird Butler implementation in Python called Saturnin Core. Its aim is to provide a standard solution for management of Firebird deployments of any size, structure and complexity with an emphasis on large corporate installations.

    However, other such projects with different focus and features can be developed both within and outside the Firebird Butler project.

  4. Distribution packages

    Distribution bundles are the final product designed for common users. Like Linux distributions, they can include and combine various results from different Butler implementation projects to achieve different goals.

    Since the Firebird Butler project is only in its beginnings, no distributions are yet available.

Saturnin + Saturnin SDK

The purpose of the Saturnin is to provide Firebird Butler platform anf reference implementation of :doc:`Firebird Butler specifications <specifications>` in Python, while Saturnin SDK sub-project provides set of development tools to create :doc:`Firebird Butler services </rfc/3/FBSD>` while providing .

Saturnin
Lead developer Pavel Císař
GitHub home repository FirebirdSQL / saturnin
Documentation and other information sources Saturnin Documentation
Main communication channel saturnin forum at googlegroups
Saturnin SDK
Lead developer Pavel Císař
GitHub home repository FirebirdSQL / saturnin-sdk
Documentation and other information sources Saturnin SDK Documentation
Main communication channel saturnin-sdk forum at googlegroups

ButlerJavaSDK

The purpose of the ButlerJava SDK sub-project is to provide basic tools for Java to create :doc:`Firebird Butler services </rfc/3/FBSD>` in accordance to :doc:`Firebird Butler specifications <specifications>`.

Lead developer Sergey Nikitin
GitHub home repository FirebirdSQL / ButlerJavaSDK
Documentation and other information sources readthedocs
Main communication channel butlerj-sdk forum at googlegroups

Butler SDK for Free Pascal

The purpose of the Butler SDK for Free Pascal sub-project is to provide basic tools for Free Pascal and Lazarus to create :doc:`Firebird Butler services </rfc/3/FBSD>` in accordance to :doc:`Firebird Butler specifications <specifications>`.

Lead developer Paul Reeves
GitHub home repository FirebirdSQL / butler-fpc-sdk
Documentation and other information sources readthedocs
Main communication channel butler-fpc-sdk forum at googlegroups

Saturnin Core

The purpose of the Saturnin Core sub-project is to provide core set of Butler services for Saturnin platform, that could be used for management of Firebird deployments of any size, structure and complexity with an emphasis on large corporate installations.

Saturnin Core
Lead developer Pavel Císař
GitHub home repository FirebirdSQL / saturnin-core
Documentation and other information sources Saturnin-Core Documentation
Main communication channel firebird-saturnin forum at googlegroups