Uygulama sunucuları kullanıcıların Web tarayıcıları gibi grafiksel arabirimler üzerinden ağ üzerinde konumlanan uygulamaları kullanabilmelerini sağlayan sunuculardır.
Uygulama sunucuları veritabanı bilgilerini (genellikle bir veritabanı sunucusundan gelen) ve son kullanıcı ya da istemci programı (genellikle Web tarayacısı üzerinde çalışan) ile bağlarlar. Bu bağlantı arasında orta oyuncunun bulunmasının çeşitli nedenleri bulunuyor. Bu nedenler arasında istemci programlarının karmaşıklıklarını azaltmak ve boyutlarını düşürmek, daha iyi performans için veri akışını belleklemek ve kontrol etmek, hem kullanıcı hem de veri trafiği için güvenlik sağlamak yer alıyor
Uygulama sunucularının ilk zamanlarında uygulamaların kendilerinin çok büyük ve karmaşık (hem yazımı hem de bakımı) bir hale gelmeye başladıkları anlaşıldı. Aynı anda uygulamaların verilerinin ve bazen işlevselliklerinin daha fazla paylaşılması konusundaki baskı da artmaya başladı. Sonuç olarak ağ üzerinde konumlanan ya da ağları kullanan uygulamalar zamanla artmaya başladı. Ağ üzerinde bulunan ve uygulama yeteneklerinin paylaşılabilmesini sağlayan programlar insanlara mantıklı geldi. Ağ üzerinde bulunan ya da ağları kullanan uygulamaların yazımı, yönetimi ve bakımı da oldukça kolaydı.
Bu düşüncelerin sonucu olarak ortaya uygulama sunucuları ortaya çıktı. Uygulama sunucuları ilk başlarda genelde yerel ağlar ve istemci/sunucu ortamlarında görülmeye başlandı. Başlangıçta uygulama sunucuları katmanlı uygulamalarla ilişkilendirildiler. İki katmanlı (veritabanı ve istemci programı), üç katmanlı (veritabanı, istemci programı ve uygulama sunucusu) ya da n katmanlı (yukarıda sayılanlara eklenebilecek diğer özelliklerin tamamı) uygulamalar ortaya çıktı. Bununla birlikte bu oldukça karmaşık bir uygulama geliştirme modeliydi ve implementasyonları büyük ölçüde kısıtladı. Ardından World Wide Web ortaya çıktı. Web uygulama geliştirimi için üç katmanlı (veritabanı, istemci yazılımı ve Web sunucusu) bir ortam sunuyor. Bu ortamda verilerin yönetimi ve uygulama işlevselliği daha iyi program tasarımı için çok büyük önem taşıyor.Diğer yandan birçok şirket hala uygulama sunucularının rolünü tam olarak anlayabilmiş değil. Üreticiler bu konuda farklı şeyler yapma konusunda hiçbir çaba göstermiyorlar.
Uygulama sunucularının gerçekten çok farklı rolleri bulunuyor ve tüm şirketlerin işlevsellik ihtiyaçları aynı değil. Ölçeklenebilirlik bunun oldukça iyi bir örneği. Bazı şirketler sadece uygulama sunucusunun uygulamalarını Web üzerinden organize edebilmelerini sağlamasını istiyorlar. Böylelikle verilerini daha kolay izleyebiliyorlar ve verilerini daha güvenli bir hale getirebiliyorlar. Bunu yaparken binlerce sunucuya ihtiyaç duymuyorlar. Büyük şirketlerin ölçeklenebilirlik ihtiyaçları çok daha farklı.
Bu şirketler binlerce sunucuyu yönetme ihtiyacı duyabiliyorlar. Bu şirketler açısından uygulama sunucularının ölçeklenebilmesi hayati önem taşıyor. Bazı uygulama sunucuları ölçeklenebilirlik özelliğine odaklanırken bazıları diğer konulara odaklanabiliyorlar.Uygulama sunucusu seçerken dikkat edilmesi gereken noktalar arasında güvenlik, ölçeklenebilirlik, iş mantığı yönetimi ya da veritabanı bağlanılabilirliği yer alıyor.Uygulama sunucularındaki en önemli karmaşıklıklardan birisi farklı programlama rejimlerine ait olmaları. Tamamı olmasa da büyük bir bölümü Java dilinde yazılmışlar. Bazı uygulama sunucuları Microsoft’a yakınken bazıları değiller. Aradaki açıklık CORBA ve Microsoft COM+ desteğinde iyice büyüyor. Bu yüzden uygulama sunucularını seçerken programlama tercihlerinin çok iyi gözden geçirilmesi gerekiyor.
- BEA WebLogic Server
- Bluestone Sapphire/Web
- Borland AppServer
- ColdFusion
- Delano e-Business Interaction Suite
- Galileo
- Ganjo
- HahtSite
- Intertop
- Lotus Domino
- NetDynamics
- Netscape
- Oracle
- Orion Server
- PowerTier for EJB
- SilverStream
- Sybase Enterprise Server
- Tango 2000
- Total-e-Server
- Versata Business Logic Server
- Vision Business Logic Server
- WebApp Server
- WebObjects
- WebSphere
En Çok Yıldız Alan Uygulama Sunucuları Tablosu için Tıklayınız.