Build pbs from CVS - QuickStart

Preconditions

  • A cvs client
  • MYSQL >= 3.22.32
  • Mysql JDBC driver (drivers >= 2.02)
  • Jboss 2.2
  • Java VM 1.2.2
  • ant 1.3
  • log4j 1.02
  • All programms listed should be downloaded and properly installed if needed.

    Anonymous CVS Access

    Create a BaseDir directory where you want to checkout files to(I chose p.i. G:\PBS-ROOT\). Change to this directory(console) and continue.

    This project's SourceForge CVS repository can be checked out through anonymous (pserver) CVS with the following instruction set. When prompted for a password for anonymous, simply press the Enter key.

    cvs -d:pserver:anonymous@cvs.pbs-telematik.sourceforge.net:/cvsroot/pbs-telematik login
    cvs -z3 -d:pserver:anonymous@cvs.pbs-telematik.sourceforge.net:/cvsroot/pbs-telematik co pbs-telematik
    cvs -z3 -d:pserver:anonymous@cvs.pbs-telematik.sourceforge.net:/cvsroot/pbs-telematik co pbs
    
    Then you should have retrieved two directorys(with subdirectories) named pbs-telematik and pbs under G:\PBS-ROOT\ containing the project files.

    Configure MySQL

    First of all you need to setup a new user that is allowed to connect to the "pbs" database which is created later. For simplicity this user should be allowed to do anything and connect from anywhere to the database. Beware! do change the user permissions for your needs if the application is not used in a development environment. For this time we do not exactly know what permissions are "essential". Execute again the following instruction set(being logged on as root to mysql):

     mysql> INSERT INTO user VALUES('localhost','pbs',PASSWORD('pbs'),
           'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
     mysql> INSERT INTO user VALUES('%','pbs',PASSWORD('pbs'),
           'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
    After succesfully adding the user to the database create the initial database. Change to the base directory (p.i. "G:\PBS-ROOT\") from which you previously checked out the files from cvs. execute there the following command:
    mysql -u pbs -p -h 192.168.1.1 < pbs/src/SQL/mySQLCreateTableSyntax.sql
    The Databse "pbs" will be created in your mySQL database.
    Ok. That's it!

    Configure Jboss

    Install the mm.mysql driver simply by copying "mm.mysql-2.0.4-bin.jar" to the "jboss\lib\ext" dir. Then replace the existing DefaultDS to point to the MySQL source. For this you have to edit the jboss.jcml file in the "Jboss/conf/default" directory.
    I provide here my jboss.jcml file.
    Edit Jboss.jcml and look for the following attributes in the defaultDS configuration xml node (Yes.. it is an xml file):

    attribute name="JDBCUser" 
    attribute name="Password"
    attribute name="URL"
    
    and change them to the proper values. Copy the modified file to the "Jboss/conf/default" and "Jboss/conf/tomcat" directory.

    try to run the server. there should be no error messages!

    Building the Server App

    change to the BaseDir (remember... previously checked out Files to G:\PBS-ROOT\) directory and run ant:

    G:\PBS-RootDir\ant -buildfile build-ejb.xml
    Ant should compile the files and put the deployable pbsEJB with a timestamp in the "dist/lib" folder. Thats it. the server application is ready to deploy! Copy it to "JBoss-2.2.2_Tomcat-3.2.2\jboss\deploy" and run the jboss server.

    Building the client

    Run ant from the BaseDir (remember... previously checked out Files to G:\PBS-ROOT\).

    G:\PBS-RootDir\ant -buildfile build-client.xml

    Ant should again compile the files and put the file "ejbClient-%Timestamp%" in the "dist/lib" folder.

    Testing all

    All previous steps should be completed succesfully. (The jboss server should be running with the succesfully deployed server app on localhost.)
    If that ist the case change to the "G:\PBS-ROOT\bin\" directory and execute "SimpleTestClient.bat". A simple new entry should be generated in the table "USERS".Thats it! Everything worked fine if that succeded!

    Postconditions

    A hopefully satisfied programmer :-)