You are on page 1of 6

Client Requirement

The client required a highly customized application for financial and economic data analysis.
This unique tool provided for research and data analysis for economic analysts, portfolio
managers, economists, traders and other financial professionals. The web application should
also include tools to build custom models and charts for the purpose of comparison of
securities, options, commodities, economic and user-uploaded data.
The web application should also include appropriate tools to facilitate the ability to create
custom data series in a Moving Average or MACD format, blended model weights, correlation
studies, lead/lag analysis and performance back testing and calculations.
The web application's current offerings include three unique product subscriptions - Equities,
Futures & FX and Combined. The product included some striking features for 30,000+different
data series combined with versatile proprietary tools, user-friendly outputs as well as chart
saving and sharing features and lots more.
For all the calculation based selections, Flex layer was used. (i.e. EMA, SMA or MACD). Java and
spring coding was used for the business layer interfaces and implementations. A combination of
Spring and Hibernate using Spring Session Factory was used to construct the DAO layer.
The application uses different data sources such as Commitments of traders and IVOL and the
data for the application is loaded with cron jobs, quartz schedulers and download utilities that
are configured along with the application.







Challenges
The team faced the following challenges
The website should be able to handle millions of user connections at the same time
without affecting performance.
To enhance the user's community experience and to accommodate the numerous
features for the website, all web usability principles were incorporated.
Load balance must be maintained consistently even while executing various
simultaneous functions.
AJAX based website development.
Safe and secure data transfer along with the integration of 3
rd
party API's, Java script
compatibility and cross browser compatibility.
Real time updation of content on the site required the development of a sturdy frame.

Technologies Used
Operating System &
Server Management
Linux OS, Multi-Server Architecture with Staging & Production
Environment through Version Controlling releases, Server
Optimization, Security & SSL Implementation, Scheduler for Back-
ups, Alert Monitoring System Integration, Server Performance
Tuning at regular intervals, Software Firewall Configuration &
Maintenance
Development
Environments
J2EE, Spring, Hibernate, BlazeDS Framework, Microsoft Visio,
Eclipse Indigo, Java Script, CSS, HTML, SVN etc.
Database MYSQL, DB Clustering, DB Optimization, High Availability, Master
Slave Replication, Query optimization, Slow Query Optimization,
scheduler for backups, Alert Monitoring System integration, etc.



Manpower


Project Leader

1

Developers

4

Designers

2

Quality Assurance Testers

2


Planning
Taking into consideration the complexity of the features to be included in the application, a 4
tier development approach was used.
Database Layer - containing MySQL Server Database, Tables, Triggers etc.
Data Access Layer Containing the DLL that is responsible for getting the data from the
database.
Business Layer containing the DLL that is responsible for various business logic like
Advertisers, Publishers, Banners, Payment Reports, Earning Reports etc.
User Interface Layer - This forms the GUI (Graphical User Interface) for the website.


Architecture



Development Highlights
The application had three distinct parts: Flex UI, Java Server and the Data sources. The data
from various external sources is loaded to the databases using various data scripts. An email
reader is used to fetch data from the link. Two cloud server instances are used to host the
application with rack space.





The application uses a Tomcat server and is split into two basic parts ROOT and Charting Tool.
The ROOT provides the code for the client's website at ROOT web app (/usr/share/apache-
tomcat-6.0.29/webapps/ROOT) and The services for the charting tool are provided by
(/usr/share/apache-tomcat- 6.0.29/webapps/ChartingTool). The spring and Hibernate
frameworks are used by the charting tool app for the business logic and database access.
Services oriented architecture was used by the application. The Charting Tool exposes multiple
services in the Java Services layer. The Flex UI is the origin for all remote method calls and are
processed by the Blaze DS Layer. (http://opensource.adobe.com/wiki/display/blazeds/BlazeDS)
it utilizes one or more Java services. Calls such as login, post chart, subscribe which originated
from the HTML pages are processed by the JSP/Servlet layer which uses the Java Services.
The Delegate layer has the business logic and uses the Data Extractor layer to either get Hosted
Data from the Elmwood database server (eg. iVol, COT) or use specialized data fetchers and
parsers for Non Hosted Data (Internet search trends, FRED, DDF) or fetches data saved on the
file system used by the user uploaded data.


Email Reader


Spring scheduling was used to configure the email reader task which is a 4 hourly cron task in
the charting tool. IMAPS are used to check the email ID and extract all .xls files for data sources.

You might also like