Der Begriff Application-Server ist mehr eine Marketingbezeichnung (Buzzword) als ein einheitliches technisches Konzept. In der Regel wird darunter eine Server-Softwareumgebung verstanden, die zumindest ein Subset der folgenden Punkte abdeckt:
- es ist ein Anschluss an einen Webserver über CGI, NSAPI oder ISAPI vorhanden,
- es wird eine Vielzahl an modernen Kommunikationsmöglichkeiten (HTTP, CORBA, RMI, Enterprise Java Beans, DCOM, ...) sowohl in Richtung Client als auch in Richtung Backend beherrscht,
- es können Datenbanken angesprochen werden (über JDBC, ODBC oder native Treiber),
- es sind Transaktionssysteme einbindbar (CICS, OTM, ...),
- es werden verschiedene Präsentationsarten in den Clients unterstützt (HTML, DHTML, XML, Java-Applets, ActiveX, Fat-Clients, ...),
- es gibt eine Modularisationskonzept für Serverbestandteile,
- es gibt Konzepte für eine Modularisierung der Serverbestandteile (Enterprise JavaBeans, CORBA, Servlets, ...),
- es werden Security-, Naming-, Logging- und andere betriebsrelevante Teilsysteme bereitgestellt oder angebunden,
- es existieren Möglichkeiten, den Server in redundanten und lastverteilenden Konfigurationen zu betreiben, um Ausfallsicherheit und Skalierbarkeit zu gewährleisten,
- es wird eine integrierte Entwicklung der Bestandteile unterstützt.
Es existiert eine Vielzahl solcher Systeme, die je nach Herkunft (Web-Enabler für Datenbanken, Transaktionssystem oder verteilte Objektkommunikation) in verschiedenen Teilgebieten ihre Stärken und Schwächen haben. Für die nächsten Jahre wird eine Konzentration des Anbietermarktes auf wenige "global player" erwartet.