Remoting is a tool you can use for cross-application domain communications
without worrying about networking specifics. The remoting architecture
allows you to use an object in another domain (process, machine, etc...) as
if you actually had a reference to it locally (through it's proxy). It
takes care of serializing/deserializing your data and marshalling and
unmarshalling your data types and you do not have to worry about things like
byte order and such, you work with objects.
If you wanted to do the same using sockets, you would have to develop your
own protocol or use something like RPC (remote procedure calls) or CORBA,
which are two technologies built on top of sockets that take care of
serializing/deserializing and marshalling/unmarshalling your data. Remoting
is just another alternative depending on your needs. You should also note
that a remoting channel does not neccessarily need to be implemented on top
of a socket.
> Why is Remoting better than Sockets ?