@@ -20,6 +20,30 @@ See COPYING for details of the license. If the license is not
20
20
present go to http://www.gnu.org/licenses/lgpl-3.0.txt to receive
21
21
a copy of the license.
22
22
23
+ Components
24
+ ==========
25
+
26
+ The composition of the application is complex and includes more
27
+ than one executable and components. The foundations of this
28
+ architecture are the following ones.
29
+
30
+ cloudb.dll This is the core library of the system, that
31
+ contains all the basic functionalities and
32
+ interfaces to build all other components.
33
+
34
+ mnode.exe Exposes the machine where it's running as a
35
+ node within the network.
36
+
37
+ cadmin.exe The command-line utility used to configure
38
+ a CloudB network instance.
39
+
40
+ For modeling data stored in a 'path' (a distributed database
41
+ within a CloudB network), the application will require additional
42
+ libraries that implement the contracts defined by the core library.
43
+
44
+ The data-modeling libraries (also called 'path libraries') are required
45
+ to be reachable by instances of 'mnode.exe': see the paragraph 'Installing
46
+ and Running CloudB'.
23
47
24
48
Requirements
25
49
============
@@ -29,53 +53,106 @@ to run and build. External libraries are requirements to the
29
53
components of CloudB and are provided into this package.
30
54
31
55
External libraries required by evenry component:
32
- - mnode: deveel-cli
33
- - cadmin: deveel-cli, deveelrl, shellapp
34
- - cloudb-log4net: log4net
56
+ mnode
57
+ deveel-cli.dll
58
+ cadmin
59
+ deveel-cli.dll
60
+ deveelrl.dll
61
+ shellapp.dll
35
62
36
63
64
+ Building CloudB
65
+ ===============
37
66
38
- Included in this release
39
- ========================
40
-
41
- Depending on the kind of package you have received, the contents
42
- may vary accordingly.
43
-
44
- If the package was suffixed by 'src':
45
-
46
- cadmin/ a command line tool used to administer the
47
- network instance
48
- cloudb/ the kernel library of the application (used
49
- by all components)
50
- cloudbase/
51
- cloudb-log4net/
52
- cloudb-nunit/
53
- COPYING
54
- COPYING.LESSER
55
- COPYING.HEADER
56
- default.build
57
- README
58
-
59
-
60
- If the package was suffixed by 'bin':
61
-
62
-
63
-
64
- If the package was suffixed by 'all':
65
-
66
-
67
+ Some distributions of CloudB also include the sources of the
68
+ application. The structure of these sources is the following.
69
+
70
+ src/
71
+ cadmin/
72
+ cloudb/
73
+ cloudb-log4net/
74
+ cloudb-nunit/
75
+ mnode/
76
+ conf/
77
+ libs/
78
+ AUTHORS
79
+ build
80
+ build.bat
81
+ COPYING
82
+ COPYING.LESSER
83
+ COPYING.HEADER
84
+ README
85
+
86
+ Nant build tool (http://nant.sourceforge.net/) is required to
87
+ compile the sources provided in this package: a version of the
88
+ tool is provided in the folder "libs/nant".
89
+
90
+ Building with Script
91
+ --------------------
92
+ It is possible to compile the sources using the 'build' script
93
+ provided. In Windows systems, this accepts the optional argument
94
+ 'mono', that targets the compilation to the Mono framework.
95
+
96
+ Building with NAnt
97
+ ------------------
98
+ Alternatively to the use of the script provided, it is also possible
99
+ to compile CloudB by invoking directly NAnt and passing the main
100
+ script 'cloudb.build' as argument.
101
+
102
+ Given '/home/deveel/cloudb' the base location where the package
103
+ was extracted, invoke the following:
104
+
105
+ Unix
106
+ mono /home/deveel/cloudb/libs/nant/NAnt.exe -buildfile:../../src/cloudb.build
107
+
108
+ Windows
109
+ C:\deveel\cloudb\libs\nant\NAnt.exe -buildfile:..\..\src\cloudb.build
110
+
111
+
112
+ The 'cloudb.build' file defines the following public targets that can
113
+ refine the compilation results.
114
+
115
+ 'all' - Builds all the components of CloudB (default)
116
+ 'kernel' - Call this to compile only the core library (cloudb.dll)
117
+ 'cadmin' - Compiles the Network Administration Tool
118
+ (invokes the 'kernel' target)
119
+ 'mnode' - Builds the Machine Node service applicationn
120
+ (invokes the 'kernel' target)
121
+ 'clean' - Cleans up all the outputs of the compilation by any of
122
+ the other targets
123
+
124
+ It is also possible to customize the compilation by specifying one
125
+ or more of the following variables.
126
+
127
+ 'platform' - Defines the target machine architecture of the compiled
128
+ components ('anycpu', 'x86', 'x64')
129
+ 'output' - The path where the compiled components will be placed
130
+ 'system' - Indicates the operating system family targetted by the
131
+ compilation ('windows', 'unix')
132
+ 'libs' - Points to the path where the external libraries required
133
+ by the compilation are located
67
134
68
135
69
136
Installing and Using CloudB
70
137
===========================
71
138
72
-
73
-
74
- Building CloudB
75
- ===============
76
-
77
- CloudB requires Nant build tool (http://nant.sourceforge.net/)
78
- to compile the sources provided in this package: a version of
79
- the tool is provided in the folder "libs/nant".
80
-
81
- To build the entire set of components of the application
139
+ If you received a copy of the sources of the application, please refer
140
+ to the paraph 'Building CloudB' first.
141
+
142
+ Machine Node
143
+ ------------
144
+ A machine can be exposed within a CloudB network as a node using the
145
+ executable 'mnode.exe': this can be invoked as a standalone application
146
+ or as a service (currently, Windows only).
147
+
148
+ Once mnode.exe is running in a machine, other machines within the network
149
+ and administrators will be able to reach it and interact with it.
150
+ A machine node can act as 'manager', 'root', 'block', even contemporarly:
151
+ its role will be assigned by administrators.
152
+
153
+ Administration Tool
154
+ -------------------
155
+ The administration of a network of machines (running mnode.exe) is delegated
156
+ to the command-line application 'cadmin.exe'. This is an interactive shell
157
+ that processes commands for administrating, controlling and monitoring
158
+ networks.
0 commit comments