Um einem Client in einem Netzwerk Software zur Verfügung zu stellen, ist ein Ap­pli­ca­ti­on Server oder An­wen­dungs­ser­ver gerade aus Si­cher­heits- und Kom­pa­ti­bi­li­täts­grün­den eine gute Wahl. Mögliche Nachteile eines An­wen­dungs­ser­vers sind u. a. die Mehr­kos­ten und die gra­vie­ren­de­ren Aus­wir­kun­gen von Bugs oder anderen Problemen.

Was ist ein Ap­pli­ca­ti­on Server?

In immer größeren Systemen benötigt man durch­dach­te Lösungen, die das Da­ten­auf­kom­men schultern, dabei dennoch die ge­wünsch­te Ge­schwin­dig­keit bei­be­hal­ten und das Zu­griffs­auf­kom­men bedienen. In einem Client-Server-Netzwerk kann ein Ap­pli­ca­ti­on Server eine solche Lösung sein. Dieser be­her­bergt in der Regel un­ter­schied­li­che An­wen­dungs­pro­gram­me und stellt diese den ver­schie­de­nen Clients zur Verfügung. Dafür nutzt er die ser­ver­sei­ti­ge Ge­schäfts­lo­gik, um dy­na­mi­sche Inhalte zu ge­ne­rie­ren und an einen Client aus­zu­spie­len. Typische Beispiele für Software, die auf einem solchen An­wen­dungs­ser­ver zu finden ist, sind u. a. Office-Programme, Adress­ver­wal­tung, Fir­men­ka­len­der oder der Zugriff auf Da­ten­ban­ken. Auch sensible Prozesse wie Trans­ak­tio­nen oder Au­then­ti­fi­zie­run­gen können über einen Ap­pli­ca­ti­on Server durch­ge­führt werden.

Tipp

Mehr In­for­ma­tio­nen zum „Client-Server-Modell“ finden Sie in einem separaten Artikel.

Welche Ei­gen­schaf­ten haben An­wen­dungs­ser­ver?

Ap­pli­ca­ti­on Server bieten ver­schie­de­ne Ei­gen­schaf­ten, die Abläufe ver­ein­fa­chen und ver­bes­sern sollen. Dabei un­ter­schei­det man zwischen ex­pli­zi­ten und im­pli­zi­ten Merkmalen. Hinzu kommen weitere Merkmale, die je nach Art des An­wen­dungs­ser­vers mehr oder weniger aus­ge­prägt sind. Zu den ge­mein­sa­men Ei­gen­schaf­ten gehören al­ler­dings die folgenden:

Explizite Ei­gen­schaf­ten

  • Kapselung von Da­ten­quel­len
  • Schnitt­stel­len zu anderen hö­her­wer­ti­gen Diensten
  • Asyn­chro­ne Kom­mu­ni­ka­ti­on
  • Erhaltung der Per­sis­tenz
  • Ver­zeich­nis­diens­te
  • Standards für die Anbindung von Da­ten­ban­ken

Implizite Ei­gen­schaf­ten

Durch die Ver­wen­dung eines Systems mit An­wen­dungs­ser­ver entstehen einige implizite Ei­gen­schaf­ten, die im besten Fall Vorteile für alle Nut­ze­rin­nen und Nutzer bedeuten. Dazu gehören etwa:

  • Bessere Ska­lier­bar­keit ohne zu­sätz­li­che Mo­di­fi­ka­ti­on der einzelnen An­wen­dun­gen
  • Mo­ni­to­ring
  • Logging-Funk­tio­nen
  • Optionen für die Ka­li­brie­rung
  • Ma­nage­ment der Laufzeit
  • Software Lifecycle Ma­nage­ment durch Patches, Upgrade, Delivery und De­ploy­ment

Wie funk­tio­niert ein Ap­pli­ca­ti­on Server?

Um die generelle Funk­ti­ons­wei­se eines Ap­pli­ca­ti­on Servers besser zu verstehen, lohnt sich ein Blick auf seine Plat­zie­rung innerhalb eines Netzwerks. Er rangiert zwischen den einzelnen Clients und der Datenbank. So erhält er HTTP-Anfragen und be­ant­wor­tet diese, kann dabei selbst aber auch so­ge­nann­te Servlet-Requests stellen und die ent­spre­chen­den Responses ver­ar­bei­ten. Dies ist einer der Haupt­un­ter­schie­de zwischen An­wen­dungs­ser­ver und Webserver. Wie sich die beiden Modelle darüber hinaus un­ter­schei­den, haben wir in unserem Vergleich Webserver vs. Ap­pli­ca­ti­on Server her­aus­ge­ar­bei­tet. Die typische Funk­ti­ons­wei­se eines An­wen­dungs­ser­vers zusammen mit einem Webserver sieht in der Regel fol­gen­der­ma­ßen aus:

  1. Eine Nutzerin oder ein Nutzer möchte eine Website besuchen. Dafür öffnet die Person einen Browser und steuert diese Website an.
  2. Die HTTP-Anfrage wird an den Webserver gesendet. Dieser ver­ar­bei­tet die Anfrage und gibt dem Client die an­ge­frag­te Website zurück. Das funk­tio­niert, solange es sich um statische Anfragen handelt.
  3. Will der Client statt­des­sen ein in­ter­ak­ti­ves Tool nutzen, ist das Prozedere zwar zunächst grund­sätz­lich identisch, der Webserver gibt die Antwort aber nicht direkt aus, sondern leitet die Anfrage an den Ap­pli­ca­ti­on Server weiter.
  4. Dieser An­wen­dungs­ser­ver empfängt die HTTP-Request und wandelt sie in eine Servlet-Anfrage um.
  5. Diese leitet er an die Datenbank weiter.
  6. Der Datenbank-Server be­ar­bei­tet die Anfrage und sendet eine Servlet-Response zurück an den Ap­pli­ca­ti­on Server.
  7. Im letzten Schritt sendet der An­wen­dungs­ser­ver das Servlet-Format an den Webserver. Dieser wandelt die Antwort in HTTP um und stellt sie dem Client zur Verfügung.
Tipp

Die maß­ge­schnei­der­te Lösung für Ihre Ansprüche: Wenn Sie bei IONOS einen Server mieten, haben Sie die Auswahl zwischen VPS-, Cloud- oder Dedicated Server. Pro­fi­tie­ren Sie von Re­chen­zen­tren in Deutsch­land, einfacher Ein­rich­tung und per­sön­li­cher Beratung!

Welche Vor- und Nachteile gibt es durch Ap­pli­ca­ti­on Server?

Wenn Sie über den Einsatz eines Ap­pli­ca­ti­on Servers nach­den­ken, lohnt sich ein Blick auf die Vor- und Nachteile der Lösung. Diese finden Sie hier:

Vorteile Nachteile
Größere Kom­pa­ti­bi­li­tät Höhere Kosten
Mehr Si­cher­heit Mögliche Ver­zö­ge­run­gen
Bessere Per­for­mance Kom­pli­zier­te­re Pro­gram­mie­rung
Ein­fa­che­re Kon­fi­gu­ra­ti­on Höherer Res­sour­cen­ver­brauch
Höhere Ska­lier­bar­keit und Fle­xi­bi­li­tät Schwie­ri­ge­re Pro­blem­lö­sung

Welche Vorteile bieten Ap­pli­ca­ti­on Server?

Ein An­wen­dungs­ser­ver bietet zahl­rei­che Vorteile. Dazu gehören diese:

Kom­pa­ti­bi­li­tät

Indem Sie einen Ap­pli­ca­ti­on Server innerhalb Ihres Netzwerks in­stal­lie­ren, stellen Sie sicher, dass sämtliche Clients immer mit denselben Versionen einer Software arbeiten. Dadurch sind alle aus­ge­tausch­ten und hin­ter­leg­ten Daten mit­ein­an­der kom­pa­ti­bel. Wenn Sie auf einen An­wen­dungs­ser­ver ver­zich­ten, kann es vorkommen, dass Probleme durch fehlende Updates oder veraltete Software entstehen.

Si­cher­heit

Auch aus Si­cher­heits­grün­den kann die Im­ple­men­tie­rung eines Ap­pli­ca­ti­on Servers von Vorteil sein. Dieser ver­hin­dert bei­spiels­wei­se, dass es zwischen einer Website und der eigenen Datenbank zu einer direkten Ver­bin­dung kommt. Angriffe mit Schad­soft­ware wie SQL-Injection-Pro­gram­men können so in vielen Fällen ver­hin­dert werden.

