Arquitectura de Project Server 2010

 

Se aplica a: Project Server 2010

Última modificación del tema: 2016-11-30

Microsoft Project Server 2010 es un verdadero sistema de varios niveles que extiende la arquitectura introducida en Microsoft Office Project Server 2007. La arquitectura de Project Server incluye los clientes Microsoft Project Professional 2010 y Microsoft Project Web App en el nivel front-end. Las aplicaciones front-end se comunican con el nivel medio únicamente mediante los servicios web de Project Server Interface (PSI), que a su vez se comunican con la capa de objetos de negocios. Los objetos de negocios usan las bases de datos por medio de la capa de acceso a los datos (DAL). Las aplicaciones cliente no tienen acceso directamente a las bases de datos principales; Project Server oculta los objetos de negocios y la capa de acceso a los datos a los clientes.

En este artículo se incluyen las siguientes secciones:

  • Arquitectura general

  • Servidores web

  • Project Server Interface (PSI)

  • Objetos de negocios

  • Capa de acceso a los datos y bases de datos

  • Publicación y programación del servidor

Arquitectura general

Las principales diferencias de arquitectura general entre Project Server 2010 y Office Project Server 2007 son las siguientes:

  • Project Server 2010 requiere Microsoft SharePoint Server 2010 Enterprise como un requisito de instalación. De manera similar a la implementación de un conjunto o granja de servidores de Microsoft Office Project Server 2007, al implementar Project Server 2010 en una granja de servidores, Project Server 2010 debe instalarse en todos los servidores de aplicaciones y en todos los servidores web de la granja de servidores.

  • La PSI incluye la interfaz de Windows Communication Foundation (WCF) y la interfaz ASMX de servicios web.

  • La plataforma de flujo de trabajo de Project Server está integrada en la PSI, la capa de objetos de negocios y la capa de acceso a los datos, y diseñada sobre Windows Workflow Foundation (WF) en la plataforma de SharePoint.

  • Los datos de estado de asignación, la asignación y la tarea de Project Server se integran con Microsoft Exchange Server, en lugar de con un complemento de Microsoft Outlook.

La ilustración siguiente muestra una vista general de la arquitectura de Project Server 2010. Incluye un servidor web y una instancia de Project Web App en Project Server. Como en Office Project Server 2007, puede haber varias instancias de Project Web App en ejecución en un servidor.

Arquitectura de Project Server 2010

Nota

  • En Project Server 2010, puede usar la interfaz WCF o ASMX de la PSI. Los clientes Project Web App y Project Professional 2010 usan la interfaz WCF.

  • El reenviador de PSI en el gráfico de arquitectura consta de dos componentes, un reenviador de WCF y un reenviador de servicio web. Los clientes que usan la interfaz ASMX llaman a la PSI por medio del reenviador de servicio web. Los clientes que usan la interfaz WCF llaman a la PSI por medio del reenviador de WCF.

  • El gráfico de arquitectura no muestra que el servidor web puede aislarse mediante un firewall adicional en una red perimetral (también denominada "zona desmilitarizada" o DMZ).

  • El sitio de servicios web de SharePoint forma parte de SharePoint Server 2010 (no se muestra en el gráfico de arquitectura). El sitio de servicios web de SharePoint incluye la aplicación de servicio de proyecto con el directorio virtual de la PSI para los servicios ASMX y WCF. La aplicación de servicio de proyecto de Project Server 2010 reemplaza a la aplicación de servicios compartidos en Office Project Server 2007.

El nivel de aplicaciones front-end incluye aplicaciones de terceros, Microsoft Project Professional y Project Web App. Project Web App usa Internet Explorer para mostrar páginas de Microsoft ASP.NET 3.5. Las páginas de Project Web App usan elementos web de Project Server que se comunican con la PSI y también usan elementos web de SharePoint Server 2010 estándar.

Las aplicaciones cliente en equipos independientes llaman a la PSI por medio de servidores proxy de servicio. Los clientes externos que usan la interfaz WCF tienen acceso a la PSI por medio de https://ServerName/ProjectServerName/_vti_bin/psi/ProjectServer.svc. Los clientes que usan la interfaz de servicios web ASMX usan una de las direcciones URL de Project Web App, por ejemplo, http://server1/pwa/_vti_bin/psi/project.asmx. Si las aplicaciones no tienen acceso de intranet a Project Server, pueden usar un servidor de Project Web App en una red perimetral (no se muestra en el gráfico de arquitectura).

