Ursus v0.3a1 Documentation
Contents
What is Ursus
Why use Ursus
Who would use Ursus
Project Scope
Current Ursus Features
Installing Ursus
Preparing Ursus for Building
Building and Running Ursus
Encryption information
What is Ursus
The Ursus Project is a basic framework designed for creating client/server
application bundles. Ursus handles all IO operations and provides a design
pattern for extending persistent objects. Server utilities will be implemented
for real time remote administration of basic server functions including access to
thread pools, encryption data, database connections, buffer sizes, throughput limiters
and other functions designed to allow application creators a client/server enviroment that they
can fine tune to their specifications.
Why use Ursus?
It is my hope that Ursus will serve as a useful API, framework, and set of utilities
developers can use to easily extend their own internet applications. Examples
of such applications would include chat software, online games, internet daemons, etc...
Who would use Ursus?
Ursus as it is, is intended for application developers and students. Internet
applications written on top of Ursus will be the final result for end users.
Scope
Ursus is intended to be a basic framework with utilities and core implementations.
It is not intended to be a full featured application, but a framework that can be
extended into a full featured application. The emphasis of Ursus development will be on
solving performance and security issues, implementing basic server utilities,
profiling, load-testing, and benchmarking the core framework.
Current Ursus Features
Currently Ursus supports multiple logins, encrypted sockets, an implementation of
data transfer object pattern for persistence, a database connection pool,
non-blocking IO, use of java.util.concurrent, and server configuration
via XML. Ursus does not yet support session tracking beyond basic socket and
encryption info, although this is planned.
Once logged into Ursus you can execute 2 commands.
echo - which echos what you type back to you
serverstat - prints out a page of server statistics.
Installing Ursus
- Preparing Ursus for building
Ursus depends Apache Ant in order to work properly.
Ursus 0.3a2 is distributed in a source bundle only. So you must have
Apache Ant.
- Building and running Ursus
In order to use the latest version of Ursus you must download the project via CVS.
From a terminal run these commands, when prompted for a password just hit enter.
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ursus login
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ursus co ursus
Now enter the projects root directory 'ursus' and type.
ant jar-server
ant jar-client
Now you are ready to start the Ursus server. By default typing this from the
dist/ursus-server directory will start the server.
java -jar Server.jar conf/conf.xml
Notice that the main class takes one argument, the location of the conf.xml file
used to configure the server. It is advisable not to run the server as a background
process because there is currently no way to shut it down other than killing the process
manually by typing ctrl-c in the terminal you started it in, or killing the process
id in a un*x like operating system.
In another terminal move over to the dist/ursus-client directory and type the following
java -jar Client.jar conf/conf.xml localhost 7000
Notice that the main class for the client takes three arguments, the location of
the conf.xml file, the servers url, and the port number the server is listening on.
Once the client has connected to the server you can either use the echo or serverstat
commands.
Examples of what to type once connected.
echo Hello server world!
serverstat
Encryption Information
If you have not downloaded the
Unlimited Strength Jurisdiction Policy Files you will not be able to access
the full features of the encryption available in Ursus. Please follow the link
and download the file, then follow the instructions contained in the file to
install these policy files. If you do not live in an unlimited strength jurisdiction
please disregard and download the jurisdiction policy files for your area.
|