XML as a Remote
One of the biggest advantages of XML use as a standard for information and configuration data units is the property of interoperability and portability of applications. The boundaries of language, platform and geographical disparities can easily be overcome by using international standards for software and hardware design.
Being a standard is not only a cool thing to say. An old standard like XML is so powerful mainly because XML doesn't depend on a language. While you might need to rebuild an application you can still use the same xml structure to access information. The separation of your data into a format that is standardized means that you can build your site off the same xml data feed as your RSS feeds, build an Iphone, Android or another application without needing to recreate your data. All you need to do is access the same data and parse the information to be used in each application separately. One of XML's major strengths is the level of support it has in most modern languages.
This is exactly the role played by XML, when it comes to client-server software interactions. Client software such as a browser makes a request and sends information in XML format to the server program, which responds and provides information as a service, also in XML format. The client could be written in Python and the server in Java, but they can be connected to perform a task. They do not directly make method calls to invoke software functionality, which is not practically feasible. Instead, they maintain message boxes, and deposit and withdraw XML messages to and from these boxes, figuratively speaking!