Nearly all applications that a run on workstations use most layers of the OSI model.
The application layer's job is to help the user communicate with the program in use. Part of this layer's job is to find whether there are enough resources to do the job it's asked to as well as identify and establishing the availability of the intended communication partner.
In your case, you have been given a specific client software which transfers files to a specific destination using XML. Certain aspects of this software surely use the application layer, but I wouldn't be able to pin point them simply because I have no programming knowledge of the application in subject.
On the other hand, the connection used to transfer files makes use of other OSI layers. For example, the fact it uses port numbers and IP addresses means that it will require layer 4 (transport layer) and layer 3 (network layer) functions to be utilized.
The bottom line is that most programs perform functions that belong to multiple layers of the osi model and cannot be described as a specific OSI layer program.
If you would like to learn more on the OSI model and how they operate, you can visit www.Firewall.cx and SearchNetworking.com has this OSI Crash Course http://searchnetworking.techtarget.com/featuredTopic/0,290042,sid7_gci917009,00.html
This was first published in August 2003