CDR (Common Data Representation) represents all data type used as arguments and return values
- 15 primitive types such as short, long, unsigned short, unsigned long, float double, char, boolean, octect, etc
- any represents any basic or construct type.
- Primitive types: transmitted in sender’s ordering, floating point follows IEEE.
- Construct types: primivite values comprising one of this, sequence, string, array, struct, enumerated, union
- string represented as a unsigned short for length and the string itself
- The type of a data is not given with the data representation, it is supposed to be known by both sender and receiver.
- Information included with the serialized Class: Class name and version.
- When an object is serialized, objects referenced by this are serialized too.
- References are serialized as handlers, correspondence 1:1 object-handler to avoid overwriting.
- Primitive types are written in a portable binary format.
- Chars and String written using UTF.
ObjectOutputStream.writeObject(<object>); object = ObjectinputStream.readObject()
- Reflection makes serialization/deserialization completely generic.
Remote Object Reference
- Identifier valid throughout a distributed system.
- Must be unique and not reusable
- e.g. address + port number + time + object tumber