Header

Antes de comenzar, para que quienes no conocen SharePoint les hago una pequeña introducción:

SharePoint es una plataforma de colaboración en donde equipos de trabajo pueden interartuar compartiendo documentos, automatizando flujos de trabajo, utilizando sitios de trabajo, así como utilizar herramientas de colaboración como wikis, blogs, foros, listas de información, etc. Es una plataforma muy utilizada en entornos empresariales, especialista para la creación de sitios de proyecto en donde los equipos de trabajo comparten información, y también para la automatización de cualquier proceso de negocio de la empresa, a través de flujos de trabajo. 

Ya conociendo un aspecto básico de la plataforma, es muy común que la información cargada en esta plataforma pueda ser consumida por otras plataformas, para lo cual podemos tener un siguiente escenario:

«Tener una biblioteca documental en SharePoint con documentos de la empresa y queremos acceder a ella a través de un aplicativo web en cualquier plataforma, como por ejemplo java o php».

Teniendo este escenario, podemos pensar en construir servicios web que se integren, en este caso no será necesario.

Ya que la plataforma SharePoint ya tiene implementado una arquitectura REST el cual te permite acceder, modificar, eliminar cualquier tipo de objeto que se encuentre dentro de un sitio SharePoint, y pone a disposición de desarrolladores una forma simple de integrar aplicaciones.

Arquitectura REST en SharePoint. 

 

9

En SharePoint podemos obtener acceso a los métodos CRUD de los objetos, para tener una referencia se muestra la siguiente imagen

10

¿Y cómo accedemos a la información desde un sitio de SharePoint ?

Podemos utilizar el siguiente modelo para consultar cualquier tipo de información.

11

Aquí un ejemplo de un sitio en SharePoint que muestra una biblioteca documental con contenido

12

A esta biblioteca documental, gracias a la implementación que pone a disposición de la plataforma SharePoint, podemos acceder a su información en formato JSON o XML de la siguiente forma.

  • Caso : Listar todos los elementos de la biblioteca Oportunidades.
  • URL : HTTP://nombredelsitio/lists/getbytitle(‘listname’)/items
  • En nuestro caso sería: https://visionitpe.sharepoint.com/sites/CRM/_api/web/lists/getbytitle(‘Oportunidades’)/items
  • En nuestro caso listaría en formato JSON o XML todos los elementos de la biblioteca.
  • 13

 

14

 

Espero les sea de utilidad.

 

Referencias:

  • https://msdn.microsoft.com/es-es/library/office/fp142380.aspx
  • https://msdn.microsoft.com/en-us/library/office/jj164022.aspx

A lo largo del curso aprendí un nuevo estilo para el consumo de información a través de servicios REST ((Representational State Transfer), basado en ASP.NET. En realidad este tipo de servicio a diferencia de servicios web SOAP  es un nuevo estilo de arquitectura para desarrollar servicios. El cumple las siguientes premisas.

  • Sin estado : No se mantiene el estado, ya que cada petición es independiente de cualquier otra petición.
  • Son cliente / servidor : Hay comunicación entre ambas partes, pero bien diferenciadas y independientes (separan responsabilidades).
  • Cacheable: Los datos obtenidos (json) se pueden mantener en cache y con esto mejorar el performance del aplicativo.
  • Puede ser en capas: Está orientado a la escalabilidad y puede ver en el intermedio un balanceador de los servicios.
  • Son servicios uniformes : Quiere decir que se puede utilizar funciones uniformes siguiendo un esquema CRUD.

A continuación se muestra como crear un servicio REST el cual puede consultar datos de una base de datos , así como guardar contenido.

Escenario = «Se requiere obtener y/o registrar reservas de una sala mediante un formulario asp.net utilizando un servicio REST, las reservas se guardarán en una base de datos en su tabla respectiva».

 

  1. Creamos un proyecto del tipo WCF Application Service
  2. Creamos una carpeta llamada «Dominio» en donde colocaremos nuestra entidad llamada «Reserva»
  3. Creamos una carpeta llamada «Persistencia» en donde colocaremos nuestra entidad «ReservaDAO» la cual la utilizaremos para las operaciones de persistencia de datos.
  4. Luego agregamos un servicio llamada «ReservaServiceRest»
  5. Nuestro proyecto quedará de la siguiente manera:
  6. 1
  7. Nuestra base de datos ReservaDB tiene una tabla llamada Reserva, con la siguiente definición.
  8. 2
  9. Luego de esto creamos modificamos nuestra clase Reserva para que representa a nuestra tabla en la base de datos y realizamos las configuraciones para que sea compatible con el servicio WCF.
  10. 3
  11. Escribimos nuestras operaciones en la capa de persistencia DAO.
  12. 4
  13. Luego configuramos nuestra interface del servicio para luego implementarla en el servicio ReservaServiceRest.svc.
  14. 5
  15. Como verán a los métodos de la interface se les configura el tipo de Métod Rest que se le asignará, en este caso los tipos POST y GET, así como la nomenclatura en la URITemplate que podrá ser utilizado desde el browser.
  16. La url como podrá ser utilizada nuestro servicio podrá ser por ejemplo http://servidor/reservas/1 , en donde el último valor representa el código de la reserva que está presente en la base de datos. Esta es una forma fácil de publicar y consumir servicios desde la propia url del browser.
  17. Su implementación en el servicio quedaría de la siguiente manera.
  18. 6
  19. Una vez ya implementado el servicio podemos ejecutarlo y probarlo desde la web, de la siguiente manera.  http://localhost:63870/ReservasService.svc/reservas/5439
  20. 7
  21. Lo podemos validar en la base de datos los resultados obtenidos.
  22. 8
  23. Con esto hemos terminado de crear nuestro primer servicio REST para ser consumido desde cualquier aplicativo.
  24. Tener en cuenta que los datos obtenidos por nuestro servicio rest son de tipo JSON, lo cual hace que a diferencia de obtener XML nuestro servicio sea más ligero.
Referencias de post : http://www.arquitecturajava.com/servicios-rest/

 

 

 

 

A %d blogueros les gusta esto: