BrainyPDM - module architecture

By Nico Bagari, on 24-07-2008

Favoured : 25

Published in : Documentation, Architecture documentation

Copyright (c) 2008 Nico Bagari & Thomas Buffagni
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".


BrainyPDM is based on module. Module is a feature.
A module have zero or more dependencies from other module.
If a module have one or more dependencies it's a child, and
a module that have one or more child is a father.

In BrainyPDM, a child module can't work if the father module
don't work.

brainy module structure

Fig. 1: module architecture



In the picture above there are all brainy module and the
dependencies if you use the embedded db.

When you start brainy, modulemgr load and start all module
keeping the dependencies from module.
For example: nagios module depends on datastore (nagios modue
is a child of datastore), so modulemanager
start, in the order, datastore and nagios module.

When shutdown is invoked, modulemgr shutdown nagios module
and than datastore.

Let me show all module.

- modulemgr: it's a module engine; it start and stop all module
and compute all dependencies. If you want you can run module
in different java virtual machine and modulemgr find where
module is running.

- datastore: this module store all data on database (embedded or not)

- authorization module: this module certify the user and assign
all permission. BrainyPDM use an ACL for the user permissions

- web module: the engine of web interface.

- nagios module: parse nagios data

- dbembedded: used only with embedded db.

- dodo module: it's a "virtual" module. This module is used for create
virtual dependencies (used for example when you use an external db).
For example: when you use an external db, datastore don't depend on
dbembedded, so, with dodo module, you can assign a virtual dependence
on dodo; show the picture belove

no db embedded dependencies
Fig. 2: dependencies without db embedded

 


Please, for any question or recommendation contact us.


Thank you

Last update: 13-08-2009

User comments Favoured Print Send to friend Related articles
BrainyPDM - module architecture
User Rating: / 0
PoorBest