I recently added a version of the Geronimo DayTrader sample (now called
AriesTrader) into the Aries code stream under trunk/ariestrader-sample.
It is a reorganized version of DayTrader that leverages the Aries
programming model (currently using a web application bundle, blueprint
and jndi modules) with JDBC persistence using Derby. I also have an
extension that adds JPA persistence which I can include as that support
becomes available. I plan to add some documentation on the structure of
the code and solicit feedback so that we can validate that it
appropriately demonstrates the Apache Aries programming model.
The sample has been around for a while and mocks up a stock trading
application. It has been used in the past to provide performance runs.
Included are typical functions for creating and managing accounts that
buy and sell stock. There are also primitive functions for running some
scenarios not directly related to the primary trade functionality.
The sample is mostly functional. There are just 2 primitives that I
know have some issues and there are still some graphics that I have to
figure out how to update that mention DayTrader and Geronimo rather than
the AriesTrader and Aries.
I've included an equinox assembly (modeled after that provided by the
blog sample) that can be used to run AriesTrader which uses the PAX Web
implementation. I'll work on creating some tutorials and documentation
but here are some initial directions to get it running:
- Install and configure embedded Derby, see here for instructions:
http://db.apache.org/derby/papers/DerbyTut/install_software.html#derby
- Checkout and build trunk/ariestrader-sample
- cd ariestrader-sample/assemblies/ariestrader-jdbc-equinox/target
- java org.apache.derby.tools.ij tradeDB.sql
- java -jar osgi-3.5.0.v20090520.jar -console
- Point your web browser at
http://localhost:8080/org.apache.aries.ariestrader.modules.ariestrader-web
- select the "Configuration" tab and the "(Re)-populate AriesTrader
Database" to seed the database with a default set of users and stock quotes
- select the "Trading & Portfolios" tab to use the mock trade
application or the "Primitives" tab to run some of the web primitive
tests (PingJSPEL and PingServlet2JNDI are 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.
--
Joe