Si pueden tener acceso directamente al equipo con Project Server, las aplicaciones cliente y los componentes back-end de las aplicaciones web de línea de negocio (LOB) pueden usar servidores proxy de PSI que usen la dirección URL de servicio compartido de SharePoint a los servicios web de la PSI, por ejemplo, http://server1:32843/ProjectServiceApplication/project.asmx. El puerto 32843 es el puerto predeterminado para la aplicación de servicio web de SharePoint de SharePoint Server 2010. Se debe usar el acceso directo al directorio virtual de la aplicación de servicio de proyecto únicamente cuando una aplicación deba usar la suplantación o deba ejecutarse con permisos elevados.

El nivel intermedio incluye la PSI y la capa de lógica de negocios, que consta de objetos de negocios lógicos que representan las entidades de negocios de Project Server. Los objetos de negocios incluyen proyectos, tareas, recursos, asignaciones, etc. La PSI y el nivel de lógica de negocios están estrechamente integrados y se encuentran en el mismo servidor. Una aplicación cliente llama a los servicios web de la PSI y esta invoca a los objetos de negocios en el nivel de lógica de negocios.

La capa de acceso a los datos permite la comunicación entre el nivel intermedio y la base de datos. Todos los datos de Project Server se almacenan en las bases de datos de Microsoft SQL Server. Las bases de datos de Project Server se incluyen en los siguientes almacenes: Borrador, Publicados, Archivo e Informes. Las aplicaciones cliente pueden leer la base de datos de informes en busca de datos del proyecto. Los clientes deben usar únicamente la PSI para tener acceso a las bases de datos de borrador, de publicados o de archivo. El servicio de datos de informes (RDS, que no se muestra en la figura 1) actualiza la base de datos de informes a partir de datos publicados, casi en tiempo real. En Project Server 2010, todas las bases de datos de Project Server pueden estar ubicadas en servidores independientes.

Los componentes de Project Web App de Project Server también usan la base de datos de configuración de Microsoft SharePoint Foundation 2010 para la configuración del sitio de proyecto y la base de datos de contenido para el contenido del sitio de proyecto, como páginas personalizadas, flujos de trabajo, configuración de administración, documentos y listas de problemas, riesgos y compromisos. La configuración de SharePoint y las bases de datos de contenido admiten características adicionales de administración de proyectos, como plantillas de proyecto y áreas de trabajo, listas personalizadas para colaboración en equipo e informes.

Servidores web

Puede instalar uno o varios servidores web en una intranet corporativa para permitir la distribución de carga para clientes de intranet. Cuando una aplicación cliente usa un servidor web independiente, las llamadas de la PSI se enrutan por medio de un reenviador de PSI a los servicios web de la PSI del equipo con Project Server. El reenviador de PSI (ya sea el reenviador de WCF o el reenviador de servicio web) realiza las siguientes funciones:

  • Optimiza las llamadas a la PSI de clientes remotos

  • Incluye una memoria caché basada en servidor que funciona con la caché activa de cliente en Microsoft Project Professional para reducir las llamadas de ida y vuelta a Project Server

Una vez que un usuario recibe una cookie de autenticación de Project Server, el reenviador de PSI envía de manera transparente las solicitudes a los servicios web de la PSI en el equipo con Project Server. El reenviador de PSI mejora el rendimiento y la confiabilidad a través de la LAN y de una WAN.

Project Web App se desarrolló con ASP.NET 3.5. Los elementos visuales de los archivos .aspx (HTML, controles de servidor y texto estático) son independientes de la lógica de programación en las clases subyacentes al código que se encuentran en ensamblados compilados (archivos .dll). Las páginas del sitio en Project Web App, como la página de nivel superior, el Centro de proyectos y el Centro de informes, se pueden personalizar mediante elementos web. Las páginas de aplicación que no tienen una opción de Editar página en el menú Acciones del sitio (por ejemplo, la página Configuración del servidor y la página de revisión de partes de horas) no pueden editarse.

Project Server Interface (PSI)

La PSI es la API de Project Server. El modelo de objetos de la PSI expone la funcionalidad de Project Server a todas las aplicaciones externas. Project Professional 2010, Project Web App, la línea de negocio y otras aplicaciones de terceros usan la PSI para obtener acceso a datos de Project Server en las bases de datos de borrador, de publicados y de archivo. La PSI está disponible por medio de servicios WCF y mediante llamadas de aplicaciones back-end de línea de negocio al servicio web ASMX o a través de un proxy de PSI.

Normalmente, los métodos web de la PSI generan o consuman objetos DataSet con tipo como manera de intercambiar información con los objetos de negocios. La referencia de la PSI incluye documentación de DataSet.

Objetos de negocios

El modelo de objetos interno de Project Server incluye los objetos de negocios. Las aplicaciones cliente tienen acceso a los objetos de negocios únicamente a través de la PSI y solo los objetos de negocios pueden llamar a la capa de acceso a los datos.

