Introducción a las soluciones de espacio aislado (SharePoint Foundation 2010)

 

Se aplica a: SharePoint Foundation 2010

Última modificación del tema: 2016-11-30

Puede implementar una solución de Microsoft SharePoint Foundation 2010 directamente en la granja de servidores de SharePoint Foundation o puede implementar una solución en un espacio aislado. Un espacio aislado es un entorno de ejecución restringido que permite a los programas tener acceso únicamente a algunos recursos; además, evita que los problemas que se originan dentro del espacio aislado afecten al resto del entorno del servidor.

Las soluciones que se implementan en el espacio aislado, denominadas soluciones de espacio aislado, no pueden usar algunos recursos de red y equipos ni tampoco pueden tener acceso a contenido que está fuera de la colección de sitios en la que están implementadas. Para obtener más información acerca de las restricciones sobre soluciones de espacio aislado, vea Lo que una solución de espacio aislado no puede contener.

Dado que las soluciones de espacio aislado no pueden afectar a toda la granja de servidores, no deben implementarse por medio de un administrador de la granja de servidores. Las soluciones de espacio aislado pueden implementarse por medio de un administrador de colección de sitios o, en algunas ocasiones, por medio de un usuario que tenga control total en la raíz de la colección de sitios. Únicamente un administrador de la granja de servidores puede promover la ejecución de una solución de espacio aislado directamente en la granja de servidores, fuera del espacio aislado.

El uso de las soluciones de espacio aislado es especialmente apropiado en dos escenarios:

  • Cuando una organización desea ejecutar un código para empleados en un sitio de producción de SharePoint Foundation y ese código no ha sido probado ni revisado de manera rigurosa.

  • Cuando un proveedor de servicios de hosting desea permitir a los propietarios de sitios de SharePoint Foundation hospedados cargar y ejecutar códigos personalizados.

En este artículo, se presentan los conceptos que están relacionados con soluciones de espacio aislado, se explican las diferencias entre soluciones de espacio aislado y las soluciones que se implementan en la granja de servidores, y se ofrece un resumen sobre cómo se implementan y se ejecutan las soluciones de espacio aislado. En este artículo no se incluyen procedimientos detallados para la configuración de espacios aislados o para la implementación de soluciones de espacio aislado.

En este artículo:

Implementación y ejecución de una solución de espacio aislado

Cualquier página de una aplicación de SharePoint Foundation puede contener componentes que se ejecutan en un espacio aislado y componentes que se ejecutan directamente en la granja de servidores. Estos últimos se ejecutan en el proceso de trabajo de Internet Information Services (IIS). Los componentes que se implementan en un espacio aislado se ejecutan en un proceso de espacio aislado.

En la siguiente lista, se identifican varios de los componentes que puede implementar en un espacio aislado:

  • Elementos web

  • Receptores de eventos

  • Receptores de características

  • Actividades de flujo de trabajo de Microsoft SharePoint Designer personalizadas

  • Lógica empresarial de Microsoft InfoPath

En los siguientes pasos se describe cómo implementar una solución de espacio aislado:

  1. Un administrador de la granja de servidores lleva a cabo las siguientes tareas. Éstas deben hacerse solo una vez.

    • Un administrador de la granja de servidores habilita el servicio en espacio aislado y lo inicia en cada servidor que ejecutará soluciones de espacio aislado.

    • Un administrador de la granja de servidores determina qué esquema de equilibrio de carga usará. El esquema se aplica a todas las soluciones de espacio aislado en todas las colecciones de sitios de la granja de servidores.

    • Un administrador de la granja de servidores establece cuotas de recursos que la combinación de todas las soluciones de espacio aislado en una colección de sitios no puede exceder.

  2. Un administrador de la colección de sitios o un usuario que tiene control total en la raíz de la colección de sitios carga una solución en la galería de la solución de la colección.

  3. Un administrador de colección de sitios activa la solución. Si la solución no contiene un ensamblado, un usuario que tenga control total en la raíz de la colección de sitios también puede activar la solución. Las herramientas de validación se ejecutan en la solución. Si la solución no pasa la validación, no se activa.

Cuando se procesa una solicitud para ejecutar una solución de espacio aislado, se llevan a cabo las siguientes actividades:

  1. Según el esquema de equilibrio de carga, SharePoint Foundation determina en qué servidor se debe ejecutar la solución. Si el equilibrio de carga es local, la solución se ejecuta en el mismo servidor que efectúa la solicitud. Si el equilibrio de carga es remoto, se selecciona el servidor en el que se ejecuta la solución sobre la base de la afinidad de la solución. En ambos casos, el servidor deberá ejecutar el servicio de espacio aislado.

  2. SharePoint Foundation selecciona un proceso de trabajo en espacio aislado para ejecutar la solución, carga una biblioteca de vínculos dinámicos (dll) con correcciones de compatibilidad ("shim") en el proceso y, a continuación, carga el ensamblado de solución en el proceso.

  3. A medida que se ejecuta la solución, el código pasa por las correcciones de compatibilidad (shim) antes de que se ejecute por medio de SharePoint Foundation. Si el código de solución intenta usar las API que las soluciones de espacio aislado no pueden usar, tales correcciones de compatibilidad indicarán una excepción en lugar de permitir que el código pase y se ejecute.

  4. SharePoint Foundation supervisa los recursos que usan las soluciones de espacio aislado. Si la solución de espacio aislado excede un límite físico (por ejemplo, si usa más tiempo de CPU que la cantidad predefinida), SharePoint Foundation finaliza el proceso de trabajo en espacio aislado. Si la combinación de todas las soluciones de espacio aislado en la colección de sitios excede la cuota de recursos de la colección, SharePoint Foundation desactiva todas las soluciones de espacio aislado en la colección de sitios para el resto del día.

  5. Un administrador de la colección de sitios puede supervisar los recursos que usan las soluciones de espacio aislado; además, puede desactivar soluciones en la colección de sitios.

