Reliability of a web service is a major concern in most enterprise applications. It is widely believed that adding reliability has an impact on the performance. However, some services become useless if they don't have proper support for reliability. As you know, UDP and TCP are two good protocols to understand the importance of the reliable delivery and performance characteristics. UDP is not a realizable protocol; meaning once you send a message using UDP, it is not guaranteed that the recipient is going to receive it (the recipient may not acknowledge it or the UDP message may get lost). In contrast, once you use TCP, the protocol guarantees the message delivery. Providing the reliability for the guarantee of the delivery of message does not come for free. It needs to transmit a number of headers and acknowledgments, which adds additional communication cost.
TCP and UDP are very low level message transmission protocols. However, when it comes to web services, sending...