Mobile agents are a type of software agent with mobility. They autonomously travel from computer to computer performing the desired task. They can be deployed in many complex scenarios of distributed applications such as mobile data computing, networking, manufacturing and scientific computing etc. Existing client server paradigm used for distributed applications has certain drawbacks such as large overhead, security problem, huge network load and data redundancy. Mobile agents eliminate the drawbacks of existing client server paradigm by reducing network load, latency and executing asynchronously. They also make the system adaptive to changes, robust and fault tolerant.