You can also say object serialization is process of converting the Java object into bit-blob form. The RMI is a process of invoking a method on remotely running object. RMI gives you the location transparency, which means even if you are executing a method on remotely running machine your RMI client program thinks that it is executing a method on locally running object. Transient is a keyword defined in Java language. This is used if you do not want write a variable or an object along with object serialization.
Persistence means that the object exists beyond the lifetime of the application.
For example an entity bean exists beyond the lifetime of the application. Another good example is that the data in a database is persistent because it still exists even after you shut down the database server or the applications it services. In order to make your Java program as serializable, you must implement java.io.Serializable interface. That's all you do, you do not worry much about it, let Java handle the low-level details. The java.io.Serializable simply a marker interface.