Las posibles causas del embarazoy como evitarlo... con SharePoint
Fabian [email protected]
Gustavo [email protected]
Introducción
Problemas con SharePoint ligados a su
Ciclo de Vida– Especificaciones
– Diseño
– Desarrollo
– Pruebas
– Gobierno
El Ciclo de Vida de SharePoint
Especificaciones(menos problemas teniendo en cuenta que...)
SharePoint no es solo
.NET (de proyectos
pensándolos como desarrollos
convencionales)
SharePoint no es un
paquete mas(de analistas de negocio con
desconocimiento de la
plataforma)
SharePoint tiene
sus particularidades (de casos de uso sin
contemplar las
características provistas por
SharePoint)
SharePoint no es la Panacea (de los responsables del negocio con
vendas en los ojos al no conocer la
potencia/puntos flacos de la plataforma)
Diseño(evitará problemas si...)
KISS SharePoint (prevenga arquitecturas
complejas, reescribiendo
servicios provistos, por falta de
conocimiento)
Conoce a
SharePoint (no se base en SharePoint
como si fuera una caja
negra)
Usa a SharePoint (con todas sus interfaces y
UI, contemple la usabilidad
de la plataforma) Re-usa a SharePoint (prevenga los componentes de
Software con poca o nula
interoperabilidad de la plataforma)
Desarrollo (puede producir algunos [muchos] problemas)
Uso Apropiado del
Modelo de Objetos
Herramientas de
Desarrollo
Logging
Desarrollo – Uso apropiado del MO(destruya objetos para tener menos problemas)
• Loops vs. Queries
• Memory leaks, “using” y destruyendo objetos– El DOM de SharePoint (SPSite y SPWeb) utilizan clases
no administradas para realizar su trabajo
– Dispose, como método de destrucción de los objetos creados
– Using, para la creación de bloques que ejecutarán una rutina y destruirán los objetos automáticamente
– CAML y LINQ como lenguajes de consulta de datos en SharePoint
– SharePoint Dispose Checker Tool
– Ejemplo
Desarrollo -
Desarrollo – Herramientas(herramientas ayudan con problemas... y además son divertidas)
El Developers Dashboard
Herramientas de Visual
Studio 2010 (Análisis de Código, Métricas)
Dispose Checker Tool(http://archive.msdn.microsoft.com/SPDisposeCheck)
Community tools (montones... Codeplex)
• SharePoint Log Viewer (http://sharepointlogviewer.codeplex.com/)
• SharePoint Manager (http://spm.codeplex.com/)
• Reflector
Cada loco con su tema... Al final, use las herramientas que le
provoque, pero úselas !!! (y buena suerte...)
Desarrollo – Logging(si hay problemas, regístrelos)
• Registro de errores en el log de
SharePoint (http://msdn.microsoft.com/en-
us/library/ee535537.aspx)
• Creación de proveedores propios
de loggeo (demo)
• “The SharePoint Logger” (Patterns &
Practices)
• Supervisión en la Central Admin (y
creación de proveedores propios) (demo)
Pruebas(problemas siempre hay... solo hay que
descubrirlos...)
• Prevenga problemas haciendo Pruebas de carga(asegurar que el sistema funciona)
– Visual Studio 2010 (versión Ultimate)
– Muchas otras herramientas comerciales (y no comerciales)
• Prevenga problemas haciendo Pruebas de seguridad (asegurar que la aplicación no se pueda atacar)
• Unit Test (?) (no se puede con SP? Pex & Moles?)
• Test Driven Development (TDD) (no se puede con SP?)
Gobierno / Operaciones(si después de todo tiene problemas... échele la culpa a otro)
Sin Gobierno Caos
Sin Operaciones No
sistema
Patrocinadores
Platino
Oro
Plata
Recuerde completar
la evaluaciòn de la charla