Los objetos de negocios son entidades lógicas que se pueden clasificar en tres tipos:

  • Las entidades principales son objetos como proyectos, tareas, asignaciones, recursos y calendarios. Las entidades principales incluyen lógica de negocios básica como permisos y reglas de nomenclatura.

  • Las entidades de negocios son objetos como partes de horas, carteras y modelos. Las entidades empresariales incluyen lógica empresarial adicional y normalmente se crean a partir de una combinación de las entidades principales.

  • Las entidades de soporte técnico son objetos como seguridad y validación.

La PSI controla la asignación de la API a los objetos de negocio.

Capa de acceso a los datos y bases de datos

La capa de acceso a los datos es interna de Project Server y no se expone a las aplicaciones externas. La capa de acceso a los datos realiza una conversión entre la representación de entidad lógica empresarial de los datos y las tablas de bases de datos físicas. Cada entidad lógica se almacena en varias tablas diferentes. La capa de acceso a los datos encapsula el trabajo necesario para administrar conexiones, ejecutar consultas e iniciar, ejecutar y deshacer transacciones.

Los datos de Project Server se dividen en cuatro bases de datos en SQL Server.

  • La base de datos de borrador contiene las tablas para guardar los proyectos no publicados de Microsoft Project Professional y otras aplicaciones. Project Web App no muestra los datos del proyecto en la base de datos de borrador.

  • La base de datos publicados contiene todos los recursos de empresa y los proyectos publicados, la plantilla de la información global de la empresa y otras plantillas de proyecto. Los proyectos publicados son visibles en Project Web App. La base de datos publicados también contiene tablas que son específicas de Project Web App (partes de horas, modelos, vistas, etc.) y tablas de datos globales (campos personalizados, tablas de búsqueda, seguridad y metadatos).

  • La base de datos de archivo guarda versiones de copia de seguridad de proyectos y otros datos.

  • La base de datos de informes (RDB) es el área de almacenamiento para la generación de informes y cubos OLAP. Los datos de la base de datos de informes son integrales y se actualizan casi en tiempo real. Las tablas y vistas se optimizan para generar informes de solo lectura; por ejemplo, las tablas RDB se desnormalizan para proporcionar datos redundantes y reducir el número de tablas relacionales.

Las entidades como Recurso o Proyecto pueden abarcar varias tablas, y todas las tablas de una entidad determinada tienen la misma clave principal. La clave principal es una sola columna que identifica de forma exclusiva una instancia de una entidad determinada. Los identificadores únicos son GUID.

Únicamente se documenta el esquema de la base de datos de informes. El acceso a las bases de datos publicados, de borrador y de archivo debe obtenerse únicamente a través de la PSI. Puede agregar tablas de datos, campos (propiedades) y entidades no definidas en el esquema de base de datos de Project Server 2010 a la base de datos de informes. Si agrega tablas a las bases de datos principales, también debe proporcionar la pila completa de un ensamblado personalizado, el servicio web, los objetos de negocios y el acceso a los datos. Puede modificar fácilmente la base de datos de informes; se recomienda no modificar las bases de datos principales de Project Server.

Publicación y programación del servidor

Project Server 2010 es compatible con actualizaciones manuales y automatizadas de programación de proyecto. El proceso predeterminado es la actualización manual de proyectos. Es decir, el jefe de proyecto abre el proyecto en Microsoft Project Professional, aplica los cambios y, a continuación, guarda y publica el proyecto para que los cambios estén disponible para todos los usuarios. El motor de programación de Microsoft Project Professional calcula los cambios de programación para actualizaciones manuales.

El motor de programación de Project Server habilita las actualizaciones automatizadas del proyecto mediante la PSI. Project Server permite actualizar la versión publicada de un proyecto mientras el jefe de proyecto está usando la versión de borrador por medio de los pasos siguientes:

  1. Project Server aplica las actualizaciones y reprograma la versión publicada de forma automática.

  2. Project Server guarda la actualización para aplicarla a la versión de borrador cuando se produce uno de los siguientes eventos:

    1. Microsoft Project Professional abre el proyecto.

    2. Microsoft Project Professional intenta publicar el proyecto.

  3. Si hay un conflicto, el jefe de proyecto deberá resolverlo antes de publicar la versión de borrador.

Advertencia

Existen algunas limitaciones y diferencias entre los motores de programación de Project Server y de Microsoft Project Professional. Por ejemplo, Project Server no programa subproyectos ni vínculos a otros proyectos y no calcula los campos de valor acumulado. Para obtener más información, vea la sección de programación de proyectos en el servidor, en el tema sobre programabilidad de Project Server (https://go.microsoft.com/fwlink/?linkid=191606&clcid=0xC0A) en MSDN Library Online.