Day Trader - Apache Geroninmo J2EE 1.4 Benchmark Sample
DayTrader is an application based on Sun's J2EE 1.4 specification and its storyline follows an online stocktrading context. It includes most of the functionality of J2EE including JSPs, Servlets, Session and CMP entity EJBs as well as JMS to name many of the significant elements. Through this sample users can see concrete coding examples of J2EE as well as the associated Deployment Descriptors (deployment plans in Geronimo).
The goal of this sample is three-fold. First, to provide a comprehensive application that is easy to understand and deploy. Once deployed it can be used as a sample as to how to code a J2EE application based on the classic Model View Controller (MVC) model. After reviewing the code the application can be used to understand how to deploy the various artifiacts required for the application in the server. For instance, the sample uses DataSources, JMS Queues and Topics, CMP Entity beans, etc. Each of these artifiacts require some additional deployment descriptor to make them function in the server. Supplied with DayTrader are the deployment plans and the associated deployment plan entries for these items.
Second, DayTrader is intended to provide a Functional Test Suite. Given that the benchmark includes a fully functioning application the complex interactions of the various elements in the server can be tested in a macro context. DayTrader has been used to flush out system level issues in both commercial and Open Source Application Servers. In addition, a set of low-level primitives are provided so specific testing and performance amalysis can be conducted without having to build unique testcases. Primitives include the very simple PingHTML to the more complex PingServlet2Session2EntityLocal. This allows for specific areas of the container to be stressed / tested and gives an analyst or performance person an opportunity to gather specific information about areas of the container.
Third, given the complexity of J2EE a single benchmark typically doesn't cover all the various elements that can be used. DayTrader provides a configuration section that allows various run modes to be selected. One can choose EJBs or JDBC mode, Messaging in Syncronous, Asynchronous and Asynchronus 2-phase commit mode as well as whether WebServices should be used for remote operations. All of this flexibility allows for a tremendous amount of flexibility for testing and performance analysis.
In order to deploy DayTrader on Geronimo there are a few simple steps that are needed. Quite simply one has to acquire the application, select its deployment mode (choice of database, etc.) and finally deploy it to a running Geronimo Server.
Today the way to get DayTrader is to download it from the Subversion repository at Apache. Here is the command that will checkout the DayTrader application:
will check out the latest trunk version to the daytrader directory.
Back Button Sample applications