SharePoint 2010: Alternativas para acceder a datos (I)!

Hace un tiempo comentaba en este artículo sobre cuando se debería usar SPQuery y cuando LINQ  To SharePoint a la hora de acceder a los datos de una lista de un sitio de SharePoint. Yendo un poco más allá, además de estas dos opciones disponemos de una serie de alternativas para el acceso a datos en listas de SharePoint que incluye a ambas:

  • Mediante consultas CAML que utilicemos en objetos de tipo SPQuery y SPSiteDataQuery. El uso de CAML introduce los inconvenientes ya conocidos de que las consultas no son fáciles de construir, de que dichas consultas las definimos “pegándolas” en código lo que dificulta la depuración,etc. Ahora bien, el mayor punto a favor de CAML es que sigue siendo el corazón para realizar operaciones de acceso a datos que en SharePoint 2010 incorpora novedades ya vistas en este blog como el soporte de Joins o la posibilidad de acceder a datos externos a través de consultar listas externas. En cuanto a la diferencia entre usar SPQuery y SPSiteDataQuery, la fundamental es que con el primero sólo podremos realizar consultas a listas del sitio actual mientras que con SPSiteDataQuery podremos realizar consultas a listas de varios sitios.
  • Mediante consultas LINQ To SharePoint, que nos permite definir consultas LINQ para realizar operaciones de datos contra listas de SharePoint y que incluye soporte de Joins además de la ya consabida ventaja de que tenemos tipado fuerte en la definición de las consultas, de que disponemos de la utilidad SPMetal para generar las entidades a consultar, etc. Internamente, las consultas LINQ To SharePoint se traducen al correspondiente CAML.
  • Mediante el modelo de objetos de BCS que facilita la interacción con datos externos permitiendo de forma programática navegar entre entidades y asociaciones definidas en los modelos de BDC.

Aparte de estos tres tipos de alternativas, tenemos otras para el acceso a datos como:

  • El uso del modelo de objetos de SharePoint (en servidor y en cliente).
  • El uso de los servicios web de SharePoint.
  • El uso de la API REST de SharePoint.
  • La clase ContentIterator, que permite iterar en bloque con sitios, listas y elementos de lista superando los umbrales fijados en la consulta de listas
  • La clase ContentByQueryWebPart  que forma parte de la infraestructura de publicación de SharePoint 2010 y permite realizar consutas CAML a listas y sitios de una cierta colección de sitios.
  • La clase PortalSiteMapProvider también perteneciente a la infraestructura de publicación de SharePoint 2010 y que permite consultas objetos cacheados a nivel de colección de sitios.

Volviendo a las tres opciones iniciales, ¿Cuáles son los escenarios de uso? Pues tal y como podéis leer en la SharePoint Guidance tenemos los siguientes escenarios:

image

About these ads

Un pensamiento en “SharePoint 2010: Alternativas para acceder a datos (I)!

  1. Pingback: Sharepoint Update Sep-30-2011 | SDavara's Knowledge Center

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s