EnterpriseROR™ FOM Overview
Overview... dailyVest’s investment personalization and performance calculation engine is based
on a pure web architecture and designed to run on a web server behind a firewall.
The engine logically organizes and models complex financial data and situations
and is referred to as a Financial Object Model or “FOM.” The FOM is very suitable
for use as an application foundation for developing and adding complex performance
measurement illustrations, personal rate of return calculations, asset allocation
analysis, and more -- into web and non-web-based applications such as input for
account statement generation. (For more detailed technical documentation, please
contact dailyVest.)
Following is a top-level system block diagram...

Implementation... The FOM is implemented as a Windows Web service using the Microsoft-provided ATL
server framework. The service is multi-threaded and incorporates advanced performance
features such as thread pooling. Thread pooling allows the software to service simultaneous
overlapped calls in the most efficient manner possible taking into account the number
of processors available. The thread pool defaults to the number of processors on
the machine +1. This value can be increased to account for some processes that may
have to wait as account or security data is requested. C++ is used for performance
reasons because much of the analysis performed is complex and maximum throughput
is required.
FOM State... The FOM can contain large amounts of data which can take a significant amount of
time to assimilate. To reduce having to re-incorporate data into the FOM each time
data is needed for a calculation, etc, the FOM has the ability to persist its state
in memory. In what is referred to as "stateless operation," the FOM state is returned
to the client as a part of the response to each request to it. This state can be
saved in the client’s session storage area and later restored to the FOM. Here,
each call to the FOM is a complete package containing the state of the FOM and a
list of property requests. The response contains the requested properties such as
GIF data, personal rates of returns etc.
Performance Caching... The FOM makes use of data from various sources such as system-of-record / recordkeeping
and back office systems. These are generally slow to assimilate. This data is divided
into 2 types:
- Account data – Specific to an individual investor and session (Persisted
in session)
- Security data – Common to all sessions (Persisted in RAM cache in
each instance of the FOMWS)
Account data is read from data sources only once and
then stored in a session maintained by the client or the FOM as was described in
FOM State options. Security data is stored in a global cache that is available to
all sessions in the FOM. The security data cache is always stored in the memory
of each FOM instance for performance purposes.
Client User Interface Construction Using XSLT... The FOM Interface returns calculated and analyzed results in the form of XML to
the client application. dailyVest provides sample eXtensible
Stylesheet Language Transform ("XSLT")
files to render HTML from the returned XML and produce a performance page complete
with various personal rate of return elements and other forms of investment information
including line, pie and bar charts, tables of personal returns and fund performance
data.
|