1 |
tdb |
1.1 |
IMPLEMENTATION PHASES |
2 |
|
|
===================== |
3 |
|
|
|
4 |
|
|
tdb1, 17/10/00 |
5 |
|
|
|
6 |
|
|
Phase 1 |
7 |
|
|
------- |
8 |
|
|
|
9 |
|
|
Host |
10 |
|
|
The host program will probably be written in basic Java, |
11 |
|
|
and simply take the output from running unix commands. |
12 |
|
|
This will either be parsed by the program, or more |
13 |
|
|
preferably by an external perl/awk/grep/sed program. The |
14 |
|
|
thinking behind this is that porting to C/C++ will be much |
15 |
|
|
faster if the external parts are already written. This |
16 |
|
|
will also allow for the whole basic Phase 1 to be |
17 |
|
|
completed easily. |
18 |
|
|
|
19 |
|
|
If reading the data is becoming problematic it can be |
20 |
|
|
moved to Phase 2 and "simulation data" (ie. fake) used |
21 |
|
|
instead. |
22 |
|
|
|
23 |
|
|
It should only be implemented for the main platform, ie. |
24 |
|
|
Solaris/SPARC. |
25 |
|
|
|
26 |
|
|
Server |
27 |
|
|
At this Phase the server will only echo output to the |
28 |
|
|
screen, and basic checking can be done to verify whether |
29 |
|
|
e-mail alerts should be sent (probably via sendmail |
30 |
|
|
directly). |
31 |
|
|
|
32 |
|
|
Client |
33 |
|
|
No functionality at this stage. |
34 |
|
|
|
35 |
|
|
Overall |
36 |
|
|
The aim of this Phase is to implement the basic protocol |
37 |
|
|
for communication between the hosts and server, and give |
38 |
|
|
us a basis for explansion. |
39 |
|
|
|
40 |
|
|
|
41 |
|
|
Phase 2 |
42 |
|
|
------- |
43 |
|
|
|
44 |
|
|
Host |
45 |
|
|
The implementation in Phase 1 should be ported into C/C++ |
46 |
|
|
and all data should reflect the actual system (no |
47 |
|
|
simulation). It is not necessary to make systems calls at |
48 |
|
|
this stage, the external scripts from Phase 1 can still be |
49 |
|
|
used. |
50 |
|
|
|
51 |
|
|
Server |
52 |
|
|
Database connectivity should be implement, even if it's |
53 |
|
|
just a case of storing rows of data. This will require an |
54 |
|
|
element of modularity to be introduced. |
55 |
|
|
|
56 |
|
|
Client |
57 |
|
|
A basic web interface should be produced for debugging. |
58 |
|
|
All that is required is to be able to view the data in the |
59 |
|
|
database to check all is going to plan. |
60 |
|
|
|
61 |
|
|
Overall |
62 |
|
|
The aim here is to get the host code into it's intended |
63 |
|
|
language, and bring the database into the system. |
64 |
|
|
|
65 |
|
|
|
66 |
|
|
Phase 3 |
67 |
|
|
------- |
68 |
|
|
|
69 |
|
|
Host |
70 |
|
|
The code should be becoming more modular, with clear |
71 |
|
|
sections for the network communications, and the system |
72 |
|
|
interfacing. It should now be possible for the program to |
73 |
|
|
implement some system monitoring without the aid of |
74 |
|
|
external scripts, although if any are proving tricky they |
75 |
|
|
can be left for now. The key point is forming a "better" |
76 |
|
|
program. |
77 |
|
|
|
78 |
|
|
Server |
79 |
|
|
The server should now be taking a very modular design, and |
80 |
|
|
the system should be gaining more internal functionality. |
81 |
|
|
Better checking of events should be deployed, and the |
82 |
|
|
interfaces between components be more clearly defined. |
83 |
|
|
This will allow for the client interaction in Phase 4 to |
84 |
|
|
be more easily implemented. |
85 |
|
|
|
86 |
|
|
Client |
87 |
|
|
If time permits, it could be possible to produce some more |
88 |
|
|
web pages to allow better viewing of information, although |
89 |
|
|
this is the least important part at this stage. |
90 |
|
|
|
91 |
|
|
Overall |
92 |
|
|
The system should be taking good shape by now, and still |
93 |
|
|
be in an almost working state. Delivery could almost be |
94 |
|
|
possible. The main point is that the classes are being |
95 |
|
|
clearly defined with a good OO approach in mind. |
96 |
|
|
|
97 |
|
|
|
98 |
|
|
Phase 4 |
99 |
|
|
------- |
100 |
|
|
|
101 |
|
|
Host |
102 |
|
|
The host code should be completely standalone at this |
103 |
|
|
stage, and capable of running without any outside scripts. |
104 |
|
|
It should also be tidied to the point of being finished, |
105 |
|
|
and all the proper error handling be implemented. It can |
106 |
|
|
be considered complete for the current platform. |
107 |
|
|
|
108 |
|
|
Server |
109 |
|
|
The client interface can now be developed to allow a |
110 |
|
|
client to connect and view data. This should just be raw |
111 |
|
|
data, none of the "thinking" (ie. filtering of data for |
112 |
|
|
clients) need be done. |
113 |
|
|
|
114 |
|
|
The collector should also be expanded to allow more |
115 |
|
|
"thinking" to occur behind the scences. Key to this stage |
116 |
|
|
is the implementation of a filter, to hopefully stop |
117 |
|
|
floods of events going through. |
118 |
|
|
|
119 |
|
|
Client |
120 |
|
|
A basic client (in Java?) should be implemented that will |
121 |
|
|
connect to the server and just read information. It need |
122 |
|
|
not allow much user interaction, and need to act upon |
123 |
|
|
events. The key point is the communication between the |
124 |
|
|
client and the server. |
125 |
|
|
|
126 |
|
|
Overall |
127 |
|
|
The plan here is to polish off the "host side" of the |
128 |
|
|
server and get the client side moving along. |
129 |
|
|
|
130 |
|
|
|
131 |
|
|
Phase 5 |
132 |
|
|
------- |
133 |
|
|
|
134 |
|
|
Host |
135 |
|
|
With a completed initial host application for |
136 |
|
|
Solaris/SPARC (?) porting should take place. Initially NT |
137 |
|
|
should be done, but it could be possible for another |
138 |
|
|
person to quickly port to the Solaris/Intel and Linux |
139 |
|
|
platforms due to the similar code. The NT host application |
140 |
|
|
could almost take a rewrite, but all the basic channels of |
141 |
|
|
communication should remain the same. C/C++ should be used |
142 |
|
|
throughout. |
143 |
|
|
|
144 |
|
|
Server |
145 |
|
|
The client interface should be made more advanced with |
146 |
|
|
much more "thinking" stuff going on behind the scences. |
147 |
|
|
Preferences may be received from the client to tailor data |
148 |
|
|
sent, depending upon the design. |
149 |
|
|
|
150 |
|
|
If required, although we expect it won't be, the web |
151 |
|
|
interface should be written. However, we expect the |
152 |
|
|
webpages will connect directly to the database. Any "live |
153 |
|
|
applets" should be able to connect via the client |
154 |
|
|
interface. |
155 |
|
|
|
156 |
|
|
The server should be effectively complete now, at this |
157 |
|
|
stage of the development process. |
158 |
|
|
|
159 |
|
|
Client |
160 |
|
|
Client should be fully fledged, allowing configurabilty |
161 |
|
|
and use a full GUI. Graphical representation of the data |
162 |
|
|
is desired. This should be considered complete. |
163 |
|
|
|
164 |
|
|
The web interfaces should be finished off aswell, |
165 |
|
|
providing whatever features that have been planned. |
166 |
|
|
|
167 |
|
|
Overall |
168 |
|
|
Basically bringing everything together. The whole system |
169 |
|
|
should be completed at this point. This last phase will |
170 |
|
|
probably take quite a while to fully complete (porting |
171 |
|
|
and GUI writing). |
172 |
|
|
|
173 |
|
|
|
174 |
|
|
PUBLIC RELEASE 1 |
175 |
|
|
================ |
176 |
|
|
|
177 |
|
|
The system is now ready for the initial release. Although |
178 |
|
|
testing at each phase should have been done, it is now time |
179 |
|
|
to rigoursly test the whole system... preferably before |
180 |
|
|
release. |
181 |
|
|
|
182 |
|
|
Further features could be added, time pending of course, but |
183 |
|
|
we have the core of the whole system done. |
184 |
|
|
|
185 |
|
|
COMMENTS |
186 |
|
|
======== |
187 |
|
|
|
188 |
|
|
This is not final, and should be reviewed with regard to the |
189 |
|
|
features list to be produced. It is important that at the |
190 |
|
|
end of each phase the following are completed. |
191 |
|
|
|
192 |
|
|
- Documentation of code, and thoughts behind implementation. |
193 |
|
|
- Review of code, possibly by others. |
194 |
|
|
- Testing of code. |
195 |
|
|
- Meeting to review progress, and prepare for next phase. |
196 |
|
|
|
197 |
|
|
At all times code should be kept in CVS. Tagging will be |
198 |
|
|
done at the completion of each phase. It is therefore |
199 |
|
|
important that all work be concluded before the next phase |
200 |
|
|
commences. |
201 |
|
|
|
202 |
|
|
CVS trees should be decided upon at an early stage. |