Ми розробляємо API REST, який, серед інших, буде використовуватися в інтерфейсі HTML5 через JavaScript. Додаток призначений для використання в організації та зазвичай має близько 300 користувачів, але ми хочемо масштабувати масштаб до 1000 користувачів.
Зазвичай підключення до API буде здійснюватися в межах локальної мережі, тому якість та затримка з'єднання будуть хорошими, хоча не виключається випадкове використання через Інтернет, де з'єднання можуть бути повільнішими та з більшим запізненням через 3G / 4G.
Ми думали два варіанти:
Фронтенд здійснить кілька одночасних асинхронних дзвінків в API для завантаження різних компонентів інтерфейсу.
- Плюси: простота
- Мінуси: більше підключень до сервера.
Контролер інтерфейсу здійснює один виклик API, передаючи його як параметри, об'єкти яких потрібно отримати.
- Плюси: Лише одне підключення до сервера, хоча сервер зробить кілька підключень до бази даних.
- Мінуси: Потрібні механізми як в інтерфейсі, так і в API. Це ускладнює дизайн.
Подальші пояснення: Існуватимуть різні ресурси ... / Продукт ... / Місцеположення тощо. Ці ресурси можуть бути отримані поодинці, але буде ще один абстрактний ресурс ... / екран? Продукт і локації, які отримають обидва в одному дзвінку.