Skip to main content
Version: dev

Product Model

Apache Fory exposes three serialization products and one schema toolchain. Start from the data contract you need, then choose a runtime API.

Serialization products

ProductData modelInteroperability boundary
Binary Object Serialization: xlang modePortable object graphsShared wire format across supported runtimes
Binary Object Serialization: native modeRuntime-native object graphsSame runtime family only
Row FormatRandom-access binary rowsStandard Row is shared by Java, Python, C++, and Rust; Compact Row is Java-only
Fory JSONStandard JSON mapped to Java objectsJava API with text interoperability

Xlang and native are sibling modes of Binary Object Serialization. Row Format and Fory JSON are separate products; neither is a third object-serialization mode.

Schema and services

Fory IDL and the compiler generate native models for supported runtimes. Service definitions can also generate Fory gRPC companions. The compiler and gRPC integration do not define additional serialization formats.

Normative formats

Protocol implementers should use the unchanged Specification surface. User guides explain tasks and link to the exact specification instead of duplicating its wire-level rules.