Aplikační server (a nejen podle Java EE) je pro enterprase aplikace obrazně řečeno zhruba totéž, co operační systém pro "normální" aplikace. Čili poskytuje běhové prostředí pro třeba EJB či všelijaké jiné entity, komponenty atd. (které se opět obecně, nejen Java EE, mohou nazývat různě), ty samy o sobě totiž spustit nepůjdou.
Dále může poskytovat různé další služby, např. management VM a monitoring. Typicky poskytuje prostředky a rozhraní pro deployment, tzn. instalaci, spouštění a zastavování aplikací. Může spravovat uživatelská oprávnění, přičemž aplikace se o to pak nemusí starat. Totéž platí o správě DB připojení - aplikace jen používá existující data source a nestará se o jeho konfiguraci (naopak konkrétní DB dotazy, které mohou být implementovány jak přímo, tak prostřednictvím JPA, Hibernate atd. jsou záležitostí aplikace a nikoliv aplikačního serveru). Může sloužit jako servletový kontejner - opět, aplikace řeší jen konkrétní implementaci nějakého servletu, neřeší ale, jak jej spustit, jak jej zpřístupnit přes HTTP(S) atd. Některé aplikační servery mohou poskytovat i portálové rozhraní, což je ještě vyšší abstrakce než servlety, dále třeba podporu pro integraci procesů atd. atd. Na co jsem ještě zapomněl?
Stručně řečeno, aplikační server umožňuje aplikaci samotné soustředit se na business logiku, přičemž on sám jí zajistí to, co by se jinak muselo psát tisíckrát znova pro každou samostatnou aplikaci (a tisíckrát špatně, anebo přinejlepším by se jen znovu vynalézalo kolo).