Application Server

Ein Application Server ist ein Server in einem Computernetzwerk, auf dem eine spezielle Software-Applikation läuft.

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. Die Präsentation wird von einem Client, gerne einem Thin Client, beispielsweise von einem Web-Browser übernommen, welcher eine Oberflächendefinition z.B. in HTML oder Swing darstellt. Dafür werden oft ASP, JSP/Servlets, oder ColdFusion verwendet. Die Geschäftslogik wird nicht selten in Geschäftsprozesse (Session Bean bei J2EE) und Geschäftsobjekte aufgeteilt (Entity Beans bei J2EE) und in einer Programmiersprache wie Java, VB.NET, C#, Perl, PHP realisiert. Für die Datenhaltung wird meist eine relationale Datenbank wie z.B. MySQL, DB2 oder MS SQL Server eingesetzt.

Inhaltsverzeichnis

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 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 Web-Browsern 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 Web-Anwendungen ist der Web-Browser der Client-Teil der Anwendung) mit

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 GMX, 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

See also: Application Server, .NET, ASP, AWT, Anwendungsprogramm, Application Server (Liste), BEA, C-Sharp, CORBA, Client