The Apache Thrift Framework can be organized into five layers:
* The RPC Server Library * RPC Service Stubs * User-Defined Type Serialization * The Serialization Protocol Library * The Transport Library
Applications requiring a common way to serialize data structures for storage or messaging may need nothing more than the bottom three layers of this model.
The top two layers the Apache Thrift library of RPC servers and the IDL compiler generated service stubs, adding RPC support to the stack.
Apache Thrift is conceptually an object oriented framework, though it supports object-oriented and non-object oriented languages. The Transport, Protocol, and Server libraries are often referred to as class libraries, though they may be implemented in other ways in non-object oriented languages. The classes within the Apache Thrift libraries are typically named with a leading capital T, for example,