SharePoint 2013: ¿Qué necesito para disponer de las nuevas capacidades de BI?

Si queremos ver en funcionamiento las últimas novedades a nivel de BI que se incorporan en SharePoint 2013 necesitaremos utilizar la Community Technology Preview (CTP 3) del SP1 de SQL Server 2012. En concreto, con esta CTP podremos:

  • Configurar la integración de SQL Server Reporting Services (SSRS) con SharePoint 2013 de la misma forma qué se hacía al integrar SSRS 2012 con SharePoint 2012 (os recuerdo que SSRS pasa a ser una aplicación de servicio más).
  • Probar el nuevo y re-diseñado PowerPivot para SharePoint. Aquí tendremos novedades como mejoras en el soporte de PowerView a nivel de nuevas visualizaciones (Bing Maps, gráficos de tarta), nuevas opciones de formato como fondos y temas, mejor soporte para imágenes y Urls, etc.
    • Power View en Reporting Services.
  • A nivel de Excel Services, nos aprovecharemos de muchas de las mejoras que se incorporan en Excel 2013.
  • Pensando en Excel 2013 y en las Office Web Applications, tendremos grandes novedades a nivel de desarrollo ya que podremos crear extensiones tanto para el cliente de escritorio como para su homólogo web.

Referencias:

SharePoint-2013-Logo_3358DACE

SharePoint 2013: ¿Y cuántos servidores puedo llegar a tener en mi instalación?

Pues es una buena pregunta a la que hay que responder depende de tus necesidades y del propósito de tu instalación…así el número de servidores puede variar entre uno y cinco-seis (sin entrar en cuestiones de topologías) y me explico:

  • Si lo que queremos es montar un entorno de desarrollo en el que no tengamos la nueva infraestructura de flujos de trabajo o las Office Web Applications, entonces con una única máquina tenemos más que suficiente. De echo, en este escenario tenemos la posibilidad de realizar los distintos tipos de instalación que se incluyen en SharePoint 2013:
    • Completa, ya sea en modo granja o no.
    • Independiente.
  • Si queremos tener la infraestructura de flujos de trabajo nueva que incluye el Windows Azure Workflow (WAW) server, necesitaremos una máquina más.
  • Para las Office Web Applications, otro servidor más.
  • Si vamos a usar un controlador de dominio y queremos que esté en una máquina independiente, necesitaremos otro servidor más…y van 5.
  • Finalmente, en una instalación en modo granja si queremos separar la BD en un servidor llegaremos al servidor 6.

Por supuesto es posible combinar algunos servidores anteriores para reducir el número necesario. Por ejemplo, podríamos hacer una instalación en modo granja bajo un controlador de dominio en una única máquina + una máquina para flujos + una máquina para las OWA.

SharePoint-2013-Logo_3358DACE

SharePoint 2013: Novedades en flujos de trabajo (I)!

Poco a poco (o más bien, todo lo contrario) se empiezan a conocer las novedades que trae SharePoint 2013 en distintos niveles. Una de estas novedades es la relativa a flujos de trabajo que os voy a enumerar a continuación (espero entrar en más detalle en futuros posts):

Cambios a nivel de arquitectura:

Los principales cambios vienen derivados de qué SharePoint ya no “hospeda” toda la infraestructura de flujos de trabajo (runtime + servicios), sino qué esta se tiene que instalar en un servidor aparte (así es, un servidor más para la colección como diría alguno) y viene incluido en el denominado Windows Azure Workflow Server (lo que no quiere decir que para escenarios On-Premises la infraestructura de flujos esté en Azure, aunque así es para SharePoint Online en Office 365…en este caso hablaremos del Windows Azure Workflow Service).

High-level workflow architecture

Además de este cambio fundamental, tenemos otros como:

  • Versión del framework en la que se basan los flujos de trabajo a crear: la 4.5, es decir, por fin podemos usar en lo que a flujos de trabajo se refiere la última versión de .NET Fx…lo qué en se traduce en qué crearemos flujos de trabajo declarativos.
  • El modelo de objetos en cliente y la nueva API REST de SharePoint 2013 nos permiten interactuar con flujos de trabajo.
  • Los flujos de trabajo de SharePoint 2010 seguirán funcionando ya que la arquitectura de workflows incorpora un “interop brige” para ello que permite que workflows de versiones previas puedan funcionar sin problemas en la nueva infraestructura si es necesario.
  • Los workflows se incorporan al nuevo modelo de desarrollo de aplicaciones como era de esperar, de manera que podemos empaquetar una definición de flujo como parte de una aplicación.

Herramientas para crear flujos de trabajo:

Tendremos dos herramientas de creación + una herramienta complementaria:

  • Visual Studio 2012 y SharePoint Designer 2013 (SPD 2013) como herramientas de creación.
  • Visio 2013 como complemento para facilitar la creación de flujos visuales dentro de SPD 2013. Lo que me lleva a comentaros que, al menos de momento, no tendremos la característica de visualizar la ejecución del flujo en un diagrama Visio que teníamos en SharePoint 2010 gracias a los servicios de Visio.

El proceso de creación de flujos en sí, incorpora novedades en lo que a la creación de flujos se refiere con SPD 2013 que continua evolucionando y permite crear flujos todavía más potentes a través de:

  • La posibilidad de crear flujos de SharePoint 2010 o flujos de SharePoint 2013 (se necesita WAW). Lo interesante de qué se puedan crear flujos de trabajo de SharePoint 2010 es que permite que en un despliegue SharePoint se puedan usar flujos aún no disponiendo de WAW.
  • El soporte para bucles, integración de servicios externos, etc a través de nuevas actividades que se incorporan en la creación de flujos para SharePoint 2013 (no los de viejo estilo).
  • La posibilidad de crear flujos con el diseñador secuencial propio de SPD 2013 o visualmente mediante un diagrama Visio para lo que es necesario instalar Visio.
image image image

Flujos de trabajo de SharePoint 2013

Además de qué los flujos de trabajo de SharePoint 2013 son declarativos, a la hora de implementarlos nos encontraremos con varias novedades:

  • Se incluye el concepto de “Stage” de tal forma que lo que iremos diseñando son estados o etapas en nuestro flujo de trabajo que tienen unos puntos de entrada y unos puntos de salida (o Gates) qué facilitan la transición entre Stages. Todo workflow se compone de al menos un stage, lo que nos permitirá modelas flujos de tipo máquina de estado de forma más simple que en versiones previas.
  • En cada Stage iremos añadiendo actividades como sucedía con versiones previas.
  • Se pueden llamar fácilmente servicios y flujos desde nuestro flujo…y esto se puede hacer desde SPD 2010

 

Interoperabilidad con versiones previas de flujos de trabajo

Como comentaba, los flujos de trabajo de versiones previas van a seguir funcionando gracias al “Interop Bridge” que comunica el motor legacy de workflows que ya existía en versiones previas de SharePoint y que sigue en SharePoint 2013 con la nueva infraestructura de workflows…esto si estamos usando esta nueva infraestructura. Si no, podremos crear flujos de trabajo de versiones previas gracias a este motor legacy.

 

Workflow interop bridge

Referencias:

SharePoint 2010: Cuando y como crear un ID de aplicación grupal en el Secure Store Service!

Cómo sabéis, en SharePoint 2010 el Secure Store Service (SSS) nos proporciona un mecanismo de almacenamiento seguro de credenciales de acceso a sistemas de negocio de manera que a partir de unas únicas credenciales distintos usuarios de SharePoint puedan acceder a esa información integrada en sitios de SharePoint a través de aplicaciones de servicio como BCS (Business Connectivity Services), PPS (Performance Point Services) y otros. Para poder almacenar estas credenciales, tenemos que crear un ID de aplicación que puede ser individual (para un usuario) o grupal (para un grupo de directorio activo por ejemplo). En este post vamos a ver como crear un ID de aplicación grupal en el SSS para escenarios en los que por ejemplo necesitamos que todos los usuarios de un grupo de directorio activo puedan visualizar información de los sistemas de negocio de una organización:

  • Lo primero, y antes de empezar, si por ejemplo tenemos una lista externa de BCS en la que la conexión al sistema externo se gestiona con un Id. de aplicación individual, veremos que para un usuario qué no es “owner” de las credenciales de acceso se le muestra un enlace para que se autentique en dicho sistema.
  • Visto esto, nos vamos a la administración del SSS para crear un nuevo Id. de aplicación.
  • En la pantalla de configuración del Id. de aplicación, tenemos cuidado de elegir “Group” como Target Aplication Type.
image image image
  • En la siguiente página, simplemente configuramos los campos de credenciales para acceder al sistema de negocio.
  • Es en la siguiente página dónde claramente se aprecia que estamos creando un Id. de aplicación para un grupo ya que por un lado especificaremos el “owner” de las credenciales y por otro los “member”, es decir, los usuarios individuales o grupos que harán uso de esas credenciales para conectarse al sistema externo.
  • De vuelta en el listado de Id. de aplicación disponible para el SSS, al establecer las credenciales veremos que los propietarios de las credenciales son los usuarios o grupos añadidos anteriormente. Especificamos la credenciales y listo.
