We successfully complete a proof of value for EntireX, and our management is looking to ask for funding to purchase it. As part of this, the question came up as to what the impact is on hardware on various platforms.
We plan to run the Broker on z/OS and believe this will be absorbed into the current capacity plan. We will have bi-directional traffic… Natural calling external services as well as other apps invoking Natural subprograms via the Natural RPC Servers.
My guess is that besides the Broker, impact to other platforms is virtually nil except for the normal work performed by the invoked applications on their own home hardware (which should have been factored into the hardware requirements of those apps). The various RPC servers themselves have no significant hardware requirement and can reside on the same box as the hosting application.
Please advise if I am way off here… specificially what hardware requirements would a J2EE app have being served up by EXX beyond the app itself?
Thanks in advance!
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.