You are on page 1of 5

Client Requirement

Client required a BTP (Bullion Trading Portal) that should be synchronized with the existing BTS (Bullion
Trading System) managed with a request response cycle. The BTP data should be managed in web
database. On the other hand, for some modules, BTP need not be synchronized with BTS for validations,
authorizations and authentications. BTP must be able to display the latest bullion prices that also
synchronize with the MCX server. The MCX server uses a third party MCX scripts and these should get
updated on a daily basis as well as synchronize with BTS.
External as well as Internal users should be able to access this system. For External users,
further categories should be Standard and Premium. Modules will be loaded as per the
type of authorization of the user. Internal users include Admin, Super User and Internal User.
Back office modules can be managed by these users.
External users need registration before they can access the BTP modules. Registration process
consists of two steps for Standard Users and 12 steps for Premium users. Premium users should
be able to send an auto generated PDF form after completing the registration process.
Premium user should require a security token code that is verified with the device provided to
the users. Other common features include: viewing account information, managing user
profiles, accessing periodic charts and accessing research reports. Only premium users have the
facility for trading. Premium users also should have the facility for multiple logins and 1 primary
and other sub users. Premium users belong to different classes available in BTS.
Internal Users must have the ability to set trade limits for various locations and metals. Day
wise min and max limit should be configurable for various metals and classes. Other
functionalities include: setting currency exchange values for INR, setting portal information
display, approving the user registration, generating alerts for the external customers, resetting
the passwords on customers request, maintaining research reports and announcements
periodically, enable or disable users etc.


Challenges
The team faced the following challenges
Site should handle millions of users without slowing down.
Maintaining connectivity between BTP and BTS as well as maintaining synchronization
between the two.
Developing a robust data simulator using VC#in order to support real time updating of
bullion prices.
Simultaneous execution of the number of integrated featured without losing
consistency.
Smooth performance and load balance.
Java script compatibility for all browsers and ensuring safe and secure data transfer.
Application needed to be configured to send mails from various modules.
Technologies Used






Operating System & Server
Management
Windows OS, Multi-Server Architecture with Staging & Production
Environment through Version Controlling releases, Server Optimization,
Security & SSL Implementation, Alert Monitoring System Integration,
Server Performance Tuning at regular intervals, Software Firewall
Configuration & Maintenance
Development Tools &
Environments
VC#, Eclipse Indigo, SVN, HTML5, CSS3, Java Script, Spring, Hibernate,
JDBC Template, JSF, JSon, Esper Engine, Velocity Template etc.
Database MYSQL Database Server, JBoss, DB Clustering, DB Optimization, Master
Slave Replication, Query Optimization, Scheduler for Backups
Manpower


Planning
Taking into consideration the enormous nature of the project along with the number of
integrated features, a four tier approach was adopted:
The database layer - MySQL Server Database, Tables and so on
Data Access Layer - Data Access Objects to accessing data from the database.
Business layer objects with all the business logic procedures like Reagent, Protocols,
Facilities, Timer, Profile and Message Center, Account Settings, Network, Event etc.
User Interface Layer that forms the GUI of the application.








Project Leader

1

Developers

3

Designers

1

Quality Assurance Testers

1
Architecture

Development Highlights
The BTS Application consists of three parts: JSF UI, Java Server and Data Sources.
Other than this, there are data scripts that run and load data from external sources to the
clients database system.
Server Details


Jboss server is the heart of the application. App installs on ROOT. The code is supplied by ROOT
deploy (jboss-5.1.0.GA/server/ew/deploy). Flex was used for business logic and database access
in order to generate charts.
The application uses a socket based architecture and communicates for data exchange with BTS
and MCX Server. JBoss processes the remote method calls originating from the JSF UI.
(http://www.jboss.org/) which then uses java services. Mail API and Velocity Templates manage
the sending of mails. Esper event management APIs and Cron expressions are used to schedule
periodic events.
The business logic is processed by the delegate layer. This layer uses the data extractor layer to
get either Hosted Data from the Edelweiss database server or fetches data saved on the file
system used by the user uploaded data.

The application reads the Java scripts data every 2 seconds from the MCX server. Socket based
connections are used to share data from the MCX server and application server and should be
in synchronization. Bullion prices are updated using Servlet and JSON.

You might also like