Features of JBoss Remoting
The features available with JBoss Remoting are: Server identification – a simple url based identifier which allows for remoting servers to be identified and called upon. Pluggable transports – can use different protocol transports the same remoting API. Provided transports: Socket (SSL Socket) RMI (SSL RMI) HTTP(S) Servlet (SSL Servlet) Bisocket (SSL Bisocket) Pluggable data marshallers – can use different data marshallers and unmarshallers to convert the invocation payloads into desired data format for wire transfer. Pluggable serialization - can use different serialization implementations for data streams. Provided serialization implementations: Java serialization JBoss serialization Automatic discovery – can detect remoting servers as they come on and off line. Provided detection implementations: Multicast JNDI Server grouping – ability to group servers by logical domains, so only communicate with servers within specified domains. Callbacks – can receive server callbacks via push and pull models. Pull model allows for persistent stores and memory management. Asynchronous calls – can make asynchronous, or one way, calls to server. Local invocation – if making an invocation on a remoting server that is within the same process space, remoting will automatically make this call by reference, to improve performance. Remote classloading – allows for classes, such as custom marshallers, that do not exist within client to be loaded from server. Sending of streams – allows for clients to send input streams to server, which can be read on demand on the server. Clustering - seamless client failover for remote invocations. Connection failure notification - notification if client or server has failed Data Compression - can use compression marshaller and unmarshaller for compresssion of large payloads.