Workshop: Aplicación de Team System para desarrollos .NET y Java

En los próximos días van a tener lugar una serie de workshops organizados por Microsoft, que servirán para profundizar en los temas tratados durante las Sesiones ALM’08, las cuales tuvieron lugar el pasado 16 de Octubre en Madrid.

Tanto si tuviste ocasión de asistir a las Sesiones ALM’08 como si no lo hiciste, los ALM Workshops son una buena oportunidad para obtener un montón de información útil acerca de la gestión del ciclo de vida de las aplicaciones, y de cómo las herramientas de Team System pueden facilitarnos mucho todo el proceso.

Desde Plain Concepts vamos a colaborar con Microsoft en dos de estos Workshops. Uno de ellos lo impartirá Rodrigo el 18 de noviembre, y tratará sobre Control de proyectos con Metodologías Ágiles y Team System. Del otro me voy a encargar yo, y tratará sobre Aplicación de Team System para desarrollos .NET y Java. En él daremos una visión general de las posibilidades ofrecidas por Team System para la gestión del ciclo de vida de las aplicaciones, y veremos cómo podemos beneficiarnos de estas posibilidades incluso en organizaciones con entornos de desarrollo mixtos en los que tengamos proyectos tanto basados en tecnologías .NET como en Java. El programa completo es el siguiente:

 

alm_workshops

 

  • Uso de múltiples metodologías (CMMI, Agile, Scrum)
  • Generación de diseños con VS 2008
  • Buenas prácticas con Team System, FxCop, StyleCop
  • Integración continua en los desarrollos Software 
  • Métricas de calidad con VS 2008
  • Pruebas
  • Aplicación de políticas de Backup con VS 2008
  • Uso de Team System para gestión de proyectos Java

 

 

 

 

El workshop tendrá lugar el próximo martes 4 de noviembre, de 10:00 a 14:00 horas, en las oficinas de Microsoft Ibérica en Pozuelo (Madrid). Podéis encontrar más detalles y apuntaros en la página de registro.

Nos vemos en el workshop… un saludo!!!

TFS: Filtrado de metadatos de Work Items para clientes

En el blog de Martin Woodward podemos encontrar un excelente artículo en el que se explica la nueva funcionalidad de TFS 2008 SP1 de filtrado de metadatos de Work Items para clientes. Aparte de que nos permite conocer cómo activar y utilizar esta útil característica, podemos aprender bastante de cómo funciona un cliente de TFS y por qué pueden ocurrir ciertos problemas de rendimiento inesperados durante las consultas realizadas a TFS.

Aunque os recomiendo encarecidamente la lectura del artículo, voy a intentar hacer un resumen de lo que Martin nos explica:

  • TFS proporciona el WIT (Work Item Tracking System), el cual trabaja con metadatos de los Work Items y permite gestionar entre otras cosas el hecho de que podamos personalizar los mismos y que estos cambios se reflejen en todos los clientes
  • Los clientes de TFS (por ejemplo, Visual Studio Team Explorer, Teamprise o Team System Web Access) tienen conocimiento inmediato de cualquier cambio en los tipos de WI (por ejemplo la adición de un campo nuevo en un tipo de WI). Esto es debido a que mantienen una cache local de los metadatos de dichos WI, la cual se va actualizando en cada consulta relacionada con WI’s que se haga a TFS, mediante una comparación entre la versión de WI almacenada en la cache de cliente y la almacenada en TFS. Es decir, para cada consulta, TFS envía los datos que ha pedido el cliente y además le notifica de posibles cambios en los metadatos de los WI’s
  • El problema con todo esto es que desde TFS 2005, la cache mantenida en cliente contiene todos los metadatos correspondientes a todos los proyectos, independientemente de si el usuario tiene o no acceso a los mismos. Aparte del filtrado de información de proyectos, aparecen problemas de rendimiento y otros que limitan el número máximo de proyectos que puede manejar TFS (debido al gran tamaño de los metadatos). Un escenario posible de problemas de rendimiento consiste en que todos los clientes van a descargar todos los metadatos de todos los proyectos en diversos momentos, por ejemplo la primera vez que se conecten o después de aplicar un service pack. Os podéis imaginar la carga que eso supone sobre IIS en sitios como codeplex, o si se empiezan a conectar clientes un lunes después de un fin de semana de aplicación de un service pack
  • Con TFS 2008 SP1 se ha introducido una nueva característica, el filtrado de metadatos WIT para clientes, que nos permite especificar por configuración que cada cliente recibirá sólo los metadatos aplicables a su identificador de usuario. Con esto estamos disminuyendo significativamente la cantidad de datos que viajan desde TFS a los clientes
  • Aunque la configuración se aplica a nivel de servidor, se puede especificar qué clientes seguirán descargándose la totalidad de los metadatos (por ejemplo, esto es necesario para Team System Web Access, al que pueden conectarse usuarios con distintos identificadores). Esto se hace especificando los User Agents que queremos que se excluyan del filtrado

El modo de activar la característica de filtrado de metadatos WIT para clientes consiste en incluir algo similar a lo siguiente en la sección appSettings del web.config del nuestro servidor TFS (%ProgramFiles%Microsoft Visual Studio 2008 Team Foundation ServerWeb ServicesWorkItemTrackingweb.config):

   1: 1: <add key ="filterClientMetadata" value="true"/>
   2:  
   3: 2: <add key ="excludedUserAgents" value="WebAccess:w3wp:witfields:witimport:witexport:witadmin"/>

Creo que  las ventajas pueden ser muy grandes; habrá que activarlo y probarlo para ver si se nota en el rendimiento de nuestro TFS.

Un saludo!!!