Newsgroup: it.comp.java
Titolo: realizzare un'applicazione estendibile a plug-in

Ciao a tutti!
Dovrei realizzare un'applicazione in grado di gestire diverse
periferiche e tipologie di Input / Output. Avevo pensato ad
un'implementazione "modulare", con una sorta di architettura "a plugin":
per ogni tipologia di input demandare ad un modulo (.jar) localizzato in
una certa directory la sua gestione, e lo stesso per i vari tipi di
output. In questo modo l'applicazione risulterebbe estendibile anche "a
run-time" senza bisogno di ricompilare o modificare il "core" del
sistema (il cui unico compito sarebbe quello di caricare/scaricare i
moduli, di fare "da ponte" per permettere agli stessi di dialogare).
L'idea non e' troppo originale, ma penso che come soluzione vada bene...
la mia speranza e' che non sia neppure troppo complicata, visto che i
tempi di consegna sono piuttosto brevi (ehi! sono di nuovo al lavoro da
due giorni e gia' rimpiango le ferie... strano eh? ;-)
Vorrei dunque realizzare una gerarchia di classi e implementare un
protocollo di comunicazione fra il sistema e i moduli, in modo che
questi possano essere sviluppati anche "da terze parti" senza troppi
problemi. Per la comunicazione dai moduli all'applicazione e viceversa,
e con l'utente, penso di utilizzare connessioni TCP/IP in quanto
l'applicazione dovra' poi essere utilizzabile in rete internet.
Per semplificarmi la vita avevo pensato di utilizzare il pacchetto
"prominence.msg" disponibile gratuitamente sul sito del libro "Java
Network Programming" che offre un minimo d'astrazione rispetto agli
stream TCP permettendo di gestire "messaggi" di informazioni composti da
"dati+informazioni di supporto"... niente di trascendentale ma meglio di
niente, e non ho il tempo di reinventare l'acqua calda. 
A questo punto le domande:
- che ne pensate? Come "abbozzo di idea" puo' andare o gia' ci sono
delle falle? consigli? 
- nel caso sia ok il problema principale e': come si sviluppa
un'architettura a plug-in in java? Credo di dovermi creare delle
interfacce e delle classi astratte da cui poi estendere i vari moduli,
che so': una classe base "ModuloInput" o "ModuloOutput" con metodi
astratti per la lettura/scrittura che ogni modulo deve estendere...
impacchetto poi ogni modulo in un apposito .jar ...ma poi come li
carico/uso nell'applicazione? Insomma prima di partire a testa bassa (e
magari nella direzione sbagliata) mi piacerebbe sapere cosa ne pensate,
ecc.ecc.
Quindi impressioni su quanto detto, idee a riguardo, segnalazioni di
letture (anche solo potenzialmente) interessanti sono bene accette!
Un saluto e -anche se in ritardo- Buon 2001 a tutti!
-- 
Ciao,     |   And the devil in black dress watches over
 Matteo   |   My guardian angel walks away
          |   Life is short and love is always over in the morning
          |   Black wind come carry me far away

 wrote in message
news:3A54F7F0...@libero.DALLO-SPAM.it...


magari nella direzione sbagliata) mi piacerebbe sapere cosa ne pensate,
io posso spedirti un esempietto semplicissimo di codice java che usa
come plugin dei file class, oppure il codice completo di un mio
programma che utilizza come plugin dei file jar 
ti interessa? 
ciao_O
Andrea
http://digilander.iol.it/schiele

 
certo! :-)
rimuovi "DALLO-SPAM." dal mio indirizzo per spedirmela in privato.
e grazie!!


 
per ora sviluppiamo sia su piattaforma Linux (xche` ho maggiore
familiarita`, e c'e` maggiore documentazione) che NT (VisualAge 3.5).
Con tutta probabilita` cmq alla fine il prodotto completo dovra` essere
portato su un server AIX.
grazie, e se ti viene in mente qualcos'altro: dimmi pure!
