Compartir a través de


Consideraciones sobre soluciones de espacio aislado

Las soluciones en espacios aislados son una característica de Microsoft SharePoint 2010 que permite a los usuarios de las colecciones de sitios cargar sus propias soluciones de código personalizadas. Una solución de espacio aislado común es que los usuarios carguen sus propios elementos web.

Una aplicación de SharePoint de espacio aislado se ejecuta en un proceso seguro y supervisado que tiene acceso a una parte limitada de la granja de servidores web. Microsoft SharePoint 2010 usa una combinación de características, galerías de soluciones, supervisión de soluciones y un marco de validación para habilitar soluciones de espacio aislado.

Especificar el nivel de confianza del proyecto

Visual Studio admite soluciones de espacio aislado a través de una propiedad de proyecto booleana denominada Solución de espacio aislado. Esta propiedad se puede establecer en cualquier momento del proyecto o se puede especificar al crear el proyecto en el Asistente para la personalización de SharePoint.

Nota:

El cambio de la propiedad Solución aislada de un proyecto después de crearlo puede provocar errores de validación.

La solución se considera una solución con ámbito de granja si la propiedad Solución con restricción de seguridad está establecida en false o elige la opción Desplegar como solución de granja. Sin embargo, la solución se trata de manera diferente a una solución de granja de servidores si la propiedad Solución Aislada está establecida en true o elige la opción Implementar como una solución aislada en el asistente.

Jerarquía de sitios de SharePoint

Para comprender cómo funcionan las soluciones de espacio aislado, es útil saber que los sitios de SharePoint son jerárquicos en cuanto a su estructura. El elemento superior se conoce como granja de servidores web y otros elementos están subordinados a él:

Granja de servidores web

Aplicación web A

Colección de sitios A1

Sitio A1a

Aplicación web B

Colección de sitios B1

Sitio B1a

Sitio B1b

Colección de sitios B2

Sitio B2a

Como puede ver, las granjas de servidores web pueden contener una o varias aplicaciones web, que a su vez pueden contener una o varias colecciones de sitios, que pueden tener subsitios, etc. Los cambios realizados en una colección de sitios afectan solo a esa colección de sitios y a ninguna otra. Sin embargo, los cambios realizados en el nivel de la granja web afectan a todas las colecciones de sitios de la granja.

Windows SharePoint Services (WSS) 3.0 permite implementar soluciones solo en el nivel de la granja, pero Microsoft SharePoint Foundation le permite implementar tanto en el nivel de la granja (solución de granja) como en el nivel de la colección de sitios (solución de espacio aislado).

¿Por qué las soluciones en entorno aislado?

En WSS 3.0, las soluciones solo se pueden implementar en el nivel de granja de servidores. Esto significaba que las soluciones potencialmente perjudiciales o desestabilizadoras podrían implementarse que afectaban a toda la granja web y a todas las demás colecciones de sitios y aplicaciones que se ejecutan en él. Sin embargo, mediante el uso de soluciones en modo aislado, puede implementar sus soluciones en una subárea de la granja, una colección de sitios concreta. Para proporcionar protección adicional, el ensamblado de la solución no se carga en el proceso principal de IIS (w3wp.exe). En su lugar, se carga en un proceso independiente (SPUCWorkerProcess.exe). Este proceso se supervisa e implementa cuotas y limitaciones para proteger la granja de servidores frente a soluciones de espacio aislado que realizan actividades perjudiciales, como la ejecución de bucles estrechos que consumen ciclos de CPU.

Windows SharePoint Services 2010 tiene una característica conocida como "galería de soluciones de colección de sitios". Puede acceder a esta característica desde la página Administración central de SharePoint 2010 o abriendo el menú Acciones del sitio, eligiendo Configuración del sitio y, a continuación, el vínculo Soluciones en Galerías en el sitio de SharePoint. Las galerías de soluciones son repositorios de soluciones que permiten a los administradores de colecciones de sitios administrar soluciones en sus colecciones de sitios.

La galería de soluciones es una biblioteca de documentos almacenada en la web raíz del sitio de SharePoint. La galería de soluciones reemplaza las plantillas de sitio y admite paquetes de solución. Cuando se carga un archivo de paquete de solución de SharePoint (.wsp), se procesa como una solución de espacio aislado.

Limitaciones de la solución en espacio aislado

Cuando se implementa una solución de espacio aislado, la matriz de la funcionalidad de SharePoint disponible para ella está limitada para ayudar a reducir las vulnerabilidades de seguridad que puede tener. Algunas de estas limitaciones incluyen las siguientes:

  • Las soluciones de espacio aislado tienen un subconjunto restringido de elementos de solución implementables disponibles para ellos. Las plantillas de proyecto de SharePoint potencialmente vulnerables, como las definiciones de sitio y los flujos de trabajo, no están disponibles.

  • SharePoint ejecuta código de solución de espacio aislado en un proceso (SPUCWorkerProcess.exe) independiente del proceso principal del grupo de aplicaciones de IIS (w3wp.exe).

  • No se pueden agregar carpetas asignadas al proyecto.

  • Los tipos del ensamblado Microsoft.Office.Server de Microsoft SharePoint Server no se pueden usar en soluciones de espacio aislado. Además, solo los tipos del ensamblado Microsoft SharePoint Foundation Microsoft.SharePoint se pueden usar en soluciones de espacio aislado.

    Es importante tener en cuenta que especificar una solución de SharePoint como solución de espacio aislado no tiene ningún efecto en el servidor de SharePoint; solo determina cómo se implementa el proyecto de SharePoint en SharePoint desde Visual Studio y a qué ensamblados enlaza. No afecta al archivo .wsp generado y el archivo .wsp no tiene datos que se correlacionan directamente con la propiedad Solución aislada.

Capacidades y elementos en soluciones de entorno aislado

Las soluciones de espacio aislado admiten las siguientes funcionalidades, capacidades y elementos:

  • Tipos de contenido/campos

  • Acciones personalizadas

  • Flujos de trabajo declarativos

  • Receptores de eventos

  • Llamadas de características

  • Definiciones de lista

  • Instancias de listas

  • Módulos y archivos

  • Navegación

  • Onet.xml

  • SPItemEventReceiver

  • SPListEventReceiver

  • SPWebEventReceiver

  • Compatibilidad con todos los elementos web que derivan de System.Web.UI.WebControls.WebParts.WebPart

  • Web Parts

  • Elementos de características de WebTemplate (en lugar de Webtemp.xml)

  • Elementos web visuales

    Las soluciones de espacio aislado no admiten las siguientes funcionalidades y elementos:

  • Páginas de aplicación

  • Grupo de acciones personalizado

  • Características con ámbito de granja

  • Elemento HideCustomAction

  • Características con ámbito de aplicación web

  • Flujos de trabajo con código