Distributed Software Applications - Building a Distributed Application