WSS y MOSS – Integración con ASP.NET 2.0

Introducción a WSS y MOSS

La última versión de Microsoft SharePoint ha sido introducida conjuntamente con Office 2007, y es una evolución de SharePoint 2001 y 2003

Microsoft SharePoint es la herramienta de colaboración de Microsoft que asiste en el proceso de guardar, publicar y compartir información, y que permite utilizar la información existente en forma efectiva gracias a sus servicios de búsqueda e integración con otros productos Office. Además de una herramienta para el manejo de información, SharePoint es también una plataforma de desarrollo, que permite personalizar los sitios y portales a la medida de sus usuarios y ampliar su funcionalidad por medio de la creación e integración de software que realice funcionalidad no presente por defecto.

El nombre SharePoint cubre dos servidores diferentes:

  • Windows SharePoint Services (WSS) que provee la base para crear y manejar Portales y sus sitios web. WSS proporciona los servicios e infraestructura necesarios para guardar documentos e información en una forma de organización jerárquica, controlar el acceso a la información y los derechos de cada usuario, control de versiones y Flujos de Trabajo. Además provee la maquina de búsqueda que permite encontrar información basada en los derechos de cada usuario, y facilita las herramientas necesarias para la creación de nuevos sitios web y asignar los usuarios y los roles de los participantes.
  • Microsoft Office SharePoint Server (MOSS) es el portal construido sobre la base de WSS, que provee toda la funcionalidad ofrecida por WSS, y agrega servicios que permiten utilizar Excel de una forma centralizada como servidor de calculo, crear formularios de InfoPath dinámicamente y permite interactuar con ellos desde un navegador sin necesidad de tener instalado el software en el computador cliente. MOSS ofrece de la misma forma una integración profunda con servicios de reportes de SQL Server permitiendo la creación de sitios para Inteligencia de Negocios (BI), y la posibilidad de integrar Bases de Datos externas al sistema que pueden ser cuestionadas desde sitios del Portal, e indexadas por la maquina de búsqueda de SharePoint.

    MOSS ofrece también dos variantes:

      "Estándar", que incluye toda la funcionalidad básica ofrecida por WSS, mas la posibilidad de crear Servicios Compartidos, lo que a su vez permite la creación de sitios individuales para los usuarios (Mi Sitio), Catálogos de Datos Profesionales, Servicios de Cálculo de Excel y Servicios de InfoPath
      "Empresarial", que permite además la creación de sitios de presencia empresarial que sustituyen al antiguo Content Management Server, sitios para Inteligencia de Negocios (BI), y varios otros sitios especializados

    Instalación

    La instalación de MOSS es una tarea sencilla gracias a la guía automatizada de instalación del programa. MOSS tiene dos variantes: Estándar que contiene WSS y las funciones básicas de un portal (manejo de documentos, maquina de búsqueda, infraestructura para la creación de paginas y sitios web), y Empresarial, que contiene todas las opciones de la versión Estándar, e incluye servicios especiales para Excel e InfoPath, SharePoint como Manejador de Contenido (CMS) y varios servicios para conectar el Portal con servicios de Inteligencia de Negocios (BI) y bases de datos externas. La llave de la licencia que se va a utilizar determina el tipo de instalación.

    La configuración inicial incluye la determinación de la topología (distribución de los servicios a través de la granja), creación de un sitio web para los Servicios Compartidos y la configuración básica de grupos de administradores y servicios de correo.

    Integración

    En comparación con SharePoint 2003, WSS y MOSS 207 han sido completamente rediseñados utilizando el FrameWork 2.0 de Windows. Esto provee significantes ventajas en cuanto a optimalización del Modelo de Objetos con respecto al MO de ASP.NET 1.1, rapidez, utilización de recursos de los servidores y manejo de cargas de trabajo.

    SharePoint 2007 también aprovecha los cambios y las mejoras realizadas en SQL Server 2005 (aunque puede funcionar con SQL 2000), lo que hace que su velocidad de funcionamiento y rendimiento sean superiores, sobre todo bajo cargas de uso grandes. Como la maquina de búsqueda ha sido revisada y reconfigurada, ahora se puede utilizar una sola manera de buscar en WSS y MOSS, eliminando la necesidad de utilizar el "Full text" de SQL, y, como consecuencia paralela, poder utilizar las versiones de 64 bits de SQL Server.

    El principal cambio en cuanto a arquitectura con respecto a SharePoint 2003 es que ya no se utiliza mas el filtro ISAPI. En SharePoint 2003, el filtro ISAPI era el encargado de enrutar todas las solicitudes hacia la maquina de WSS antes de que llegaran al FrameWork, de tal forma que SharePoint "tome control" sobre todo el servidor Web. La experiencia con el filtro ha dejado ver que en ciertas circunstancias de trabajo pueden generarse problemas de estabilidad pues el contexto de ASP.NET no tiene tiempo para ser inicializado apropiadamente. Además, desde la perspectiva de desarrolladores, era necesario especificar explícitamente que aplicaciones debian ejecutar bajo el contexto de SharePoint y cuáles no; con la nueva arquitectura, IIS recobra el control sobre el funcionamiento del servidor Web y todas las solicitudes que arriben.

    El filtro ISAPI ha sido reemplazado por un HttpModule y un HttpHandler registrados dentro del mismo FrameWork de ASP.NET, usando configuraciones por defecto. De esta forma, las solicitudes de http son manejadas directamente por el FrameWork 2.0, lo que dirige todas las llamadas al proceso de WSS.

    Otra diferencia es la forma de renderizar las páginas. ASP.NET puede trabajar solamente con páginas que residen en el sistema de archivos local, por lo que la arquitectura de páginas archivadas en la Base de Datos obliga a utilizar una maquina de renderización propia, que no soporta muchas de las características del FrameWork. El nuevo "Virtual Path Provider" de ASP.NET 2.0 permite utilizar paginas aspx que se encuentren en cualquier localización, inclusive en una Base de Datos, lo que hace que la arquitectura de plantillas e información delta en Bases de Datos de SharePoint 2007 se integre perfectamente con DotNet 2.0. WSS incluye su propio proveedor, llamado SPVirtualPathProvider que importa la plantilla genérica a utilizar desde la memoria interna y los datos específicos a mostrar desde la Base de Datos, y los envía a la maquina de renderizar, la que los mezcla para formar una respuesta de http antes de envíarlos al cliente.

    En cuanto a desarrollo, todas las nuevas herramientas proporcionadas por DotNet 2.0 están disponibles para el programador. Generics, Clases Parciales, etc., son utilizables directamente para programar con SharePoint, lo mismo que las Paginas Maestras disponibles para programación de páginas aspx; SharePoint mismo ha sido rediseñando para utilizar Paginas Maestras en sus plantillas, lo que facilita considerablemente el trabajo de personalización del Portal.

    Modelo de Objetos

    SharePoint 2007 dispone de un extenso Modelo de Objetos que permite accederlo y trabajar con todos los componentes del servidor en cualquier forma deseada. El Modelo de Objetos es completamente Orientado a Objetos y basado en DOT.NET 2.0, lo que permite que desarrolladores utilicen el ambiente de programación ofrecido por Visual Studio 2005.

    El Modelo de Objetos brinda, entre otras muchas posibilidades, acceso completo a las Librerías de Documentos, sus documentos y las propiedades de cada uno de ellos, como se puede ver en el video acompañante; el objetivo del video es dar una idea inicial sobre la utilización del Modelo de Objetos para trabajar con Librerías y Documentos, pero sus capacidades son mucho mas amplias, alcanzando todos los aspectos de SharePoint.

    Para programar con facilidad a SharePoint es recomendable (aunque no obligatorio) instalar Visual Studio 2005 en el mismo servidor en donde se ha instalado SharePoint. Esto es aplicable solamente para sistemas de desarrollo; en sistemas de producción es recomendable instalar la menor cantidad posible de software para garantizar la estabilidad del sistema. Teniendo a Visual Studio junto a SharePoint simplifica el agregar referencias y la depuración. Otro punto importante es que no es posible utilizar el Modelo de Objetos de forma remota, así que el ensamblado generado necesita estar localizado físicamente en el servidor(es) en donde esta instalado SharePoint.

    El Modelo de Objetos de WSS y MOSS utiliza cerca de 100 NameSpaces y más de 1.200 clases que cubren todos los aspectos de SharePoint: Administración, creación de componentes en el sistema, autorización, manejo de usuarios y seguridad para cada uno de sus elementos, todo esta cubierto por el API (Application Programming Interface).

    Las dos clases más importantes del Modelo de Objetos son SPSite y SPWeb:

  • SPSite representa una colección de sitios en el servidor virtual, incluyendo los sitios de nivel superior y todos sus subsitios. SharePoint puede contener diferentes servidores virtuales, y cada servidor puede contener una o mas colecciones de sitios.

    La clase SPSite provee dos constructores que permiten crear un objeto representando un sitio de diferentes maneras:

      SPSite(Cadena) Inicializa una nueva instancia basada en un URL absoluto
    • SPSite(Guid) Inicializa una nueva instancia basada en un especifico GUID de una colección de sitios

    ModeloObjetos

    Examinador de Objetos de Visual Studio con el Modelo de Objetos para SPSite y SPWeb

  • Y también se puede construir el objeto utilizando el contexto, por medio de la clase SPControl y su método GetContextSite. Luego de haber creado el objeto representando el sitio, se pueden utilizar todas sus propiedades y métodos, que permiten obtener toda la información del sitio, y poder interactuar con el.

  • SPWeb contiene un sitio específico. Cada colección de sitios representada por la clase SPSite puede contener uno o más sitios, representado por la clase SPWeb. Por defecto, hay por lo menos un sitio en cada colección de sitios, y su nombre es igual al nombre de la colección.

    Utilizando la misma clase SPControl y su método GetContextWeb se puede crear una referencia al Web que se encuentra bajo el contexto del código, o se puede utilizar un objeto del tipo SPSite para crear un objeto que represente un solo Web utilizando el método publico OpenWeb, que, a su vez, tiene tres constructores:

      OpenWeb(), retorna el Web asociado por defecto con el Sitio
      OpenWeb(Cadena), que retorna un Web especifico bajo la estructura del Sitio, basado en el URL relativo al del Sitio
      OpenWeb(GUID), que retorna un Web especifico basado en su Identificador

    El siguiente fragmento de código, por ejemplo, crea un objeto representativo del sitio bajo el contexto en el que ejecuta el programa, basado en él crea otro objeto para contener un Web determinado, y finalmente crea una variable del tipo cadena que contiene el nombre del usuario actual:

  • SPSite MiSite = SPControl.GetContextSite(Context);
    SPWeb MiWeb = MiSite.OpenWeb("UnSubsitio/OtroSubsitio"); //Rutas relativas al Sitio
    string NombreDeMiUsuario = MiWeb.CurrentUser.Name;

    About justindeveloper

    I am MCP (Microsoft Certified Professional). MCTS (Microsoft Certified Technology Specialist) and MCPD (Microsoft Certified Professional Developer), also I am SAP Business One Certified!! Desarrollando desde el IDE de Visual Studio NET 2003 hasta ahora con el Visual Studio NET 2010. Desde Microsoft SQL Server 2000 hasta ahora con el Microsoft SQL Server 2008 R2 y tambien con SharePoint, desde WSS 3.0 y MOSS 2007 y ahora familirizandome con el Sharepoint Foundation 2010 & Sharepoint Server 2010. The software development will follow being every time more wonderful!
    This entry was posted in Uncategorized. Bookmark the permalink.

    One Response to WSS y MOSS – Integración con ASP.NET 2.0

    1. carlos says:

      gooodd ingeniero sigue adelante y arriba siempre arriba como dijo Jorge Chavez y asi llegaras lejos estoy seguro

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s