image image image
  • Volvemos a acceder a la lista externa con un usuario visitante del sitio por ejemplo, y perteneciente al grupo añadido, y comprobamos que se muestran los datos como se esperaba.

image

SharePoint Online: Cómo usar Google Analytics en sitios públicos!

Si queremos usar Google Analytics para poder hacer un seguimiento adecuado de tráfico en nuestro sitio público de Office 365, y dado que no tenemos Web Analytics por el momento, tenemos que seguir una serie de pasos manuales:

  • Lo primero, crear la correspondiente cuenta de seguimiento en Google Analytics y generar el script que luego insertaremos en la página maestra de nuestro sitio público.
  • Lo segundo, abrir el sitio público de Office 365 con SharePoint Designer 2010 (SPD 2010) para poder crearnos una copia de la página maestra del sitio. Esta página maestra es por defecto la root.master y la podéis encontrar en la sección All Files de SPD 2010.
  • No intentéis editar la página maestra con SPD 2010 para añadir el script de Google Analytics ya que al guardarla podréis comprobar a posteriori que el sitio no se visualiza y se muestra un error.
  • Editar la página maestra con el bloc de notas desde el propio SPD 2010.
image image image
  • Seleccionar todo el contenido de la página maestra y copiarlo en nuevo documento de texto del bloc de notas. Antes de la etiqueta </head> de la definición de la página maestra, pegar el script de Analytics.
  • Guardar la página maestra como CustomRoot.master por ejemplo. Tened cuidado de no guardarla como un txt.
  • Arrastrar el archivo .master desde vuestro equipo a Designer. Comprobad que el sitio se sigue visualizando y a partir de aquí a esperar a que se genere tráfico de Analytics.
image image

Referencia: http://blog.concentra.co.uk/2011/09/28/how-to-add-google-analytics-to-sharepoint-online/

SharePoint 2013: Novedades para desarrolladores!

En la línea de su predecesor, SharePoint 2013 viene acompañado de un montón de documentación para facilitar la adopción de la plataforma. En este sentido, en lo que a novedades para desarrolladores se refiere, os recomiendo este artículo de MSDN en el que se reflejan novedades como:

  • La incorporación de un nuevo modelo de desarrollo: nuevo modelo de aplicaciones, que viene a complementar las clásicas soluciones de tipo granja y las soluciones de tipo sandbox que aparecieron en SharePoint 2010. Básicamente en SharePoint 2013 todo es una aplicación, y lo interesante del modelo es que es no intrusivo ya que las aplicaciones residen fuera de nuestros sitios de SharePoint ya sea en una colección de sitios independiente, en un servidor dedicado que hospede estas aplicaciones o bien en Windows Azure (ahí está el marketplace de Microsoft para SharePoint Online). Es el usuario el que decide que aplicaciones quiere utilizar del catálogo correspondiente y de darle “permiso” para hacer lo que tenga que hacer…esto no es nuevo, sino que ya estamos acostumbrados a realizarlo en Facebook por ejemplo cuando hacemos uso de una aplicación y le damos ciertos privilegios. Por debajo, el nuevo modelo de aplicaciones hace uso de OAuth.
  • A nivel de tecnologías para el desarrollo de aplicaciones, se trata de usar estándares web, es decir, HMTL, CSS y JavaScript. Además de esto, SharePoint 2013 se “RESTifica” a la enésima potencia a través de una nueva API REST (OData) que expone ya no sólo un sitio de SharePoint, sino también servicios como el de BCS, el de búsquedas, etc.
  • Herramientas de desarrollo, se han seguido evolucionando las herramientas de desarrollo para SharePoint en Visual Studio 2012 (VS 2012) incorporando plantillas relativas al nuevo modelo de aplicaciones. SharePoint Designer 2013 (SPD 2013) pierde la poca componente de diseño que tenía en SPD 2012 y se convierte en una herramienta muy potente para crear flujos de trabajo. Finalmente, aparece una nueva herramienta para crear aplicaciones en línea para SharePoint Online…se trata de Napa y os recomiendo que reviséis este post de Jason Zander al respecto. Napa permite craer aplicaciones para SharePoint Online sin tener que usar VS 2012, aunque estas aplicaciones se pueden importar luego en VS 2012 por lo que se podrían reutilizar en SharePoint 2013 On-Premise.

image

  • A nivel de API, la principal novedad viene dada por esa “RESTificación” que os comentaba y que es clave en el nuevo modelo de aplicaciones en la nube. Y mucho más, de cara a poder interactuar con SharePoint desde Windows Phone, desde Windows 8 y en general desde otras plataformas y tecnologías relacionadas…con SharePoint 2013, tiene sentido más que nunca “la capacidad de elección” que vendrá dada por el tipo de desarrollo que se requiera, pero también por los conocimientos que tengamos…y como muestra, una imagen que vale más que mil palabras. Os recomiendo leer está sección de MSDN relativa a las APIs de SharePoint 2013: http://msdn.microsoft.com/en-us/library/jj164060(v=office.15)

