blob: f3e80a407fb308e45d738f31248b2c65051482a3 [file] [log] [blame]
Title: AriesTrader-0.1-incubating
<a name="AriesTrader-0.1-incubating-TheAriesTraderSample"></a>
# The AriesTrader Sample
<a name="AriesTrader-0.1-incubating-Prereqs"></a>
### Prereqs
<br>
- - -
**Note**:
The Derby installation prereq is only required when using the
0.1-incubating released version of the sample. Subsequent releases will
not require the installation of Derby.
Also note that the version of Derby used by the 0.1-incubating release and
development versions of the AriesTrader Sample is 10.5.3.0. Since May 2010
the Derby tutorial points to the latest Derby release (10.6.x) - if this is
installed the AriesTrader sample will not work. See [ARIES-317](https://issues.apache.org/jira/browse/ARIES-317)
. For the present the best solution is to install Derby 10.5.3.
- - -
Follow the instructions [here](http://db.apache.org/derby/papers/DerbyTut/install_software.html#derby)
to complete the following actions: Download Derby, Install Derby, Set
DERBY_INSTALL, Configure Embedded Derby and then Verify Derby.
<a name="AriesTrader-0.1-incubating-CreatingtheOSGiplatform(equinox-test-harness)forAriesTrader"></a>
### Creating the OSGi platform (equinox-test-harness) for AriesTrader
Download and unzip the source zip for the [latest release](aries:downloads.html)
of Aries Samples and build the equinox-test-harness module under
ariestrader:
cd samples-0.1-incubating/ariestrader/assemblies/equinox-test-harness
mvn install
This procedure will pull in the binaries from the latest release and its
dependencies.
<a name="AriesTrader-0.1-incubating-AlternativebuildusingApacheAriestrunk."></a>
### Alternative build using Apache Aries trunk.
As an alternative to using the released version you can also choose to work
with the latest, unreleased code. This will require the use of subversion
to checkout the code followed by building the entire Apache Aries project.
Directions are provided here: [Building Aries instructions](aries:buildingaries.html)
.
<a name="AriesTrader-0.1-incubating-StartingtheEquinoxTestHarnesstoruntheAriesTradersample"></a>
### Starting the Equinox Test Harness to run the AriesTrader sample
AriesTrader needs a test harness to run in. For this purpose we are using
an Equinox assembly that pulls in all of the necessary dependencies.
The first task is to create the database necessary for AriesTrader:
cd [your_aries_installation]
/ariestrader-sample/assemblies/equinox-test-harness/target
export
CLASSPATH=$DERBY_INSTALL/lib/derby.jar:$DERBY_INSTALL/lib/derbytools.jar:.
java org.apache.derby.tools.ij tradeDB.sql
Next, start Aries in an OSGi framework using the Eclipse Equinox test
harness
java -jar osgi-3.5.0.v20090520.jar -console
The OSGi console should start up, the 'ss' command should show the active
bundles but the AriesTrader application is not yet installed (with the
exception of the ariestrader derby datasource which is started with the
test harness for convenience).
<a name="AriesTrader-0.1-incubating-InstallingAriesTraderintheEquinoxTestHarness"></a>
### Installing AriesTrader in the Equinox Test Harness
To install the AriesTrader application simply copy the eba for AriesTrader
into the target/load directory which was created when test harness
containing Aries was started. For convenience the AriesTraders EBAs are
copied into the target directory as part of creating the OSGi Equinox test
harness.
When using the "JDBC" only AriesTrader configuration which supports only
jdbc persistence:
cp org.apache.aries.samples.ariestrader.jdbc-*.eba load/
When using the "All" AriesTrader configuration which supports all currently
available persistence modes:
cp org.apache.aries.samples.ariestrader.all-*.eba load/
Now the 'ss' command should show all of the AriesTrader bundles in state
'ACTIVE'.
If you subsequently delete org.apache.aries.samples.ariestrader.jdbc-*.eba
or org.apache.aries.samples.ariestrader.all-*.eba from the target/load
directory the application will be uninstalled.
<a name="AriesTrader-0.1-incubating-AccessingandusingtheAriesTradersample"></a>
### Accessing and using the AriesTrader sample
Point your browser at [http://localhost:8080/org.apache.aries.samples.ariestrader.web/](http://localhost:8080/org.apache.aries.samples.ariestrader.web/)
Select the "Configuration" tab and the "Configure AriesTrader run-time
parameters" choice. Then select from among the available runtime modes
(defauls to JDBC). Be sure to click "update config" to save your
selection.
At the moment the following persistence modes are available when using the
"all" EBA:
* JDBC persistence
* JPA application managed entity manager persistence
* JPA container managed entity managers using declarative transaction
support
By default, the sample starts with JDBC persistence. To select another
persistence mechanism see the directions under "Accessing and using the
AriesTrader sample.
After selecting the persistence mode you must create the AriesTrader
Database tables and indexs. Select the "Configuration" tab and the
"(Re)-create AriesTrader Tables and Indexes".
Next, you must seed the database with test content. Once again go to the
"Configuration" tab but this time select "(Re)-populate AriesTrader
Database" from the available choices to seed the database with a default
set of users and stock quotes. You will see a number of quotes (default is
400) and users (default is 200) created.
Select the "Trading & Portfolios" tab to use the mock trade application or
the "Primitives" tab to run some of the web primitive tests (PingJSPEL is
not currently working). You can also run the "Test AriesTrader Scenario"
from the "Configuration" tab which will launch a new browser window and
step through a trading scenario with each reload of the page.
<a name="AriesTrader-0.1-incubating-AbouttheAriesTraderSample"></a>
### About the AriesTrader Sample
The AriesTrader sample is a modified version of the Apache Geronimo
DayTrader sample. It has been somewhat simplified and reorganized to
support the Apache Aries programming model.
The AriesTrader sample bundles are organized like this:
![at1](ariesTraderOverview2.png)