Jorge Dieguez Blog

Tecnologías de colaboración

SharePoint ¿es un buen framework?

sharepoint-thumb

Tengo ciertas dificultades en plantear este post. Este tema lo he hablado últimamente con varias personas y creo que tengo cierta sintonía en cuanto a el sentimiento que quiero transmitir aquí.

Desde hace tiempo estoy desarrollando soluciones de empresa basados en la tecnología SharePoint.

Desde el punto de vista de negocio, SharePoint ofrece un entorno basado en componentes , homogéneo, fácil y muy adecuado para soluciones Intrenet.

Desde el punto de vista técnico es una extensión de .NET y ASP.NET. Con una clara orientación a construir aplicaciones compuestas.

businessportalsa
El desarrollo con SharePoint es básicamente desarrollar con tecnología .NET y utilizando un rico marco de trabajo que facilita y potencia el desarrollo de soluciones colaborativas y de Intranet, las herramientas son las mismas que en el desarrollo de ASP.NET, contando además con SharePointDesigner.


Supuestamente un equipo de desarrollo ASP.NET debería de poder abordar proyectos en SharePoint siendo igual o más productivos que con ASP.NET sin SharePoint.
En teoría SharePoint debería ser un facilitador de desarrollar mejor y más rápido(esto es lo que intento cuando planteo SharePoint como tecnología base).

Esto en la realidad no está sucediendo así, he tenido varias experiencias, con distintas empresas(proveedoras) y normalmente el desarrollo es menos rápido y tiene muchísimas más dificultades. Con SharePoint el desarrollo cuesta más(es solo mi experiencia)!

¿Cual es el problema? ¿Faltan personas con  conocimiento?¿Herramientas? ¿Cuales son vuestras experiencias?

Por mi parte sigo pensando que SharePoint es una buena base para el desarrollo. Seguiré buscando la respuesta a mis dudas:-)

Posted: 26/6/2008 8:28 por Jorge Dieguez | con 12 comment(s) |
Comparte este post:

Comentarios

Juan Carlos González Martín ha opinado:

Hola Jorge,

En mi opinión, la afirmación "Supuestamente un equipo de desarrollo ASP.NET debería de poder abordar proyectos en SharePoint siendo igual o más productivos que con ASP.NET sin SharePoint.

En teoría SharePoint debería ser un facilitador de desarrollar mejor y más rápido", creo que precisamente "supuestamente" es la mejor palabrar para explicar los motivos por los que el desarrollo es menos rápido y más dificultoso...en mi opinión, desarrollar en SharePoint ahora mismo es más duro y costoso que desarrollar una aplicación ASP.NET más que nada porque no tienes las mismas ayudas y pautas que tienes con ASP.NET aunque la base tecnológica sea la misma...a esto le tienes que añadir que lo que desarrollas para SharePoint tienes que hacerlo funcionar luego en SharePoint (desplegar ensamblados en la GAC, features y ese tipo de cosas ;))...y si además tienes en cuenta todos los temas de persoanlización, el que tienes distintas posibilidades a la hora de abordar el desarrollo, que en SharePoint, como nos ha contado Gustavo Vélez, se unen varias tecnologías....etc etc...puedes tener una explicación de por qué ahora mismo cuesta más desarrollar en plataforma SharePoint que en ASP.NET.

Un saludo

JC's

# June 26, 2008 9:04 AM

Gustavo Velez ha opinado:

Hola Jorge y Juan Carlos,

Como es un tema intrigante, me atrevo a meter la cucharada. Lo primero que me llama la atención en tu comentario es que directamente vas a SharePoint como plataforma de desarrollo. Para mí, primero es un sistema para almacenar información y ponerla a disposición de los usuarios, y luego vamos al desarrollo. Si lo miras así, SharePoint es un sistema completo (autenticación, autorización, infraestructura para guardar datos, motor de búsqueda, etc, etc, etc) que esta a tu disposición en menos de media hora, y que es prácticamente gratis en el caso de WSS; si intentas hacer lo mismo programándolo tu mismo, te garantizo que te va a costar más de la media hora, y probablemente no va a tener todo lo que SharePoint te ofrece. Por este lado, SharePoint es mucho más rápido y barato que programación propia...

