Це залежить від ваших вимог. Якщо вам потрібно рішення високої продуктивності та низької затримки, яке залежить від безлічі дрібних завдань, ви можете перейти зі структурою, подібною до того, що ви описуєте. Найбільш поширені рішення в Java, PHP та C # не замовчують це.
Більшість веб-додатків дуже сильно залежать від баз даних - більшість з них настільки сильно, що сторінки не могли відображатися без хоча б одного дзвінка. Очевидно, ви не хочете відкривати свою базу даних публічно з кількох причин:
- Безпека (як згадує Оден ) - ви точно не хочете відкривати свою мережу публічно! В ідеалі єдиним інтерфейсом для вашої системи ззовні повинен бути https до вашого сервера.
- Простота розробки - ви дійсно, дійсно , дійсно не хочете писати SQL в Javascript, і мови , призначені для веб - презентації не дуже добре працювати з РБД. Наприклад, у них немає поняття держави.
Отже, коли вам потрібна база даних, ви використовуєте мови, які добре грають з ними, як Java, C #, PHP тощо. Найпростішим способом створення сторінки виявляється такий: Ви використовуєте мову шаблонів (найбільш відомий PHP але JSP і ASP - це дві інші дуже поширені мови) для створення сторінки. Мова надає конструкції, які викликають інші модулі. У PHP це зазвичай на сторінці або в іншому файлі PHP, використовуючи шаблон MVC. У JSP ви використовуєте сценарії або мову вираження JSP. Ці інші модулі можуть виконувати важку роботу з підключенням до БД, виконанням логіки та поверненням значень до рівня перегляду. Кінцевим результатом є генерована HTML-сторінка, виведена на сервері та відправлена клієнту.
Коли ваша база даних знаходиться в тій самій мережі, що й рендерінг сторінки, ви також отримуєте кращу ефективність. Клієнт повинен зробити лише один запит і отримати сторінку - можливо, вам доведеться зробити 10-15 запитів БД, перш ніж мати всю інформацію, яка потрібна користувачеві. Затримка мілісекунд у вашій мережі склала б секунди до хвилини, якби клієнт повинен був їх виконати.
Коли системи зростають, розділення проблем та основних компетенцій стає вирішальним. HTML хороший для відображення. Javascript хороший для динамічного контенту. SQL чудово підходить для запитів до бази даних, а інші мови корисні для логіки бізнесу. Наша робота як розробників - використовувати всі доступні нам інструменти для побудови ремонтованої системи. Простота розвитку - це величезна частина хорошої системи. На мій погляд, це майже так само важливо, як продуктивність та зручність використання. З часом розвиваються чудові системи. Погані системи були написані погано з самого початку і ніколи не вдосконалювалися.