Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 5300 invoked from network); 2 Oct 2005 16:31:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 2 Oct 2005 16:31:16 -0000 Received: (qmail 87589 invoked by uid 500); 2 Oct 2005 16:31:13 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 87467 invoked by uid 500); 2 Oct 2005 16:31:13 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 87099 invoked by uid 99); 2 Oct 2005 16:31:11 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 02 Oct 2005 09:31:09 -0700 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Sun, 02 Oct 2005 09:31:10 -0700 Received: (qmail 5061 invoked by uid 65534); 2 Oct 2005 16:30:43 -0000 Message-ID: <20051002163043.5060.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r293134 [6/6] - in /geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF: ./ classes/ docs/ docs/org/ docs/org/apache/ docs/org/apache/geronimo/ docs/org/apache/geronimo/samples/ docs/org/apache/geronimo/samples/daytrader/ docs/o... Date: Sun, 02 Oct 2005 16:30:33 -0000 To: scm@geronimo.apache.org From: hogstrom@apache.org X-Mailer: svnmailer-1.0.5 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/org/apache/geronimo/samples/daytrader/web/prims/PingSession3.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/org/apache/geronimo/samples/daytrader/web/prims/PingSession3.java?rev=293134&view=auto ============================================================================== --- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/org/apache/geronimo/samples/daytrader/web/prims/PingSession3.java (added) +++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/org/apache/geronimo/samples/daytrader/web/prims/PingSession3.java Sun Oct 2 09:29:58 2005 @@ -0,0 +1,176 @@ +/** + * + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.geronimo.samples.daytrader.web.prims; + +import java.io.*; +import javax.servlet.*; +import javax.servlet.http.*; + +import org.apache.geronimo.samples.daytrader.util.*; + +/** + * + * PingHTTPSession3 tests the servers ability to manage + * and persist large HTTPSession data objects. The servlet creates the large custom + * java object {@link PingSession3Object}. This large session object is + * retrieved and stored to the session on each user request. The default settings + * result in approx 2024 bits being retrieved and stored upon each request. + * + */ +public class PingSession3 extends HttpServlet { + private static int NUM_OBJECTS = 2; + private static String initTime = null; + private static int hitCount = 0; + +/** + * forwards post requests to the doGet method + * Creation date: (11/6/2000 10:52:39 AM) + * @param res javax.servlet.http.HttpServletRequest + * @param res2 javax.servlet.http.HttpServletResponse + */ +public void doPost(HttpServletRequest req, HttpServletResponse res) + throws ServletException, IOException { + doGet(req, res); +} +/** +* this is the main method of the servlet that will service all get requests. +* @param request HttpServletRequest +* @param responce HttpServletResponce +**/ +public void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + + PrintWriter out = response.getWriter(); + //Using a StringBuffer to output all at once. + StringBuffer outputBuffer = new StringBuffer(); + HttpSession session = null; + PingSession3Object[] sessionData; + response.setContentType("text/html"); + + //this is a general try/catch block. The catch block at the end of this will forward the responce + //to an error page if there is an exception + try + { + + try + { + session = request.getSession(true); + } + catch (Exception e) + { + Log.error(e, "PingSession3.doGet(...): error getting session"); + //rethrow the exception for handling in one place. + throw e; + + } + // Each PingSession3Object in the PingSession3Object array is 1K in size + // NUM_OBJECTS sets the size of the array to allocate and thus set the size in KBytes of the session object + // NUM_OBJECTS can be initialized by the servlet + // Here we check for the request parameter to change the size and invalidate the session if it exists + // NOTE: Current user sessions will remain the same (i.e. when NUM_OBJECTS is changed, all user thread must be restarted + // for the change to fully take effect + + String num_objects; + if ((num_objects = request.getParameter("num_objects")) != null) + { + //validate input + try + { + int x = Integer.parseInt(num_objects); + if (x > 0) + { + NUM_OBJECTS = x; + } + } + catch (Exception e) + { + Log.error(e, "PingSession3.doGet(...): input should be an integer, input=" + num_objects); + } // revert to current value on exception + + outputBuffer.append( + " Session object size set to " + + NUM_OBJECTS + + "K bytes "); + if (session != null) + session.invalidate(); + out.print(outputBuffer.toString()); + out.close(); + return; + } + + // Get the session data value + sessionData = + (PingSession3Object[]) session.getAttribute("sessiontest.sessionData"); + if (sessionData == null) + { + sessionData = new PingSession3Object[NUM_OBJECTS]; + for (int i = 0; i < NUM_OBJECTS; i++) + { + sessionData[i] = new PingSession3Object(); + } + } + + session.setAttribute("sessiontest.sessionData", sessionData); + + //Each PingSession3Object is about 1024 bits, there are 8 bits in a byte. + int num_bytes = (NUM_OBJECTS*1024)/8; + response.setHeader( + "SessionTrackingTest-largeSessionData", + num_bytes + "bytes"); + + outputBuffer + .append("Session Large Data Test

HTTP Session Test 3: Large Data
Init time: ") + .append(initTime) + .append("

"); + hitCount++; + outputBuffer.append("Hit Count: ").append(hitCount).append( + "
Session object updated. Session Object size = " + + num_bytes + + " bytes
"); + //output the Buffer to the printWriter. + out.println(outputBuffer.toString()); + + } + catch (Exception e) + { + //log the excecption + Log.error(e, "PingSession3.doGet(..l.): error."); + //set the server responce to 500 and forward to the web app defined error page + response.sendError( + 500, + "PingSession3.doGet(...): error. " + e.toString()); } +} +/** + * returns a string of information about the servlet + * @return info String: contains info about the servlet + **/ +public String getServletInfo() +{ + return "HTTP Session Object: Tests management of a large custom session class"; +} +/** +* called when the class is loaded to initialize the servlet +* @param config ServletConfig: +**/ +public void init(ServletConfig config) throws ServletException { + super.init(config); + hitCount = 0; + initTime = new java.util.Date().toString(); + +} +} \ No newline at end of file Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/org/apache/geronimo/samples/daytrader/web/prims/PingSession3.java ------------------------------------------------------------------------------ svn:eol-style = native Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/org/apache/geronimo/samples/daytrader/web/prims/PingSession3Object.java URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/org/apache/geronimo/samples/daytrader/web/prims/PingSession3Object.java?rev=293134&view=auto ============================================================================== --- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/org/apache/geronimo/samples/daytrader/web/prims/PingSession3Object.java (added) +++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/org/apache/geronimo/samples/daytrader/web/prims/PingSession3Object.java Sun Oct 2 09:29:58 2005 @@ -0,0 +1,90 @@ +/** + * + * Copyright 2005 The Apache Software Foundation or its licensors, as applicable + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.geronimo.samples.daytrader.web.prims; + +import java.io.*; + +/** + * + * An object that contains approximately 1024 bits of information. This is used by + * {@link PingSession3} + * + */ +public class PingSession3Object implements Serializable { + // PingSession3Object represents a BLOB of session data of various. + // Each instantiation of this class is approximately 1K in size (not including overhead for arrays and Strings) + // Using different datatype exercises the various serialization algorithms for each type + + byte[] byteVal = new byte[16]; // 8 * 16 = 128 bits + char[] charVal = new char[8]; // 16 * 8 = 128 bits + int a, b, c, d; // 4 * 32 = 128 bits + float e, f, g, h; // 4 * 32 = 128 bits + double i, j; // 2 * 64 = 128 bits + // Primitive type size = ~5*128= 640 + + String s1 = new String("123456789012"); + String s2 = new String("abcdefghijkl"); +// String type size = ~2*12*16 = 384 +// Total blob size (w/o overhead) = 1024 + + +// The Session blob must be filled with data to avoid compression of the blob during serialization + PingSession3Object() + { + int index; + byte b = 0x8; + for (index=0; index<16; index++) + { + byteVal[index] = (byte) (b+2); + } + + char c = 'a'; + for (index=0; index<8; index++) + { + charVal[index] = (char) (c+2); + } + + a=1; b=2; c=3; d=5; + e = (float)7.0; f=(float)11.0; g=(float)13.0; h=(float)17.0; + i=(double)19.0; j=(double)23.0; + } +/** + * Main method to test the serialization of the Session Data blob object + * Creation date: (4/3/2000 3:07:34 PM) + * @param args java.lang.String[] + */ + +/** Since the following main method were written for testing purpose, we comment them out +*public static void main(String[] args) { +* try { +* PingSession3Object data = new PingSession3Object(); +* +* FileOutputStream ostream = new FileOutputStream("c:\\temp\\datablob.xxx"); +* ObjectOutputStream p = new ObjectOutputStream(ostream); +* p.writeObject(data); +* p.flush(); +* ostream.close(); +* } +* catch (Exception e) +* { +* System.out.println("Exception: " + e.toString()); +* } +*} +*/ + +} \ No newline at end of file Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/org/apache/geronimo/samples/daytrader/web/prims/PingSession3Object.java ------------------------------------------------------------------------------ svn:eol-style = native Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/rtCharacterisitics.html URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/rtCharacterisitics.html?rev=293134&view=auto ============================================================================== --- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/rtCharacterisitics.html (added) +++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/rtCharacterisitics.html Sun Oct 2 09:29:58 2005 @@ -0,0 +1,143 @@ + + + + + + +Trade Runtime and Database Usage Characteristics + + + +
+ + + + + + + +
Trade Runtime and Database Usage Characteristics
+

The table below details each of the high level user operations in the Trade +application.
+

+
    +
  • Description - a short description of the user operation +
  • Complexity - the J2EE components invoked to complete the operation +
  • HTTP Session - operations on HTTP Session objects +
  • DB Activity - Create, Read, RC Read Collection, Update, and Delete operations on database tables +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Trade ActionDescriptionComplexityHTTP SessionDB Activity
+ (C, R, U, D)
LoginUser sign in, session creation, market summaryServlet, JSP,
+ Session EJB
+ CMP Beans Read, Update, Collections
Create, UpdateAccount: R, U
+ AccountProfile: R
+
Quote: RC *3
LogoutUse sign-off, session destroyServlet, JSP,
+ Session EJB
+ CMP Bean Read, Update
Read, DestroyAccount: R, U
+ AccountProfile: R
BuyQuote followed buy a security purchaseServlet, JSP,
+ Session EJB
+ Message Driven Beans (Queue and Pub/Sub)
+ Multi CMP Read/Update
ReadQuote: R
+ Account: R, U
+ Holding: C, R, U
Orders: C, R, U +
SellPortfolio followed by the sell of a holdingServlet, JSP,
+ Session EJB
+ Message Driven Beans (Queue and Pub/Sub)
Multi CMP Read/Update
ReadQuote: R
+ Account: R, U
+ Holding: D, R
Orders: R, U
RegisterCreate a new user profile and accountServlet, JSP,
+ Session EJB
+ CMP Bean Creates
Create, UpdateAccount: C, R
+ AccountProfile: C
HomePersonalized home page including current market conditions in a detailed market summaryServlet, JSP,
+ Session EJB
+ CMP Bean Read, Collections
ReadAccount: R
AccountProfile: R
Quote: RC *3
AccountReview current user account and profile information along with recent ordersServlet, JSP,
+ Session EJB
+ CMP Bean Read, Collections
ReadAccount: R
AccountProfile: R
Orders: RC
Account UpdateAccount followed by user profile update Servlet, JSP,
+ Session EJB
+ CMP Bean Read/Update, Collections
ReadAccount: R
AccountProfile: R, U
Orders: RCQuote: RC
PortfolioView users current security holdingsServlet, JSP,
+ Session EJB
+ CMP Bean Read, Collections
ReadHolding: RC
+ Quote: RC
QuotesView an arbirtray list of current security quotesServlet, JSP
+ Cached CMP Bean Read, Collections
ReadQuote: RC
+
+ + Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/rtCharacterisitics.html ------------------------------------------------------------------------------ svn:eol-style = native Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeFAQ.html URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeFAQ.html?rev=293134&view=auto ============================================================================== --- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeFAQ.html (added) +++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeFAQ.html Sun Oct 2 09:29:58 2005 @@ -0,0 +1,216 @@ + + + + + + +Frequently Asked Questions + + + +
+ + + + + + + +
+

Frequently Asked Questions

+
+ +

The IBM® Trade Performance Benchmark Sample for WebSphere® Application Server (otherwise known as Trade 6) provides a suite of IBM-developed workloads +for characterizing performance of WebSphere Application Server. The +workloads consist of an end-to-end Web application and a full set of Web +primitives. The applications are a collection of JavaTM classes, Java servlets, +Java ServerPagesTM (JSPTM) files and Enterprise JavaBeansTM (EJBTM) built to open Java 2 Platform, Enterprise Edition (J2EETM) APIs. Together, the Trade application and Web primitives provide versatile and portable test cases that are designed to measure aspects +of scalability and performance.


+ +

Application Design

+ +

What is Trade?

+

Trade is an end-to-end Web application that is modeled after an on-line stock brokerage. +Trade leverages J2EE components such as servlets, JSP files, enterprise beans, message-driven beans (MDBs) and Java database connectivity (JDBCTM) to +provide a set of user services such as login/logout, stock quotes, buy, +sell, account details, and so on through standards-based HTTP and Web services protocols.

+ +

What are Web Primitives?

+

The Web primitives leverage the Trade infrastructure to test specific features +of the WebSphere Application Server J2EE 1.4 programming model. A description of each of the Web +primitives is provided on the main web primitive +page.

+ +

Why is there a Version 6?

+

The Trade version skipped from Trade 3 directly to Trade 6 in order to match +the WebSphere Application Server version. Trade 6 builds on Trade 3 by extending the +programming model from J2EE 1.3 to J2EE 1.4.

+ +

What is new in Version 6?

+

As previously mentioned, the largest change in Trade 6 has been the conversion +from J2EE 1.3 to J2EE 1.4. This conversion involves updating the deployment descriptors and has +little impact on the actual application code. Other changes in Version 6 include:

+
    +
  • Changes to the Java Messaging Service (JMS) APIs associated with J2EE 1.4
  • +
  • Support for DistributedMap data caching as well as the ability to configure data caching within Trade from the Configuration page
  • +
  • Configurable iteration count for a number the Web primitives
  • +
  • Two additional primitives to test JSP-based expression language (EL) support and servlet-based includes
  • +
  • Consolidated installation scripts for single server and cluster configurations
  • +
  • Updated cluster configuration to support changes associated with the embedded messaging provider
  • +
+ +

What changes are made to the cluster configuration?

+

In previous versions of WebSphere Application Server, embedded messaging, based on WebSphere MQSeriesTM, running on a separate node +defined outside of the Trade cluster handled the JMS portion of +the Trade workload. In this release, the embedded messaging provider is replaced +by an in-process, Java-based distributed messaging engine that provides +workload management, failover, and partitioning capabilities. These +capabilities provide a wide range of configuration options for messaging. To demonstrate the most common configuration and to high-light several +of these capabilities, the following cluster configuration is used for +Trade 6. +

    +
  • A messaging engine (ME) is started and mapped to each cluster member.
  • +
  • The entire cluster is added to the Service Integration Bus (SIB), providing failover and workload + management capabilities for the MEs.
  • +
  • The TradeBroker queue is localized to the entire cluster, effectively + partitioning the queue across the MEs.
  • +
  • Tables are added to the existing Trade database by each ME for + internally managing queue and topic messages.
  • +
+

For additional details concerning the configuration of JMS in an ND and cluster +environment in WebSphere Application Server V6.0, please consult the Information Center.

+ +
+

Installation

+ +

What software is required to run Trade 6?

+
    +
  • WebSphere Application Server V6.0
  • +
  • DB2® Universal Database V8.2, DB2 Universal Database for z/OS Version 8, or Oracle® 10g database
  • +
+ +

What are the most common configuration scenarios?

    +
  • Single server with a remote database - The Trade application runs on a stand alone WebSphere Application Server instance. The required database software and the associated Trade database are located on a different system from the Application Server. The Application Server system must have the necessary database client software to connect to the remote database.
  • +
  • Single server with a local database - Same as the previous scenario; however, the required database software and the associated Trade database are located on + the same system as the Application Server.
  • +
  • Horizontally clustered servers - In this scenario, a cluster of application servers (one + server per system) run the Trade application in a Network Deployment (ND) environment. + This scenario also requires a remote database.
  • +
+ + +
+

Run-time Configuration

+ +

What does the ResetTrade link do?

+

The ResetTrade link on the configuration page must be clicked between Trade +runs. This link sets the database to a consistent size by removing all the newly registered users created during a Trade run. The reset also sets all outstanding orders to a consistent state. Resetting the database to a consistent size ensures repeatable throughput on subsequent Trade runs.

+ +

How are the Trade configuration parameters modified?

+

The Trade configuration page provides a dynamic mechanism to set +the run-time configuration for a Trade run. These settings control the application +run-time characteristics such as the run-time mode, the +order processing mode, and other run-time variations supported in Trade. All settings are reset to defaults when the Trade application server is restarted.

+

Note: To set configuration parameters when running in a cluster, access each application server in the cluster on its +internal HTTP port (9080) and configure the run-time parameters. +Another solution is to use the method for making settings permanent as +described in the following section.

+ +

Can you make configuration changes permanent?

+

Yes. Normally, Trade configuration parameters return to defaults whenever the Trade application +server is restarted. Settings can be made permanent by setting the configuration values in the +servlet init parameters of the TradeApp servlet and the TradeScenario servlet. Modify the +servlet init parameters in the web.xml file of the Trade Web application to change these parameters.

+ +

What are the run-time modes?

+

Trade provides two server implementations of the emulated Trade brokerage services.

+
    +
  • EJB - Database access uses EJB 2.1 technology to drive transactional trading operations.
  • +
  • Direct - This mode uses database and messaging access through direct JDBC and JMS code.
  • +
+ +

What are the order processing modes?

+

Trade provides an asynchronous order processing mode through messaging with MDBs. The order +processing mode determines the mode for completing stock purchase and sell operations. Synchronous +mode completes the order immediately. Asynchronous mode uses MDB and JMS to queue the order to a TradeBroker agent to complete the order. Asychronous_2-Phase performs a two-phase commit over the EJB + database and messaging transactions.

+
    +
  • Synchronous - Orders are completed immediately by the Trade session enterprise bean and entity enterprise beans.
  • +
  • Asynchronous 2-phase - Orders are queued to the TradeBrokerMDB for asynchronous processing.
  • +
+ +

What are the access modes?

+

Trade provides multiple access modes to the server-side brokerage services.

+
    + +
  • Standard - Servlets access the Trade enterprise beans through the standard RMI protocol
  • +
  • WebServices - Servlets access Trade services through the Web services implementation in + WebSphere Application Server. Each trading service is available as a standard Web service through the SOAP Remote Procedure Call (RPC) + protocol. Because Trade is wrapped to provide SOAP services, each Trade operation (login, + quote, buy, and son on) is available as a SOAP service.
  • + +
+ +

What are the caching Types?

+

This setting determines which set of dynamic caching technology is used by Trade for data caching. By default, +data caching is disabled in Trade.

+
    +
  • DistributedMap - This feature is new in WebSphere Application Server V6.0, providing a general API for storing objects + in the dynamic cache service.
  • +
  • Command caching - This caching feature was added to WebSphere Application Server V5.0 for storing command beans in the + dynamic cache service. Support for this feature was added in Trade 3 and carried over to Trade 6.
  • +

What is the Primitive Iteration setting?

+

By default, the Trade primitives run one operation per Web request. Setting this value alters +the number of operations performed per client request. This is useful for reducing the amount of work +that is performed by the Web Container and for stressing other components within the application server. + +

+
+

Benchmarking

+ +

What is the TradeScenario servlet?

+

The TradeScenario servlet provides a simple mechanism to drive the Trade application. +The Trade database is initially populated with a set of fictitious users +with names ranging from uid:0 to uid:499 and a set of stocks ranging from s:0 to s:999. The TradeScenario servlet emulates +a population of Web users by generating a specific Trade operation for +a randomly chosen user on each access to the URL. To run the TradeScenario servlet + use the single TradeScenario URL (http://hostname/trade/scenario) with a load generation tool.

+

Although TradeScenario servlet provides a simple mechanism for driving the Trade application, +there is a drawback to using this method versus using a series of load generation scripts +that drive the operations directly. This servlet consumes processing resources on the server +to manage incoming clients and dispatch these simple client requests to complex Trade actions. This +action artificially decreases server throughput because the server is emulating tasks that are normally + performed by a standard client or a more complex load generation tool.

+ +

Why does performance decrease over time?

If Trade runs for an extended time, performance eventually starts +to decline. This degradation in throughput is a direct result of new users, orders, and holdings +accumulating within the Trade database. As the database grows, queries take longer +to complete, resulting in higher response times. When the workload is stopped, the +Reset Trade link can be followed to reset the Trade +run-time by logging off all users, removing new registrations, and other +general cleanup.

+ +

What is the typical procedure for collecting performance measurements with Trade?

When Trade is successfully installed on the application server and the supporting +database is populated, you can us the Trade application to collect performance measurements. +The following list provides the typical process for gathering performance measurements with Trade.

+
    +
  1. Select the Trade run-time configuration parameters from the configuration page + (EJB, synchronous, and son on).
  2. +
  3. Reset the Trade run-time using the Reset Trade link.
  4. +
  5. Warm-up the application server JVMTM by applying load for a short period of time. The load generation tool should access the TradeScenario servlet, + web primitives, or use custom scripts to drive the various operations of TradeApp servlet. To warm-up the + JVM, each code path within Trade must be processed at least 3000 times. Remember that the same code path is not necessarily run on each request unless primitives are being + run. Therefore, perform an adequate number of requests to stabilize the + performance results.
  6. +
  7. Stop the load generation tool.
  8. +
  9. Reset the Trade run-time again
  10. +
  11. Restart the load generation tool and record measurements after the driver completes the + requests.
  12. +
  13. Repeat steps 5 and 6 to obtain additional measurements.
  14. +
+ +
+ + + Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeFAQ.html ------------------------------------------------------------------------------ svn:eol-style = native Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeTech.pdf URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeTech.pdf?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeTech.pdf ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeUML.pdf URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeUML.pdf?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeUML.pdf ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeversion.html URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeversion.html?rev=293134&view=auto ============================================================================== --- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeversion.html (added) +++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeversion.html Sun Oct 2 09:29:58 2005 @@ -0,0 +1 @@ +Trade Version IBM Trade Performance Benchmark Sample for WebSphere Application Server - Trade 6.0.1
Date: 20050413 \ No newline at end of file Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/docs/tradeversion.html ------------------------------------------------------------------------------ svn:eol-style = native Modified: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/geronimo-web.xml URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/geronimo-web.xml?rev=293134&r1=293133&r2=293134&view=diff ============================================================================== --- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/geronimo-web.xml (original) +++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/geronimo-web.xml Sun Oct 2 09:29:58 2005 @@ -0,0 +1,16 @@ + + + + false + + + jdbc/TradeDataSource + + TradeDataSource + + + + + Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/IBMBackGround1.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/IBMBackGround1.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/IBMBackGround1.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/IBMBackGround2.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/IBMBackGround2.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/IBMBackGround2.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/SOAPconfig.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/SOAPconfig.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/SOAPconfig.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/WEBSPHERE_18P_UNIX.GIF URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/WEBSPHERE_18P_UNIX.GIF?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/WEBSPHERE_18P_UNIX.GIF ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/account.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/account.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/account.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/arrowdown.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/arrowdown.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/arrowdown.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/arrowup.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/arrowup.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/arrowup.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/graph.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/graph.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/graph.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/home.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/home.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/home.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/homeBanner.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/homeBanner.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/homeBanner.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/lanim.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/lanim.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/lanim.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/line.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/line.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/line.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/logout.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/logout.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/logout.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/portfolio.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/portfolio.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/portfolio.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/quotes.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/quotes.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/quotes.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/ticker-anim.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/ticker-anim.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/ticker-anim.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/topline.jpg URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/topline.jpg?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/topline.jpg ------------------------------------------------------------------------------ svn:mime-type = image/jpeg Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/tradeLogo.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/tradeLogo.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/tradeLogo.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/tradeLogoSmall.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/tradeLogoSmall.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/tradeLogoSmall.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/tradeTopology.gif URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/tradeTopology.gif?rev=293134&view=auto ============================================================================== Binary file - no diff available. Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/images/tradeTopology.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/web.xml URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/web.xml?rev=293134&view=auto ============================================================================== --- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/web.xml (added) +++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/web.xml Sun Oct 2 09:29:58 2005 @@ -0,0 +1,433 @@ + + + + TradeWeb + + OrdersAlertFilter + OrdersAlertFilter + org.apache.geronimo.samples.daytrader.web.OrdersAlertFilter + + + OrdersAlertFilter + TradeAppServlet + + + org.apache.geronimo.samples.daytrader.web.TradeWebContextListener + + + TradeAppServlet + TradeAppServlet + org.apache.geronimo.samples.daytrader.web.TradeAppServlet + 1 + + + register + register + /register.jsp + + + TestServlet + TestServlet + org.apache.geronimo.samples.daytrader.web.TestServlet + + + welcome + welcome + /welcome.jsp + + + order + order + /order.jsp + + + tradehome + tradehome + /tradehome.jsp + + + TradeConfigServlet + TradeConfigServlet + org.apache.geronimo.samples.daytrader.web.TradeConfigServlet + + + TradeScenarioServlet + TradeScenarioServlet + org.apache.geronimo.samples.daytrader.web.TradeScenarioServlet + + Sets the default RuntimeMode. Legal values + include EJB and Direct + runTimeMode + EJB + + + Sets the default Order Processing Mode. Legal + values include Synchronous, Asynchronous_1-Phase and Asynchronous_2-Phase + orderProcessingMode + Synchronous + + + Sets the protocol the web application + communicates with the server side services when driving + with TradeScenarioServlet. Legal values incude Standard and WebServices. + accessMode + Standard + + + Sets the WebServices endpoint when using + WebServices accessMode when driving with TradeScenarioServlet. + webServicesEndpoint + http://localhost:8080/daytrader/services/TradeWSServices + + --> + + Sets the default workloadMix used with + TradeScenario servlet. Legal values include Standard and High-Volume + workloadMix + Standard + + + Sets the default WebInterface. Legal values + include JSP and JSP-images + WebInterface + JSP + + + Sets the population of Trade users when driving + with TradeScenarioServlet. + maxUsers + 500 + + + Sets the population of Stock quotes used when + driving with TradeScenarioServlet. + maxQuotes + 1000 + + + Sets the number of iterations on web/ejb + primitives. + primIterations + 1 + + + Sets the data caching type + No Caching + 2 + + 1 + + + PingServlet + PingServlet + org.apache.geronimo.samples.daytrader.web.prims.PingServlet + + + PingServletWriter + PingServletWriter + org.apache.geronimo.samples.daytrader.web.prims.PingServletWriter + + + PingServlet2Servlet + PingServlet2Servlet + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Servlet + + + PingServlet2ServletRcv + PingServlet2ServletRcv + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2ServletRcv + + + PingServlet2Jsp + PingServlet2Jsp + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Jsp + + + PingSession1 + PingSession1 + org.apache.geronimo.samples.daytrader.web.prims.PingSession1 + + + PingSession2 + PingSession2 + org.apache.geronimo.samples.daytrader.web.prims.PingSession2 + + + PingSession3 + PingSession3 + org.apache.geronimo.samples.daytrader.web.prims.PingSession3 + + + PingJDBCRead + PingJDBCRead + org.apache.geronimo.samples.daytrader.web.prims.PingJDBCRead + + + PingJDBCWrite + PingJDBCWrite + org.apache.geronimo.samples.daytrader.web.prims.PingJDBCWrite + + + PingServlet2Session + PingServlet2Session + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Session + + + PingServlet2EntityLocal + PingServlet2EntityLocal + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2EntityLocal + + + PingServlet2EntityRemote + PingServlet2EntityRemote + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2EntityRemote + + + PingServlet2Session2Entity + PingServlet2Session2Entity + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Session2Entity + + + PingServlet2Session2EntityCollection + PingServlet2Session2EntityCollection + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Session2EntityCollection + + + PingServlet2Session2CMROne2One + PingServlet2Session2CMROne2One + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Session2CMROne2One + + + PingServlet2Session2CMROne2Many + PingServlet2Session2CMROne2Many + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Session2CMROne2Many + + + PingServlet2MDBQueue + PingServlet2MDBQueue + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2MDBQueue + + + PingServlet2MDBTopic + PingServlet2MDBTopic + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2MDBTopic + + + PingServlet2JNDI + PingServlet2JNDI + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2JNDI + + + PingServlet2TwoPhase + PingServlet2TwoPhase + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2TwoPhase + + + PingServlet2Include + PingServlet2Include + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2Include + + + PingServlet2IncludeRcv + PingServlet2IncludeRcv + org.apache.geronimo.samples.daytrader.web.prims.PingServlet2IncludeRcv + + + org_apache_geronimo_samples_daytrader_TradeWSAction + org_apache_geronimo_samples_daytrader_TradeWSAction + org.apache.geronimo.samples.daytrader.TradeWSAction + + + TradeAppServlet + /app + + + TestServlet + /TestServlet + + + TradeConfigServlet + /config + + + TradeScenarioServlet + /scenario + + + org_apache_geronimo_samples_daytrader_TradeWSAction + /services/TradeWSServices + + + PingServlet + /servlet/PingServlet + + + PingServletWriter + /servlet/PingServletWriter + + + PingServlet2Servlet + /servlet/PingServlet2Servlet + + + PingServlet2ServletRcv + /servlet/PingServlet2ServletRcv + + + PingServlet2Jsp + /servlet/PingServlet2Jsp + + + PingSession1 + /servlet/PingSession1 + + + PingSession2 + /servlet/PingSession2 + + + PingSession3 + /servlet/PingSession3 + + + PingJDBCRead + /servlet/PingJDBCRead + + + PingJDBCWrite + /servlet/PingJDBCWrite + + + PingServlet2Session + /servlet/PingServlet2Session + + + PingServlet2EntityLocal + /servlet/PingServlet2EntityLocal + + + PingServlet2EntityRemote + /servlet/PingServlet2EntityRemote + + + PingServlet2Session2Entity + /servlet/PingServlet2Session2Entity + + + PingServlet2Session2EntityCollection + /servlet/PingServlet2Session2EntityCollection + + + PingServlet2Session2CMROne2One + /servlet/PingServlet2Session2CMROne2One + + + PingServlet2Session2CMROne2Many + /servlet/PingServlet2Session2CMROne2Many + + + PingServlet2MDBQueue + /servlet/PingServlet2MDBQueue + + + PingServlet2MDBTopic + /servlet/PingServlet2MDBTopic + + + PingServlet2JNDI + /servlet/PingServlet2JNDI + + + PingServlet2TwoPhase + /servlet/PingServlet2TwoPhase + + + PingServlet2Include + /servlet/PingServlet2Include + + + 30 + + + index.html + + + java.lang.Exception + /error.jsp + + + 500 + /error.jsp + + + jms/TradeBrokerQueue + javax.jms.Queue + Produces + daytrader-ejb-1.0-SNAPSHOT.jar#TradeBrokerQueue + + + jms/TradeStreamerTopic + javax.jms.Topic + Produces + daytrader-ejb-1.0-SNAPSHOT.jar#TradeStreamerTopic + + + jdbc/TradeDataSource + javax.sql.DataSource + Container + Shareable + + + jms/QueueConnectionFactory + javax.jms.QueueConnectionFactory + Application + Shareable + + + jms/TopicConnectionFactory + javax.jms.TopicConnectionFactory + Application + Shareable + + + ejb/Trade + Session + org.apache.geronimo.samples.daytrader.ejb.TradeHome + org.apache.geronimo.samples.daytrader.ejb.Trade + TradeEJB + + + ejb/Quote + Entity + org.apache.geronimo.samples.daytrader.ejb.QuoteHome + org.apache.geronimo.samples.daytrader.ejb.Quote + QuoteEJB + + + ejb/LocalQuote + Entity + org.apache.geronimo.samples.daytrader.ejb.LocalQuoteHome + org.apache.geronimo.samples.daytrader.ejb.LocalQuote + QuoteEJB + + + ejb/LocalAccountHome + Entity + org.apache.geronimo.samples.daytrader.ejb.LocalAccountHome + org.apache.geronimo.samples.daytrader.ejb.LocalAccount + AccountEJB + + + WSDL Service Trade + service/Trade + org.apache.geronimo.samples.daytrader.client.ws.Trade + WEB-INF/wsdl/TradeServices.wsdl + WEB-INF/TradeServicesClient_mapping.xml + pfx:Trade + + org.apache.geronimo.samples.daytrader.client.ws.TradeWSServices + + + Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/web.xml ------------------------------------------------------------------------------ svn:eol-style = native Added: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/webservices.xml URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/webservices.xml?rev=293134&view=auto ============================================================================== --- geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/webservices.xml (added) +++ geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/webservices.xml Sun Oct 2 09:29:58 2005 @@ -0,0 +1,17 @@ + + + + Trade + WEB-INF/wsdl/TradeServices.wsdl + WEB-INF/TradeServices_mapping.xml + + TradeWSServices + pfx:TradeWSServices + org.apache.geronimo.samples.daytrader.TradeWSServices + + org_apache_geronimo_samples_daytrader_TradeWSAction + + + + Propchange: geronimo/trunk/sandbox/daytrader/modules/web/src/webapp/WEB-INF/webservices.xml ------------------------------------------------------------------------------ svn:eol-style = native