This section describes how to start with Enhydra Shark: where to download it, how to configure it and how to test it.
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.
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
Directory | Description |
---|---|
SHARK_HOME | The 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 |
To build Shark you need to use anonymous SVN to synchronize with the OW2 source repository at svn://svn.forge.objectweb.org/svnroot/shark .
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.
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.
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.
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.
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.
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