Getting started

This section describes how to start with Enhydra Shark: where to download it, how to configure it and how to test it.

Installing a Binary Distribution

Download Binary Distribution

You can download the most recent community version of Shark's binary distribution from OW2. There you can choose between various distribution types (zip, tar.gz, rpm, exe). Release notes are also available at same location.

If you want to see advantages of professional version, the demo version is available at Together site . You can see about additional features of professional version here.

Installing Shark from a Binary Distribution

If you are installing exe or rpm distribution just follow the usual installation procedure. If you are installing tar.gz or zip distribution, after unpacking it to a convinient location on your disk that we will refer to as SHARK_HOME, you should do the following steps:

  • open configure.properties file from SHARK_HOME with your favorite text editor

  • find the following section:

    # HypersonicSQL
    hsql_JdbcDriver=org.hsqldb.jdbcDriver
    hsql_Connection_Url=jdbc:hsqldb:C:/sasaboy/tmp/Shark/output/tws/db/hsql/hsql
    hsql_user=sa
    hsql_passwd=
  • replace the value of hsql_Connection_Url property with the location to the example hsql database that will be created, to correspond to the location of your shark installation. E.g. in the example above, you should replace the part:

    C:/sasaboy/tmp/Shark/output/tws

    with SHARK_HOME. If your SHARK_HOME is e.g. D:/tws-community-2.0-3 you will have hsql_Connection_Url property defined as follows:

    hsql_Connection_Url=jdbc:hsqldb:D:/tws-community-2.0-3/db/hsql/hsql

    NOTE: be sure to use slash characters when specifying this location.

  • execute configure script from SHARK_HOME (configure.sh for unix or configure.bat for windows)

Now you will have the following directory structure:

Table 1. Shark directory structure

DirectoryDescription
SHARK_HOMEThe root directory, referred as SHARK_HOME

..... .dist

d

..... bin

Executable scripts

..... conf

Configuration directory

.......... dods

DODS configuration for various database vendors

.......... sql

SQL scripts for creating shark database table structure for various database vendors

..... db

Directory for sample HSQL database

..... doc

Documentation

..... EJB

Contains EAR file for deployment in specific EJB container

..... JSPClient

Contains WAR file with sample JSP worklisthandler application

..... lib

Runtime libraries and third party dependencies

.......... client

Client application libraries

.......... clientcontrib

Third party libraries used in client applications

.......... contrib

Third party libraries for engine

.......... engine

Engine libraries

.......... wrapper

CORBA and WfXML wrapper libraries

..... licenses

Third party library's licenses

..... logs

Directory for execution logs

..... repository

XPDL Repository

.......... external

Holds sample XPDL files

..... SharkWebClient

Contains WAR files (and zip files) with Shark WEB Client application for Tomcat and JBoss

..... twe

XPDL Editor (Together Workflow Editor/JaWE)

..... WS-Plain

Contains WAR file for Shark Plain Web Service deployment

Building from Sources

To build Shark you need to use anonymous SVN to synchronize with the OW2 source repository at svn://svn.forge.objectweb.org/svnroot/shark .

Synchronizing with SVN

Follow these instructions for using the Shark OW2 anonymous SVN repository.

If you didn't specify 'Shark' for the modulename, you should get both Shark and SharkWebClient sources.

Configuring Build Environment

Open console window and go to the root folder of Shark's SVN sources.

To configure build environment execute configure script (configure.sh on unix and configure.bat on windows) from Shark sources root folder. This will create build.properties files in the root folder and in the util/dods folder containing information neccessary to build shark.

The most important property there is jdk_dir which specifies which Java compiler will be used. If you want to change Java to be the different than the one registered with your system, you can execute configure script with additional options specified:

configure -jdkhome %JAVA_HOME%

where JAVA_HOME is the path to your Java installation.

You can also manually edit two files specified above to change jdk_dir property.

If you leave default settings, shark will be built without Web service support (which is much faster). If you need to build classes necessary to deploy shark as web service, you should either manually set the value of build_ejb_ws property from build.properties file to on, or execute:

configure -buildejbws on

This will enable you to generate EARs for different application servers which will have the ability to expose EJBs as web services as well as to access these web services through client applications coming with shark.

Compiling sources

Open console window and go to the root folder of Shark's SVN sources.

To compile sources, execute make script without any parameters. If you don't want documentation to be generated in the output use make buildNoDoc. Building without documentation is much faster procedure.

When make process finishes, you will get shark binaries in output/tws folder which will have the same structure as described for the binary distribution.

Note

After you build Shark, and if you want to "move" your binaries to the new location you need to execute:

configure -instdir %INST_DIR%

where INST_DIR is the place where you want to put shark binaries, and then execute:

make install

In the route of the project, there are eclipse project files that can help you to configure Shark project in eclipse.

Note

Not all the source files are included in Shark project. This is because some of them are being generated during "make" procedure (e.g. WfXML stubs, CORBA stubs, DODS layer objects, ...).

That's the reason why you should execute configure/make commands before being able to make valid project in eclipse or some other IDE.

Note

Shark should be build with JDK 1.5. However, to execute Shark JDK 1.4 is sufficient for most of the use cases since build procedures specify compatibility with JDK1.4 if possible