Microsoft SQL Server 2005 Reporting Services – Part II

Implementación y administración 

Configuración de Reporting Services. Se debe implementar y mantener un Report Server existente mediante una interfaz gráfica de usuario para configurar service accounts, virtual directories, report server database, claves de cifrado e implementación de conjuntos de Web Servers.

Administrador de reportes. Se debe configurar seguridad basada en Roles y administrar el contenido del Report Server mediante el establecimiento de propiedades en orígenes de datos, reportes, carpetas, recursos y modelos de informe. Se puede configurar la ejecución de reportes y el historial del informe, y establecer límites sobre el tiempo de procesamiento (Report Execution Timeout); supervisar y cancelar reportes pendientes o en curso; y crear y administrar conexiones de orígenes de datos y programaciones independientemente de los reportes a los que están asociadas.

Integración con las tools SQL Server Management Studio, SQL Server Configuration Manager y SQL Server Surface Area Configuration. Los administradores del Report Server pueden utilizar las herramientas que se suministran con SQL Server 2005 para administrar una instalación de Reporting Services. Pueden registrar secuencias de comandos en Management Studio para reproducir tareas de mantenimiento de rutina en otros servidores de reportes.

Seguridad basada en roles. Se debe utilizar la seguridad basada en roles para controlar el acceso a carpetas, reportes y recursos. La configuración de seguridad sigue un patrón de herencia en la estructura de carpetas. Puede modificar la seguridad en cualquier rama para cambiar la definición de acceso al nivel de elemento de los usuarios.

 

Características de acceso y entrega de reportes

 

Acceso a petición mediante conexiones Web. Se puede utilizar un browser para desplazarse por una jerarquía de carpetas a fin de buscar y trabajar con reportes y otros elementos. Se puede hacer referencia a los reportes desde la lista Favoritos del Web Browser crear un vínculo desde un portal Web.

SharePoint Web Part. Reporting Services proporciona dos Web Parts para ver reportes y desplazarse por carpetas del Report Server. Se puede incrustar las Web Parts en el sitio Microsoft SharePoint Portal para integrarlas fácilmente con una implementación del Report Server.

Mis reportes y Mis suscripciones. En el Report Manager, se pueden almacenar y administrar reportes y suscripciones en un área de trabajo personal.

Suscripciones para entrega por e-mail o a recursos compartidos de archivos. Se puede entregar reportes automáticamente mediante una suscripción estándar y establecer preferencias de presentación de reportes. Los usuarios que deseen ver un informe en Microsoft Excel, por ejemplo, pueden especificar este formato en una suscripción. Se puede entregar un informe representado en una bandeja de entrada de e-mail. Para ello se deben establecer las opciones de entrega que controlan si el informe se entrega como vínculo o como datos adjuntos. Se debe entregar un informe representado en una carpeta compartida, estableciendo las opciones de entrega que controlan si el informe se sobrescribe o se agrega a una carpeta existente.

Suscripciones controladas por datos. La distribución de reportes se automatiza mediante suscripciones controladas por datos, que generan una lista de destinatarios e instrucciones de entrega en tiempo de ejecución desde un origen de datos externo. Utilizando una consulta e información de asignación de columnas para personalizar la salida del informe para un número elevado de usuarios.

 

Programación y extensibilidad 

 

Lenguaje RDL (Report Definition Language). RDL describe todos los elementos posibles de un informe mediante una gramática XML que se valida con un esquema XML. La definición de un informe concreto se basa en el lenguaje RDL y contiene instrucciones para representar el diseño en tiempo de ejecución. RDL es extensible. Puede agregar compatibilidad con elementos o características que no se encuentren en el esquema RDL existente y, a continuación, generar herramientas personalizadas y extensiones de representación de reportes para controlar las características que cree.

API de SOAP. Los métodos del Web Service del Report Server se pueden utilizar para obtener acceso mediante programación a un servidor de reportes y al servicio Web del servidor de reportes.

Acceso mediante direcciones URL. Se puede tener acceso a elementos del Report Server mediante cadenas de direcciones URL con parámetros. Todos los reportes y los elementos almacenados en un Report Server pueden tener direcciones del espacio de nombres del Report Server.

Proveedor WMI. Reporting Services incluye un proveedor de Instrumental de administración de Windows (WMI) que se puede utilizar para administrar el servicio de Windows del Report Server.

Entrega extensible, procesamiento de datos, representación, seguridad y procesamiento de reportes. Se pueden crear extensiones de entrega personalizadas para enrutar reportes a recursos compartidos de archivos, almacenes de archivo internos o aplicaciones internas. Se puede ampliar el procesamiento de datos para consultar, convertir o transformar datos procedentes de nuevos tipos de orígenes de datos. Se puede crear extensiones de representación personalizadas para admitir la representación de reportes con formatos de aplicación o formatos orientados a Web que no se proporcionan con el producto. Se puede generar o integrar una extensión de seguridad que proporcione una alternativa al modelo de autenticación de Windows.

Arquitectura del SQL Server Reporting Server

SQL Server Reporting Services es un conjunto de componentes de procesamiento, herramientas e interfaces de programación que permiten el desarrollo y la utilización de reportes completos en un entorno administrado. El conjunto de herramientas incluye herramientas de desarrollo, de configuración y de administración así como herramientas de visualización de reportes. Las interfaces de programación incluyen el protocolo simple de acceso a objetos (SOAP), los extremos de direcciones URL e Instrumental de administración de Windows (WMI), para permitir una fácil integración con aplicaciones y portales nuevos o existentes. 

El procesamiento se distribuye en múltiples componentes. Para recuperar datos, procesar el diseño de los reportes, representar los formatos de presentación y entregar en destinos específicos se utilizan procesadores centralizados y especializados. El procesamiento de una presentación tiene lugar después de recuperar los datos y es independiente del procesamiento de los datos, lo que permite a diversos usuarios consultar el mismo informe simultáneamente en formatos diseñados para distintos servicios o cambiar inmediatamente el formato de visualización del informe, de HTML a PDF, a Microsoft Excel o a XML, con un solo clic. La arquitectura modular se ha diseñado para permitir ampliaciones. Los programadores pueden incluir funciones de reportes en aplicaciones personalizadas o ampliar la funcionalidad para hacerla compatible con características personalizadas.

El diagrama siguiente muestra los componentes y las herramientas de Reporting Services. El diagrama también muestra cómo se adaptan las herramientas personalizadas al diseño global. Presenta el flujo de solicitudes y datos entre componentes del servidor y los componentes que envían y recuperan contenido de un almacén de datos.

Diagrama de la arquitectura de Reporting Services

SSRS_architecture
 

El Report Server se implementa como un servicio de Microsoft Windows y como un servicio Web que proporciona una infraestructura de procesamiento optimizada y en paralelo para el procesamiento y la representación de reportes. El servicio Web presenta un conjunto de interfaces de programación que las aplicaciones cliente pueden utilizar para obtener acceso a servidores de reportes. El servicio de Windows proporciona servicios de inicialización, programación y entrega, así como mantenimiento del servidor. Los servicios funcionan conjuntamente y constituyen una única instancia del servidor de reportes.

A través de sus subcomponentes, el Report Server procesa solicitudes de reportes y permite que los reportes estén disponibles para el acceso a petición o la distribución programada. Los subcomponentes del Report Server incluyen procesadores y extensiones. Los procesadores son el concentrador del Report Server. Los procesadores admiten la integridad del sistema de reportes y no se pueden modificar ni ampliar. Las extensiones también son procesadores, pero realizan funciones muy específicas. Reporting Services incluye una o varias extensiones predeterminadas para cada tipo de extensión que se admite. Los programadores de otros fabricantes pueden crear extensiones adicionales para reemplazar o ampliar la capacidad de procesamiento del Report Server.

Procesadores

El Report Server incluye dos procesadores que realizan el procesamiento de reportes previo e intermedio, así como operaciones programadas y de entrega. El Procesador de reportes recupera la definición o el modelo de informe, combina información de diseño con datos de la extensión de procesamiento de datos y representa el informe en el formato solicitado. El Procesador de entrega y programación procesa reportes desencadenados a partir de una programación y los entrega a destinos.

Almacenamiento de datos

El Report Server es un servidor sin estado que almacena todas las propiedades, los objetos y los metadatos en una base de datos de SQL Server. Los datos almacenados incluyen reportes publicados, modelos de informe y la jerarquía de carpetas que proporciona el direccionamiento de todos los elementos que administra el servidor de reportes. Una base de datos del servidor de reportes puede proporcionar almacenamiento interno para una única instalación de Reporting Services o para varios servidores de reportes que formen parte de la implementación escalada.

Extensiones

Un Report Server requiere al menos una extensión de autenticación, una extensión de procesamiento de datos y una extensión de representación. Las extensiones de procesamiento de reportes personalizadas y de entregas son opcionales, pero necesarias si desea admitir controles personalizados o de distribución de reportes

Ø  Extensiones de seguridad

Las extensiones de seguridad se utilizan para autenticar y autorizar usuarios y grupos para un Report Server. La extensión de seguridad predeterminada se basa en la autenticación de Windows. También se puede crear una extensión de seguridad personalizada para reemplazar la seguridad predeterminada si el modelo de implementación requiere un enfoque de autenticación diferente (por ejemplo, si se requiere autenticación basada en formularios para la implementación de Internet o extranet). Sólo puede utilizarse una extensión de seguridad en una única instalación de Reporting Services. Se puede reemplazar la extensión de seguridad de autenticación predeterminada de Windows, pero no utilizarla junto con una extensión de seguridad personalizada.

Ø  Extensiones de procesamiento de datos

Las extensiones de procesamiento de datos se utilizan para consultar un origen de datos. Y cuando esto sucede, devuelven un conjunto de filas planas. Reporting Services utiliza diferentes extensiones para interactuar con distintos tipos de orígenes de datos. Se puede utilizar las extensiones que se incluyen en Reporting Services o desarrollar extensiones propias. Se proporcionan extensiones de procesamiento de datos para orígenes de datos ODBC, SQL Server, Analysis Services, Oracle y OLE DB. Reporting Services puede utilizar también cualquier proveedor de datos de ADO.NET. Las extensiones de procesamiento de datos procesan las solicitudes de consulta del Procesador de reportes.

Ø  Extensiones de representación

Las extensiones de representación convierten los datos y la información de diseño del Procesador de reportes en el formato específico de un dispositivo. Reporting Services incluye seis extensiones de representación: HTML, Excel, CSV, XML, imagen y PDF.

Ø  Extensiones de procesamiento de reportes

Se pueden agregar extensiones de procesamiento de reportes para proporcionar un procesamiento de reportes personalizado para los elementos de informe que no se incluyen en Reporting Services. De forma predeterminada, un servidor de reportes puede procesar tablas, gráficos, matrices, listas, cuadros de texto, imágenes. Si desea agregar características especiales a un informe que requiere un procesamiento personalizado durante la ejecución de informe (por ejemplo, si desea incrustar una asignación de Microsoft MapPoint), puede crear una extensión de procesamiento de reportes para hacerlo.

Ø  Extensiones de entrega

Reporting Services contiene una extensión de entrega por E-mail y una extensión de entrega a recursos compartidos de archivos. La extensión de entrega por e-mail envía un mensaje mediante el Protocolo simple de transferencia de correo (SMTP) que contenga el informe o un vínculo de dirección URL al informe. La extensión de entrega a recursos compartidos de archivos guarda reportes en una carpeta compartida en la red. Se puede especificar la ubicación, el formato de representación, el nombre de archivo y las opciones de sobrescritura del archivo que se crea. También puede utilizar la entrega a recursos compartidos de archivos para archivar reportes representados y como parte de una estrategia de trabajo con reportes de gran tamaño. Las extensiones de entrega funcionan conjuntamente con las suscripciones. Cuando un usuario crea una suscripción, elige una de las extensiones de entrega disponibles para determinar cómo se entrega el informe.

Integración con SQL Server 2005

SQL Server 2005 Reporting Services ofrece dos modelos de implementación:

ü  Una implementación estándar consiste en una instancia de Report Server que utiliza un motor de base de datos de SQL Server local o remoto para alojar la base de datos del Report Server. Se puede utilizar SQL Server 2000 o SQL Server 2005 para alojar la base de datos del Report Server.

ü  Una implementación escalada consiste en varios Report Servers que comparten una sola base de datos del servidor de reportes. La base de datos se puede instalar en una instancia remota de SQL Server o localmente en uno de los Report Servers. La instancia de SQL Server que aloja la base de datos del Report Server puede ser parte de un clúster de conmutación por error.

 

 

Implementación estándar

El siguiente diagrama muestra el modelo de implementación estándar, con la base de datos de servidor de reportes ubicada en un servidor remoto. También puede instalarla localmente para que todos los componentes de servidor estén en el mismo equipo.

SSRS_Impl_estandar

Las principales consideraciones al elegir dónde alojar la base de datos del servidor de reportes son:

ü  Recursos de procesamiento

ü  Disponibilidad de espacio en disco

 

