Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents
maxLevel3
minLevel2

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

...