article

Ein Anwendungsserver oder Application Server * 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 diesen 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 J2EE- 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.

Präsentationsschicht


Die Präsentationsschicht in einem Application-Server-Szenario dient der Darstellung der Inhalte und der Entgegennahme von Benutzereingaben. Für die Darstellung der Inhalte existieren zwei verschiedene Alternativen:

Für den Datenaustausch zwischen Präsentationsschicht und Geschäftslogikschicht gibt es ebenfalls mehrere Alternativen:

Geschäftslogikschicht


Die Geschäftslogikschicht realisiert das eigentliche Geschäftsmodell, indem die am Geschäftsmodell beteiligten Geschäftsobjekte und Geschäftsprozesse implementiert werden.

Weil Thin-Clients mit Webbrowsern besonders beliebte Clients für Application Server sind, sind die meisten Application Server entweder Ergänzungen zu Webservern (z. B. Perl oder PHP für Apache oder IIS) oder enthalten einen Webserver (z. B. Tomcat in JBoss, WebSphere oder WebLogic).

Für den Datenaustausch zwischen Geschäftslogikschicht und Datenhaltungsschicht werden Datenbankschnittstellen wie JDBC, ODBC oder Perl-DBI sowie alternativ der direkte Zugriff auf das DBMS (z. B. bei PHP) verwendet.

Datenhaltungsschicht


Trotz objektorientierter Programmierung wird auch heute noch in der Regel ein relationales DBMS eingesetzt, um die Datenhaltung für Application Server zu realisieren. Häufig besteht dabei eine „1 : 1“-Abbildung von Geschäftsobjekt-Klassen auf Tabellen bzw. Geschäftsobjekt-Instanzen auf Tabellenzeilen (Datensätze). Diese Abbildungen wird als Object-Relational-Mapping bezeichnet.

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. J2EE, .NET, SAP). 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 & Persistenz

  • impliziten Eigenschaften:
    • Skalierbarkeit, ohne die Anwendung modifizieren zu müssen
    • Monitoring-, Kalibrierungs-, Logging- und Management-Funktionen zur Laufzeit

Inzwischen hat sich die Bezeichnung Application Server für J2EE-Server (BEA Weblogic, IBM WebSphere, Oracle iAS, JBoss, SUN One) 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 Server benötigen (ein Webserver mit Scripting würde ausreichen).

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.

Siehe auch


Weblinks


  • http://www.theserverside.com/reviews/matrix.tss Liste der Application-Server mit allen Features (Englisch)

Server | Softwarearchitektur

Application server | Servidor de aplicaciones | Serveur d'applications | Application server | アプリケーションサーバ | Applicatieserver | Serwer aplikacji | Servidor de aplicação | Сервер приложений | Applikationsserver

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Application Server".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld