2012-09-25 11 views
11

Ich habe Probleme, den Unterschied über beide Plattformen zu verstehen? Beide scheinen eine Umgebung für die Bereitstellung und Verwaltung von Anwendungen zu bieten. Zuerst dachte ich App-Server verwenden OSGi unter der Haube, ich glaube nicht, aber jetzt sehe ich große AS (Jboss, Glassfish, Websphere, etc) OSGi verwenden. Was ist das große Bild?OSGi und Anwendungsserver

Danke

Antwort

10

Es gibt (einige verlängern), um eine Überlastung der Begriff „Anwendung“.

OSGi ist eine Laufzeitumgebung (und Entwicklungsmodell) für modulare Java-Anwendungen. Der Begriff "Anwendung" kann in diesem Fall wirklich sehr niedrig sein. Zum Beispiel kann ein Anwendungsserver als eine solche "Anwendung" betrachtet werden.

Anwendungsserver sind auch eine Laufzeitumgebung (und ein Entwicklungsmodell) für Java-Anwendungen. Der Begriff "Anwendung" bezieht sich in diesem Fall jedoch typischerweise auf einen Anwendungstyp höherer Ebene (z. B. Web-Anwendungen). Anwendungsserver enthalten in der Regel umfangreiche Funktionen und Programmier-APIs für die Erstellung von Webanwendungen (Servlets), die Speicherung persistenter Daten in Datenbanken (JPA) und Clustering-Funktionen. Die meisten Anwendungsserver bestehen heutzutage aus Modulen (z. B. Kern, Servlet-Engine, EJB-Container usw.). Einige Anwendungsserver verwenden OSGi unter den Abdeckungen. Andere haben ihre eigene modulare Laufzeitumgebung, die auch OSGi-Fähigkeiten bietet.

Es ist jedoch auch möglich, Anwendungen auf höherer Ebene (z. B. Webanwendungen) direkt mit der OSGi-Laufzeitumgebung zu entwickeln. Ein OSGi-Framework selbst enthält jedoch keine der zusätzlichen Funktionen. Es muss selbst zusammengestellt werden. Es gibt einige "Distributionen", die ein Framework und mehrere Module enthalten.

+2

Mit anderen Worten, OSGi ist das Bare-Metal (Premium-Stahl) und Anwendungsserver sind Metallwerkzeuge (manchmal aus hochwertigem Stahl). ;) – Gunnar

+1

Falls Sie nach einer "Application Server" -Typ-Container-Umgebung für OSGi suchen, schauen Sie sich Apache Karaf oder Eclipse Virgo an –