Gereksinimlerinizin ne olduğuna bağlıdır. Çok sayıda küçük göreve bağlı yüksek performanslı, düşük gecikmeli bir çözüme ihtiyacınız varsa, açıkladığınız şeye benzer bir yapıya sahip olabilirsiniz. Java, PHP ve C # 'da en yaygın çözümler buna varsayılan değildir.
Çoğu web uygulaması veritabanlarına çok bağlıdır - çoğu o kadar çok ki sayfalar en az bir çağrı olmadan işlenemez. Açıkçası, birkaç nedenden dolayı veritabanınızı herkese açık olarak göstermek istemezsiniz:
- (Aynı Güvenlik Oded bahseder) - kesinlikle yok değil alenen ağınızı maruz istiyorum! İdeal olarak, sistemlerinizin dışarıdan tek arayüzü sunucunuza https olmalıdır.
- Geliştirme kolaylığı - gerçekten, gerçekten , gerçekten Javascript'te SQL yazmak istemiyorsunuz ve web sunumu için tasarlanmış diller RDB'lerle iyi çalışmıyor. Örneğin devlet kavramları yok.
Yani, bir veritabanına ihtiyacınız olduğunda, Java, C #, PHP, vb.Gibi onlarla iyi oynayan dilleri kullanırsınız. ancak JSP ve ASP diğer çok yaygın dillerdir). Dil, diğer modüllere çağrıda bulunan yapılar sağlar. PHP'de bu genellikle sayfada veya MVC kalıbı kullanılarak başka bir PHP dosyasında bulunur. JSP'de komut dosyaları veya JSP İfade Dili kullanırsınız. Bu diğer modüller, DB'ye bağlanma, mantık gerçekleştirme ve görünüm katmanınıza değerler döndürme gibi yoğun bir iş yapabilir. Sonuç, sunucuda oluşturulan ve istemciye gönderilen oluşturulan bir HTML sayfasıdır.
Veritabanınız sayfa oluşturucunuzla aynı ağda olduğunda, daha iyi performans elde edersiniz. İstemcinin yalnızca bir istekte bulunması ve bir sayfa alması gerekir; kullanıcının ihtiyaç duyduğu tüm bilgilere sahip olmadan önce 10-15 DB isteği yapmanız gerekebilir. İstemcinin tümünü yapması gerekiyorsa, ağınızdaki milisaniye gecikme süresi saniyeler ila dakikalar arasında olacaktır.
Sistemler büyüdükçe, endişelerin ve temel yetkinliklerin ayrılması çok önemli hale gelir. HTML görüntüleme için iyidir. Javascript, dinamik içerik için iyidir. SQL bir veritabanını sorgulamak için mükemmeldir ve diğer diller iş mantığında iyidir. Geliştiriciler olarak görevimiz, sürdürülebilir bir sistem oluşturmak için elimizdeki tüm araçları kullanmaktır. Geliştirme kolaylığı, iyi bir sistemin büyük bir parçasıdır. Aklımda, neredeyse performans ve kullanılabilirlik kadar önemli. Büyük sistemler zamanla gelişir. Kötü sistemler başlangıçtan itibaren kötü yazılmıştır ve hiçbir zaman iyileştirilmemiştir.