Java/Comunicazione seriale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
RamaccoloBot (discussione | contributi)
m Robot: Changing template: T
Riga 4:
=== Introduzione ===
 
Il liguaggio di programmazione Java si è rivelato molto utilizzato negli ultimi anni e inevitabilmente è arrivata lela richiesterichiesta di poter programmare le interfacce seriali in Java. In ogni caso, data l'indipendenza di Java dalla piattaforma, è neccessaria una API standardizatastandardizzata con implementazioni che tengono conto della piattaforma su cui si lavora.
 
Sfortunatamente, la Sun non ha prestato molta attenzione alla comunicazione seriale in Java, esiste ununa API definita dalla Sun per tale scopo, [http://java.sun.com/products/javacomm/ ''JavaComm''], ma tale API non è prevista all'interno della Java Standard Edition. In particolare alla fine del 2005 la Sun feccefece sparire il supporto per Windows alla ''JavaComm''. Sono disponibili implementazioni alternative a quellequella omessa dalla Sun. ''JavaComm'' non ha subito molta attività di manutenzione, la Sun ha fatto solo il minimo neccessario, fatta eccezione per le pressioni daglidegli aquirenti del client Sun Ray alle quali Sun ha risposto adattando il supporto per Windows per la ''JavaComm'' unicamente alla propria piattaforma, dimenticandosi del supporto per Windows.
 
Questa situazione, e il fatto che la Sun originariamente non ha proveduto ad un'implemntazione di ''JavaComm'' per Linux, ha diretto verso lo sviluppo di una libreria gratuita [http://www.rxtx.org/ ''RxTx'']. ''RxTx'' è disponibile, non solo per Linux, ma per diverse piattaforme. Può essere usata con o senza l'appoggio della ''JavaComm''(la ''RxTx'' fornisce i suoi driver specifici). Quando vengono utilizzate assieme, il collegamento tra ''JavaComm'' e ''RxTx'' viene gestito dalla ''JCL'' (''JavaComm for Linux''). La ''JCL'' fa parte della ''RxTx''.
 
Il disinteresse della Sun per ''JavaComm'' e il modello di programmazione di quest'ultima contribuirono a raggiungere la reputazione di API inusabile. Fortunatamente in realtà non è così, tale reputazione è si è diffusa tra la gente che non ha basi solide nella programmazione delle interfacce seriali e che attribuisce i propri errori all'API.
 
''RxTx'' - se non è utilizzata come un driver ''JavaComm'' - fornisce un'interfaccia completa, ma che non purtroppo non segue gli standard. ''RxTx'' supporta più piattaforme rispetto a ''JavaComm''. Recentemente, ''RxTx'' è stata utilizzata per fornire lale stessastesse intefacce fornite dalla ''JavaComm'', tuttavia i nomi dei packages non corrispondono a quelli dei packages della Sun.
 
Quale libreria conviene usarausare? Se si cerca la massima portabilità, allora la ''JavaComm'' è una buona scelta. Se non esiste il supporto della ''JavaComm'' per una particolare piattaforma allora è bene passare alla ''RxTx'', utilizzandola come driver per quella piattaforma per poi appoggiarsi a ''JavaComm''. Utilizzando la ''JavaComm'' si può ottenere supporto per tutte le piattaforme che sono direttamente citate da quelle dichiarate dalla Sun e in aggiunta attraverso ''RxTx'' utilizzando ''JCL''. In questo modo l'applicazione non necessita di cambiamenti, e può funzionare utilizzando una sola interfaccia , ovvero la ''JavaComm''.
 
Questo modulo parla sia della ''JavaComm'' e della ''RxTx''. Principalmente ha l'obbiettivo di dimostrare dei concetti chiave. Per colorecoloro che vogliono copiare ad occhi chiusi il codice ci sono riferimenti al codice esempio fornito nei packages. Coloro che vogliono sapere quello che fanno potranno trovare informazioni importanti.
 
=== Requisiti ===