Hi We have an application that is used by portfolio managers to manage money. They manage one or more portfolios, where a portfolio consists of one or more positions. Each position corresponds to an asset (a given asset can be associated with multiple positions), and the asset is associated with pricing information. So, it's like:
Portfolio----<Position>-------Asset-------Valuation A given portfolio might contain anywhere from 50 to 500 positions. In addition, a position is represented by data scattered across several tables. Same for asset and valuation. When we go to the app server to grab the data today, we make 3 separate calls for each portfolio performing bulk data loads directly against the database (not loading entity beans, but directly from the session beans), to load first all positions for a portfolio, then all assets for each portfolio, then all valuations for each portfolio. Each query could join against several tables. Since we're going directly against the database, we have a couple of problems. One, we're not taking advantage of cacheing of beans on the app server. Two, if we are in the middle of updating a position through a bean, by going directly against the database we're not ensured consistency until the change to the position bean is comitted. We'd much rather make use of the ejb container for everything. We haven't historically because trying to load 500 positions using a finder method was extremely slow. What I would like to do is find a portfolio bean and have the portfolio bean return a collection of cached positions. I'm about to investigate using CMP and was wondering if anyone could tell me if I should even bother or if I should stick with my bulk data loads. Are there any kind of performance benchmarks, etc. I'd like to take advantage of what the container has to offer if possible, and it seems as if great strides have been made with cmp- for example, i understand that doing a finder method will in fact load the data at the same time instead of just the primary keys to avoid selecting one entity at a time (in fact i'd imagine this as a great differentiating factor between app servers - and besides, i know dain is a smart guy :)). Regards Eric Kaplan Armanta, Inc. 55 Madison Ave. Morristown, NJ 07960 Phone: (973) 326-9600
<<attachment: winmail.dat>>