El modelo de objetos del lado del servidor de SharePoint 2010 tiene una jerarquía estructurada que facilita el acceso a cada uno de los objetos dentro de un sitio Web de SharePoint, cabe mencionar que se trabaja mediante colecciones, las cuales contienen un número cualquiera de objetos definidos dentro de SharePoint.
El siguiente diagrama muestra la arquitectura de un sitio de SharePoint.
SPSite: Una colección de sitios no tiene una interfaz de usuario, una Colección de Sitios necesita obligatoriamente por lo menos un Sitio, llamado el Sitio de Nivel Superior.
SPWeb: Cada Sitio Web dentro de una Colección de Sitios se puede ver como un Sub-Sitio del Sitio de Nivel Superior. Cada Sitio es un depósito de Bibliotecas y Lista.
SPList: SharePoint dispone de un solo tipo de Listas (Lista Personalizada) de la que heredan todas los otros tipos. Una Biblioteca no es más que una Lista Personalizada especializada y modificada para contener documentos de cualquier tipo y sus metadatos. A su vez, las Listas y Bibliotecas son el contenedor de Elementos o Documentos, el último depósito de información en SharePoint.
SPListItem: Elementos de Listas y Documentos de Bibliotecas son el contenedor final de la información en SharePoint y radican en la base del sistema.
El Modelo de Objetos de SharePoint nos permite trabajar con la creación, listado, modificación y eliminación de Elementos de Listas y Documentos de Librerías. La siguiente rutina muestra todos los elementos presentes de una Lista. Algunos campos están disponibles en las propiedades del Elemento mientras otros deben ser accedidos por medio de su nombre o identificador, ejemplo:
public void GetListElements()
{
using (SPSite site= new SPSite("http://servidor"))
{
using (SPWeb web = site.OpenWeb())
{
SPListCollection listCollection= web.Lists;
SPList list= listCollection["nombreLista"];
SPListItemCollection elements = list.Items;
foreach (SPListItem item in elements)
{
Console.WriteLine(item.Title + " - " + item["nombreCampo"]);
}
}
}
}

