Apache Thrift: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
fix +portale |
Migliorati collegamenti, aggiunte voci correlate |
||
(21 versioni intermedie di 18 utenti non mostrate) | |||
Riga 1:
'''Apache Thrift''' è un [[Interface Description Language|linguaggio di definizione di interfaccia]] (IDL) usato per definire e creare servizi per diversi linguaggi informatici<ref>{{
|accesso= 11 aprile 2011
|
|dataarchivio= 23 luglio 2011
|urlarchivio= https://web.archive.org/web/20110723051326/http://jnb.ociweb.com/jnb/jnbJun2009.html
|urlmorto= sì
|accesso= 30 marzo 2011
|
|dataarchivio= 15 agosto 2010
|urlarchivio= https://web.archive.org/web/20100815022825/http://www.sodeso.nl/?p=251
|urlmorto= sì
}}</ref>. È usato come [[framework]] per
|accesso= 12 aprile 2011
|
|url= http://jnb.ociweb.com/jnb/jnbJun2009.html
|dataarchivio= 23 luglio 2011
|urlarchivio= https://web.archive.org/web/20110723051326/http://jnb.ociweb.com/jnb/jnbJun2009.html
|urlmorto= sì
}}</ref>.
Sebbene sviluppato presso Facebook, ora è un progetto [[open
▲'''Apache Thrift''' è un linguaggio di definizione di interfaccia usato per definire e creare servizi per diversi linguaggi informatici<ref>{{cite web
▲| author = Andrew Prunicki
▲| ___location = http://www.ociweb.com/
▲| publisher = Object Computing Inc. – An Open Solutions Company
▲| title = Apache Thrift: Introduction
▲| quote = Through a simple and straightforward Interface Definition Language (IDL), Thrift allows you to define and create services that are both consumable by and serviceable by numerous languages. Using code generation, Thrift creates a set of files that can then be used to create clients and/or servers. In addition to interoperability, Thrift can be very efficient through a unique serialization mechanism that is efficient in both time and space.
▲| url = http://jnb.ociweb.com/jnb/jnbJun2009.html}}</ref>, in dettaglio. un protocollo di comunicazione binario<ref>{{cite web
▲| ___location = http://www.sodeso.nl/
▲| publisher = Sodeso – Software Development Solutions
▲| title = Installing and using Apache Cassandra With Java Part 4 (Thrift Client)
▲| quote = Thrift is a separate Apache project which is, to put it simply, a binary communication protocol.
▲| url = http://www.sodeso.nl/?p=251}}</ref>.
▲È usato come [[framework]] per procedure di chiamata remota (RPC) e fu sviluppato presso [[Facebook]] per lo "sviluppo di servizi per linguaggi scalabili". Combina un software stacj con un motore della generazione di codice per costruire servizi che lavora efficientemente per diversi gradi e senza soluzione di continuità tra [[Delphi]], [[C#]], [[C++]] (su sistemi [[POSIX]] compatibili), [[Cappuccino]], [[Cocoa]], [[Erlang]], [[Go]], [[Haskell]], [[Java]], [[OCaml]], [[Perl]], [[PHP]], [[Python]], [[Ruby]], [[Node.js]] e [[Smalltalk]]<ref>{{cite web
▲| author = Andrew Prunicki
▲| ___location = http://www.ociweb.com/
▲| publisher = Object Computing Inc. – An Open Solutions Company
▲| title = Apache Thrift: Code Generation
▲| quote = Thrift supports many languages too varying degrees. The complete list is below. Be careful before assuming that just because your language has some support that it supports all of the features of Thrift. Python for instance, only supports TBinaryProtocol. Cocoa, C++, C#, Erlang, Haskell, Java, OCaml, Perl, PHP, Python, Ruby, and Smalltalk
▲| url = http://jnb.ociweb.com/jnb/jnbJun2009.html}}</ref>.
▲Sebbene sviluppato presso Facebook, ora è un progetto [[open soruce]] presso la [[Apache Software Foundation]]. L'implementazione fu descritta in un articolo tecnico rilasciato da Facebook nell'aprile 2007, ora presente su Apache.
== Architettura==
Line 31 ⟶ 41:
=== Protocolli supportati ===
* TBinaryProtocol
* TCompactProtocol
* TDebugProtocol
* TDenseProtocol
* TJSONProtocol
* TSimpleJSONProtocol
== Creare un servizio Thrift ==
Creazione di un servizio Thrift in C++:
<
enum PhoneType {
HOME,
Line 54 ⟶ 64:
3: PhoneType type
}
</syntaxhighlight>
== Note ==
<references/>
== Voci correlate ==
* [[gRPC]]
* [[Cap'n Proto]]
* [[Apache Avro]]
* [[JSON-RPC]]
* [[XML-RPC]]
== Altri progetti ==
{{interprogetto}}
== Collegamenti esterni ==
* {{
* {{
* {{
* {{
{{Apache}}
{{Facebook}}
{{portale|informatica}}
|