Venn diagram of API sets and SharePoint app types

  • A nivel de artefactos “clásicos” que se pueden desarrollar nos encontraremos con novedades como:
    • Soporte de manejadores de eventos para listas externas.
    • Manejadores de eventos remotos, es decir, desde una aplicación que se ejecuta en un contexto del lado del cliente podremos reaccionar a cambios producidos en SharePoint.
    • Los flujos de trabajo ya son flujos basados en la última tecnología de .NET Framework, es decir, la 4.x lo que implica que hablamos de flujos de trabajo declarativos. Además, la arquitectura de flujos se ha re-hecho de manera que tenemos un servidor exclusivo dedicado a flujos de trabajo: El Windows Azure Wokflow (WAW).
    • A nivel de BCS, podremos integrar fuentes de datos OData y además el ámbito de los conectores BCS no será ya sólo granja, sino que podremos usarlos en aplicaciones.
  • Continuando con el concepto de aplicaciones de servicio que incorporó SharePoint 2010 y que supuso una gran revolución, SharePoint 2013 incorpora nuevas aplicaciones de servicio con Translation, Servicios de Access (en sintonía con la nueva versión de Access incluida en la suite Office 2013),

Y este es un primer resumen de posibilidades y novedades a nivel de desarrollo en SharePoint 2013.

SharePoint 2013: Novedades en el Developer Dashboard!

En lo que a herramientas de apoyo al desarrollador y también al personal de IT, SharePoint 2010 incorporó el panel del desarrollador o Developer Dashboard que en SharePoint 2013 mejora y mucho en cuánto a qué nos permite acceder a mucha más información de la página que se está ejecutando en cada momento y de lo que está haciendo nuestro servidor favorito “por debajo”. Por defecto, el panel no está activado por lo que tendremos que activarlo a través de las opciones ya conocidas:

En mi caso lo he activado con PowerShell y he elegido bajo demanda como opción de uso. A partir de aquí, y una vez abierto el panel, las novedades son:

  • El panel se muestra siempre en una nueva ventana y no en la misma página como sucedía con SharePoint 2010. En esta ventana tendremos mucha más información que en versiones previas. Esta información se divide en cuatro categorías como podéis ver.
  • La sección Solicitudes, refleja las peticiones que se están haciendo en la página actual y para cada petición muestra información bastante detallada. Esta información de detalle se muestra en la sección inferior del panel en el que podemos ver información relativa al servidor, peticiones SQL, información registrada en los logs (cool!), etc. He estado navegando entre páginas y el panel no ha acabado de recolectar información, pero para que os hagáis una idea del tipo de información que recoge, darle una mirada a este post de Sahil Malik…y para que recolecte información basta conque hagáis un IIS Reset y el amigo empieza a capturar datos que da gusto.
  • Por ejemplo, para una petición data se registra información variada del servidor como duración, tiempo de CPU, número de aserciones, etc.
image image image
  • La sección “ámbitos” está pensada para detectar fácilmente cuellos de botella en la ejecución de una petición. Por ejemplo, en el caso que se muestra lo más pesado siendo el acceso a base de datos (además aparece destacado frente al resto de operaciones).
  • Como en SharePoint 2010, a nivel de T-SQL podemos ver que sentencias / procedimientos almacenados se están lanzando y ver el detalle de los mismos…y su plan de ejecución (toma castaña). El plan de ejecución es un archivo .sqlplan que nos podemos descargar y abrir en el SQL Server Management Studio.
  • Lo de ver los logs es simplemente para qué a uno le salten las lágrimas de alegría.
image image image
  • La sección Escenario parece que entre otras informaciones va registrando cómo se va realizando el renderizado de controles, el disposado de los mismos al abandonar una página, etc.
  • Para cada registro muestra información detallada de tiempo de inicio y cuanto ha durado la invocación correspondiente, es decir, cuánto se tarda en invocar el método correspondiente y cuanto tiempo se está ejecutando.
  • La sección Animación no tengo todavía claro qué información recoge, pero en cuanto lo sepa os cuento.
image image image

 

  • La sección MDS tiene que ver con cómo se realiza la carga incremental de la página de acuerdo a la nueva tecnología de carga que incorpora SharePoint 2013 conocida como Minimum Download Strategy de la qué podéis conocer más en este post de Witor Wilen. Básicamente podéis ir viendo lo que tarda en cargarse cada bloque que necesita la página (CSS, Scripts, HTML, …).

image