1 |
< |
i-scream Server Startup |
2 |
< |
======================= |
1 |
> |
i-scream Server README |
2 |
> |
====================== |
3 |
|
|
4 |
< |
Current startup sequence: |
4 |
> |
ANT build vs Make build |
5 |
> |
----------------------- |
6 |
|
|
7 |
< |
uk.ac.ukc.iscream.core.Core |
8 |
< |
uk.ac.ukc.iscream.clientinterface.ClientInterfaceMain |
9 |
< |
uk.ac.ukc.iscream.filtermanager.FilterManager |
10 |
< |
uk.ac.ukc.iscream.rootfilter.RootFilterMain |
11 |
< |
uk.ac.ukc.iscream.filter.FilterMain |
7 |
> |
There are now two methods of compiling the server distribution. The existing |
8 |
> |
Makefile method is still supported, but is of course limited in the OS's on |
9 |
> |
which it can be run. The preffered method will be an XML based build script |
10 |
> |
using ANT (http://jakarta.apache.org/ant) which will run on any platform. |
11 |
> |
However, at this stage the ANT scripts are not completely finished and may |
12 |
> |
have some odd behaviour. |
13 |
|
|
14 |
< |
The following sequence of commands should suffice. They will probably need |
15 |
< |
to be run in seperate terminal windows. |
14 |
> |
We envisage both the Makefile and ANT setups being maintained for some time, |
15 |
> |
giving the developer a choice. This document still outlines the Makefile |
16 |
> |
method of compiling, and will do so until such a point as the ANT scripts |
17 |
> |
are deemed reliable. If, however, you wish to give the ant script a whirl, |
18 |
> |
try the following after setting up ANT (see the ANT website for details); |
19 |
|
|
20 |
< |
make runcore |
16 |
< |
make runclientinterface |
17 |
< |
make runfiltermanager |
18 |
< |
make runrootfilter NAME=root |
19 |
< |
make runfilter NAME=filter1 |
20 |
> |
ant help |
21 |
|
|
22 |
< |
If all is working this will ensure every component, including the IDL, is |
23 |
< |
compiled as required before execution. |
22 |
> |
Compiling |
23 |
> |
--------- |
24 |
|
|
25 |
< |
nb. you will need to ensure your classpath is correctly set prior to |
26 |
< |
running, otherwise java will fail to find the jacorb classes and the |
27 |
< |
XML parsing packages. |
25 |
> |
The server can now easily be compiled without worrying about setting up any |
26 |
> |
of the CLASSPATH's, or setting the path to JacORB. It's all self contained. |
27 |
> |
|
28 |
> |
Typical sequence to compile; |
29 |
> |
|
30 |
> |
./configure |
31 |
> |
make build |
32 |
> |
make install prefix=/some/path |
33 |
> |
make clean |
34 |
> |
|
35 |
> |
In more detail, the first line ensures that the required libraries are |
36 |
> |
available, and sets the Makefiles up so they know where everything is. |
37 |
> |
The second line compiles all of the code and creates a JAR file in the |
38 |
> |
build directory. |
39 |
> |
The install line installs the server and libraries to a given location, |
40 |
> |
along with the configuration files. |
41 |
> |
Finally, the last line cleans up. |
42 |
> |
|
43 |
> |
Running |
44 |
> |
------- |
45 |
> |
|
46 |
> |
It is recommended that the components are started up in the following order. |
47 |
> |
|
48 |
> |
(This can be on multiple hosts if required, as long as the order is correct). |
49 |
> |
|
50 |
> |
Core |
51 |
> |
ClientInterfaceMain |
52 |
> |
DBInterface |
53 |
> |
FilterManager |
54 |
> |
RootFilter |
55 |
> |
FilterMain |
56 |
> |
Client |
57 |
> |
|
58 |
> |
It is not necessary to start both the ClientInterfaceMain and DBInterface, |
59 |
> |
the server will handle only one or both. Multiple Filter's can be started |
60 |
> |
as required. |
61 |
> |
|
62 |
> |
These are all loaded through the ComponentManager. More details on how to |
63 |
> |
operate this will be provided later on. Typing "make run" will make an |
64 |
> |
attempt to load it up. |
65 |
> |
|
66 |
> |
Check build/etc/default.properties to set the startup list and order. |
67 |
> |
|
68 |
> |
nb. You will need to ensure that the relevant libraries are in the |
69 |
> |
build/lib directory. See the README in there for details. |
70 |
> |
|
71 |
> |
Makefile |
72 |
> |
======== |
73 |
> |
The following targets are available; |
74 |
> |
|
75 |
> |
build |
76 |
> |
|
77 |
> |
Compile the entire server package, include the IDL file. Generates the |
78 |
> |
JAR file for the final package. |
79 |
> |
|
80 |
> |
run |
81 |
> |
|
82 |
> |
Run's the server from the JAR file in /build. |
83 |
> |
|
84 |
> |
clean |
85 |
> |
|
86 |
> |
Cleans all compiled code, and javadoc pages. |
87 |
> |
|
88 |
> |
distclean |
89 |
> |
|
90 |
> |
Also cleans files left by configure, including the libraries. |
91 |
> |
|
92 |
> |
install |
93 |
> |
|
94 |
> |
Installs the server to a given directory. Also takes a prefix; |
95 |
> |
make install prefix = /usr/i-scream |
96 |
> |
|
97 |
> |
cvsbuild |
98 |
> |
|
99 |
> |
Builds any tagged version of the server from CVS. This saves the need to |
100 |
> |
checkout a version to build it, as it's all done automatically; |
101 |
> |
make install rev = RELEASE_1 |
102 |
> |
Default tag is HEAD. |
103 |
> |
|
104 |
> |
javadoc |
105 |
> |
|
106 |
> |
Builds all the javadoc pages in the `doc' directory. |
107 |
> |
|
108 |
> |
buildutil |
109 |
> |
|
110 |
> |
(it is recommended you run a "make clean" first) |
111 |
> |
Builds a seperate JAR file, in `build' called `iscream-util.jar'. |
112 |
> |
This file contains just the uk.ac.ukc.iscream.util package for |
113 |
> |
use in other parts of the system, such as the clients. |
114 |
> |
|
115 |
> |
createtable |
116 |
> |
|
117 |
> |
Creates the ipacket table in the mySQL database. This is required for |
118 |
> |
the database side of the server. |
119 |
> |
|
120 |
> |
droptable |
121 |
> |
|
122 |
> |
Drops an ipacket table from the mySQL database if one exists. |