Forward and Backward Compatibility: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
Line 14: Line 14:


<font color=darkkhaki>If newer clients encode data, with the new version of the schema, and send it to an old version of the system and that system was designed to be forward compatible, then the system can process that data without error.</font>
<font color=darkkhaki>If newer clients encode data, with the new version of the schema, and send it to an old version of the system and that system was designed to be forward compatible, then the system can process that data without error.</font>
=Full Compatibility=
Full compatibility is [[#Forward_Compatibility|forward]] and [[#Backward_Compatibility|backward]] compatibility.


=Subjects=
=Subjects=
* [[Serialization#Keep_your_Schema_Backward_Compatible|Serialization and Schema Backward Compatibility]]
* [[Serialization#Keep_your_Schema_Backward_Compatible|Serialization and Schema Backward Compatibility]]
* [[Protocol_Buffer_Concepts#Data_Evolution_with_Protocol_Buffers|Data Evolution with Protocol Buffers]]
* [[Protocol_Buffer_Concepts#Data_Evolution_with_Protocol_Buffers|Data Evolution with Protocol Buffers]]

Latest revision as of 00:04, 9 May 2024

Internal

Backward Compatibility

A system is said to be backward compatible is it is design to be compatible with older versions of itself.

If old clients encode data, with an old version of the schema, and send it to the current version of the system, which uses the current (newer) schema, a backward compatible system can process that data without error and respond to those old clients in a way that does not break them.

Forward Compatibility

A system is said to be forward compatible is it is design to be compatible with newer, future versions of itself.

If newer clients encode data, with the new version of the schema, and send it to an old version of the system and that system was designed to be forward compatible, then the system can process that data without error.

Full Compatibility

Full compatibility is forward and backward compatibility.

Subjects