Y ahora viéndolo como plataforma de desarrollo, si haces la suma de lo que te costaría programar lo que SharePoint te proporciona gratis y por nada (lo mismo de arriba, autorización, autenticación, etc), además de tu aplicación misma, me atrevería a asegurar que desarrollo con SharePoint es mas rápido y barato que ponerse a escribir renglones de código... dejando de lado el hecho de que con SharePoint sabes de entrada que le puedes poner 100.000 usuarios al sistema sin ningún problema, y que la "base" está probada y requeteprobada... Imagínate el tiempo y dinero que te va a costar diseñar la arquitectura y hacer todas las pruebas de calidad y de carga en un sistema equivalente programada por ti mismo, además del riesgo que corres de que al final no funcione como debería...  por lo menos es mi experiencia cotidiana, que como sabes, es implementar sistemas de estos por todos lados...

En un punto tengo la tendencia a estar de acuerdo con los dos: SharePoint no es un producto fácil "de agarrar", ni para usuarios ni para programadores, lo que hace que de entrada produzca algo de resistencia. Pero una vez los usuarios le encuentran la gracia al programita y empiezan a usarlo cotidianamente, se envician y no quieren dejar de usarlo. Y cuando los programadores le encuentran el truco al asunto, todo va mucho más fácil también. Ten en cuenta que en nuestro mundo hispanohablante apenas se está empezando a entrar en programación en serio de SharePoint: hasta no hace mucho (digamos dos años), no existía absolutamente nada de información al respecto en nuestro idioma, y las preguntas que veías en los grupos de noticias se reducían a utilización y configuración. Los últimos tiempos se está empezando a ver más información técnica en sitios y blogs y más preguntas técnicas en los grupos de noticias, lo que indica que la cosa esta empezando a funcionar. Pero de todas maneras, vamos con un retraso de tres o cuatro años con respecto al resto del mundo...

Un saludo,

Gustavo

# June 26, 2008 9:44 AM

Jorge Dieguez ha opinado:

Hola Gustavo, tengo absolutamente y de forma total asumido todo lo que dices en cuanto lo que aporta Sharepoint tanto como producto(sobre todo Wss) como Marco de trabajo para desarrollar soluciones.

