Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

ProjectData: referencia de servicio OData de Project 2013

Office 2013

La referencia de Open Data Protocol (OData) para Project Server 2013 documenta el modelo de datos de entidad (EDM) para el servicio ProjectData y muestra cómo utilizar las consultas LINQ y las consultas REST para obtener datos de informes.

Última modificación: martes, 19 de mayo de 2015

Hace referencia a: Project Server 2013

ProjectData es un servicio de datos WCF, también conocido como servicio OData. El servicio ProjectData se implementa con las bibliotecas OData V3.

El servicio ProjectData permite consultas de REST y una gran variedad de bibliotecas de cliente de OData para realizar ambos en línea y las consultas de informe de datos de una instancia de Project Web App local. Por ejemplo, puede directamente usar una consulta REST en los exploradores web, o usar JavaScript para crear aplicaciones web y aplicaciones de cliente para dispositivos móviles, tabletas, equipos y los equipos Mac. Bibliotecas de cliente están disponibles para JavaScript, la Microsoft .NET Framework, Microsoft Silverlight, Windows Phone 8 y otros lenguajes y entornos. En Project Server 2013, el servicio ProjectData está optimizado para crear tablas dinámicas, gráficos dinámicos y PowerView informes de inteligencia empresarial con el cliente de escritorio de Excel 2013 y servicios de Excel en SharePoint. Para obtener más información, vea usar 2013 de Excel para crear un nuevo informe de Project Online y Servidor de informes en PWA.

Cuando se Project Server 2013 o Project Online en el modo de permiso de Project, puede conceder o denegar el acceso a la fuente para los usuarios especificado Project Web App de OData explícitamente. Por ejemplo, en la página Editar usuario Project Web App, expanda la sección Permisos globales y, a continuación, en la sección General, seleccione la casilla de verificación Servicio de informes de acceso a Project Server en la columna Permitir.

Nota Nota

Cuando Project Server está en el modo de permiso de SharePoint predeterminado, la sección de Permisos globales y la sección Categorías de seguridad no están disponibles en la página Editar usuario.

En el modo de permiso de SharePoint predeterminado, no todos los usuarios de Project Web App tienen acceso a la fuente de OData. Solo los usuarios en los siguientes grupos tienen acceso: visores de carteras, jefes de cartera de proyectos y administradores. No se puede administrar el acceso de entidades individuales en la fuente; de OData es decir, si un usuario tiene acceso al servicio de OData, puede obtener datos de informes que se publicará para todos los proyectos, recursos, tareas y otras entidades. Para obtener más información acerca de los modos de permisos, vea Planear el acceso de usuario en Project Server 2013.

Para obtener información sobre un panel de tareas para aplicación para Office que se ejecuta en Project Profesional 2013 y usa JavaScript y JQuery para obtener datos de informe del servicio ProjectData, vea la sección Aplicaciones de panel de tareas en Project Professional en Novedades y lo que es salida para desarrolladores en Project 2013.

Se puede obtener acceso al servicio de ProjectData a través de una dirección URL de Project Web App. La estructura XML de EDM está disponible desde el extremo de http://<pwa_site>/_api/ProjectData/$metadata (ejemplo: http://contoso.com/sites/pwa/_api/ProjectData/$metadata). Para ver una fuente que contiene la colección de proyectos, por ejemplo, puede utilizar la siguiente consulta REST en un explorador: http://<pwa_site>/_api/ProjectData/Projects. Al ver el origen de la página Web en el explorador, vea los datos XML para cada proyecto, con las propiedades del tipo de entidad Project que expone el servicio ProjectData .

El EDM del servicio ProjectData es un documento XML que cumple con las especificaciones de OData. El EDM muestra las entidades que están disponibles en los datos de informe y las asociaciones entre las entidades. El EDM incluye los siguientes dos elementos SchemeSchema:

  • El elemento SchemeSchema del espacio de nombres ReportingData define los elementos EntityType y los elementos Association:

    • Elementos EntityType:  cada tipo de entidad, como Project y Task, especifica el conjunto de propiedades incluyendo las propiedades de navegación, que están disponibles para esa entidad. Por ejemplo, las propiedades de tarea incluyen el nombre de la tarea, el GUID de la tarea y el nombre del proyecto para esta tarea. Las propiedades de navegación definen cómo una consulta de una entidad como Project es capaz de navegar a otras entidades o colecciones como Tasks dentro de un proyecto. Las propiedades de navegación definen el rol de inicio y el rol de final, donde los roles están definidos en un elemento Association.

    • Elementos Association: una asociación relaciona una entidad con otra mediante extremos. Por ejemplo, en la asociación Project_Tasks_Task_Project, Project_Tasks es un extremo que relaciona una entidad de Project con las tareas de ese proyecto. Task_Project es el otro extremo que relaciona una entidad Task con el proyecto en el que reside la tarea.

  • El elemento SchemeSchema del espacio de nombres Microsoft.Office.Project.Server incluye solo un elemento EntityContainer que contiene los elementos secundarios de los conjuntos de entidades y los conjuntos de asociaciones. El elemento EntitySet de Projects representa todos los proyectos en una instancia de Project Web App; una consulta de Projects puede obtener la colección de proyectos que cumpla con el filtro u otras opciones de una consulta.

    Un elemento de AssociationSet es una colección de asociaciones que definen las claves principales y claves externas para las relaciones entre colecciones de entidades. Aunque los resultados de la consulta ~/_api/ProjectData/$metadata incluyen los elementos de AssociationSet , se usan internamente por la implementación de OData para el servicio de ProjectData y no se documentan.

Hay límites para el número de entidades que se pueden devolver en una consulta del servicio de ProjectData . El tamaño de página máximo predeterminado es 100, pero algunas entidades tienen un reemplazo de un valor mayor. Por ejemplo, el conjunto de entidades de Projects y el conjunto de entidades de Tasks tienen un límite predeterminado de 100 entidades por consulta, y el conjunto de entidades de Issues tiene un límite predeterminado de 200.

Temas de referencia del conjunto de entidades como elemento EntitySet: proyectos, mostrar el límite de la consulta predeterminada. También puede usar el comando Get-SPProjectOdataConfiguration en Windows PowerShell para obtener información acerca de los límites de consulta para las entidades en el servicio de ProjectData . Por ejemplo, en el equipo de Project Server, ejecute El Shell de administración de SharePoint 2013 como administrador y, a continuación, ejecute el siguiente comando. El comando se muestran los resultados.

(Get-SPProjectOdataConfiguration).EntitySetsWithMaxPAgeSizeOverride

Key                                                                       Value
---                                                                       -----
AssignmentBaselineTimephasedDataSet                                         200
ProjectBaselines                                                            200
ResourceTimephasedDataSet                                                   200
TaskBaselineTimephasedDataSet                                               200
BusinessDrivers                                                             200
BusinessDriverDepartments                                                   200
Prioritizations                                                             200
PrioritizationDrivers                                                       200
PrioritizationDriverRelations                                               200
PortfolioAnalyses                                                           200
PortfolioAnalysisProjects                                                   200
CostConstraintScenarios                                                     200
ResourceConstraintScenarios                                                 200
CostScenarioProjects                                                        200
ResourceScenarioProjects                                                    200
Issues                                                                      200
Risks                                                                       200
Deliverables                                                                200
TimeSet                                                                     200
ProjectWorkflowStageDataSet                                                 200
TimesheetClasses                                                            200
TimesheetPeriods                                                            200

Para una instancia de Project Web App que contiene un gran número de entidades, como proyectos, asignaciones o tareas, debe limitar los datos devueltos en al menos una de las siguientes maneras. Si no limita los datos devueltos, la consulta puede superar los límites predeterminados y afectar al rendimiento del servidor.

  • Use una opción de URL $filter o bien use $select para limitar los datos. Por ejemplo, la siguiente consulta filtra por fecha de inicio de proyecto y devuelve solo cuatro campos siguiendo el orden del nombre del proyecto (toda la consulta está en una línea):

    http://ServerName/ProjectServerName/_api/ProjectData/Projects?
        $filter=ProjectStartDate gt datetime'2012-01-01T00:00:00'&
        $orderby=ProjectName&
        $select=ProjectName,ProjectStartDate,ProjectFinishDate,ProjectCost
    
  • Obtenga una colección de entidades usando una asociación. Por ejemplo, la siguiente consulta usa a nivel interno la asociación Project_Assignments_Assignment_Project para obtener todas las asignaciones en un proyecto determinado (todo en una sola línea):

    http://ServerName/ProjectServerName/_api/ProjectData
        /Projects(guid'263fc8d7-427c-e111-92fc-00155d3ba208')/Assignments
    
  • Realice varias consultas para devolver página datos de uno en uno, mediante el operador de $top y el operador de $skip en un bucle. Por ejemplo, la siguiente consulta obtiene problemas 11 al 20 para todos los proyectos, en el orden de los recursos asignados al problema (todo en una línea):

    http://ServerName/ProjectServerName/_api/ProjectData
        /Issues?$skip=10&$top=10&$orderby=AssignedToResource
    

    Para obtener más información, vea Opciones de consulta de sistema de OData con el extremo de REST. También puede usar el comando Set-SPProjectOdataConfiguration de Windows PowerShell para invalidar el tamaño de página de consulta predeterminada de cualquier conjunto de entidades especificado, o reemplazar el tamaño de página predeterminado para todos los conjuntos de 33 entidades. Por ejemplo, ejecute la Consola de administración de SharePoint 2013 como administrador y, a continuación, ejecute el siguiente comando:

    Set-SPProjectOdataConfiguration -EntitySetName Projects -PageSizeOverride 300
    

Para obtener más información sobre las opciones de cadena de consulta como $filter, $orderby, $skipy $top, consulte también las convenciones de la dirección URL de OData.

NotaNota

El servicio ProjectData no implementa la opción de consulta de $links o la opción de consulta de $expand. Excel 2013 utiliza a nivel interno los elementos de Association y los elementos de AssociationSet en el modelo de datos de la entidad para ayudar a crear asociaciones entre las entidades, para tablas dinámicas y otras construcciones.

Mostrar:
© 2015 Microsoft