В основном я хочу соединить несколько вызовов с сервера на базу данных, но только с одним вызовом от клиента ... да, я знаю, что это самоубийство из-за стоимости, но, к сожалению, необходимо: (
Основы: Итак, я абстрагируюсь от этого для высокоуровневого проектирования моих «серверов» (игнорируйте тот факт, что я оставил протоколы и брандмауэры, пожалуйста ... намеренно) Это то, что я хочу реализовать, чтобы обеспечить авторизациюпочти пуленепробиваемые (не аутентификация):
1) Пользователь делает вызов: (КЛИЕНТ КОНЕЧНОГО ПОЛЬЗОВАТЕЛЯ) ---> (вызов) -> (сервер)
2) Серверпреобразует вызов для поиска таблицы полномочий с доступом пользователей: (EUCLIENT) ---> (вызов) -> (сервер) (module1: получает аутентификацию для пользователя) -> (dbserver)
3) Сервер БД возвращает данные: (EUCLIENT) ---> (вызов) -> (сервер) (module1) <---- return --- (dbserver) </p>
4) Теперь применяется другой модульэтот auth и добавляет его в качестве фильтра для вновь созданного запроса поверх пользовательского запроса: (EUCLIENT) ---> (call) -> (server) (module2: == новый запрос ==)
5) Наконец, модуль отправляет завершенный запрос в db sesrver в последний раз: (EUCLIENT) ---> (call) -> (server) (module3) -call ----> (dbserver)
6) БД отправляет ответ, сервер отправляет ответ пользователю: ----------------------- (сервер) (module3) <- return ---- (dbserver) (EUCLIENT) <--- return <- (server) (module4) </p>
Вопрос :Можно ли выполнить 2-кратный запрос по всем запросам БД всего одним вызовом со стороны клиента? (Я знаю, что это требует затрат времени туда-обратно при выполнении 2 вызовов, но у меня есть свои причины :) И наконец, какие глаголы мне нужно использовать в модуле 2или 3, чтобы сделать так, чтобы звонок оставался открытым, это просто обратный вызов?
большое спасибо за ваше заранее время Алекс
Я пробовал связующее ПО chainig, но это очень ранние стадии иценю любую помощь ... не хочу спускаться по кроличьей норе, если невозможно вернуться!