У меня есть существующее веб-приложение asp.net, которое я перепроектирую для использования сервисной архитектуры.У меня есть начало службы WCF, которую я могу вызывать и выполнять функции без проблем.Что касается обновления данных, все это имеет смысл.Например, у меня есть кнопка с надписью Submit Order, она отправляет данные в сервис, который выполняет обработку.
Вот мое беспокойство: если у меня есть страница ASP.NET, которая показывает мне список заказов (страница «Просмотр заказов»), а вверху у меня есть куча выпадающих списков для типов заказов и другой поисккритерии, которые заполняются путем запроса различных таблиц из базы данных (таблицы поиска и т. д.).Я надеюсь в конечном итоге полностью отделить веб-приложение от БД и использовать контракты данных для передачи информации между BLL, SOA и веб-приложением.С учетом сказанного, как я могу уменьшить количество вызовов WCF, необходимых для загрузки моей страницы «Просмотр заказов»?Мне нужно было бы сделать 1 вызов, чтобы получить список заказов, и 1 вызов для каждого раскрывающегося списка и т. Д., Поскольку они заполняются отдельными функциями в моем BLL.
Это хорошая архитектура для создания метода веб-службы, который возвращает специализированный контракт данных, который состоит из всего, что вам нужно для отображения страницы просмотра заказов, в 1 выстрел?Примерно такой псевдокод:
public class ViewOrderPageDTO
{
public OrderDTO[] Orders { get; set; }
public OrderTypesDTO[] OrderTypes { get; set; }
public OrderStatusesDTO[] OrderStatuses { get; set; }
public CustomerListDTO[] CustomerList { get; set; }
}
Или в событии page_load лучше делать 5, 6 или даже 15 отдельных вызовов SOA для получения данных, необходимых для загрузки страницы?Поэтому, обходя необходимость в специализированных методах wcf или DTO, которые объединяют другие DTO?
Спасибо за ваш вклад и предложения.