De ser necesario, un administrador de la granja de servidores puede bloquear una solución para que no se ejecute en la granja. De manera opcional, también puede quitar el requisito de que una solución se ejecute en un espacio aislado. Si se quita este requisito, cuando se ejecuta la solución en cualquier colección de sitios de la granja de servidores, ya no se ejecutará en un espacio aislado.

Aislamiento de soluciones de espacio aislado

Puede aislar soluciones de espacio aislado en distintos niveles. Cada nivel adicional de aislamiento aumenta la capacidad de proteger la parte principal del sitio de SharePoint Foundation de códigos que puedan consumir demasiados recursos. En el primer nivel, el código de espacio aislado se ejecuta en un proceso aislado con restricción de derechos. La seguridad de acceso al código (CAS) limita las operaciones que el código puede llevar a cabo. Puede incrementar el aislamiento usando un equilibrio de carga remoto y ejecutando el servicio en espacio aislado únicamente en servidores específicos. En un entorno de producción, se recomienda usar un equilibrio de carga remoto y dedicar un servidor independiente para las soluciones de espacio aislado que se están ejecutando.

Lo que una solución de espacio aislado no puede contener

Una solución de SharePoint Foundation debe contener el archivo de configuración manifest.xml.; además, puede contener ensamblados y archivos de configuración adicionales. Si la solución se ejecuta en un espacio aislado, tanto los archivos de configuración como el ensamblado presentan límites en cuanto a lo que pueden contener.

En la siguiente lista, se identifican aquellas cosas que normalmente no puede hacer un ensamblado que se ejecuta en un espacio aislado.

  • Conectarse a recursos que no están ubicados en el servidor local.

  • Tener acceso a una base de datos.

  • Cambiar el modelo de subprocesos.

  • Usar códigos no administrados.

  • Escribir en disco.

  • Tener acceso a recursos en una colección de sitios diferente.

El archivo manifest.xml hace referencia a los archivos de características; estos últimos hacen referencia a archivos de elementos; los archivos de elementos contienen elementos de feature. Los únicos elementos de feature que se permiten en una solución de espacio aislado son los siguientes:

  • ContentType

  • Field

  • CustomAction

  • Module

  • ListInstance

  • ListTemplate

  • Receivers

  • WebTemplate

  • WorkflowAssociation

  • PropertyBag

  • WorkflowActions

Comparación de soluciones de espacio aislado con soluciones de granja de servidores

En la siguiente tabla, se comparan aspectos de soluciones que se ejecutan en una granja de servidores con soluciones que se ejecutan en un espacio aislado.

Aspecto Granja de servidores Espacio aislado

Proceso de implementación

Agregar la solución y, a continuación, implementarla en la granja de servidores.

Cargar la solución en una colección de sitios y, a continuación, activarla en la colección de sitios.

Quién puede implementar

Administrador de la granja de servidores.

Si la solución contiene un ensamblado, únicamente un administrador de colección de sitios puede implementarla. Si la solución no contiene ningún ensamblado, un usuario que tenga control total en la raíz de la colección de sitios podrá implementarla.

Acceso a datos

Sin restricciones.

La solución solo puede tener acceso a contenido desde la colección de sitios en la cual se implementó.

Proceso en el que se ejecuta la solución

Proceso de trabajo de IIS sin restricciones, o cualquier proceso en el que se implementa la solución.

Proceso de trabajo independiente que tiene restricciones de derechos.

Seguridad de acceso a código

El programador de la solución puede configurar la directiva de seguridad de acceso a código cuando crea el paquete de la solución.

Restringida. Para obtener más información, vea el tema sobre la implementación de una solución de espacio aislado (https://go.microsoft.com/fwlink/?linkid=177369&clcid=0xC0A).

Supervisión

Sin supervisión.

Supervisada y limitada por cuotas establecidas por el administrador de la granja de servidores.

Equilibrio de carga

Varía según el tipo de solución.

Configurable independientemente de soluciones que no son de espacio aislado.

Funcionalidad de la solución

Sin restricciones.

Restringida, tal como se describe en Lo que una solución de espacio aislado no puede contener.

Beneficios del uso de soluciones de espacio aislado

Los principales beneficios de usar soluciones de espacio aislado son los siguientes:

  • Las soluciones pueden agregarse a un entorno de producción de SharePoint Foundation sin correr el riesgo de afectar a los procesos fuera del espacio aislado.

  • Los administradores de la colección de sitios pueden implementar soluciones de espacio aislado y liberar de esta tarea a los administradores de la granja de servidores.

  • Aumentan la escalabilidad y la flexibilidad, ya que los espacios aislados se ejecutan en procesos independientes que pueden estar restringidos por cuotas; además, puede supervisarse el efecto que se produce en la granja de servidores.

  • Una solución no debe modificarse ni debe volver a compilarse si se transfiere de un espacio aislado para que se ejecute directamente en la granja de servidores.

See Also

Concepts

Planeación de soluciones de espacio aislado (SharePoint Foundation 2010)

Other Resources

Administración de soluciones de espacio aislado (SharePoint Foundation 2010)
Sandboxed solutions architecture (https://go.microsoft.com/fwlink/?linkid=177368&clcid=0xC0A)
Deploying a sandboxed solution (https://go.microsoft.com/fwlink/?linkid=177369&clcid=0xC0A)