Default communication mechanism between SM and Servers is via stdio, with the ProcessManager routing messages. This should usually be fine, since we use the jboss-stdio lib to capture application usage of stdio and preserve the original streams for our own use. But there is a possibility that an extension module running in the SM or a Server will use JNI, which can pollute the stdio streams. The odds of this are higher in a Server, since extending the capability of the SM with something that needs JNI seems unlikely.
So, we need an option to allow users to configure SM-Server communication via sockets.
1) Put SM-Server communication behind an abstraction
2) Implement stdio-based and socket-based versions of the abstraction
3) Update host.xml schema to include configuration elements for the sockets on both the SM and the Servers.
Note that the SM will need a socket anyway for communication with a remote DomainController, so perhaps this socket could be reused.