Использование отчетов на стороне клиента и отчетов на стороне сервера? - PullRequest
4 голосов
/ 26 сентября 2008

Когда мы используем отчеты на стороне клиента и когда мы используем отчеты на стороне сервера?

Какая отчетность является наилучшей практикой (клиент / сервер)?

Это относится к отчетам SSRS.

Ответы [ 4 ]

3 голосов
/ 26 сентября 2008

Ну ... отчеты на стороне клиента, которые вы будете использовать, если у вас есть что-то вроде клиента winforms, который вы не можете гарантировать, будут иметь постоянный доступ к источнику данных. Он может иметь набор данных, кэшированных на стороне клиента, о которых вам необходимо сообщить, даже если соединение с сервером недоступно.

Отчеты на стороне сервера, которые вы будете использовать в сценарии, когда вам нужно либо упростить распространение и развертывание отчетов, так как вы просто развертываете отчеты в одном месте, и каждый может получить к ним доступ. Это сводится к тому, что сервер всегда должен быть доступен для подключения

2 голосов
/ 26 сентября 2008

Отчеты на стороне клиента также удобны, когда у вас есть клиент, собирающий данные из самых разных источников. У нас есть собственное корпоративное приложение, которое вызывает внутренние службы для получения данных из финансовой отчетности, а также из нашей отдельной производственной базы данных, и объединяет их в один набор данных, который он передает элементу управления ReportViewer.

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

1 голос
/ 27 сентября 2008

Клиентская отчетность сайта

Если выполняется одно из следующих условий, вам следует использовать отчеты сайта клиента:

  • Если у вас есть данные только на клиенте, а не в сети или на сервере. Это в основном верно для настольных приложений.
  • Нет сервера (Домашние системы).

Сервер отчетов сайта

Если выполняется одно из следующих условий, вам следует использовать отчеты сайта сервера:

  • Данные находятся на сервере или в статическом месте в сети.
  • У вас есть только тонкие клиенты.
  • Отчетность должна быть запланирована.
  • Стоимость лицензии для одного сервера меньше, чем для многих настольных систем.
  • Шаблоны отчетов являются общими и могут часто меняться.
0 голосов
/ 03 февраля 2015

Это зависит от того, что вы называете «сервер» в этом случае. Поскольку вы упоминаете SSRS, я предполагаю, что вы рассматриваете базу данных (SQL Server) как сервер.

Все зависит от структуры приложения / проекта и требований. Если у вас есть база данных, которая также содержит бизнес-логику (процедуры хранения), и вы просто хотите запрашивать данные и отображать / экспортировать их, тогда SSRS вам пригодится.

Однако, если у вас есть веб-приложение с вашим постоянным слоем (базой данных), которое просто хранит информацию и обеспечивает ее согласованность, но тогда ваша бизнес-логика находится, например, в веб-API (то есть: проект RESTful API), который запрашивает / поддерживает данные базы данных (CRUD) и добавляет некоторую логику, а затем ответы на HTTP-запросы с запрошенными результатами / информацией (например, с помощью JSON) в расширенный интерфейс, затем я бы добавил функциональность создания отчетов на стороне клиента (интерфейс) ) например, с помощью библиотеки Javascript, выполняемой в браузере, которая может отображать извлеченные данные любым способом, она может экспортировать их в DOC, Excel, отправлять по электронной почте и т. д.

Разделение задач для типичного веб-приложения:

  • персистентный слой (база данных) для хранения информации и гарантии согласованности
  • бизнес-уровень (Back-end RESTful API) для выполнения всех умных задач с ресурсами, вычислениями, аутентификацией, авторизацией для каждого HTTP-запроса.
  • Богатый внешний интерфейс (Javascript + HTML + CSS) для взаимодействия с пользователем и запроса / отображения информации для внутреннего интерфейса. Как часть задачи отображения информации , этот интерфейс также будет генерировать отчеты.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...