Desarrollo de soluciones de SharePoint Online
SharePoint Online proporciona una superficie de desarrollo robusta y flexible para que los programadores creen soluciones personalizadas usando un subconjunto básico de las opciones de desarrollo disponibles cuando se trabaja en instalaciones locales de SharePoint.
Última modificación: lunes, 17 de octubre de 2011
Hace referencia a: SharePoint Designer 2010 | SharePoint Foundation 2010 | SharePoint Server 2010
En este artículo
Desarrollo de soluciones de SharePoint Online
Desarrollo para SharePoint Online con soluciones de espacio aislado
Acceso a datos de SharePoint Online mediante modelos de objetos cliente
Disponible en SharePoint Online
Dado que los administradores de SharePoint Online poseen y administran colecciones de sitios de SharePoint Online, en lugar de instalaciones de granja de servidores completas, el ámbito del método de desarrollo en SharePoint Online es necesariamente la colección de sitios.
Desarrollo de soluciones de SharePoint Online
Debido a que el desarrollo en SharePoint Online se limita al nivel de colección de sitios, hay dos características para programadores que conforman los cimientos de la creación de soluciones personalizadas de SharePoint Online:
Soluciones de espacio aislado Las soluciones de espacio aislado proporcionan un marco para que los programadores puedan crear, y para que los administradores de SharePoint Online puedan cargar y activar, soluciones de código personalizado en SharePoint Online. Las soluciones de espacio aislado se ejecutan en un entorno con acceso a un subconjunto básico del modelo de objetos de servidor. El marco de las soluciones de espacio aislado permite que los programadores accedan a los objetos principales del nivel de la colección de sitios y de los niveles inferiores.
Modelo de objetos cliente Los modelos de objetos cliente proporcionan tres representaciones paralelas y comparables de los objetos básicos del modelo de objetos de SharePoint del lado servidor: un modelo administrado de Microsoft .NET Framework, un modelo de Microsoft Silverlight y un modelo de ECMAScript (JavaScript, JScript). Estos modelos de objetos de cliente proporcionan acceso remoto a funcionalidades y datos de SharePoint.
Además, puede usar el código del lado cliente para obtener acceso a los servicios web que SharePoint Online pone a disposición y a orígenes de datos externos. Por este motivo, el código del lado cliente es una opción útil si debe obtener acceso a objetos que no se incluyen en soluciones de espacio aislado, pero que se encuentran disponibles mediante un servicio web de SharePoint Online, o a datos externos.
La figura 1 muestra estas opciones de desarrollo:
Use el modelo de objetos de servidor disponible para las soluciones de espacio aislado.
Utilice el modelo de objetos cliente y el código del cliente para obtener acceso a los datos adicionales disponibles a través de los servicios web de SharePoint o de datos de fuentes externas.
Tenga en cuenta que el elemento web de SharePoint realmente se ejecuta en SharePoint Online. Sin embargo, el código del lado cliente al que hace referencia se descarga y ejecuta en el cliente; para ello, implementa el modelo de objetos de cliente de SharePoint para volver a conectarse a SharePoint Online para la transferencia de datos.
Figura 1. Opciones de desarrollo de SharePoint Online
Desarrollo para SharePoint Online con soluciones de espacio aislado
Para el desarrollo en SharePoint Online, se usa el mismo marco para empaquetar e implementar las soluciones con código administrado que se usa en una instalación de SharePoint local: el marco de soluciones. Al desarrollar en SharePoint Online, se crea un tipo específico de solución, conocido como solución de espacio aislado. Una solución de espacio aislado permite a los administradores de SharePoint Online cargar sus propias soluciones con código.
En gran medida, una solución de espacio aislado funciona de la misma manera que una solución (de plena confianza) de granja de servidores. Por ejemplo, las soluciones de espacio aislado permiten empaquetar todos los componentes que pueden usarse para ampliar SharePoint Online en un nuevo archivo único, denominado archivo de solución. Una solución de espacio aislado es un paquete implementable y reutilizable que puede contener un conjunto de características, definiciones de sitio y ensamblados que se aplican a sitios y que se pueden habilitar o deshabilitar de manera individual. El archivo de solución de la solución de espacio aislado se puede usar para implementar el contenido de un paquete de elementos web, como ensamblados, recursos de clase, archivos de descripción de elemento web (.dwp) y otros componentes del paquete.
Principalmente, las soluciones de espacio aislado difieren de las soluciones de granja de servidores en el modo en que se implementan y el grado de acceso que tienen en el modelo de objetos de servidor. Las soluciones de espacio aislado se ejecutan en un proceso diferente con acceso a un subconjunto básico del modelo de objetos de servidor. Se usa una galería de soluciones para almacenar todas las soluciones de espacio aislado. Además, las soluciones de espacio aislado se asignan a una directiva de seguridad de acceso de código personalizado (CAS).
Para obtener información acerca de las funcionalidades y elementos disponibles para usar en las soluciones de espacio aislado, la directiva CAS de las soluciones de espacio aislado y la supervisión de recursos de las soluciones de espacio aislado, vea Arquitectura de soluciones de espacio aislado.
Para obtener una lista de los miembros y tipos de modelos de objetos de servidor disponibles en soluciones de espacio aislado, vea API de Microsoft.SharePoint.dll disponibles en soluciones de espacio aislado.
Proceso de desarrollo de soluciones de SharePoint Online
Los siguientes son los pasos básicos del proceso de creación, implementación y activación de una solución de espacio aislado en SharePoint Online:
Desarrollo y prueba de la solución.
Para crear o personalizar soluciones de SharePoint Online, debe desarrollar la solución en un equipo local donde esté instalado SharePoint Server 2010 o SharePoint Foundation 2010. Esto incluye la depuración de la solución, ya que no podrá realizarla directamente desde SharePoint Online.
Una vez configurado el entorno de desarrollo, se puede usar Visual Studio 2010 para crear su soluciones de espacio aislado. Como una herramienta para promover el desarrollo rápido de soluciones de SharePoint, Visual Studio 2010 proporciona características como herramientas de depuración avanzadas, IntelliSense, finalización de instrucciones y plantillas de proyecto. Visual Studio 2010 proporciona una amplia gama de plantillas especializadas para crear elementos de SharePoint que pueden incluirse en las soluciones de espacio aislado. Además, Visual Studio 2010 puede abrir y editar archivos de paquete de solución (.wsp) creados en SharePoint Designer 2010, lo que permite a diseñadores y programadores colaborar estrechamente en las soluciones a través de un marco común.
Para obtener más información acerca de cómo configurar el entorno de desarrollo, incluidas recomendaciones de hardware, opciones de Hyper-V y sistema operativo y requisitos previos, vea Configuración del entorno de desarrollo para SharePoint 2010 en Windows Vista, Windows 7 y Windows Server 2008.
Para obtener información acerca de cómo usar y personalizar Visual Studio 2010 para maximizar la eficiencia, vea Uso de Visual Studio para el desarrollo de SharePoint.
Implementación y activación de la solución.
Una vez creadas y depuradas las soluciones de espacio aislado en el equipo local, debe transferirlas al administrador de SharePoint Online, en caso de que no disponga de permisos de administración de SharePoint Online. El administrador de SharePoint Online carga el archivo (.wsp) de paquete de solución en la galería de soluciones para la activación.
Para obtener más información, vea Deploying a Sandboxed Solution.
Para que la solución esté disponible para los usuarios, debe activarla. Si el paquete de solución de espacio aislado contiene una característica limitada al nivel de colección de sitios, se activa automáticamente. Todas las características limitadas al nivel de sitio deben activarse en la página Administrar las características del sitio situada en https://servername/site/subsite/_layouts/managefeatures.aspx.
Supervisión de la solución activada.
Las soluciones activadas se supervisan en función de los recursos que consumen. El rendimiento de las soluciones se puede supervisar mediante varios tipos de medidas, que incluyen tiempo de ejecución de CPU, consumo de memoria y tiempo de consulta de base de datos.
En la figura 2 se muestran los pasos principales del proceso de desarrollo de la solución de espacio aislado para SharePoint Online.
Figura 2. Desarrollo de soluciones de espacio aislado en SharePoint Online
Para obtener una implementación de referencia de una solución de espacio aislado, vea Implementación de referencia: el modelo de ejecución de espacio aislado.
Para realizar un curso sobre las soluciones de espacio aislado, vea el tema sobre las soluciones de espacio aislado en Channel 9.
Restricciones de solución adicionales en SharePoint Online
Al tratarse de un entorno multiempresa, al cargar una solución de espacio aislado a la galería de soluciones, SharePoint Online realiza una ronda de comprobaciones de validación, además de las que realizan las instalaciones locales de SharePoint. Una solución de espacio aislado no se puede activar si contiene código que llama a cualquiera de los espacios de nombres siguientes:
Microsoft.SqlServer
-
Sin embargo, puede usar los siguientes miembros de este espacio de nombres en el código de solución de espacio aislado:
System.Runtime.InteropServices
Sin embargo, puede usar la enumeración LayoutKind en el código de solución de espacio aislado.
-
Sin embargo, puede usar los siguientes miembros de este espacio de nombres en el código de solución de espacio aislado:
Además, no se puede llamar a los siguientes tipos y miembros desde el código de una solución de espacio aislado en SharePoint Online:
Acceso a datos de SharePoint Online mediante modelos de objetos cliente
SharePoint Online incluye tres modelos de objetos de cliente, cada uno de los cuales proporciona aproximadamente el mismo subconjunto del modelo de objetos de servidor que se define en Microsoft.SharePoint.dll. Los modelos de objetos de cliente de JavaScript, administrado de .NET Framework y de Silverlight incluyen objetos que corresponden a objetos principales del nivel de la colección de sitios o niveles inferiores en la jerarquía de SharePoint. Los modelos de objetos proporcionan un sistema orientado a objetos coherente y fácil de usar para interoperar con datos de SharePoint desde un cliente o servidor remotos.
Dado que el código escrito en los modelos de objetos de cliente se ejecuta de forma remota en el cliente, no está sujeto a las mismas restricciones que las soluciones de espacio aislado y puede, por ejemplo, obtener acceso a orígenes de datos externos.
A fin de mejorar la seguridad y el rendimiento, los modelos de objetos de cliente solo contienen las API más relevantes para el desarrollo del cliente y no todos los tipos y miembros que se representan en el modelo de objetos de servidor. La limitación del tamaño de las bibliotecas cliente reduce la cantidad de tiempo necesaria para descargar las bibliotecas en los contextos de Silverlight y JavaScript. Asimismo, las nuevas API están diseñadas para reducir al mínimo el número de idas y vueltas que se deben implementar para acciones comunes.
Los modelos de objetos cliente se proporcionan a través de archivos .js de proxy y archivos .dll administrados, a los que se puede hacer referencia en aplicaciones personalizadas como con otros modelos de objetos. Los modelos de objetos se implementan como un servicio de Windows Communication Foundation (WCF), pero usan vínculos web para implementar un procesamiento por lotes de solicitudes eficiente. Todas las operaciones son intrínsecamente asincrónicas y los comandos se serializan en XML y se envían al servidor en una única solicitud HTTP. Para cada comando, se realiza una llamada al modelo de objetos de servidor correspondiente y el servidor devuelve una respuesta al cliente en formato Notación de objetos JavaScript (JSON) compactado, que el proxy analiza y asocia a los objetos correspondientes.
En la figura 3 se muestra el flujo de llamadas y respuestas de los modelos de objetos cliente.
Figura 3. Arquitectura de modelos de objetos cliente de SharePoint
Los programas que se ejecutan en el cliente y que usan uno de los modelos de objetos de cliente pueden agregar y quitar listas, agregar, actualizar y eliminar elementos de lista, modificar documentos de bibliotecas de documentos, crear sitios, administrar permisos de elementos, agregar y quitar elementos web de una página y mucho más.
Entre algunas de las áreas de desarrollo admitidas se incluyen:
Sitios y colecciones de sitios
Listas, elementos de lista, vistas y esquemas de lista
Archivos y carpetas
Contenedores de propiedades web, de lista y de elementos de lista
Elementos web
Seguridad
Tipos de contenido
Operaciones de colección de sitios y plantillas de sitio
Nota
Actualmente, solo es posible obtener acceso al contenido de SharePoint Online mediante programación utilizando las credenciales de identificador de Office. No es posible obtener acceso mediante programación al contenido de SharePoint Online con credenciales de usuarios desde un dominio local, como los que se importan con la herramienta DirSync.
Uso del modelo de objetos cliente de Silverlight en SharePoint Online
Puede usar Silverlight y el modelo de objetos cliente de Silverlight para crear aplicaciones sofisticadas y enriquecidas en SharePoint Online. Puede hospedar la aplicación (.xap) de Silverlight en su propia página .aspx o en un elemento web. SharePoint Online incluye un elemento web de Silverlight predeterminado, o bien, puede crear un elemento web personalizado como parte de una solución de espacio aislado.
Para usar el modelo de objetos de Silverlight de SharePoint en un elemento web de Silverlight, puede crear una aplicación de Silverlight en Visual Studio 2010 y agregar código a la clase Page en el archivo Page.xaml.cs predeterminado del proyecto. Después de compilar el proyecto, cargue el archivo (.xap) de paquete de aplicación del proyecto en cualquier biblioteca de documentos que elija. Inserte un elemento web de Silverlight en una página de elementos web y apunte el origen de la dirección URL del elemento web a la ubicación de la ruta de acceso del archivo .xap en la biblioteca de documentos. El elemento web puede incluir propiedades personalizadas que se envían a Silverlight mediante la propiedad InitParameters.
Use la autenticación basada en formularios (FBA) para autenticar a los usuarios en SharePoint Online.
Además, puede usar Visual Studio 2010 para crear un solo archivo (.wsp) de solución que lleve a cabo las siguientes acciones al implementarlo y activarlo:
Implementación de un elemento web, en función del elemento web de Silverlight predeterminado, para hospedar la aplicación de Silverlight
Implementación del archivo (.xap) de paquete de solución de Silverlight, empaquetado como un módulo, en la ubicación de la biblioteca de documentos especificada
Creación de páginas, que contengan el elemento web insertado en ellas, en la colección de páginas de sitio
Una vez activada la solución, el usuario puede navegar a las páginas creadas e interactuar con el elemento web que hospeda la aplicación de Silverlight. La aplicación propiamente dicha puede usar el modelo de objetos de Silverlight de SharePoint para obtener acceso a datos de SharePoint Online de forma remota, aunque el usuario vea que esta aparece como hospedada en SharePoint Online.
Uso del modelo de objetos cliente de ECMAScript en SharePoint Online
Puede utilizar el modelo de objetos de JavaScript en SharePoint Online de un modo similar. Puede incluir código personalizado que use el modelo de objetos de JavaScript en un bloque de script de una página .aspx, o bien puede crear un archivo .js independiente que incluya el código y haga referencia a él desde la página .aspx. Para obtener más información, vea Configuración de una página de aplicación para ECMAScript.
Más información acerca de los modelos de objetos cliente de SharePoint
Para obtener una introducción más detallada a los modelos de objetos de cliente, vea Uso del modelo de objetos de cliente administrado de SharePoint Foundation 2010. Para obtener información técnica más detallada e instrucciones sobre la implementación, vea las secciones siguientes del SDK de SharePoint 2010:
Para obtener información acerca de la creación de aplicaciones cliente de Silverlight, vea Uso del modelo de objetos Silverlight y el tema acerca del procedimiento para usar un proyecto de SharePoint para implementar una aplicación de Silverlight.
Para obtener un ejemplo de implementación de referencia del uso de los modelos de objetos cliente de SharePoint, vea el tema sobre la implementación de referencia: cliente.
Para obtener información de referencia de la API, vea Biblioteca de clases de cliente y Biblioteca de clases de ECMAScript.
Para realizar un curso sobre los modelos de objetos cliente de SharePoint, vea el tema sobre el modelo de objetos cliente en Channel 9.
Vea también
Conceptos
Personalización de SharePoint Online mediante SharePoint Designer 2010
Desarrollo de soluciones de SharePoint Online
Servicios web en SharePoint Online
Matriz de disponibilidad de características para programadores de SharePoint Online
Vínculos rápidos de SharePoint Online
Otros recursos
Referencia general de SharePoint Online
Arquitectura de soluciones de espacio aislado
API de Microsoft.SharePoint.dll disponibles en soluciones de espacio aislado
Uso del modelo de objetos de cliente administrado de SharePoint Foundation 2010
Uso del modelo de objetos Silverlight
Configuración de una página de aplicación para ECMAScript
Modelo de objetos cliente administrado
Instrucciones del modelo de objetos cliente
Tareas comunes de programación
Biblioteca de clases de cliente
Biblioteca de clases de ECMAScript
Centro de recursos para desarrolladores de SharePoint Online