SharePoint 2010: Microsoft Dynamics CRM, Better together (es-ES)
Este artículo es también está disponible aquí en elblogdeDynamicsCRM.com!. |
Microsoft Dynamics CRM 2011, la última versión de la suite de Customer Relationship Managament desarrollada por Microsoft ha sido recientemente liberada al mercado en sus tres formas de distribución: online (‘cloud crm’), on-premise y hosted.
En cada uno de estos ‘sabores’ incluye la capacidad de integrarse nativamente con Microsoft SharePoint 2010, tanto con Sharepoint Server (versión licenciada) como con Sharepoint Foundation (versión free), así como Sharepoint Online 2010.
Es decir, hoy podemos ofrecerles a nuestros clientes una solución corporativa de CRM (ventas, marketing, servicios) + una plataforma de gestión documental y colaboración tanto on-premise como en la nube (‘cloud’) o híbrida con una experiencia de usuario totalmente consistente.
Desde mi humilde punto de vista, la integración nativa Dynamics CRM + Sharepoint responde a dos estímulos principales:
- Esta capacidad ha sido uno de los requerimientos más aclamados por clientes y ISVs (sobre todo los que ya disponían Sharepoint y luego agregaron CRM). En números, alrededor del 60% de las implementaciones de CRM involucran Sharepoint también.
- Porque combinados, ambos productos, brindan una plataforma escalable y extensible de colaboración, integración, gestión del conocimiento, administración de relaciones de negocio, ventas, marketing y servicios que cubren un alto espectro de las necesidades de cualquier negocio.
Una de las principales fortalezas de Dynamics CRM es la capacidad de tener una vista global de cada cliente, es decir, una vista de 360 grados donde el usuario posicionado sobre un cliente es capaz de conocer y tener acceso rápidamente a cada una de las actividades, oportunidades comerciales, presupuestos, ordenes, facturas, servicios, contratos, etc. relacionados con el mismo.
**
Ilustración 0‑1 Concepto de vista del cliente de 360 grados en Dynamics CRM**
Con la posibilidad de integrar Sharepoint, ahora también desde el mismo CRM se pueden acceder y trabajar con todos los documentos relacionados con un cliente, aprovechando las capacidades de control, administración, versionado y centralización ya conocidas de Sharepoint.
Un ejemplo concreto de lo anterior es cuando desde CRM trabajamos con oportunidades comerciales relacionadas a un cliente y esas oportunidades incluyen documentos y versiones de éstos, como lo son propuestas, cotizaciones, especificaciones, etc. Ahora es posible tener acceso a toda esta información centralizada y consistentemente sin tener que desarrollar o escribir código alguno.
De todas maneras, también existen confusiones sobre cuando aplica una plataforma o la otra, así como algunas dualidades. Intentaré en los siguientes párrafos explicar cuáles son las fortalezas de cada plataforma, como se complementan y por qué es común verlas operando conjuntamente en muchos clientes.
Cuáles son las fortalezas de cada producto y como se complementan?
Para entender cómo se complementan ambos productos es importante tener en claro primeramente cuales son las áreas de fortalezas de cada uno y que escenarios típicos de negocio resuelven eficientemente cada uno. La siguiente tabla, resume esta información:
Áreas de fortalezas |
Escenarios típicos |
|
Sharepoint |
|
|
Dynamics CRM |
[entidades, formularios, vistas, reportes]
|
[típicamente solo expuesto internamente]
Como plataforma de desarrollo (‘xRM’): soluciones basadas en bases de datos relacionales para verticales, típicamente en las áreas de
|
En sintonía con la tabla anterior y de acuerdo a lo que provee cada producto, algunas diferencias concretas que podemos puntualizar es con los elementos que trabajamos con cada producto. Por nombrar a algunos:
En Sharepoint trabajamos con… |
En Dynamics CRM trabajamos con… |
Documentos Listas Sitios Páginas web Contenido dinámico RSS Blogs Búsqueda empresarial .. |
Entidades de negocio [órdenes, facturas, cuentas, contactos, oportunidades comerciales, etc.] Formularios Procesos formales (Workflows) Tareas Consultas / filtros relacionales Reportes Catálogos de productos .. |
Identificamos entonces que de acuerdo a las necesidades de nuestros clientes podemos inclinarnos por un producto u otro o una combinación de ambos. Algunos ejemplos típicos a continuación:
Necesidad de negocio |
Solución típica |
Portal de contenidos |
Sharepoint |
Intranet corporativa |
Sharepoint |
Gestión de documentos |
Sharepoint |
Automatización de procesos de negocio (BPA) |
Dynamics CRM |
Gestión de áreas de servicios |
Dynamics CRM |
Automatización de fuerza de ventas (SFA) |
Dynamics CRM |
Automatización de fuerza de ventas (SFA) + Gestión documental integrada |
Dynamics CRM + Sharepoint |
Campañas de marketing + publicidad en portal público |
Dynamics CRM + Sharepoint |
Lo que aparecen representados aquí son casos típicos. Es recomendable sin embargo, evaluar apropiadamente en cada situación el escenario de nuestro cliente, limitantes (ej. de presupuesto o infraestructura).
En el caso de Sharepoint también es necesario analizar cuál de sus ediciones es más apropiada para cada escenario, ya que cada una cuenta con sus prestaciones, limitantes y ofertas de precios diferentes.
Vale mencionar que ambos productos tienen diferente esquemas de licenciamiento y precios, siendo al día de la fecha Microsoft Dynamics CRM una propuesta económicamente más costosa (tanto on-premise como online) que Microsoft Sharepoint. Es por esto importante evaluar en cada caso.
También existen algunas dualidades…
Por otra parte, ambos productos guardan ciertas dualidades que son las que hay que considerar también en cada caso y me parecen importantes clarificar aquí:
Extensibilidad |
Ambos productos son altamente extensibles, utilizando Microsoft .Net 4.0 con Microsoft Visual Studio .Net 2010.
En el caso de Sharepoint encontramos por ejemplo: webparts, event handlers, web pages. etc.
En Dynamics CRM por su parte encontramos elementos similares: web resources (.js,Silverlight,, html), pluggins (parecidos a los event handlers de Sharepoint, custom workflow activities (WF), IFrames para integrar cualquier otra aplicación web (p.ej. ASP.net), etc.
Esta notable característica de ambos productos es quizá la que trae mayores dificultades cuando se debe elegir uno u otro. Por citar un ejemplo concreto: he identificado casos donde construir webparts y desarrollar sobre Sharepoint para cubrir una necesidad de negocio resulta más apropiado para el cliente que adoptar Dynamics CRM por su valor de licenciamiento o suscripción.
Viceversa también sucede, hay veces que el cliente necesita o ya dispone de Dynamics CRM y solo precisa centralizar sus documentos, por lo cual, solo se integra Sharepoint Foundation 2010 cuya licencia no tiene costo. |
Integración con Microsoft Office |
Ambos productos se integran satisfactoriamente con la suite de Office, incluyendo la próxima versión SaaS de Office (Office 365).
Dynamics CRM por su parte se destaca en su integración nativa dentro de Outlook. El usuario no tiene que salir de Outlook para trabajar con CRM y de esa forma, automáticamente puede ‘trackear’ e-mails dentro de CRM, llevar sus tareas, calendario, acceder a cualquier registro de CRM, etc. El 100% de las operaciones están disponibles mediante Outlook.
A través de Sharepoint es posible trabajar y realizar versionado de documentos (con check-in | check-out) de Microsoft Word | Excel | PowerPoint de manera muy sencilla y natural.
Ambos pueden exportar registros a Excel.
Podemos concluir en este punto que ambas plataformas se integran satisfactoriamente con Office, cada una desde su área de interés y fortalezas. |
Workflow |
Ambos productos soportan la plataforma Windows Workflow Foundation para diseñar flujos de negocio.
Sharepoint provee out-of-the-box flujos simples de gestión documental que no requieren codificación. Asimismo, de ser necesario provee herramientas de desarrollo muy potentes para desarrollar flujos a medida. Si bien por diseño es posible desarrollar flujos que cumplan casi cualquier requisito de negocio, en Sharepoint los flujos están mayormente orientados a la gestión de documentos, aprobaciones de contenidos y necesidades de colaboración esencialmente.
Dynamics CRM provee out-of-the-box un diseñador de flujos orientado a procesos y estados de los registros. Los flujos guardan relación con entidades de negocio (ej. oportunidades comerciales), sus diferentes estados, atributos y no con documentos. Asimismo, la versión on-premise soporta el desarrollo de custom workflow activities, a través de .Net, lo cual facilita por ejemplo la integración con otros sistemas dentro del cliente (típicamente con ERPs). |
Análisis e inteligencia de negocios (BI) |
A través de ambos productos es posible analizar el negocio y extraer información rica para la toma de decisiones.
Sharepoint por su parte integrado con Performance Point Services y PowerPivot brindan una experiencia ‘world-class’ de visualización de dashboards, scorecards y gráficos de análisis de inteligencia de negocios. En ese escenario por ejemplo, Dynamics CRM puede resultar un excelente generador de información para luego volcar a estos análisis.
Asimismo, Dynamics CRM provee out-of-the-box la capacidad de extraer reportes ricos de información de gestión y gráficos que el mismo usuario puede crear ágilmente así como definir metas y medir resultados (ej. quota de ventas vs. ventas reales).
Como conclusión podemos extraer que Sharepoint junto con Performance Point Services y PowerPivot es una plataforma ‘world-class’ de inteligencia de negocios (BI) que puede ser explotada a nivel organizacional para medir la performance de distintas áreas de la organización.
En cambio Dynamics CRM puede ser explotado para extraer información de gestión operativa a nivel de las áreas de la organización al cual alcanza el producto y como generador de información organizacional que luego puede ser medida y explotada por la plataforma anterior. |
Silverlight |
Ambas plataformas soportan la inclusión de aplicaciones Silverlight que pueden interactuar con las APIs de cada producto y brindar una experiencia de usuario mucho más rica (Rich Internet Applications).
En el caso de Dynamics CRM 2011, se exponen servicios REST con OData que facilitan esta integración, siempre que la aplicación Silverlight resida dentro del contexto de CRM. De no ser así, es posible consumir servicios WCF (.SVC) como cualquier otra aplicación externa.
Dependiendo de las necesidades y que tanta relación guarde la aplicación Silverlight con elementos de un producto u otro, la misma puede ser alojada en cualquiera de los productos o en ambos (reutilización de código). |
**
Ilustración 0‑2 Interfaz de usuario de Dynamics CRM nativamente integrada con Microsoft Outlook**
**
Ilustración 0‑3 Gráficos en línea creados por el usuario final en Dynamics CRM**
Ilustración 0‑4 Sharepoint + PowerPivot como plataforma 'world-class' de inteligencia de negocios (BI)**
Cómo funciona la integración?
Si bien está fuera del alcance de este artículo explicar técnicamente como realizar la integración (que de hecho guarda sus diferencias dependiendo de la combinación de productos seleccionada), trataré de explicar brevemente a continuación los elementos que intervienen para hacerla posible.
Dynamics CRM 2011 -> Sharepoint 2010
- Se debe instalar el Dynamics CRM 2011 List Component en el servidor de Sharepoint. Esto es una solución que se agrega a Sharepoint (.WSP) y puede ser descargada gratuitamente desde este link:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=23c0f351-8694-4d92-9ddf-34a949aec6a7
La instalación de este componente hace que las librerías de documentos almacenados en Sharepoint luzcan de manera similar a como luce cualquier otra grilla de Dynamics CRM, brindando de esta forma una experiencia de usuario homogénea a lo largo de la solución.
También permite que automáticamente se creen carpetas dentro de las librerías de Sharepoint relacionadas a cada registro en CRM que utiliza documentación (ej. una oportunidad comercial, una cuenta)
[el usuario que realice la instalación debe ser administrador de la colección de sitios de Sharepoint]
Para los usuarios que no dispongan o utilizan Dynamics CRM, los documentos quedan disponibles como cualquier otra liberaría de Sharepoint.
Ilustración 0‑5 Lista de documentos relacionados de una Oportunidad comercial en CRM.**
Para los que trabajan desde Dynamics CRM, directamente no tienen por qué saber de la existencia de Sharepoint. Simplemente, es trasparente para ellos.
- A nivel de configuración, se establece en Dynamics CRM:
- La URL del sitio de Sharepoint configurado para la integración (donde se instaló el List Component en el punto anterior).
- Cuales son las entidades de negocio habilitadas para trabajar con documentos.
Ilustración 0‑6 Entidades de negocio de CRM para habilitar la integración con librerías de documentos de Sharepoint**
A partir de esta configuración y para las entidades habilitadas, cada vez que el usuario haga click en la sección ‘Documentos’ de un registro (ej. un contacto, una oportunidad) se desplegará la correspondiente librería de documentos desde Sharepoint, permitiendo tanto editar documentos existentes como agregar nuevos (según los permisos del usuario). Asimismo, si la carpeta para ese registro aún no existe dentro de la librería de Sharepoint, Dynamics CRM solicita confirmación para crearla automáticamente.
Sharepoint 2010 -> Dynamics CRM 2011
Tambien es posible trabajar con entidades de Dynamics CRM 2011 dentro de Sharepoint 2010.
Para lograr esto, la forma más ágil es a través de Business Connectivity Servivces (BCS, ex. BDC) de Sharepoint 2010. BCS permite conectarse a bases de datos y servicios WCF (como los que expone Dynamics CRM) y desplegar su información dentro de una lista de Sharepoint.
Microsoft está trabajando en estos momentos en un conector para BCS que automáticamente generará el modelo de BCS desde un modelo de Dynamics CRM. De esta forma, la configuración de BCS no debería resultar traumática pero entiendo que hay algunos desafíos aún por sortear ya que por ejemplo Sharepoint está basado en Microsoft .Net 3.5 mientras que Dynamics CRM 2011 está sobre .Net 4.0 y existen algunas diferencias entre ambos frameworks en el trabajo con WCF endpoints.
Esta forma de publicar entidades de CRM a través de Sharepoint luce como una alternativa interesante en escenarios donde se debe exponer públicamente cierta información puntual y el cliente quiere ahorrarse los costos de licenciamiento del conector para Internet de Dynamics CRM.
Algunas otras preguntas frecuentes…
Las siguientes integraciones son posibles…. ¿?
- Dynamics CRM 2011 con Sharepoint 2007?
Sí. A través de Iframes y no de grillas nativas de CRM. Por defecto se muestra todo el sitio de sharepoint dentro del Iframe.
Las listas no son posibles crearlas automáticamente, por lo cual, manualmente se requiere configurar la Url de la lista de documentos de Sharepoint en cada caso.
- Dynamics CRM 4 con Sharepoint 2010?
Sí, a través de IFrames y esfuerzo de desarrollo. La integración no es nativa, por lo que por defecto se muestra todo el sitio de sharepoint dentro del Iframe.
Dependiendo el nivel de look & feel y automatización que se desee lograr en la integración, se incrementa o disminuye el esfuerzo de desarrollo requerido.
- Dynamics CRM 4 con Sharepoint 2007?
Idem a respuesta anterior.
La seguridad está integrada?
Aún no. Son ‘mundos diferentes’, los privilegios de los usuarios no se encuentran sincronizados de ninguna manera sino que deben ser administrados por separado en cada plataforma.
Se debe tener especial cuidado si la integración se realiza con Sharepoint 2007 ya que dentro del IFrame el usuario por defecto puede navegar hacia cualquier otra parte dentro de Sharepoint. Si no se desea este comportamiento es necesario invertir en esfuerzo de desarrollo y diseño para por ejemplo, ajustar el comportamiento de las masterpages de Sharepoint.
Conclusiones
Algunas conclusiones concretas que podemos extraer de aquí desde mi punto de vista son:
- La capacidad de integrar Dynamics CRM con Sharepoint ha sido una de las capacidades más aclamadas por clientes y ISVs y hoy a través de Dynamics CRM 2011 y Sharepoint 2010 esto es una realidad solo a través de configuraciones, sin necesidad de esfuerzo de desarrollo.
- Las combinaciones de integración son múltiples, pudiendo elegir por un modelo ‘in the cloud’ (todo en la nube), un modelo on-premise o bien, un híbrido de ambos.
- La integración con Sharepoint 2007 sigue siendo posible pero con limitantes importantes como ser que la presentación es dentro de un Iframe y que las listas de documentos no se crean automáticamente.
- Ambos productos se complementan satisfactoriamente en la gran mayoría de los escenarios, brindando una plataforma corporativa de administración de contenido, colaboración y gestión operativa integrada con Microsoft Office muy difícil de superar por competidores.
- También existen zonas ambiguas donde ambos productos pueden aplicar para la misma problemática de negocio o para el mismo tipo de solución que se está analizando. Es importante asesorarse correctamente.
- En todos los casos, es fundamental entender correctamente las necesidades de nuestros clientes, su parque tecnológico, sus tiempos, sus limitantes, su presupuesto y en función de ello tomar la decisión más adecuada.
Espero que este artículo haya sido útil para clarificar muchas de las dudas surgen cuando necesitamos recomendar o proponer una solución relacionada con estas tecnologías.
Cualquier duda, feedback o tema de interés que deseen ver en un próximo número de la revista relacionado a este tema, me lo hacen saber.
Pablo Peralta
Microsoft MVP | Dynamics CRM
Twitter: @pabloperalta
Blog: http://weblogs.asp.net/pabloperalta
LinkedIn: http://www.linkedin.com/in/pabloperalta
Referencias
- Microsoft Dynamics CRM 2011 List Component for Microsoft SharePoint Server 2010
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=23c0f351-8694-4d92-9ddf-34a949aec6a7
- Microsoft Dynamics CRM 2011 List Component for Microsoft SharePoint Server 2010
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=23c0f351-8694-4d92-9ddf-34a949aec6a7
- Microsoft Dynamics CRM 2011 Developer Training Kit
- Integrating SharePoint 2010 and CRM 2011 Online
http://blogs.msdn.com/b/girishr/
- PerformancePoint services
http://blogs.msdn.com/b/performancepoint/
- PowerPivot