Per­for­mance

Durch An­wen­dungs­ser­ver wird häufig die gesamte Per­for­mance ver­bes­sert. Ins­be­son­de­re für große und/oder häufig genutzte Software kann diese mit einem Ap­pli­ca­ti­on Server ge­stei­gert werden. Auch die Ska­lie­rungs­mög­lich­kei­ten tragen zur Ver­bes­se­rung der Per­for­mance bei und können die Zugriffe auf die Datenbank bündeln und kon­trol­lie­ren.

Kon­fi­gu­ra­ti­on

Die Zen­tra­li­sie­rung über einen Ap­pli­ca­ti­on Server ver­ein­facht auch die Kon­fi­gu­ra­ti­on, da diese nicht auf jedem einzelnen Gerät durch­ge­führt werden muss. Das spart Zeit und wertvolle Res­sour­cen.

Ska­lier­bar­keit

Durch die zahl­rei­chen Ver­bin­dungs­mög­lich­kei­ten mit der Datenbank ist eine höhere Ska­lier­bar­keit möglich. Das sorgt auch bei Nut­ze­rin­nen und Nutzer für eine höhere Fle­xi­bi­li­tät.

Welche Nachteile haben An­wen­dungs­ser­ver?

Al­ler­dings gibt es auch einige Nachteile, die durch den Einsatz eines Ap­pli­ca­ti­on Servers entstehen können. Hierbei sind vor allem die folgenden zu nennen:

Mehr­kos­ten

In­stal­la­ti­on und Wartung eines An­wen­dungs­ser­vers kosten Geld und Zeit. Sie sollten daher im Vorfeld genau überlegen, ob die Im­ple­men­tie­rung für Ihre Zwecke notwendig ist. Ist das der Fall, dürften auch die Kosten insgesamt gut angelegt sein.

Mögliche Delays

Während der Im­ple­men­tie­rung eines An­wen­dungs­ser­vers kann es zu Ver­zö­ge­run­gen kommen. Das gilt ins­be­son­de­re dann, wenn die In­stal­la­ti­on hinter einer Firewall durch­ge­führt wird.

An­spruchs­vol­le­res Coding

Auch die An­for­de­run­gen, die an die Pro­gram­mie­rung gestellt werden, sind bei einem An­wen­dungs­ser­ver höher. Ein wenig Erfahrung und Vorwissen sind daher vor­teil­haft.

Band­brei­te

Gerade wenn mehrere große An­wen­dun­gen gleich­zei­tig verwendet werden und viele Nut­ze­rin­nen und Nutzer auf diese zugreifen, kann sich das negativ auf die Ge­schwin­dig­keit und die gesamte Per­for­mance auswirken.

Aus­wir­kun­gen von Problemen und Bugs

Durch die Bündelung, die ei­gent­lich ein großer Vorteil des Ap­pli­ca­ti­on Servers ist, fallen auch Probleme oder Bugs ungleich stärker ins Gewicht. Da zahl­rei­che Clients von einer Quelle abhängig sind, betreffen Probleme mit einer Software direkt mehrere Teil­neh­mer und Teil­neh­me­rin­nen. Auch die Lösung ist häufig ein wenig kom­pli­zier­ter.

Was sind Beispiele für Ap­pli­ca­ti­on Server?

Es gibt zahl­rei­che ver­schie­de­ne Ap­pli­ca­ti­on Server von un­ter­schied­li­chen Anbietern. Zu den be­kann­tes­ten und be­lieb­tes­ten Modellen gehören folgende:

  • Apache Geronimo: Nutzbar mit Java EE
  • Apache Tomcat: Für Servlets und Ja­va­Ser­ver Pages (JSP)
  • Cold­Fu­si­on: Der älteste Ap­pli­ca­ti­on Server
  • GlassFish: Open-Source-Lösung für Java EE
  • Jetty: Servlet- und JSP-Container
  • Resin: Für Java und PHP5
  • WEBrick: Eine Lösung, die auf Ruby basiert
  • Zope: Ein Ap­pli­ca­ti­on Server, der auf Python basiert
Zum Hauptmenü