Design decisions are about compromises. You have indicated that XML gives you readability and self-description. It also contains a description language (XSD), extremely portable, etc. Etc.
But these advantages have the disadvantages you are talking about. So let's figure it out one by one:
Verbosity
Yes, XML is verbose, being self-descriptive and text-based. This is really a problem if performance is a problem. It? What about positive trade-offs?
Note that a reasonable alternative here is JSON, which is also readable, but much more efficient.
Parameter Size
Yes, but it depends on the level of connection. If you do not have a permanent connection (for example, HTTP), or you use a protocol that provides it with its own "framing" (for example, AMQP or JMS), then this is not a problem - the transport layer will take care of this. If you plan to invent a new wheel, then the variable payload makes the protocol more complex. But the protocol (especially with all extreme cases) is quite complicated.
Service Data Analysis
This is directly related to verbosity.
source share