sentence: when a message is exchanged via a protocol between two different platforms using objects on both sides , the object in a programming language can be transformed ( marshalled and unmarshalled ) in an object in a remote and different language : so , e.g. , a program written in java invokes a service via soap or iiop written in c# both programs use apis for remote invocation ( each locally to the machine where they are working ) to ( remotely ) exchange information that they both convert from/to an object in local memory .