18.6 Case Study: Elite.com
Elite.com is a
successful Internet startup subsidiary of Elite Information Group,
and provides an online time and billing solution. David Essex
reviewed the J2EE technology behind the Elite.com web site for
Enterprise Development magazine. Elite.com's solution is similar to many
J2EE implementations, leveraging the full range of J2EE technologies
as well as other non-Java technologies. The report covers only a few
performance enhancements, but they show some of the most common
high-level J2EE performance issues:
- Perform work asynchronously whenever possible
-
Elite.com includes a queueing subsystem that asynchronously accepts
external communications, such as email entries. Entries can be
batched and run with minimal impact on the online system. (Chapter 12 and Chapter 15 discuss asynchronous queuing.)
- Concurrency conflicts are the biggest limitation to
scalability
-
Like most enterprise applications, Elite.com experienced conflicting
concurrent access to some resources. When this caused severe
decreases in performance in one subsystem, Elite.com solved the
problem by using a resource pool (an EJB connection pool shared among
servlets), improving the subsystem performance. (Contention costs are
discussed in Chapter 15.)
- Local is much faster than remote
-
Moving
components so they are local to each other can significantly improve
performance by eliminating marshalling and remote-transfer overhead.
Collocating the EJBs and servlets and converting the communication to
local calls can speed performance dramatically. (This topic was
discussed earlier in this chapter.)
|