Runcontrol SOURCES Readme
June 2006
1.
Overview
The runcontrol module contains source code for applications that take advantage of the remote monitoring capabilities of HyperCast. Two applications are included: RunControl and RunServer. RunControl is a control console, which exists in two variations, the RunControl CLI is a commandline interface and the RunControl GUI offers a graphical display of overlay networks. RunServer is a
server application that starts overlay sockets and builds an overlay
network. A single RunControl application issues commands to
several RunServer applications.
The source files can be compiled with Java version 1.2 or higher.
See the file runcontrol-BINARIES-Readme.html in this module for information on how to use the applications.
See
the Chapter "Monitor and Control" available from www.hypercast.org for
additional information.
2.
Open Source License
The sources in this module are made available under the terms version 2.1 of the
GNU Lesser General Public License
("LGPL").
3.
Extract the ZIP archive
The ZIP archive for the sources are
usually distributed in a file with the
name
runcontrol-SOURCES-xxx-yyyymmdd.zip
where xxx
is a tag that identifies who created the archive and yyyymmdd
is the date when the archive was created.
Copy the file to a directory where you want
to run Runcontrol, and extract ('unzip')
the
archive with a utility such as WinZip (on Windows) or the unzip command
(on
Unix or Cygwin).
NOTE:
This
package requires that the hypercast.jar
is located in the the
/lib directory. Should
hypercast.jar not be included in the ZIP archive, it can be
copied form the /lib
directory of a hypercast BINARIES directory.
4.
Files in runcontrol module
The
contents of the archive is this file, XML configuration files, JAR
files, and command scripts.
Makefile
This
is a
GNU Makefile that
contains instructions for compiling all or parts of the sources,
generating
Javadoc, \ files, building the target "/lib/runctrol.jar", and
generating a ZIP archive with binaries and other files. To run the
makefile, the following JAR files need to be present in the directory /lib: hypercast.jar, xalan.jar, bcprov-jdk14-122.jar.
Readme files:
runcontrol-SOURCES-Readme.html - this file
runcontrol-BINARIES-Readme.html - Readme
file for runcontrol binaries
XML
files:
Monitor.xml
- HyperCast configuration file for the monitor of the RunControl
application
Portal.xml
- HyperCast configuration file for the the portal of the RunServer
application
hypercast.xml
- HyperCast configuration file for the overlay that is monitored by RunControl/RunServer
location.xml
- address/location mapping of IP hosts (only used by RunControl GUI)
map.xml
- location of maps (only used by RunControl GUI)
Directories:
/lib
Directory
with external *.jar
files needed for HyperCast.
The makefile instructions will place JAR file runcontrol.jar in this directory.
NOTE:
- This
directory should be included in the SOURCE distributions of runcontrol,
but is not included in the CVS module of runcontrol).
- To compile the runcontrol
module, the listed JAR files must be available. The JAR files can be
obtained from the CVS archive of the hypercast module (with exception
of hypercast.jar), or from any binary or source releases of the modules
hypercast, runcontrol, or lotos.
lib/hypercast.jar
: Implementation
of HyperCast
lib/xalan.jar : XSLT
processor for XML documents
(xml.apache.org/xalan-j/)
lib/crimson.jar
XML classes
needed for Java version 1.5 (and recommended for Java version 1.4)
lib/bcprov-jdk14-122.jar
: Implementation
of cryptographic algorithms (www.bouncycastle.org)
/bin
Contains
scripts that start applications. The "*.sh" scripts are
for Unix/Cygwin shells and are run form the / directory. The "*.bat"
scripts are for DOS shells. They can be run by `clicking' on the
correspondng files.
cli.sh, cli.bat
- starts the commandline interpreter of the RunControl application
gui.sh, gui.bat
- starts the the RunControl application with a GUI
runserver.sh, runserver.bat
- starts the RunServer application
conf.sh,
conf.bat - starts the
HyperCast configuration editor to edit HyperCast configuration files
version.sh, version.bat
- displays the version of Runcontrol.
/src - Source files
/src/commandline
- Source files for the command line interface shell in RunControl CLI and RunControl GUI.
/src /runcontrol- Source files for the RunControl CLI.
/src /runcontrol/commnds - Source files for the commands available in the CLI of RunControl. There is one file for each available command.
/src /gui- Source files for the RunControl GUI, this is a graphical user interface that acts as a front end for the RunControl CLI.
/src /runserver - Source files for the RunServer application.
5.
Version Identifiers
The following files contain the version identifiers.
/src/runcontrol/Version.java
Before creating a new release of the runcontrol module , the version identifier in
these files should be updated. Running the Version.class file displays the version identifier stored in Version. java.
Releases
posted at SourceForge should follow the convention that a release
has a tag which identifies the developer who created the
release and the date of the creation of the release.
However, the version
numbering is not strictly enforced. Each developer
(including the
developers that maintain the Sourceforge.net repository) is
responsible for maintaining a meaningful or consistent versioning
scheme.
6.
Compiling Runcontrol (without Makefile)
This
package requires that all libraries needed by the HyperCast module and hypercast.jar
are available. HyperCast has been used and compiled for SDK that compile for the
Pocket PC
platform. Refer to additional documentation from the www.hypercast.org
website. Compiling HyperCast with an IDE is straightforward. With
Eclipse, the sources
can be downloaded from the CVS repository.
7.
Compiling Runcontrol (with Makefile)
The following instructions describe how
to use the Makefile for compiling the
code and creating
ZIP files with
binaries. This
Makefile in the module is a GNU makefile. (On some systems, you need to
run "gmake"). The makefile should run under Unix and under
Windows/Cygwin.
Note:
The Makefile compiles to Java version 1.4. The software can be
compiled to older (1.2, 1.3) or later versions (1.5).
All class files are placed in the /bin
directory. All Javadoc files are placed
in the /javadoc or /javadoc_public directories.
Remarks:
- The
Makefile creates a VERSIONTAG
which is used to name the created ZIP files. By default, the VERSIONTAG consists
of a
username and a date. Edit the Makefile
to change the VERSIONTAG.
- Before creating a new release, edit the statement in /src/RunControl/Version.java.
Here are the available options for the Makefile:
make,
make complete
Creates
configuration defaults, compiles all sources,
creates lib/runcontrol.jar
make
javadoc
Creates Javadoc
files of all methods in
/javadoc
directory and creates a ZIP archive.
make
javadocpublic
Creates Javadoc
files of public methods in
/javadoc_public
directory and creates a ZIP archive.
make
zipbinaries
Generates a
ZIP file with HyperCast
binaries and VERSIONTAG in the name of the ZIP file. The zip files
contains:
lib/*.jar
bin/*.sh
bin/*.bat
runcontrol-BINARIES-Readme.html
Monitor.xml Portal.xml hypercast.xml location.xml map.xml
make
zipsources
Generates a
ZIP file
with HyperCast sources and VERSIONTAG in the name of the ZIP file. The
zip
files contains:
src
lib/*.jar
bin/*.sh
bin/*.bat
runcontrol-BINARIES-Readme.html runcontrol-SOURCES-Readme.html
Monitor.xml Portal.xml hypercast.xml location.xml map.xml
Makefile
make
clean
Removes
binary files in
/bin/*
and removes javadoc files
8.
Running applications of the runcontrol module
Refer
to the instructions in
/runcontrol-BINARIES-Readme.html or the instructions on
the website
www.hypercast.org.