2012-09-25 28 views
11

Non riesco a risolvere la differenza su entrambe le piattaforme? Entrambi sembrano offrire un ambiente per la distribuzione e la gestione delle applicazioni. Per prima cosa pensavo che i server delle app usassero OSGi sotto il cofano, non credo proprio ora, ma vedo che grandi AS (jboss, glassfish, websphere, ecc.) Usano OSGi. Qual è il quadro generale?OSGi e server applicazioni

Grazie

risposta

10

c'è (in certa misura) un sovraccarico del termine "applicazione".

OSGi è un ambiente di runtime (e modello di sviluppo) per le applicazioni Java modulari. Il termine "applicazione" in questo caso può essere davvero, davvero di basso livello. Ad esempio, un server di applicazioni può essere considerato come una "applicazione".

I server di applicazioni sono anche un ambiente di runtime (e un modello di sviluppo) per le applicazioni Java. Tuttavia, il termine "applicazione" in questo caso si riferisce tipicamente a un tipo di applicazione di livello superiore (ad esempio, applicazioni web). I server di applicazioni includono in genere un ricco set di API con funzionalità e programmazione più elevate per la creazione di applicazioni Web (Servlet), dati persistenti in database (JPA) e funzionalità di clustering. La maggior parte dei server delle applicazioni in questi giorni sono composti da moduli (ad es., Core, motore servlet, contenitore EJB, ecc.). Alcuni server applicazioni utilizzano OSGi sotto le copertine. Altri hanno il proprio ambiente runtime modulare che offre anche funzionalità OSGi.

Ma è anche possibile sviluppare applicazioni di livello superiore (come le applicazioni Web) direttamente utilizzando solo l'ambiente di runtime OSGi. Tuttavia, un framework OSGi stesso non include alcuna funzionalità aggiuntiva. Deve essere assemblato da solo. Ci sono alcune "distribuzioni" che includono un framework e diversi moduli.

+2

In altre parole, OSGi è il metallo nudo (acciaio di alta qualità) ei server di applicazione sono strumenti di metallo (a volte realizzati in acciaio di alta qualità). ;) – Gunnar

+1

In caso di ricerca di un ambiente contenitore di tipo "application server" per OSGi, dare un'occhiata ad Apache Karaf o Eclipse Virgo –