Thrift (protocol)

Thrift (protocol)

Infobox_Software
name = Apache Thrift



caption =
collapsible =
developer = Apache Software Foundation
latest_release_version = Apache Incubator
latest_release_date = release date|2008|05|09
latest_preview_version =
latest_preview_date =
operating_system =
programming_language =
genre = remote procedure call framework
license = Apache License 2.0
website = http://incubator.apache.org/thrift/

Thrift is a remote procedure call framework developed at Facebook for "scalable cross-language services development". It combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, C#, Java, Perl, Python, PHP, Erlang and Ruby. Although developed at Facebook, it is now an open source project in the Apache Software Foundation Incubator. The implementation was described in an [http://developers.facebook.com/thrift/thrift-20070401.pdf April 2007 technical paper] released by Facebook.

Benefits

Some stated benefits of Thrift include:

* Cross-language serialization with allegedly lower overhead than alternatives such as SOAP Fact|date=September 2008
* A lean and clean library. No framework to code to. No XML configuration files.
* The language bindings feel natural. For example Java uses ArrayList. C++ uses std::vector.
* The application-level wire format and the serialization-level wire format are cleanly separated. They can be modified independently.
* The predefined serialization styles include: binary, HTTP-friendly and compact binary.
* Doubles as cross-language file serialization.
* Soft versioning of the protocol. Thrift does not require a centralized and explicit mechanism like major-version/minor-version. Loosely coupled teams can freely evolve RPC calls.
* Extendable through Caml web services.
* No build dependencies on non-standard software. No mix of incompatible software licenses.

ee also

* Google's Protocol Buffers
* Cisco's Etch

External links

* [http://developers.facebook.com/thrift/ Facebook Developers site: Thrift]
* [http://incubator.apache.org/thrift/ Apache Incubator site: Thrift]


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Thrift — can refer to: * A generic term for a savings and loan association in the United States * Thrift (plant) a plant in the genus Armeria that have pink or white flowers; the term is especially used to refer to Armeria maritima * Thrift (protocol), a… …   Wikipedia

  • Protocol Buffers — infobox software name = Protocol Buffers developer = Google released = 7 July 2008 latest release version = 2.0.2 latest release date = 3 October 2008 latest preview version = latest preview date = operating system = Any platform = Cross platform …   Wikipedia

  • Apache Thrift — Тип RPC framework Разработчик Apache Software Foundation …   Википедия

  • Etch (protocol) — Etch is a new open source [http://tech.slashdot.org/tech/08/05/24/0319234.shtml Cisco To Open Source New Messaging Protocol] ] , cross platform framework for building network services, first announced [http://www.cio.com/article/365513 Cisco… …   Wikipedia

  • Remote procedure call — (RPC) is an Inter process communication technology that allows a computer program to cause a subroutine or procedure to execute in another address space (commonly on another computer on a shared network) without the programmer explicitly coding… …   Wikipedia

  • Oslo (Microsoft) — SQL Server Modeling CTP (formerly code name Oslo ) Developer(s) Microsoft Stable release November 2009 Community Technology Preview / 17 November 2009; 23 months ago (2009 11 17) Written in …   Wikipedia

  • United States — a republic in the N Western Hemisphere comprising 48 conterminous states, the District of Columbia, and Alaska in North America, and Hawaii in the N Pacific. 267,954,767; conterminous United States, 3,022,387 sq. mi. (7,827,982 sq. km); with… …   Universalium

  • Liste des agences fédérales des États-Unis — Demande de traduction List of United States federal agencies → …   Wikipédia en Français

  • Comparison of data serialization formats — This is a comparison of data serialization formats, different ways to convert complex objects to sequences of bits. It does not include markup languages used exclusively as document file formats. Contents 1 Overview 2 Syntax comparison of human… …   Wikipedia

  • Internet socket — In computer networking, an Internet socket or network socket is an endpoint of a bidirectional inter process communication flow across an Internet Protocol based computer network, such as the Internet. The term Internet sockets is also used as a… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”