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>{{citeCita web
[[File:Apache Thrift architecture.png|thumb|right|Architettura client/server delle APi Apache Thrift]]
|accesso= 11 aprile 2011
| author autore= Andrew Prunicki
| ___location città= http://www.ociweb.com/
| publisher editore= Object Computing Inc. – An Open Solutions Company
| title titolo= Apache Thrift: Introduction
| quote citazione= 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>.
|dataarchivio= 23 luglio 2011
|urlarchivio= https://web.archive.org/web/20110723051326/http://jnb.ociweb.com/jnb/jnbJun2009.html
|urlmorto= sì
| url = http://jnb.ociweb.com/jnb/jnbJun2009.html}}</ref>, in dettaglio., un [[protocollo di comunicazione]] binario<ref>{{citeCita web
|accesso= 30 marzo 2011
| ___location città= http://www.sodeso.nl/
| publisher editore= Sodeso – Software Development Solutions
| title titolo= Installing and using Apache Cassandra With Java Part 4 (Thrift Client)
| quote citazione= Thrift is a separate Apache project which is, to put it simply, a binary communication protocol.
| url = http://www.sodeso.nl/?p=251}}</ref>.
|dataarchivio= 15 agosto 2010
|urlarchivio= https://web.archive.org/web/20100815022825/http://www.sodeso.nl/?p=251
|urlmorto= sì
}}</ref>. È usato come [[framework]] per procedure[[Chiamata di chiamataprocedura remota|chiamate di procedura remota]] (RPC) e fu sviluppato presso [[Facebook]] per lo "sviluppo di servizi per linguaggi [[Scalabilità|scalabili]]". Combina un software stacjstack 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 (informatica)|Cappuccino]], [[Cocoa (software)|Cocoa]], [[Erlang (linguaggio di programmazione)|Erlang]], [[Go (linguaggio di programmazione)|Go]], [[Haskell (linguaggio)|Haskell]], [[Java (linguaggio di programmazione)|Java]], [[OCaml]], [[Perl]], [[PHP]], [[Python]], [[Ruby (linguaggio di programmazione)|Ruby]], [[Node.js]] e [[Smalltalk]]<ref>{{citeCita web
|accesso= 12 aprile 2011
| author autore= Andrew Prunicki
| ___location città= http://www.ociweb.com/
| publisher editore= Object Computing Inc. – An Open Solutions Company
| title titolo= Apache Thrift: Code Generation
| quote citazione= 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
|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 sorucesource]] presso la [[Apache Software Foundation]]. L'implementazione fu descritta in un articolo tecnico rilasciatoreso dadisponibile su [[Facebook]] nell'aprile [[2007]], ora presente su Apache.
'''Apache Thrift''' è un linguaggio di definizione di interfaccia usato per definire e creare servizi per diversi linguaggi informatici<ref>{{cite web
| accessdate = 2011-04-11
| 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
| accessdate = 2011-03-30
| ___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
| accessdate = 2011-04-12
| 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++:
 
<sourcesyntaxhighlight lang="Cpp">
enum PhoneType {
HOME,
Line 54 ⟶ 64:
3: PhoneType type
}
</syntaxhighlight>
</source>
 
== Note ==
<references/>
 
== Voci correlate ==
 
* [[gRPC]]
* [[Cap'n Proto]]
* [[Apache Avro]]
* [[JSON-RPC]]
* [[XML-RPC]]
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
* {{en}}[httpcita web|https://thrift.apache.org/ |Apache Thrift]|lingua=en}}
* {{en}}[httpcita web|1=https://diwakergupta.github.com/thrift-missing-guide/ |2=Thrift: The Missing Guide]|lingua=en|accesso=29 aprile 2019|dataarchivio=23 febbraio 2013|urlarchivio=https://web.archive.org/web/20130223021810/http://diwakergupta.github.com/thrift-missing-guide/|urlmorto=sì}}
* {{en}}[httpcita web|https://code.google.com/p/thriftc-task/ |Thrift Ant task]|lingua=en}}
* {{en}}[cita web|1=http://www.thrift.pl/ |2=Tutorial di Thrift]|lingua=en|accesso=26 ottobre 2013|dataarchivio=8 febbraio 2016|urlarchivio=https://web.archive.org/web/20160208040606/http://www.thrift.pl/|urlmorto=sì}}
 
{{Apache}}
{{Facebook}}
{{portale|informatica}}