The optimization of the Alert Messaging system is achieved as follows:
1. The code of database connectivity is segregated, i.e., it is
written in a different section under one bean, this bean is used
to do interaction with the database server. The connection with
database is done by this bean, in the default constructor of every
server class implementing load balancer.
2. The project unlike other systems which are based on round robin
scheduling or FIFO, is based on Capacity Driven scheduling. Here,
more load is given to the client which is more efficient and delivers
larger number of alerts to customers. It not only increases the
overall efficiency but also gets away with the choking problem.
3. In most of the client/server applications, the server is used
to shed load or give the alert messages for transmission to customers
but in alert messaging system the clients first finish off the work
assigned to them. Clients get more work only when they finished
off the work assigned to them.
4. If due to any reasons the database connection gets broken then
it has to be reset. The optimization is achieved when server starts
its thread (threads = clients). Each of the thread have to get the
array list from the database server. If the connection gets broken;
it can be reestablished by any of the executing threads at that
time, so resetting of broken database is also optimized by this
5. If any of the three modes of message transmission, i.e., SMS,
Email, Pager is down on any client machine then by using the backup
mode the message can be transmitted to the customer.