<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Apache_Thrift</id>
	<title>Apache Thrift - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Apache_Thrift"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Apache_Thrift&amp;action=history"/>
	<updated>2026-06-03T16:16:54Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Apache_Thrift&amp;diff=2729481&amp;oldid=prev</id>
		<title>imported&gt;Katze Murhad: /* growthexperiments-addlink-summary-summary:2|0|0 */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Apache_Thrift&amp;diff=2729481&amp;oldid=prev"/>
		<updated>2025-05-04T11:27:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;growthexperiments-addlink-summary-summary:2|0|0&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Apache Thrift&amp;#039;&amp;#039;&amp;#039; ist eine [[Schnittstellenbeschreibungssprache]] bzw. ein [[Kommunikationsprotokoll]] für interoperable und skalierbare Dienste. Es kombiniert einen Software-[[Protokollstapel]] mit einer Generatorkomponente zur Erstellung von Services, die nahtlos zwischen [[ActionScript]], [[C (Programmiersprache)|C]], [[C++]], [[C-Sharp|C#]], [[Cappuccino (Framework)|Cappuccino]], [[Cocoa (API)|Cocoa]], [[Delphi]], [[Erlang (Programmiersprache)|Erlang]], [[Go (Programmiersprache)|Go]], [[Haskell (Programmiersprache)|Haskell]], [[Java (Programmiersprache)|Java]], [[JavaScript]], [[Objective-C]], [[Objective CAML|OCaml]], [[Perl (Programmiersprache)|Perl]], [[PHP]], [[Python (Programmiersprache)|Python]], [[Ruby (Programmiersprache)|Ruby]] und [[Smalltalk (Programmiersprache)|Smalltalk]] sowie anderen Sprachen operieren können.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Andrew Prunicki |url=https://objectcomputing.com/resources/publications/sett/june-2009-apache-thrift |titel=Apache Thrift |werk=Object Computing |datum=2009-06 |sprache=en |abruf=2023-09-06}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Entwicklung und Beschreibung ==&lt;br /&gt;
Das Projekt fand seinen Ursprung bei der Social-Network-Plattform [[Facebook]], um die Entwicklung von hochskalierbaren Backend-Services zu unterstützen. Das Apache-Thrift-Projekt ist ein Software-Entwicklungsprojekt der [[Apache Software Foundation]] und wird unter der Apache-2.0-Lizenz veröffentlicht.&lt;br /&gt;
&lt;br /&gt;
Durch eine einfache und geradlinige [[Schnittstellenbeschreibungssprache]] (Interface Definition Language, IDL) werden verschiedene Thrift-Typen definiert. Die Verarbeitung dieser Thrift-IDL-Dateien erfolgt durch einen implementierten [[Codegenerator]], welcher den betreffenden Code für die verschiedenen Zielsprachen produziert.&lt;br /&gt;
&lt;br /&gt;
Im Zuge der steigenden Bedürfnisse und einer Analyse durch Entwickler der Social-Network-Plattform Facebook wurden Funktionen gesucht, die bereits Bestehenden an [[Interoperabilität]], Effizienz, Datenverkehrsleistung und Einfachheit übertreffen sollten. Aus dieser Notwendigkeit heraus entwickelten Facebook-Ingenieure effizientere [[Netzwerkprotokoll|Protokolle]] und Dienste, die in weiterer Folge zu Thrift wurden. Das soziale Netzwerk Facebook nutzt nun Thrift für seine Back-End-Services.&lt;br /&gt;
&lt;br /&gt;
== Thrift-Architektur ==&lt;br /&gt;
Thrift beinhaltet einen kompletten [[Protokollstapel|Software-Protokollstapel]] für die Erstellung von [[Client]]s und [[Server]]n. Der obere Teil des Stapel-Codes wird aus der Thrift-Definitionsdatei generiert, wodurch diese den benötigten Client- und Prozessorcode beinhalten. Die gesendeten Datenstrukturen, ausgenommen integrierten Typen, sind ebenfalls in erzeugtem Code inkludiert. Protokoll und Transport sind Teile der Thrift-[[Laufzeitbibliothek]].&lt;br /&gt;
&lt;br /&gt;
Die in Thrift beinhaltete Server-Infrastruktur fügt Protokolle und Transporte zusammen und bindet diese aneinander. Der Basiswert I/O als Abschnitt des Stapels hängt von der betreffenden Sprache ab. Für Java- und Python-Netzwerke werden die implementierten Bibliotheken genutzt, während für [[C++]]-Implementierungen eine eigene Umsetzung erfolgt.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Protokolle ==&lt;br /&gt;
Thrift unterstützt sowohl Textprotokolle als auch binäre Protokolle. Die binären Protokolle sind generell performanter als die Text-Protokolle, allerdings weniger gut zur Fehlersuche geeignet. Einige der Protokolle die Thrift unterstützt:&lt;br /&gt;
&lt;br /&gt;
; TBinaryProtocol: Eine Binärformat-Codierung, die [[Numerischer Wertebereich|numerische Werte]] binär darstellt, anstelle von Textkonvertierungen.&lt;br /&gt;
; TCompactProtocol: Eine effiziente Compact-Codierung, die die betreffenden Daten komprimiert.&lt;br /&gt;
; TDenseProtocol: Ähnlich dem TCompactProtocol, jedoch entfernt dieses die [[Metainformation]]en der übertragenen Daten und fügt diese wieder bei der Übertragung an den Empfänger ein.&lt;br /&gt;
; TJSONProtocol: Dieses Protokoll verwendet [[JavaScript Object Notation|JSON]] für die Codierung der Daten.&lt;br /&gt;
; TSimpleJSONProtocol: Ein Schreibprotokoll mit JSON. Geeignet für das Parsen von [[Skriptsprache]]n.&lt;br /&gt;
; TDebugProtocol: Dieses Protokoll formatiert in lesbare Textformate für das [[Debugging]].&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://thrift.apache.org/ Apache Thrift Webseite] (englisch)&lt;br /&gt;
* [http://thrift.apache.org/static/files/thrift-20070401.pdf Apache Thrift Whitepaper] (englisch, PDF, 221&amp;amp;nbsp;kB)&lt;br /&gt;
* [https://thrift.apache.org/tutorial/ Tutorialseite Apache Thrift] (englisch)&lt;br /&gt;
* [https://www.sigs-datacom.de/uploads/tx_dmjournals/meier_jaeger_JS_02_12.pdf Testing von Apache Thrift im Vergleich zu REST-Services] (Java-Spektrum 2/2012, deutsch, PDF, 282 kB)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Apache-Projekt|Thrift]]&lt;br /&gt;
[[Kategorie:Freie Software]]&lt;br /&gt;
[[Kategorie:Softwarearchitektur]]&lt;br /&gt;
[[Kategorie:Netzwerkprotokoll auf Anwendungsschicht]]&lt;br /&gt;
[[Kategorie:Datenserialisierungformat]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Katze Murhad</name></author>
	</entry>
</feed>