SharePoint 2013 & SharePoint Online: Cambios en el empaquetado y despliegue de Soluciones (I)!

Esta semana SharePoint vuelve a estar en boca de todos por el reciente artículo publicado en los blogs de Office sobre la esperada nueva versión de SharePoint llamada SharePoint 2016. Uno de los cambios que veremos en esta nueva versión, y del que Microsoft nos lleva avisando desde hace unos meses, es el relativo a la extensibilidad de SharePoint. Todo apunta a qué el mensaje oficial de Microsoft es que hay que tratar de abandonar el clásico modelo de desarrollo basado en el Framework de Featurres (Caracerísticas) por el modelo Remote Provisioning que supone dejar de usar código CAML para provisionar elementos en SharePoint y hacer uso de código, y en concreto del Modelo de Objetos en Cliente…¿Cuáles son las razones de Microsoft para esta recomendación? Pues las ya conocidas, facilitar la transición a la nube desde soluciones SharePoint OnPremises en primer lugar, reducir (como me ha comentado muchas veces mi amigo Alberto Díaz) la complejidad en las actualizaciones y migraciones entre versiones de SharePoint. Evidentemente, este cambio de paradigma nos hace retroceder todo lo que se ha ganado en productividad en desarrollo para SharePoint a través de las herramientas de desarrollo incorporadas por Microsoft desde Visual Studio 2010 para el desarrollo de soluciones SharePoint (diseñador de soluciones, diseñador de características, asistentes para crear listas y tipos de contenido de forma declarativa, etc) ya que nos lleva a un modelo que implica “picar” código y que ahora mismo no cuenta con unas herramientas que faciliten el desarrollo…en definitiva, la curva de aprendizaje en lo que a desarrollo SharePoint se refiere vuelve a hacerse “pindia” como dicen en Cantabria.

El nuevo patrón de desarrollo remote provisioning nos lleva a crear procesos que de forma remota se encarguen de ir creando todos los elementos que forman parte de una Solución SharePoint: Colecciones de Sitios, Sitios, Columnas de Sitio, Tipos de Contenido, Listas y Bibliotecas, etc. El modelo en sí no es tan nuevo como se menciona en el post indicado más arriba y ya disponemos de ejemplos sobre como hacer este provisionado remoto:

  • Código .NET ejecutándose en una Aplicación de tipo Provider-Hosted que utilice CSOM o la API REST para crear contenido en SharePoint. Como ya sabéis, Microsoft cuenta con un equipo de Patterns and Practices que ha creado un montón de ejemplos al respecto.
  • Código .NET ejecutándose simplemente en una Aplicación de Consola que utilice CSOM o la API REST para crear contenido en SharePoint.
  • Scripts PowerShell en los que se haga uso o bien de CSOM o de la API REST para crear contenido en SharePoint. Podéis encontrar ejemplos de scripts en el siguiente proyecto de Codeplex: http://sharepointpowershell.codeplex.com/
  • Llamadas REST / JSOM en el lado del cliente desde código JavaScript en aplicaciones de tipo SharePoint-Hosted.

Junto con la referencia a la nueva técnica de provisionado, Microsoft está creando numerosos recursos para facilitar la transición a la misma:

Y finalmente, la pregunta del millón: ¿Se van a “deprecar” en el corto plazo las soluciones de tipo Granja?

La respuesta a una pregunta tan peregrina es que “No en principio”, simplemente la base de clientes actualmente OnPremise es tan grande que en mi opinión es impensable a día de hoy que Microsoft nos sorprenda deprecando las soluciones de tipo granja para entornos OnPremises. Lo que si tenemos que hacer es evitar el uso del Framework de Features en dichas soluciones y en la medida de lo posible diseñarlas y desarrollarlas pensando en qué se puedan portar muy fácilmente a Apps.

6 pensamientos en “SharePoint 2013 & SharePoint Online: Cambios en el empaquetado y despliegue de Soluciones (I)!

  1. Muy interesante el artículo, para leer detenidamente cuando tenga un poco de tiempo😉.

    ¿Crees que cambiará de alguna forma el modelo de aplicaciones en la nueva versión de SharePoint 2016 y que permita superar todas la restricciones que hay ahora y así conseguir que la gente empiece de verdad a pasarse a este modelo que ellos proponen? Por ejemplo un modelo más parecido al modelo de desarrollo que proponen para las apps de Office 365.

    Gracias un saludo

  2. Buenas José Carlos,
    Gracias por el comentario🙂. Realmente estamos hablando de dos cosas diferentes, pero relacionadas…la recomendación de Microsoft para hacer “todo” sobre SharePoint es hacer uso de la aprox. programática lo que implica olvidarte de todo aquello que implique provisionar elementos en el sistema de archivos de SharePoint (algo que en SPO no está permitido, salvo lo poco que se puede hacer con las soluciones Sandbox)…lo interesante de la aprox. programática es que la puedes conseguir con Apps de tipo Provider-Hosted…hay un curso muy bueno en Virtual Academy que te recomiendo en el que se trata todo esto: http://www.microsoftvirtualacademy.com/training-courses/transform-sharepoint-customizations-to-sharepoint-app-model
    Yo espero que el modelo de Apps cambien en cuanto a qué en OnPremises sea mucho más sencillo configurar todo para desplegar cualquier tipo de aplicación: Low-Trust (que usan ACS para la parte de autorización) y High-Trust. También me gustaría que en las herramientas de desarrollo añadiesen nuevos elementos para facilitar el uso de todos los patrones nuevos que quieren impulsar: remote provisioning, JavaScript injection, etc

    Un saludo

  3. Muchas gracias Juan Carlos, le echaré un vistazo.

    ¿Crees que llegará pronto una versión en la que ya no se pueda usar el modelo tradicional? de momento en 2016 se mantiene, pero ya he oído algo de que está más cerca que lejos este momento.

    Es interesante entonces ir planteando esta situación a las empresas para que empiecen a plantearse en serio el nuevo modelo de aplicaciones.

    Saludos.

    PD: Hoy estoy por aquí en Madrid en un evento de compañeros tuyos sobre Novedades de Office 365😉.

    • Buenas José Carlos,
      De momento el modelo tradicional va a seguir, no se lo pueden cargar tan rápido…en el curso de virtual academy que te comentaba también lo dicen…lo que si hay que hacer es fomentar el uso de provisionamiento remoto frente a usar el framework de features porque ya es recomendación de Microsoft y luego poco a poco meterse en las Apps. Espero que haya disfrutado del evento de Office 365.

      Un saludo!!

  4. Pingback: SharePoint 2013: Resumen de posts (LXII)! | Pasión por la tecnología...

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s