¿Necesito un Report Server?
Una pregunta con la que me he encontrado ya en varias ocasiones es si es necesario tener un Report Server para poder usar informes en una aplicación .NET.
La respuesta es sencilla; no.
Visual Studio dispone de un control llamado ReportViewer que permite visualizar informes en dos modos; en modo local y en modo servidor. El modo local permite carga un fichero RDL desde un recurso local de la aplicación, sin necesidad de instalar ningún servidor adicional. El modo servidor permite acceder a un informe que se encuentre en un servidor de reportes y ser visualizado en la aplicación.
Sencillo....pero ¿ cuál debo usar ? ¿ Cuál es mejor ? Pues depende, ya que cada método tiene sus ventajas e inconvenientes.
Report Server
Ventajas
-
Rendimiento. El servidor de reportes tienes características interesantes desde el punto de vista de rendimiento, como es el cacheado de informes y la posibilidad de generar snapshots de informes generados previamente.
-
Escalabilidad. Es muy fácil de escalar añadiendo más servidores.
-
Administración. Se pueden administrar todos los aspectos relacionados con los informes; subscripciones, envío automático de informes, gestión de la seguridad....
Inconvenientes:
Modo local
Ventajas
-
Simplicidad. No necesita una infraestructura adicional de servidores. El despliegue es más simple. Sólo hay que distribuir los ficheros RDL junto con la aplicación.
-
Reducción del coste. No hay costes adicionales en licencias ni en hardware.
Inconvenientes
-
Menor rendimiento. No se pueden usar las características de cacheo o de generación de snapshots.
-
Menor flexibilidad. No hay subscripciones, no hay posibilidad de administración centralizada..
