Мы планируем предоставить услугу (веб-сайт или нет, но это уже другое обсуждение) для предоставления данных о показателях кампании SEM. Разработчик предлагает, чтобы потребитель позвонил в службу, а мы предоставили только дельту с момента последнего вызова. Это означает, что при каждом вызове мы сохраняем инициатора запроса и метку времени вызова, чтобы при следующем вызове мы предоставляли только те данные, которые не были «использованы». Насколько я понимаю, мне не очень нравится этот вариант, и я хотел бы высказать свое мнение по этому поводу.

Это действительно хорошая практика? Разве вызывающий абонент не должен управлять данными, которые он хочет получить, предлагая ввод с помощью фильтров даты? Является ли это приемлемой практикой SOA?

Спасибо.

1
Boogieman 23 Мар 2016 в 19:14
Никто не комментирует это ??
 – 
Boogieman
28 Мар 2016 в 05:51

1 ответ

Лучший ответ

Боюсь, что не будет правильного или неправильного способа сделать это. Вы могли даже иметь и то, и другое.

Если клиента можно идентифицировать, можно отслеживать последнюю позицию. Это позволит клиенту не отслеживать позицию.

С другой стороны, если клиент запрашивает, какие данные ему нужны, он может снова начать с позиции 0, если возникнет необходимость или потребуется другой поток обработки.

В любом случае вы, вероятно, захотите ограничить количество ответов, так как ваш сервер может зависнуть, если клиент запускается с позиции 0, а вам нужно вернуть миллион записей :)

Однако я бы предпочел, чтобы клиент обрабатывал запрос.

0
Eben Roux 31 Мар 2016 в 07:20
Спасибо, что нашли время высказать свое мнение.
 – 
Boogieman
30 Мар 2016 в 23:09