Normal applications are composed of one or more modules that are executed on the same computer (or server).
Distributed applications are like normal ones, except their modules may be executed on different computers. In this way, you can make a better use of the available computing resources. In order to increase the speed of a distributed application you can increase the server speed (as you would do with a normal one), or you can simply put one of the modules on another, available, computer. This technique can also be used to reduce the load of the main server.
In order to make the distributed application, you must implement some way of communication between its modules. The simplest way to do this is with web services.
For example, you can have a web service that implements a mathematical function and when you need that function in an application, you can simply call that service. This way, it?s very easy to reuse code. You do not need to worry about the operating system that code was written for (as you would do with a c++ library for example). All you need to do is enter the address for the web service and the application will correctly use it.
You can find more about building and running distributed applications from these addresses: