WSS 3.0 & MOSS: SPDisposeCheck Tool!

Microsoft acaba de anunciar la disponibilidad de una nueva y excelente herramienta para facilitar el desarrollo de soluciones SharePoint. Se trata de SPDisposeCheck Tool, que basicamente permite examinar los componentes de nuestros desarrollos en SharePoint a nivel de lenguaje intermedio (IL) identificando aquellas partes que potencialmente podrían producir fugas de memoria debido a que hay objetos que no se han «disposado» de forma adecuada. Tal y como se comenta en el blog del equipo de SharePoint, el método Dispose() de los objetos SPSite y SPWeb son claves en la liberación de memoria usada por SharePoint (de tipo COM) ya que se muchas de las API’s de SharePoint hacen uso intensivo de memoria que no es liberada por el recolector de basura del CLR y se tiene que liberar por estos métodos.

Existe una serie de buenas prácticas acerca de cuando y cómo utilizar el método Dispose en este whitepater de MSDN, así como en este post de Roger Lamb.

Referencias:

Best Practices: Using Disposable Windows SharePoint Services Objects

Best Practices: Common Coding Issues When Using the SharePoint Object Model

Roger Lamb’s SharePoint Developer Blog

SSRS 2008: Creación y publicación de informes (I)!

Hace unos meses os hablaba sobre los cambios en cuanto a la creación de informes en SQL Server Reporting Services 2008 (SSRS 2008). Los ejemplos de aquellos posts estaban basados en la CTP6 de SQL Server 2008, por lo que me he decidido a actualizar aquellos artículos para que veáis como es la creación de informes con la RTM de SQL Server 2008, y con Report Builder 2.0. Dedicaré este posts y los siguientes para ir viendo algunas de las características de la creación de informes con SSRS 2008. Para los conocedores de las versiones previas de SSRS, sin duda podrá ser una decepción las pocas novedades que aparecen a la hora de crear y publicar informes con SSRS 2008…pero también os diré que los mayores cambios van por dentro en cuanto a que se ha hecho un trabajo muy duro para redefinir la arquitectura de SSRS 2008. Empecemos.

Comenzando con SSRS 2008

Lo primero que vamos a hacer es introducirnos en el entorno de diseño de informes de SSRS 2008: el Report Designer encajado en el Business Intelligence Management Studio (BI Management Studio). Para acceder al nuevo diseñador:

  • Lanzamos el BI Management Studio.
  • Creamos un nuevo proyecto de tipo Report Server Project dentro de la sección Business Intelligence Projects. Le ponemos como nombre AdventureWorksReports.

Una vez creado el proyecto, lo primero que haremos es crear un Shared Data Source. Para ello, hacemos clic con el botón derecho del ratón sobre la carpeta Shared Data Sources y pulsamos la opción Add New Data Source.

  • De este modo, se abrirá un asistente que nos irá guiando en el proceso de creación de la fuente de datos y el dataset en el que basaremos nuestro informe. En la primera pantalla del asistente especificamos los siguientes parámetros:
    • El nombre del data source: dsAdventureWorks.
    • El tipo de conexión: dejamos la que viene por defecto (Microsoft SQL Server).
image image

image

    • La cadena de conexión, que configuramos a través del botón Edit. En la misma configuraremos los siguientes parámetros:
      • Nombre del servidor: localhost.
      • Mecanismo de acceso al servidor: Wndows Authentication.
      • Base de datos: AdventureWorks.
  • Tras testear la conexión, pulsamos OK y a continuación el botón Ok del asistente.

Una vez creada la fuente de datos compartida, lo siguiente que vamos a hacer es crear un informe vinculado a esta fuente de datos:

  • Hacemos clic con el botón derecho del ratón sobre la carpeta Reports y luego seleccionaos Add -> New Item.
image image

image

  • En la pantalla que se abre elegimos un elemento de tipo Report y le damos el nombre de AdventureWorksVS2008.
  • De este modo se abrirá el diseñador de informes del BI Management Studio.
  • Para empezar a diseñar el informe, arrastramos un elemento de tipo Matrix desde la ToolBox del BI Management Studio.
image image

image

  • De este modo se abrirá una ventana que nos permitirá asociar la fuente de datos a utilizar en el informe. En nuestro caso, marcamos la opción Use data source reference y seleccionamos dsAdventureWorksVS2008. A continuación pulsamos Next.
  • A continuación se abrirá la ventana del Query Designer en la que construiremos la consulta correspondiente (es la misma que en el primer post sobre SSRS 2008).
  • Probamos la consulta para ver qué resultados produce.
  • Pulsamos Finish y ya tenemos listo el dataset para usarlo en nuestro informe.
image image

image

Diseñando el informe

Una vez que ya tenemos configurado todo lo necesario para crear un primer informe, vamos a diseñarlo:

  • Situamos el control Matrix en el centro del área de diseño utilizando el icono de manejo (icono de cuatro flechas).
  • Especificamos el área de datos a través de los nuevos smart tags contextuales que han sido añadidas a la superficie de diseño. A través de estos smart tags añadimos el campo SalesAmount en la zona Data.
  • Otra de las novedades de SSRS 2008 es la relativa a como añadir niveles de agrupación a un informe. Es tan sencillo como seleccionar el campo del dataset que vamos a utilizar y arrastrarlo a la sección Row Groups que aparece bajo la superficie de diseño del informe. Repetimos la operación añadiendo en esta ocasión el campo SubCategory, que insertaremos justo debajo de ProductCategory.
  • De la misma forma que hemos especificado el agrupamiento por filas, vamos a realizar el agrupamiento por columnas. Para ello:
    • Arrastramos el campo Region en el área Column Groups. Repetimos el proceso con el campo OrderYear.
image image

image

  • Lo siguiente que vamos a hacer es añadir Sub-Totales al informe. Para ello, seleccionamos el campo SalesAmount del control Matrix, hacemos clic con el botón derecho y seleccionamos la opción Add Total -> Row.
  • Añadimos un nuevo Sub-Total, pero a nivel de columna. Para ello, seleccionamos el campo SalesAmount del control Matrix, hacemos clic con el botón derecho y seleccionamos la opción Add Total -> Column.
  • Lo siguiente que vamos a hacer es añadir Totales al informe. Para ello, seleccionamos el campo ProductCategory del control Matrix, hacemos clic con el botón derecho y seleccionamos la opción Add Total -> After.
image image

image

  • Repetimos el proceso, pero seleccionando en esta ocasión el campo Region, hacemos clic con el botón derecho y seleccionamos la opción Add Total -> After.
  • Para finalizar el informe, utilizamos las herramientas disponibles a nivel de formato para darle un aspecto más visual.
  • Para previsualizar el informe, simplemente pulsamos la pestaña Preview.
image image

image

Publicando el informe

Una vez que hemos diseñado el informe, vamos a publicarlo en el Report Server. Para ello:

  • Nos vamos al explorador de soluciones, hacemos clic con el botón derecho del ratón en el nombre de la solución y pulsamos sobre la Properties.
  • En esta ventana especificamos:
  • A través de las opciones que nos ofrece el menú contextual de la solución, pulsamos Deploy.
  • Si no ha habido problemas, nos vamos al Report Manager (http://localhost/Reports) y comprobaremos que el informe se ha desplegado y se visualiza de manera correcta.
image image

image

Y hasta aquí llega este primer post sobre creación y publicación de informes en SSRS 2008. Espero que os haya resultado interesante.