Application Server

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche

Ein Anwendungsserver oder Application Server [ˌæplɪˈkeɪʃn̩ ˈsɝːvɚ] ist im Allgemeinen ein Server in einem Computernetzwerk, auf dem Anwendungsprogramme (applications) ausgeführt werden. Im engeren Sinne bezeichnet der Begriff Application Server eine Software, die als Ablaufumgebung für Anwendungsprogramme spezielle Dienste zur Verfügung stellt, wie beispielsweise Transaktionen, Authentifizierung oder den Zugriff auf Verzeichnisdienste und Datenbanken über definierte Schnittstellen.

Häufig meint man dabei Software-Applikationen mit einer drei- oder mehrschichtigen Architektur, wie sie z. B. vom Java EE- oder .NET-Framework vorgeschlagen werden. Ziel ist es – namensgebend für dreischichtige Architektur – die drei Aufgaben Präsentation, Geschäftslogik und Datenhaltung voneinander zu trennen.

[Bearbeiten] Eigenschaften

Ein Application Server wird durch folgende Eigenschaften charakterisiert:

Anwendungen müssen für einen bestimmten Typ von Application Server entwickelt werden (Typen sind z. B. Java EE, .NET, SAP Web Application Server). Ein Application Server bietet eine Laufzeitumgebung für den Server-Teil einer Client-Server Anwendung (bei Webanwendungen ist der Webbrowser der Client-Teil der Anwendung) mit

  • expliziten Eigenschaften:
    • Kapselung von Datenquellen (standardisierte Adapter zu Datenbanken, Message Queueing, Directory-Diensten, Anwendungen)
    • Interfaces zu höherwertigen Diensten: Asynchrone Kommunikation, Transaktionsverarbeitung, Datentransformation und Persistenz
  • impliziten Eigenschaften:
    • Skalierbarkeit, ohne die Anwendung modifizieren zu müssen
    • Monitoring-, Kalibrierungs-, Logging- und Management-Funktionen zur Laufzeit
    • Software Lifecycle Management (Delivery, Deployment, Patches, Upgrades)

Inzwischen hat sich die Bezeichnung Application Server für Java EE-Server (BEA WebLogic, IBM WebSphere, Oracle iAS, JBoss, Sun Java System Application Server) durchgesetzt und wird synonym für die Komponente einer Web-Anwendung (z. B. Webmail bei Lycos, Suche und Bieten bei eBay oder Amazon) verwendet, die dynamisch Seiten erzeugt, obwohl viele dieser Funktionen nicht den Funktionsumfang eines Application Servers benötigen (ein Webserver mit Scripting würde ausreichen).

Bemerkenswert sind professionelle Serverprodukte, die ohne Lizenzkosten betrieben werden können, z. B. Glassfish (kommerzielle Variante: Sun Java System Application Server), Geronimo (kommerzielle Variante: IBM Websphere) und zahlreiche Enterprise Komponenten wie z. B. Oracles JPA-Implementierung Toplink Essential und diverse ESB-Implementierungen. Die meisten produktiven Instanzen von Open-Source-Produkten waren 2006 von der JBoss-Produktfamilie im Einsatz, für die auch professioneller Support verfügbar ist.

Eine Differenzierung ihrer Produkte führen die Hersteller über die nicht standardisierten Aspekte durch: Performance bei der Anbindung unterschiedlicher Datenquellen, Management-Funktionen für Cluster, Backup-Integration, Detaillierung des Monitoring, Priorisierung von Anwendungen. Weiter werden umfangreiche Frameworks und Lösungen rund um die Kernfunktionalitäten angeboten.

Manche dieser Angebote sind als interessanter Vorteil zu werten, andere führen zu hohen Folgekosten bei der Migration zu anderen Systemumgebungen. Bei der Beurteilung sind immer die tatsächlichen Anforderungen zu berücksichtigen, eine generelle Wertung ist in der Praxis nicht möglich.

[Bearbeiten] Siehe auch

[Bearbeiten] Weblinks

Persönliche Werkzeuge