Generally, the overhead of the RPC servers on the various platforms is not large. It is not “free” of course, and the size of the messages being processed is the major determinant that I have seen - large messages (> 100k) will require noticeable memory and CPU resources to process (of course, the service applications will have the same issues…).
I don’t have specific numbers for any configurations, so these are just my impressions from working with many customers.
Your first cut is correct: you can usually put the RPC servers on the same machines as the hosting applications, which can gain you some due to a shorter message path. However, most host applications scale quite well with multiple servers and the RPC servers can be spread out across multiple machines to scale out as needed.
The one application I encountered that needed to scale was processing medium - small messages (around 30k) and processing millions of them per hour - parallel mainframe batch processes drove parallel RPC (Java on Windows) processes that drove an RDBMS on Unix.
That was the exception - most RPC servers were either run on the host application machine or on a standalone server that communicated with the application host. Many customers seem to prefer the standalone approach for administrative reasons rather than any performance constraints.
#webMethods#Mainframe-Integration#EntireX