versiones servidor services reportes reporte proyecto licencia informes generador editar crear caracteristicas archivo sql-server reporting-services reporting

sql-server - servidor - reporting services versiones



¿Uso de informes del lado del cliente vs. informes del lado del servidor? (4)

¿Cuándo usamos los informes del lado del cliente y cuándo usamos los informes del lado del servidor?

¿Qué informes son las mejores prácticas (cliente / servidor)?

Esto se refiere a los informes de SSRS.


Informes del sitio del cliente

Si uno de los siguientes es verdadero, entonces debe usar los informes del sitio del cliente:

  • Si tiene los datos solo en el cliente y no en la red o en el servidor. Esto es principalmente cierto para aplicaciones de escritorio.
  • No hay servidor (sistemas domésticos).

Informe del sitio del servidor

Si uno de los siguientes es verdadero, entonces debe usar los informes del sitio del servidor:

  • Los datos están en el servidor o en un lugar estático en la red.
  • Solo tienes clientes delgados
  • La información debe ser programada.
  • El costo de licencia para un solo servidor es menor que para muchas instalaciones de escritorio.
  • Las plantillas de informes se comparten y pueden cambiar con frecuencia.

Bueno ... informe del lado del cliente que utilizaría si tiene algo así como un cliente de winforms que no puede garantizar tendrá acceso constante a la fuente de datos. Puede tener un conjunto de datos almacenados en caché en el lado del cliente sobre el que debe informar, incluso si la conexión al servidor no está disponible.

Informe del lado del servidor que usaría en el escenario en el que necesita simplificar la distribución e implementación del informe a medida que despliega los informes en un solo lugar y todos pueden acceder a ellos. Esto tiene la desventaja de que siempre se requiere una conexión disponible para el servidor


Los informes del lado del cliente también son útiles cuando tiene un cliente que recopila datos de fuentes muy diferentes. Contamos con una aplicación corporativa interna que llama a los servicios internos para obtener datos de las finanzas, así como nuestra base de datos de producción separada, y los combina en un solo conjunto de datos que pasa a un control ReportViewer.

Desde un punto de vista estético, es agradable integrar los informes en una aplicación para que el usuario no sienta que abandonan la aplicación para imprimir o exportar los datos de la aplicación.


Depende de lo que llame "servidor" en este caso. Como mencionas SSRS, supongo que consideras la base de datos (SQL Server) como el servidor.

Todo depende de la estructura y los requisitos de la aplicación / proyecto. Si tiene una base de datos que también contiene la lógica de negocios (procedimientos de almacenamiento) y simplemente desea consultar datos y mostrarlos / exportarlos, entonces SSRS es útil.

Sin embargo, si tiene una aplicación web con su capa de persistencia (base de datos) que simplemente almacena información y garantiza que la información es coherente, su lógica comercial es, por ejemplo, en una API web (es decir, un proyecto API RESTful) que consulta / mantiene el datos de base de datos (CRUD) y agrega un poco de lógica y luego respuestas a las solicitudes HTTP con los resultados / información solicitada (es decir, con JSON) a un front end rico, luego agregaría funcionalidad de informes en el lado del cliente (front end) con ejemplo, una biblioteca Javascript ejecutada en el navegador que puede mostrar los datos recuperados de cualquier forma, puede exportarlo a un DOC, Excel, correo electrónico, etc.

Separación de inquietudes para una aplicación web típica:

  • capa de persistencia (base de datos) para almacenar información y garantizar la coherencia
  • business layer (Back-end RESTful API) para hacer todas las cosas inteligentes sobre los recursos, cálculos, autenticación, autorización para cada solicitud HTTP.
  • Rich front-end (Javascript + HTML + CSS) para interactuar con el usuario y solicitar / mostrar información al back-end. Como parte de la preocupación de mostrar información , este front-end también generaría informes.