El servidor de reportes y el motor de base de datos compiten por recursos de procesamiento como el tiempo de CPU, la memoria y el acceso al disco. Algunas operaciones de servidor de reportes consumen gran cantidad de recursos. Por ejemplo, un servidor de reportes intenta utilizar toda la memoria disponible para operaciones de representación de reportes. La competición por los recursos de procesamiento se puede reducir si el servidor de reportes se ejecuta en un equipo independiente.

Los requisitos de espacio en disco del servidor de reportes son la segunda razón por la que se debe utilizar un motor de base de datos de SQL Server remoto para almacenar datos del servidor de reportes. Aunque el volumen de una base de datos de servidor de reportes puede ser reducido al principio, los requisitos de espacio en disco pueden aumentar notablemente en tiempo de ejecución en función de cómo ejecute los reportes y del número de usuarios que tengan acceso al servidor de reportes. 

 

Implementación escalada

Se puede implementar Reporting Services de forma escalada para crear una instalación de Report Server altamente disponible y escalable. Configurar una implementación escalada también puede ser de utilidad si se desea mejorar el rendimiento de las operaciones programadas y la entrega de suscripciones. Una implementación escalada de Report Server consta de varios servidores de reportes que comparten una sola base de datos de servidor de reportes. Cada Report Server de la implementación se denomina nodo. Los nodos participan en la implementación escalada si el Report Server se configura para utilizar la misma base de datos que otro Report Server.

Es posible equilibrar la carga de los nodos de servidor para admitir un gran volumen de reportes. Asimismo, la base de datos del servidor de reportes se puede crear en un clúster de conmutación por error si es necesario cumplir requisitos de alta disponibilidad.

Entre las configuraciones de clúster que no se admiten se encuentra la implementación de una instalación de servidor de reportes completa, es decir, un servidor de reportes y su base de datos, en cada nodo de un clúster de varios nodos. Concretamente, no se puede implementar Reporting Services en un clúster de dos nodos formado por un nodo activo y un nodo pasivo que se utiliza cuando se produce un error en el nodo activo

El siguiente diagrama muestra varios servidores de reportes y bases de datos de servidor de reportes implementados en clústeres de servidores distintos.

SSRS_Impl_escalada

Crear una base de datos de servidor de reportes

Reporting Services utiliza dos bases de datos relacionales de SQL Server para almacenar metadatos y objetos de servidor de reportes. Una base de datos se utiliza para el almacenamiento principal y la otra para almacenar datos temporales. Las bases de datos se crean juntas y se enlazan mediante el nombre. De manera predeterminada, las bases de datos se denominan reportserver y reportservertempdb. Colectivamente, ambas se conocen como "base de datos del servidor de reportes" o "catálogo del servidor de reportes". Para alojar las bases de datos se puede utilizar SQL Server 2000 o SQL Server 2005.

Para crear la base de datos de servidor de reportes en un equipo remoto es preciso que se configure la conexión para utilizar una cuenta de usuario de dominio o una cuenta de servicio que tenga acceso a la red. Si se decide utilizar una instancia de SQL Server remota, considérese detenidamente qué credenciales debe utilizar el servidor de reportes para conectarse a dicha instancia.

No debe escribir aplicaciones que ejecuten consultas en la base de datos del servidor de reportes. La base de datos del servidor de reportes no es un esquema público. La estructura de tablas puede cambiar de una versión a la siguiente. Si se escribe una aplicación que necesita acceso a la base de datos del servidor de reportes, se debe utilizar las API de Reporting Services para obtener acceso.

El servidor de reportes y la instancia de SQL Server que aloja la base de datos del servidor de reportes pueden estar en dominios diferentes. Para la implementación en Internet, la práctica más común es utilizar un servidor que esté detrás de un firewall. Si se va a configurar un servidor de reportes para acceso a Internet, se debe utilizar credenciales de SQL Server para conectarse a la instancia de SQL Server que esté detrás del firewall y utilizar IPSEC para proteger la conexión.

Jonnathan De La Barra Hot

About justindeveloper

I am MCP (Microsoft Certified Professional). MCTS (Microsoft Certified Technology Specialist) and MCPD (Microsoft Certified Professional Developer), also I am SAP Business One Certified!! Desarrollando desde el IDE de Visual Studio NET 2003 hasta ahora con el Visual Studio NET 2010. Desde Microsoft SQL Server 2000 hasta ahora con el Microsoft SQL Server 2008 R2 y tambien con SharePoint, desde WSS 3.0 y MOSS 2007 y ahora familirizandome con el Sharepoint Foundation 2010 & Sharepoint Server 2010. The software development will follow being every time more wonderful!
This entry was posted in Business Intelligence. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s