De la misma forma tengo clarisimo el coste que puede suponer desarrollar todo lo que viene ya en el producto. Y justamente por estas dos cosas me surge el problema, la lucha interna, veo todas las ventajas pero cuando planteo un proyecto no me salen las cuentas:-(

Pero si sigo creyendo que con un contexto de mercado adecuado y mas maduro la cosa será mucho mejor. Y sigo pensando que para plantear determinadas soluciones mejor partir con SharePoint.

# June 26, 2008 10:28 AM

Mario Cortés Flores ha opinado:

Hola Jorge, yo creo que Sharepoint no es una plataforma de desarrollo en sí misma, lo veo más como una como "un plataforma de información empresarial". Sharepoint es una plataforma para la colaboración de procesos empresariales y para la colaboración entre personas.

Es una solución unificada, que aumenta la eficacia de la organización.

     Plataforma para los distintos sistemas que intervienen en los procesos TI.

     La información y el conocimiento se comparte de manera intuitiva.

     Control y reutilización de elementos y contenidos.

     Rápido desarrollo y publicación.

En cuanto al desarrollo Sharepoint, creo no lo facilita, necesitas programadores con cierto conocimiento técnico. El verdadero valor de sharepoint es que proporciona una herramienta a los distintos departamentos de TI para organizar y gestionar su información. Conseguir que la gente deje de utilizar el mail para compartir archivos hoy en día es un gran paso para muchas empresas.

Solo un comentario respecto a que Wss3 es gratuito. Wss3 es necesariamente gratis, ya escribí sobre esto en   mariocortesflores.blogspot.com/.../sharepoint-services-3-es-gratuito.html

# June 26, 2008 11:11 AM

Manelon ha opinado:

Yo juraría que el Sharepoint es básicamente un gestor documental (con un montón de opciones eso si). Desarrollar para Sharepoint es mucho más complejo que en ASP.Net necesitas conocer en profundidad las dos etcnologías para poder realizar con éxito una aplicación.

# June 26, 2008 3:56 PM

Juan Mestas ha opinado:

Hola Jorge,

Ya hace un tiempo ando metido desarrollando proyectos con MOSS, tal como cuentas las primeras experiencias al extender la plataforma no son las mas agradables. Pero una vez cubierto el downtime, puedes hacer uso de diferentes herramientas para el trabajo repetitivo, como el de instalar los features, crear, instlar o activar STP's o WSP's

Estimado Gustavo y Mario, esta claro que Sharepoint nos provee de una arquitectura escalable y un modelo ya probado y aprobado para el desarrollo de soluciones basadas en Portales, pero tambien es muy cierto que en el 90% (por no decir el 100%), de proyectos con Sharepoint, necesitan ser extendidos a traves de programacion. Las caracteristicas OTB de Sharepoint, no satisfacen todos los escenarios.

En mi humilde opinion, muy de acuerdo contigo

# June 26, 2008 5:22 PM

Daniel Pérez ha opinado:

Llevo un mes programando con SharePoint. Puedo resumir mi experiencia en este mes como una relación de amor-odio llevada al límite. Hay momentos en los que lo amo mucho, y hay momentos en los que lo odio muchísimo.

El concepto y la forma me gusta bastante, pero veo muchas lagunas, lagunas que no llego a creerme que existan. No sé como poder implantar un sitio en un entorno de producción si no es “a mano”. Echo en falta el “publicar” de Visual Studio para ASP.NET. También me parece bastante malo el funcionamiento de Office SharePoint Designer, el tener que trabajar con la aplicación “On-line”, sin tener tu copia en local, sin poder usar Windows XP, teniendo que tener una máquina virtual con Server 2003…

Programo en ASP.NET (web y escritorio) y muchas cosas las acabo haciendo en C# y ASP.NET con controles de usuarios gracias a SmartWebPart.

Y para terminar, no hay prácticamente nada de documentación en español, no hay ningún libro en condiciones que explique desde cero como desarrollar una aplicación, desde que la creas en desarrollo y la implantas en producción.

# June 26, 2008 8:32 PM

Jorge Dieguez ha opinado:

Hola Daniel, el despliegue o "publicación" en realidad no es un asunto tan complejo como pueda parecer. Hay varias herramientas que te pueden ayudar en esto, la más inmediata que te recomiendo utilizar las extensiones de Visual Studio para SarePoint:

Para VS2005

www.microsoft.com/.../details.aspx

Para VS2008

www.microsoft.com/.../details.aspx

También te recomiendo revisar los Hands on Labs for Developing Applications on Windows SharePoint Services 3.0 que te explican cómo crear distintas piezas de SharePoint con VS y las extensiones para WSS.

Otro gran recurso para repleto de ejemplos (con scripts de despliegue desde VS) son los proyectos de ejemplo que puedes encontrar en la página de Ted Pattion:

tedpattison.net/downloads.aspx

En fin, esto es lo "extraño", actualmente recursos no faltan!, las tareas y herramientas de desarrollo sigue siendo las de ASP.NET pero luego si te planteas un proyecto las horas que te salen so mucho mayores que en un proyecto de ASP.NET.

# June 27, 2008 7:42 AM

Daniel Pérez ha opinado:

Gracias Jorge. Lo probaré a ver si me ayuda un poco más. Lo que me da más pena es que parece demasiado enrevesado, se podría descargar a Visual Studio, trabajar cómodamente y cuando se desee, click y toda la solución para arriba. Pero bueno, veremos a ver que ocurre.

# June 27, 2008 9:16 AM

Juan Carlos González Martín ha opinado:

Hola a todos,

Interesantes vuestros comentarios y aportaciones...me gustaría añadir uno más relacionado con el último comentario de Daniel...los tiros en futuras versiones de SharePoint (el año que viene habrá novedades...y hasta aquí puedo leer) van a ir en esa línea, en facilitar desde Visual Studio la creación y despliegue de elementos propios de SharePoint.

Un saludo

JC's

# June 27, 2008 2:43 PM

Daniel Pérez ha opinado:

Pues tienen mucho que hacer Juan Carlos.

# June 27, 2008 2:57 PM