Desarrollo SharePoint 2013 : Elemento de Decisión Soluciones Vs Aplicaciones

Para saber que tipo debemos desarrollador, lo podemos determinar por dos factores muy importantes

Primero.- Tiene que ver con las capacidades y posibilidades especificas de cada tipo de personalización.

Segundo.- Con el escenario de negocio al que se trata de dar respuesta.

Algunos aspectos que se pueden tomar en cuenta en la decisión sobre crear aplicaciones o soluciones son los siguientes.

  • Modelo de Objetos en Servidor (SSOM) frente modelo de objetos en cliente (CSOM) Crear soluciones permite crear el SSOM, facilitando el acceso sin restricciones a contenidos y a la administración de SharePoint, el principal inconveniente es que se ejecuta en el mismo contexto de SharePoint, es decir que si existe un bug o problema en la solución afectaría de manera negativa al rendimiento de la granja, para evitar esto es recomendable utilizar las buenas practicas de desarrollo. Frente al uso del SSOM, el CSOM proporciona un API con una serie de objetos que permiten interactuar de manera remota con SharePoint reduciendo el efecto del código en la granja. De esta manera cualquier problema con los objetos afectaría únicamente a la aplicación que los utiliza, pero no al ambiente de SharePoint, si el código de la aplicación contiene errores por ejemplo de bucle infinito, puede también afectar al rendimiento del servidor. Buenas practicas para desarrollo
  • Ambiente de ejecución Dependiendo de si la lógica de negocio se tiene que ejecutar en SharePoint On-Premise u Online (Office365), es posible crear personalizaciones mediante soluciones  y/o  aplicaciones o bien únicamente mediante aplicaciones teniendo en cuenta que las soluciones de tipo Sandbox se consideran obsoletas en SharePoint 2013 y que son las únicas disponibles en SharePoint online. En resumen en SharePoint Online se recomienda la creación de aplicaciones y en SharePoint On-Premise, ambas opciones son posibles.
  • Despliegue La personalización de SharePoint mediante Soluciones requiere, del proceso de diseño y desarrollo, además definir una planificación para su despliegue en el momento adecuado esto para tener un impacto mínimo sobre la granja y que los usuario no se queden perjudicados por el despliegue, en el caso de las aplicaciones se puede desplegar en cualquier momento sin producir impactos sobre el sistema.
  • Patrones de Diseño Las Soluciones restringen los patrones de diseño que se pueden utilizar a formularios web, por otro lado las aplicaciones están mas preparadas para el uso de patrones de diseños modernos y variados como MVC(Model-View-Controller) o MVVM (Model-View-View-Model).
  • Conocimientos necesarios Para la creación de Soluciones de SharePoint, se requieren conocimientos generales sobre desarrollo .NET, ASP.NET y específicos del API de SharePoint. También se debe contar con un conocimiento mínimo de buenas practicas de desarrollo en el uso del SSOM para que el código no introduzca penalizaciones en al granja, por ejemplo para  realizar el correcto uso de las calases SPSite y SPWeb es recomendable conocer y aplicar las reglas para liberar la memoria descrita en la documentación disponible en MSDN en el API mismo, como desventaja en relación con los conocimientos necesarios los desarrolladores de Soluciones tienen que adquirir nuevas destrezas para poder crear aplicaciones : HTML 5, JavaScript, OAuth, OData etc.
  • Integración de datos de Negocio Las aplicaciones ofrecen un mecanismo de integración de datos de negocio externos a SharePoint, flexible y seguro por el hecho de ejecutarse en un dominio aislado, lo que facilita el acceso a esos datos sin las restricciones que puedan introducir las Soluciones.
  •  Manejadores de eventos Las soluciones de SharePoint no están pensadas para reaccionar a sucesos que tengan lugar en los sistemas de negocio excepto mediante el uso de los flujos de trabajo, a diferencia con las aplicaciones disponen de Manejadores de Eventos remotos y de los flujos de trabajo como mecanismos para reaccionar a cambios producidos en los sistemas de información empresariales.
  • Escenarios No existe una guía oficial de cuando crear Soluciones y cuando crear aplicaciones, pero se debe tomar encuentra el requerimiento de negocio a satisfacer. Por ejemplo si necesitas desplegar elementos de diseño que apliquen en toda la granja lo mas adecuado es una solución, por otro lado si se necesita disponer de una forma especifica para realizar gestión de contactos, la creación de una aplicación seria una opción mas interesante.
  • Disponibilidad y despliegue El nuevo modelo de aplicaciones facilita el uso de las mismas a través del despliegue a aun catalogo de aplicaciones corporativo o a la tienda de Microsoft, si es corporativo se alojaran en un catalogo de aplicaciones estando disponibles para ser instaladas en todas las colecciones de sitios y sitios de un Tenant (Office365) o de una aplicación web (On-Premise) , en la tienda de Microsoft las aplicaciones deben ser aprobadas y certificados por Microsoft, se pueden utilizar en cualquier colección de sitios y sitios de un Tenant de SharePoint Online o de una granja On-Premise. Las Soluciones únicamente están disponibles dentro del ámbito en el que se desplego, por ejemplo una solución de tipo granja únicamente se puede utilizar en entornos On-Premise y se tiene que desplegar en el contenedor global de soluciones cada vez que se quiera utilizar.

Ademir

Comentarios

Entradas más populares de este blog

Que es un Webpart o Elemento Web en SharePoint?

The type or namespace name ‘SharePoint’ does not exist in the namespace ‘Microsoft’ (are you missing an assembly reference?) – SharePoint 2013 Client Object Model dlls

Extender el periodo de Evalución hasta 240 días en SQL Server y SharePoint Server