84 Accelerating IBM WebSphere Application Server Performance with Versant enJin
5.1 Benchmark application
The trade management application used for the benchmarking project was
designed to reflect the performance metrics is intended to model the basic
services required of a common financial application that manages account
positions on investment. The basic use cases surround a theoretical company
representing a brokerage whose employees manage corporate 401K plans. A
particular employee of the brokerage will act as the custodian of several
corporate portfolios, and make trades to change the position of the corporation
within several market segments.
In order to provide performance measures that would be able to accurately
reflect the performance characteristics of real-world applications, a stock trading
application was designed and implemented for the benchmark tests. This trade
management application was intended to model the basic services required for a
common financial application - managing account positions on investments.
Based on the application architectures shown in Figure 5-1, two separate
implementations of this application were developed: one for the baseline
WebSphere-RDBMS architecture, and another separate implementation for the
WebSphere-enJin-RDBMS architecture.
Chapter 5. Benchmark methodology 85
Figure 5-1 Application architecture
The representation above shows both the standard benchmark architecture, as
well as the architecture enhanced by adding Versant's enJin. The standard
architecture provided the baseline for measuring performance improvements due
to the use of enJin's object caching facilities.
As can be seen in Configuration 1, the standard architecture consisted of IBM
WebSphere Application Server running on a machine being served requests by
IBM's HTTP server. WebSphere was configured to run both a servlet engine, as
well as an EJB Container running several session and entity beans. The entity
beans had their persistent state managed via Bean Managed Persistence code,
and this persistent state was maintained in a DB2 relational database (RDBMS)
on a separate machine. In order to take round-trip performance measurements,
a third machine accessed the Web server and made HTTP requests for certain
test actions to be made. This test client was run within the LoadRunner test
harness package.
86 Accelerating IBM WebSphere Application Server Performance with Versant enJin
Configuration 2 shows that Versant enJin (the enJin Object Manager) has been
added to WebSphere's EJB Container. In this enJin-based test architecture,
Versant's enJin takes over coordination of all of the persistence and transaction
management services from WebSphere's EJB Container, therefore, reads and
writes are made to the objects in the persistent store provided by the enJin object
server. This persistent state could then in turn be asynchronously propagated to
a DB2 RDBMS, but since the asynchronous mechanism of updating such
enterprise data stores does not happen in real time, these updates do not affect
round-trip benchmark times, and so it was decided to simplify the benchmarking
process and leave these updates out of the tests. Of course, since such updates
can be configured to occur asynchronously, the performance times detailed in
this document apply equally to a configuration where updates are propagated
from Versant enJin to a DB2 relational database.
The baseline architecture was implemented by an independent IBM business
partner using J2EE standards, IBM best-practices for implementing WebSphere
applications, and using bean-managed persistence techniques in order to gain
the best performance for the baseline implementation. The enJin-based
implementation was completed by Versant staff using best-practices for J2EE
and WebSphere, as well as best-practices for enJin-based development. This
included the use of session-managed persistence techniques in order to optimize
enJin performance.
5.1.1 Business domain model
The object model (shown in Figure 5-2) shows that users are managers of stock
trading accounts. The users that this application models, are fund managers for
corporate stock trading accounts. Each account contains all of the portfolios that
are managed on behalf of a particular company by one of the fund manager
users. Each stock trading account is composed of a number of portfolios, each of
which represent the composition of a set of stock positions for a particular
industry or market segment. A position represents a holding of shares, each
share, option or other type of stock entity being modeled as a stock Instrument.
Each position is also composed of a history of trades, and each instrument or
stock is composed of a single specific current price quote. The dotted line boxes
shown in the diagram represent the grouping of business objects into
course-grained entity beans, producing a set of four entity beans for the
application - user, instrument, account, and company entities.

Get Accelerating IBM WebSphere Application Server Performance with Versant enJin now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.