Durante una recente conferenza dedicata agli sviluppatori, Cisco ha annunciato lo sviluppo di un nuovo protocollo open source dedicato alle applicazioni client/server. Etch, questo il nome del nuovo progetto, cercherà di ovviare ai problemi che affliggono protocolli simili (uno fra tutti SOAP) che, secondo Cisco, soffrirebbero di un eccessivo overhead e di un’eccessiva complessità.
Le
prestazioni sono uno dei tasti su cui Cisco insiste maggiormente per
promuovere il suo Etch. In un test case presentato agli sviluppatori,
la società leader nel networking ha mostrato che laddove SOAP riesce a
gestire circa 900 chiamate al secondo, Etch riesce ad effettuarne
15.000, con picchi di 50.000 messaggi in modalità one-way. Un ulteriore
vantaggio rispetto a SOAP risiede proprio nelle possibilità di
effettuare comunicazioni a senso unico, in cui il server può inviare dei messaggi al client in stile notify senza che questo effettui una richiesta preventiva, migliorando così la risposta delle applicazioni real time distribuite.
Per
facilitare la vita agli sviluppatori, Etch userà per la definizione
delle interfacce un linguaggio già usato da Cisco e mitigato
dall’equivalente Java, che oltre ad essere più semplice del WSDL usato da SOAP permetterà ad Etch di creare endpoint e transport in fase di run-time piuttosto che in fase di definizione. Sarà compito dell’architettura di
Etch generare le necessarie istruzioni per il linguaggio di
programmazione scelto. La contrapposizione non è l’unica carta che
Cisco intende giocare per convincere gli sviluppatori ad utilizzare la
sua tecnologia: Etch infatti sarà in grado di interagire con SOAP e gli
altri protocolli simili (come JSON e REST) anche se tale
caratteristiche sarà disponibile tra sei e nove mesi dal rilascio
finale del nuovo protocollo.
Il ruolo del nuovo protocollo sarà principalmente quello di arricchire la piattaforma CUAE (Cisco Unified Application Environment)
di cui è stata presentata la versione 2.5. La prima release, di cui è
prevista una beta entro l’estate, supporterà i linguaggi C# e Java, e offrirà l’integrazione con gli ambienti di sviluppo Eclipse e Visual Studio. In futuro verranno sviluppati anche binding per Ruby, Python e C.
Cisco promette un’implementazione di Etch omogenea per tutti i linguaggi e tutte le piattaforme. Inoltre la scelta di rilasciare il codice sorgente del progetto sotto una licenza open source, permetterà a tutti gli sviluppatori e le società di includere Etch all’interno dei propri progetti. Proprio per facilitare questo passo Cisco sta meditando di scegliere una licenza meno restrittiva della GPL (che non permette di mischiare codice chiuso e aperto) e sembra
propensa ad indirizzarsi verso una licenza Apache (la stessa scelta da Google per Android) o MPL, la Mozilla Public License già utilizzata da Firefox. Una scelta che Cisco ha maturato a proprie spese, dopo che in passato
alcuni prodotti VOIP dell’azienda sono stati accusati di aver violato la licenza del progetto GNU.