...
Table of Contents | ||||
---|---|---|---|---|
|
Application Architecture
DayTrader is built on a core set of Java EE technologies that includes Java Servlets and JavaServer Pages (JSPs) for the presentation layer and Java database connectivity (JDBC), Java Message Service (JMS), Enterprise JavaBeans (EJBs) and Message-Driven Beans (MDBs) for the back-end business logic and persistence layer. The following diagram provides a high-level overview of the full workload application architecture.
...
Client (UI) Operation | Flow of Buisness Operations |
---|---|
Register |
|
Login |
|
View Account |
|
View Account Profile |
|
Update Account Profile |
|
View Portfolio |
|
Sell Holding |
|
View Quotes |
|
Buy Stock |
|
Logout |
|
Getting the source and building Daytrader
Daytrader is available in the Apache's subversion repository, run the following command to checkout the source files into the daytrader-1.2 directory.
...
This process will take a couple of minutes. The binaries will be generated in the corresponding target directory for each of the modules in the modules directory.
Configuring Daytrader
- cd /geronimo-tomcat-j2ee-1.2/bin
- geronimo start
- set GERONIMO_HOME=D:/geronimo-tomcat-j2ee-1.2
- cd /daytrader-1.2/bin/dbscripts/derby
- Open
createDerbyDB
script and verify/modify the Derby version to match the one being used by Geronimo ( e.g. <geronimo_home>/repository/org/apache/derby/derby/10.1.3.1 ) - createDerbyDB
D:\daytrader-1.2\bin\dbscripts\derby>createDerbyDB.bat
"Invoking IJ command line tool to create the database and tables...please wait"
ij version 10.1
ij> ij> ERROR 42Y55: 'DROP TABLE' cannot be performed on 'HOLDINGEJB' because it does not exist.
ij> ERROR 42Y55: 'DROP TABLE' cannot be performed on 'ACCOUNTPROFILEEJB' because it does not exist.
ij> ERROR 42Y55: 'DROP TABLE' cannot be performed on 'QUOTEEJB' because it does not exist.
ij> ERROR 42Y55: 'DROP TABLE' cannot be performed on 'KEYGENEJB' because it does not exist.
ij> ERROR 42Y55: 'DROP TABLE' cannot be performed on 'ACCOUNTEJB' because it does not exist.
ij> ERROR 42Y55: 'DROP TABLE' cannot be performed on 'ORDEREJB' because it does not exist.
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> 0 rows inserted/updated/deleted
ij> ij> Table creation complete - Point browser the Geronimo Administration Console and verify the database and tables have been created.
- Update the \daytrader-1.2\plans\daytrader-1.2-beta-plan.xml . Replace "ge-activemq-rar/1.2-beta/rar" with "ge-activemq-rar/1.2/rar"
- cd \geronimo-tomcat-j2ee-1.2\bin
- deploy --user system --password manager deploy \daytrader-1.2\modules\ear\target\daytrader-ear-1.2-SNAPSHOT.ear \daytrader-1.2\plans\daytrader-1.2-beta-plan.xml
Using GERONIMO_BASE: D:\geronimo-tomcat-j2ee-1.2
Using GERONIMO_HOME: D:\geronimo-tomcat-j2ee-1.2
Using GERONIMO_TMPDIR: D:\geronimo-tomcat-j2ee-1.2\var\temp
Using JRE_HOME: C:\Java\jdk1.5.0_06\jre
Deployed geronimo/daytrader/1.2-SNAPSHOT/car
`-> web.war @ http://localhost:8080/daytrader
`-> dt-ejb.jar
`-> geronimo/daytrader-wsapp-client/1.2-SNAPSHOT/car
`-> geronimo/daytrader-streamer-client/1.2-SNAPSHOT/car
`-> TradeDataSource
`-> TradeJMS
...