2011-12-06 16 views
15

Voglio sapere perché il framework OSGI viene utilizzato nella creazione di applicazioni java. Sto cercando sul web questo, ma le risposte mi sembrano complesse. Qualcuno può spiegare alcuni punti sul perché abbiamo bisogno di adottare osgi.perchè si usa osgi?

Mi dispiace se la domanda non soddisfa lo stackoverflow Apprezzo la pazienza dei lettori. Grazie.

+1

Forse questo aiuto -> http://stackoverflow.com/questions/1818778/what-is-the-underline-theme-in-osgi – Jayan

+0

si prega di leggere questo per una descrizione molto bella: http: //blog.springsource.com/2008/05/15/why-should-i-care-about-osgi-anyway/ – Cris

+2

possibile duplicato di [Che cosa fare s OSGi risolvono?] (http://stackoverflow.com/questions/106222/what-does-osgi-solve) – Martin

risposta

15

OSGi fornisce un sistema modulare con il controllo delle versioni dei moduli e un ulteriore ciclo di gestione del ciclo di vita. Questo gestisce le dipendenze tra moduli, avvio/disinstallazione dinamica/lenta di moduli, ricerca/scoperta e così via.

Parte di questo entrerà a far parte del linguaggio java. Consente una complessità minore rispetto a un cablaggio spaghetti di classi.

1

Completamente con questo tutorial. Potresti avere la tua risposta.

7

IMHO OSI da solo richiede un sacco di codice piastra della caldaia per quello che fa. Tuttavia, se si utilizza una libreria come Karaf & iPOJO, la maggior parte del sovraccarico è nascosta e si ottiene la maggior parte dei vantaggi.

Il vantaggio principale è la possibilità di controllare quali versioni sono utilizzate e il corretto isolamento del modulo. Ad esempio è possibile

  • fare in modo che il contenitore scarichi le versioni corrette da un repository di esperti come nexus.
  • utilizza la versione multipla della stessa libreria e ha i moduli che richiedono quelli che usano quelli giusti.
  • Arresta, aggiorna e avvia i moduli mentre l'applicazione è in esecuzione.
  • una console Web per visualizzare lo stato di tutti i moduli e gestirli collettivamente o individualmente.