Architecture and method for serialization and deserialization of objects
First Claim
1. A computer implemented system comprising:
- a processor that executes the following computer executable components stored on a computer readable medium;
a serialization component that facilitates serializing at least one object of a graph of objects into a serial stream of data based on a rule set; and
a formatting component that;
detects that a user-defined rule set is defined in a different object that is a surrogate for the object, wherein the rule set facilitates defining a reference object to be serialized in place of the object;
provides a proxy reference for communicating to the object via the reference object; and
employs the user-defined rule set to serialize and deserialize the object.
2 Assignments
0 Petitions
Accused Products
Abstract
An architecture and method is provided that facilitates serialization of a graph of objects into streams of data in an arbitrary format, and deserialization of the streams of data back into the graph of objects. The architecture provides a number of services associated with the basic functionality of serialization and deserialization. The services can be employed to implement transparent remoting, copy items to a clipboard and save data to a file. The present invention provides facilities which support the plugging in of a new serialization encoding by separating the encoding from the reading and reinstantiation of the graph of objects which the encoding describes. Objects in a graph of objects are serialized and deserialized based on a selected rule set for that object. A rule set can be provided by a class author within a class or within a third party file referred to as a surrogate.
-
Citations
13 Claims
-
1. A computer implemented system comprising:
-
a processor that executes the following computer executable components stored on a computer readable medium; a serialization component that facilitates serializing at least one object of a graph of objects into a serial stream of data based on a rule set; and a formatting component that; detects that a user-defined rule set is defined in a different object that is a surrogate for the object, wherein the rule set facilitates defining a reference object to be serialized in place of the object; provides a proxy reference for communicating to the object via the reference object; and employs the user-defined rule set to serialize and deserialize the object. - View Dependent Claims (2, 3, 4)
-
-
5. A computer readable storage medium having stored thereon computer executable components comprising:
-
a serializing component that serializes each object of a graph of objects based on a rule set associated with the object; a selector component that, for at least one object in the graph of objects; determines that an other object is a surrogate for the object to be serialized; and informs the serializing component to serialize the object based on a rule set included in the surrogate; and a formatter services component that; receives a serialized stream of an object; instantiates an object type; creates a proxy for an object reference derived from a reference object; and deserializes the object into the object type by populating the object type with data of the object. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A computer implemented method for serializing and deserializing a graph of objects, comprising:
-
employing a processor to execute computer executable instructions stored on a computer readable medium to perform the following acts; retrieving each object from the graph of objects; determining that at least one user-defined rule set is included in an object that is a surrogate for the object to be serialized and deserialized; selecting a serialization rule set from the at least one user-defined rule set included in the surrogate; providing serialization information of an object retrieved from the graph of objects to a formatter, wherein the formatter provides a proxy reference for communicating to the object via a reference object so that the formatter can serialize the retrieved object in an externalized format defined by the selected at least one serialization rule set; and during deserialization of the graph of objects; determining whether an object includes a forward reference to an other object; and populating the object with data associated with the other object. - View Dependent Claims (12, 13)
-
Specification