Atualizações para programadores no Project
As funcionalidades de extensibilidade no Project Server 2013 funcionam com suplementos para o Project Online e com instalações no local. As novas funcionalidades incluem um modelo de objeto do lado do cliente (CSOM), interfaces REST, um serviço OData para relatórios, recetores de eventos remotos, fluxos de trabalho declarativos e suplementos do painel de tarefas para clientes do Project. Saiba também sobre as funcionalidades preteridas que não devem ser utilizadas para o novo desenvolvimento.
O Project Server 2013 baseia-se na arquitetura introduzida com o Microsoft Office Project Server 2007 e expandida pelo Project Server 2010. O Project Server 2013 adiciona um modelo de objeto do lado do cliente (CSOM) refatorizado e simplificado a partir da Interface do Project Server (PSI) e inclui uma biblioteca JavaScript e bibliotecas .NET Framework 4 para aplicações windows, Windows Phone 8 e Microsoft Silverlight. A CSOM foi concebida para desenvolvimento para o Project Online e também funciona com uma instalação do Project Server no local.
As bases de dados do Project Server são combinadas numa base de dados individual; pode aceder às vistas e tabelas de relatórios online através de um serviço OData. O CSOM e o serviço OData incluem uma interface REST (Representational State Transfer). Os fluxos de trabalho do Project Server podem ser criados com o SharePoint Designer 2013. O Project Professional 2013 pode ser integrado com dados de relatórios do Project Server, listas de tarefas do SharePoint e outros conteúdos externos através do modelo de extensibilidade de Suplementos do Office para painéis de tarefas. O Project Standard 2013 pode utilizar suplementos do painel de tarefas para integrar com conteúdo externo geral.
Para obter diagramas e mais informações sobre as principais alterações no Project Server 2013, veja Arquitetura do Project Server 2013.
Observação
O Project Server 2013 foi criado na plataforma SharePoint Server 2013 e o Project 2013 inclui grande parte da mesma infraestrutura que os outros aplicativos do Office 2013. Para obter documentação sobre o modelo de Suplementos do SharePoint, fluxos de trabalho baseados no SharePoint, Peças Web, desenvolvimento com outras funcionalidades do SharePoint e documentação dos Suplementos do Office, consulte Descrição geral dos Suplementos do SharePoint, Suplementos do Office e desenvolvimento do SharePoint 2013.
Principais novas funcionalidades no Project 2013
As novas funcionalidades do Project Standard 2013 e do Project Professional 2013 incluem uma interface de utilizador melhorada que corresponde a outras aplicações do Office 2013 e suporta a interface de utilizador de estilo moderno no Windows 8, integração com objetos do Office Art para relatórios, relatórios de evolução e novas funcionalidades de programação para relatórios. O Project Professional 2013 permite partilhar e sincronizar projetos mais extensos no SharePoint Server 2013, juntamente com os suplementos do painel de tarefas que também são implementados noutras aplicações do Office 2013, como o Word, Excel e Outlook.
Existem muitas funcionalidades novas no Project Server 2013. Alguns não têm uma história de programação importante, como a nova linha cronológica no Project Web App. Estas funcionalidades serão documentadas na documentação de ajuda e utilizador final do produto no Microsoft Office Online e em tópicos direcionados para administradores e profissionais de TI no Microsoft TechNet. Outras novas funcionalidades, como folhas de horas melhoradas, tornam mais fácil para os programadores de terceiros interagirem com folhas de horas e estado através da Interface do Project Server (PSI).
A adição do Project Online e da Loja Office (https://office.microsoft.com/store) para suplementos do Project são alterações de grande alcance, nas quais o Project Server é acessível através do Microsoft Azure. O acesso baseado na cloud ao Project Server utiliza um modelo de objeto do lado do cliente (CSOM) para o desenvolvimento de suplementos com o Microsoft .NET Framework, Microsoft Silverlight, Windows Phone e aplicações Web que utilizam JavaScript. Um requisito do Project Online é que as quatro bases de dados do Project Server de versões anteriores são intercaladas numa base de dados.
O desempenho e a escalabilidade do Project Server 2013 são melhorados em muitas áreas, como o estado da tarefa, folhas de horas e gestão de projetos. Os fluxos de trabalho do Project Server são redesenhados com a versão 4 do Windows Workflow Foundation (WF4). A utilização do .NET Framework 4 e do Windows Communication Foundation (WCF) com a PSI melhora a segurança, o desempenho e a escalabilidade. Por exemplo, pode alterar o protocolo de transporte de aplicações baseadas em WCF através de ficheiros de configuração, sem alterar o código da aplicação ou recompilar. O Project Web App coloca em cache muitas das chamadas PSI em que os dados não mudam significativamente.
Observação
Para desenvolvimento com o Project Server 2013, pode utilizar o Visual Studio com as extensões de ferramentas do Office e do SharePoint, que podem criar nativamente suplementos para os produtos do Office 2013. O Project Server 2013 requer que o Visual Studio ative totalmente o desenvolvimento de funcionalidades como páginas de detalhes do projeto e aplicações baseadas em WCF. As extensões de ferramentas do SharePoint no Visual Studio podem implementar Peças Web e outras funcionalidades do SharePoint diretamente no Project Web App e noutros sites do SharePoint.
O Visual Studio já não é necessário para desenvolver fluxos de trabalho do Project Server que utilizam campos, fases, fases e tipos de projeto empresarial personalizados que podem ser geridos no Project Web App. Embora possa utilizar o Visual Studio para desenvolver fluxos de trabalho, estes são frequentemente mais fáceis e rápidos de criar com o SharePoint Designer. O Visual Studio pode ser utilizado para fluxos de trabalho que requerem acesso à CSOM ou a outras APIs externas.
Suplementos do Project
A distribuição e a comercialização de software foram revolucionadas com o conceito de um suplemento. Para o Project 2013, os suplementos podem ser disponibilizados para compra e transferência a partir da Loja Office pública ou distribuídos num catálogo privado no SharePoint. Normalmente, um suplemento é um programa interativo autónomo que executa um pequeno número de tarefas relacionadas. Um suplemento do Project pode ser um suplemento do painel de tarefas para clientes do Project Standard 2013 ou Project Standard 2013 ou um suplemento para o Project Server 2013 ou Project Online.
Para obter informações sobre os suplementos para clientes de ambiente de trabalho do Project, veja Suplementos do painel de tarefas no Project. Para obter um exemplo do Project Server 2013, veja Criar um suplemento do Project Server alojado no SharePoint. Além de artigos no SDK de Suplementos do Office e do SharePoint, o Blogue do Office tem muitas publicações que também são relevantes para o Project 2013 e o Project Online.
Um suplemento para o Project Server 2013 pode funcionar com uma instalação no local e o Project Online. Os suplementos do Project Server podem incluir Peças Web, recetores de eventos remotos e lógica de negócio. O acesso ao modelo de objetos do Project Server num suplemento é através da CSOM e não da PSI. O armazenamento de dados pode ser baseado na cloud, como com o SQL Azure, externo, como através dos Serviços de Conectividade Empresarial da Microsoft (BCS), interno com uma base de dados local ou misto.
Segurança do suplemento
Em geral, as ações realizadas por um suplemento são executadas em nome do utilizador que executa o suplemento; não utiliza explicitamente a representação nem especifica quem pode executar o suplemento. As ações não podem exceder o nível de permissão do utilizador que executa o suplemento.
Nas Ferramentas de Programação do Office para Visual Studio 2012, o ficheiro AppManifext.xml tem um editor gráfico onde pode definir o âmbito do pedido de permissão. Por exemplo, para criar um suplemento que permita que os gestores de projetos atualizem os projetos, no separador Permissões do painelAppManifest.xml estruturador, selecione Múltiplos Projetos para o âmbito e Escrever para a permissão. Se o utilizador do suplemento tiver permissões de gestor de projetos, pode executar o suplemento para projetos que gere. O código no ficheiro AppManifest.xml incluiria o seguinte:
<AppPermissionRequests>
<AppPermissionRequest Scope="https://sharepoint/projectserver/projects" Right="Write" />
</AppPermissionRequests>
Tabela 1. Âmbitos de pedidos de permissão para suplementos do Project Server
Escopo | Permissões |
---|---|
Project Server |
Gerir (Requer permissões de administrador do Project Server.) |
Vários Projetos |
Leitura, Escrita (Requer permissões do gestor de projetos para algumas operações; permissões de membros da equipa do projeto para operações de leitura básicas, tais como atribuições de tarefas.) |
Projeto Único |
Leitura, Escrita (Requer, pelo menos, permissões de membros da equipa do projeto; o acesso a alguns dados num projeto depende de outros níveis de permissão.) |
Recursos empresariais |
Leitura, Escrita (Requer permissões do gestor de recursos.) |
Statusing |
SubmitStatus (Requer permissão para submeter o estado dos projetos.) |
Relatórios |
Leitura (Requer permissão para iniciar sessão no Project Server.) |
Fluxo de trabalho |
Elevar (Requer permissão para executar fluxos de trabalho. O suplemento é executado com permissões elevadas, para permitir transições de fase em fase num fluxo de trabalho. Lógica de negócio nas transições de fase de controlos de suplemento.) |
Observação
O Project Server 2013 e o Project Online não utilizam o modelo de autenticação apenas de aplicações no SharePoint 2013 (consulte Tipos de políticas de autorização de suplementos no SharePoint 2013).
Para obter informações sobre o desenvolvimento, distribuição, alojamento e gestão de suplementos, consulte Suplementos do SharePoint e Suplementos do Office e tópicos relacionados na documentação para programadores do SharePoint Server 2013 e Office 2013. Para obter informações sobre o âmbito do pedido de permissão para outros Suplementos do SharePoint, consulte Permissões de suplementos no SharePoint 2013.
Integrar com o SharePoint Server
Muitas funcionalidades no Project Web App requerem a nova infraestrutura no SharePoint Server 2013, como o OAuth e a autenticação baseada em afirmações, autorização e permissões do Project Server através de grupos do SharePoint, sincronização de projetos com listas de tarefas do SharePoint e fluxos de trabalho declarativos do Project Server. A Aplicação de Serviço do Project pode ser associada a qualquer coleção de sites num farm do SharePoint. A sincronização de projetos pode ser com uma lista de tarefas do SharePoint, onde o SharePoint mantém o projeto. Um projeto empresarial também pode ser sincronizado com uma lista de tarefas do SharePoint, onde o Project Server mantém o controlo total. Para obter diagramas de arquitetura e uma explicação sobre a sincronização de projetos, veja Arquitetura do Project Server 2013.
Existem muitas funcionalidades novas no SharePoint Server 2013. Para obter mais informações, veja SharePoint para programadores.
Integrar com fluxos de trabalho
Os fluxos de trabalho são uma funcionalidade central da gestão de portefólios de projetos. Um ciclo de vida do projeto pode incluir processos de execução prolongada que abrangem muitas fases. As fases de governação incluem propostas de projetos, análises de impacto empresarial e seleção, criação, planeamento, gestão e controlo de projetos.
Os fluxos de trabalho do Project Server 2013 são criados na plataforma de fluxo de trabalho do SharePoint 2013, que utiliza o WF4. Ao contrário das versões anteriores, os fluxos de trabalho declarativos para o Project Server 2013 podem ser criados com o SharePoint Designer 2013 e estão acessíveis para utilização no local e online. Os fluxos de trabalho do Project Server utilizam o modelo de segurança de fluxo de trabalho do SharePoint com OAuth e podem ser instalados num site do Project Web App. A Figura 1 mostra que o SharePoint Designer 2013 pode adicionar fases a um fluxo de trabalho de site para a Gestão da Procura, onde as fases são definidas no Project Web App.
Figura 1. Utilizar o SharePoint Designer para adicionar uma fase a um fluxo de trabalho do Project Web App
Pode criar um fluxo de trabalho declarativo ao adicionar fases de fluxo de trabalho, ações, condições e outros elementos numa ferramenta de estrutura, que pode ser o SharePoint Designer 2013 ou o Visual Studio 2012. Em seguida, a ferramenta de estrutura guarda o fluxo de trabalho como código XAML, que é interpretado no runtime. Os fluxos de trabalho declarativos podem ser executados no Project Server 2013 no local ou no Project Online. Ao utilizar o Visual Studio 2012, também pode criar ações e formulários personalizados para controlo adicional e guardar modelos de fluxo de trabalho para reutilização com várias instâncias do Project Web App. O SharePoint Designer 2013 pode consumir ações personalizadas criadas no Visual Studio 2012.
Um fluxo de trabalho do Project Server 2013 funciona como uma aplicação, em que um administrador (que tem permissões de estrutura para o Project Web App) pode publicar um fluxo de trabalho declarativo e associá-lo a um tipo de projeto empresarial (EPT). O EPT tem de ser para um projeto empresarial, em que o Project Server mantém o controlo total. Uma lista de tarefas do SharePoint não pode utilizar um fluxo de trabalho do Project Server.
O OAuth permite que os gestores de projetos que tenham permissões de criação de projetos invoquem o fluxo de trabalho sem utilizar a representação. As chamadas de fluxo de trabalho para o Project Server, por exemplo, para ler um valor de campo personalizado para decidir qual o ramo a seguir, são feitas em nome do gestor de projetos. Para impedir que o gestor de projetos crie um fluxo de trabalho que avança automaticamente para a fase seguinte, a chamada para passar para a fase de fluxo de trabalho seguinte é executada como o autor do fluxo de trabalho (o administrador). Por outro lado, os utilizadores de fluxos de trabalho legados do Project Server 2010 fazem chamadas representadas através da conta de Utilizador do Proxy de Fluxo de Trabalho para obter acesso de administrador em todo o fluxo de trabalho.
Embora o Project Server 2013 no local possa utilizar fluxos de trabalho compilados baseados em WF3.5, recomendamos que atualize os fluxos de trabalho legados para fluxos de trabalho declarativos com base no WF4. A tecnologia mais recente é mais dimensionável e robusta. Os analistas empresariais e a equipa de PMO podem criar ou atualizar designs de fluxos de trabalho com o Visio 2013 e implementar fluxos de trabalho do Project Server sem codificação através do SharePoint Designer 2013.
Para obter informações sobre como criar um fluxo de trabalho declarativo para o Project Web App, veja Introdução ao desenvolvimento de fluxos de trabalho do Project Server. Para obter uma comparação das capacidades do SharePoint Designer e do Visual Studio para fluxos de trabalho, veja Desenvolver fluxos de trabalho do SharePoint 2013 com o Visual Studio.
Modelo de objeto do lado do cliente
O acesso programático ao Project Online requer um CSOM criado no CSOM do SharePoint. A autenticação do Project Online será com o OAuth através de um Windows Live ID, não da autenticação de Formulários do Project Server ou da autenticação do Windows.
Seguem-se os princípios e funcionalidades da CSOM no Project Server 2013:
O CSOM foi concebido para facilitar a utilização. Por exemplo, os métodos e propriedades utilizam ou fornecem dados diretamente por nome, em vez de exigirem muitos GUIDs, alterar parâmetrosXml ou transmitir conjuntos de dados.
A CSOM do Project Server implementa um subconjunto da funcionalidade PSI, com base nos requisitos mais comuns para soluções de terceiros.
A CSOM chama internamente a PSI, mas é considerada diferente. Por exemplo, as atualizações para todas as alterações de estado são feitas através do método StatusAssignmentCollection.SubmitAllStatusUpdates e não pelo método PSI Statusing.SubmitStatus para o utilizador ou pelo método SubmitStatusForResource para outros recursos.
O CSOM é acessível através de um serviço WCF (Client.svc), em vez de através dos 22 serviços públicos da PSI.
A inicialização da CSOM do Project Server é diretamente através da classe ProjectContext com o URL do Project Web App e não através de uma referência WCF ou assemblagem de proxy.
A CSOM implementa várias bibliotecas e interfaces de cliente, que são suportadas pela infraestrutura CSOM interna do SharePoint. As interfaces e bibliotecas de cliente incluem o seguinte:
Biblioteca de cliente .NET da Microsoft na assemblagem de Microsoft.ProjectServer.Client.dll
Biblioteca do Silverlight na assemblagem Microsoft.ProjectServer.Client.Silverlight.dll
Biblioteca do Windows Phone 8 na assemblagem Microsoft.ProjectServer.Client.Phone.dll
Biblioteca JavaScript para aplicações Web no ficheiro de PS.js ou PS.debug.js ficheiro
Pontos finais REST, para acesso com o protocolo OData
Suporte nativo para consultas LINQ com filtragem, para limitar a quantidade de dados devolvidos
A CSOM pode ser utilizada para soluções do Project Online e para soluções no local, independentemente da PSI e de outras assemblagens do Project Server, como Microsoft.Office.Project.Server.Library.dll.
As funcionalidades adicionais do CSOM do Project Server 2013 podem ser consideradas para atualizações cumulativas e service packs, com base nos pedidos dos parceiros do Project Server e da comunidade de programadores.
Observação
A CSOM é a interface preferencial para programadores do Project Server de terceiros. Recomendamos que você use o CSOM para o desenvolvimento de novos aplicativos, caso o CSOM inclua a funcionalidade exigida por seu aplicativo.
Para obter informações sobre o desenvolvimento com o CSOM, veja Modelo de objetos do lado do cliente (CSOM) para o Project 2013. Para obter informações sobre a interface REST em aplicações do SharePoint, veja Programação com o serviço REST do SharePoint na documentação para programadores do SharePoint 2013.
Alterações na base de dados de Relatórios
As quatro bases de dados no Project Server 2010 são combinadas numa única base de dados do Project no Project Server 2013. O nome predefinido da base de dados do Project é ProjectService. As tabelas e vistas de relatórios mantêm os nomes anteriores e as tabelas e vistas das bases de dados Rascunho, Publicado e Arquivo têm os prefixos draft
, pub
e ver
na base de dados ProjectService. Por exemplo, a tabela de projetos publicados é pub. MSP_PROJECTS.
Importante
O acesso direto não é suportado para o rascunho (draft
prefixo), tabelas e vistas publicadas (pub
) e de arquivo (ver
). Os relatórios devem usar apenas as tabelas e visualizações de relatórios, que têm o prefixo dbo
. Por exemplo, o dbo. MSP_EpmProject tabela inclui a lista de projetos na instância do Project Web App.
Não existe nada que o impeça ativamente de utilizar o acesso direto programático à base de dados para atualizar dados em qualquer uma das tabelas e vistas na base de dados do Project. Deve ter em atenção que a cache do Project Professional, as tabelas para os dados de rascunho e publicados e as tabelas de relatórios dependem de um protocolo de sincronização de cache que pode ser interrompido pela edição direta de dados. Se danificar as bases de dados do Project Server ou danificar as caches do lado do cliente do Project Professional ao utilizar o acesso direto para alterar dados, tenha em atenção que o suporte do produto não poderá ajudar!
O Project Server 2013 apresenta um serviço OData para acesso online e no local. As vistas e tabelas de relatórios online são expostas apenas pela interface OData; para utilização no local, pode utilizar a interface OData ou aceder diretamente às tabelas e vistas de relatórios na base de dados ProjectService no farm do SharePoint. O Project Online não suporta uma base de dados multi-inquilino. Ou seja, várias instâncias do Project Web App têm cada uma a sua própria base de dados do Project. O serviço OData executa internamente consultas SQL nas tabelas e vistas de relatórios e fornece um payload XML ou JSON. Para obter uma introdução ao serviço OData para relatórios no Project Server 2013 e para a referência do esquema ProjectData , veja Referência do serviço ProjectData – Project OData.
Para obter informações gerais sobre consultas OData, veja OData: Convenções de URI. Por exemplo, pode ver todos os projetos numa instância no local do Project Web App onde o nome do projeto começa com "Teste" com a seguinte consulta num browser. Clique com o botão direito do rato na página do browser e, em seguida, clique em Ver origem.
https://ServerName /ProjectServerName /_api/ProjectData/Projects?$filter=startswith(ProjectName, 'Test') eq true
Para importar dados do projeto para o PowerPivot no Excel 2013, no friso DADOS, selecione A Partir do feed de dados OData no menu pendente De Outras Origens . Na caixa de diálogo Assistente de Ligação de Dados , escreva https://ServerName/ProjectServerName/_api/ProjectData/ a localização do feed de dados, selecione Seguinte e, em seguida, selecione a tabela Projetos na página Selecionar Tabelas do assistente. Atribua um nome e guarde o ficheiro .odc e, em seguida, selecione Concluir. Na caixa de diálogo Importar Dados , selecione Relatório de Tabela Dinâmica. Na folha de cálculo do Excel, selecione campos para as linhas e colunas da tabela dinâmica que pretende mostrar.
Os utilizadores do Project Server no local, que têm as permissões corretas, podem aceder diretamente às tabelas e vistas de relatórios através do Microsoft SQL Server para criar relatórios, como fazem no Project Server 2010. No Project Server 2013, os utilizadores também podem aceder às tabelas de relatórios no local através da interface OData. Pode obter dados do Project Server online ou no local através de pontos finais REST para o serviço OData. Por exemplo, a tabela dbo.MSP_PROJECT e a exibição dbo.MSP_EpmProject_UserView pode ser usada para relatórios. Quaisquer tabelas ou vistas que tenham um draft
prefixo , pub
ou ver
são para utilização interna apenas pelo Project Server e não são para utilização de relatórios. Por exemplo, o rascunho. MSP_TASKS mesa e o bar. MSP_PROJECTS_WORKING_VIEW vista não estão documentadas e destinam-se apenas a utilização interna.
Observação
Pode expandir os relatórios no local ao adicionar tabelas, vistas, campos e procedimentos armazenados numa base de dados separada. Não deve modificar as tabelas e vistas de relatórios existentes na base de dados do Project Server.
As tabelas, vistas e campos de relatórios na base de dados do Project serão documentados num ficheiro de Ajuda HTML numa atualização posterior da transferência do SDK do Project 2013. Para obter documentação do esquema OData XML do serviço ProjectData , veja ProjectData - Referência do serviço OData do Projeto. As consultas das vistas e tabelas de relatórios criadas para o Project Server 2010 irão, na maioria dos casos, funcionar com a base de dados do Project no Project Server 2013. Os utilizadores no local podem aceder aos cubos OLAP do Project Server no SQL Server Analysis Services, tal como fazem atualmente. No Project Online, os cubos OLAP não estão disponíveis.
Suplementos do painel de tarefas no Project
Tanto os suplementos do painel de tarefas de suporte do Project Standard 2013 como do Project Professional 2013, que podem ser utilizados para integrar e apresentar conteúdos externos numa página Web. O painel de tarefas mostra o conteúdo da página Web que tem acesso através de JavaScript a tarefas, recursos, vistas e dados gerais do projeto. O modelo de objetos JavaScript para o Project pode obter informações sobre uma tarefa ou recurso selecionado e pode obter dados numa célula selecionada na grelha para vistas como o gráfico Gantt. Os suplementos do painel de tarefas do Project também podem implementar processadores de eventos para tarefas, recursos ou ver eventos alterados de seleção.
A Figura 2 mostra o suplemento do painel de tarefas Hello ProjectData que consulta o serviço ProjectData e, em seguida, compara os dados no projeto atual com as médias de todos os projetos. A transferência do SDK do Project 2013 inclui o código fonte completo do suplemento.
Figura 2. Um suplemento do painel de tarefas no Project Professional pode aceder a dados no Project Server
Observação
O Project Standard 2013 não consegue integrar diretamente com o Project Server 2013 através de suplementos do painel de tarefas.
Os suplementos do painel de tarefas no Project Professional podem suportar Peças Web criadas para o Project Server 2013, para que os programadores possam criar uma extensão uma vez executada com o Project Web App e o Project Professional. Os suplementos gerais do painel de tarefas desenvolvidos para outros produtos do Office 2013 também podem ser utilizados com o Project Standard 2013 e o Project Professional 2013. Para obter mais informações, veja Suplementos do painel de tarefas para o Project.
Recetores de eventos do Project Server
Podem existir vários servidores do Project Web App (também denominados servidores front-end Web ou WFEs) num farm do SharePoint que inclui a Aplicação de Serviço do Project de back-end. Os recetores de eventos também podem ser chamados processadores de eventos. Os processadores de eventos locais podem ser implementados com código de confiança total e implementados em todos os WFEs para uma instalação local do Project Server. Os recetores de eventos remotos podem ser implementados em serviços Web em servidores locais ou remotos e acedidos por vários WFEs e várias instalações do Project Server. O Project Online só pode utilizar recetores de eventos remotos.
Os processadores de eventos do Project Server são geridos pelo SharePoint para cada instância do Project Web App, em vez de uma página específica das Definições do Project Web App. Na aplicação Administração Central do SharePoint, selecione Definições Gerais da Aplicação, selecione Gerir em Definições do PWA e, em seguida, escolha a instância na lista pendente Instância do Project Web App na página Definições do PWA. Para adicionar um processador de eventos local ou um recetor de eventos remoto, selecione Processadores de Eventos do Lado do Servidor.
Para uma instalação no local do Project Server, pode criar um recetor de eventos remotos como uma funcionalidade do SharePoint que utiliza a classe Microsoft.ProjectServer.Client.EventHandlerCreationInformation no CSOM e, em seguida, gerir programaticamente o recetor de eventos através de métodos na classe EventHandlerCollection . Para recetores de eventos remotos, os pré-eventos são síncronos, os pós-eventos são assíncronos e há um tempo limite para casos em que o recetor de eventos remotos não devolve.
Observação
A Administração Central do SharePoint está disponível apenas para instalações no local. Para o Project Online e o SharePoint Online, pode adicionar ou remover recetores de eventos remotos através de um pacote de aplicações baseado em CSOM.
Na página Processadores de Eventos do Lado do Servidor, o processo para adicionar um processador de eventos local para uma instalação do Project Server no local é praticamente o mesmo que o processo descrito no tópico Criar um processador de eventos do Project Server e registar um evento para o Project Server 2010. A diferença é que a página Novo Processador de Eventos tem opções adicionais. Por exemplo, selecione Criação de Projetos na lista Eventos e, em seguida, escolha NOVO PROCESSADOR DE EVENTOS. Na página Novo Processador de Eventos, os dois únicos campos necessários são Nome e Encomenda (consulte a Figura 3). Se estiver a adicionar um processador de eventos de confiança total local, adicione o campo Nome da Assemblagem e o campo Nome da Classe ; deixe o Url do Ponto Final vazio. Se estiver a adicionar um recetor de evento remoto, adicione o Url do Ponto Final e deixe o Nome da Assemblagem e o Nome da Classe vazios.
Cuidado
Se especificar o nome da assemblagem/nome da classe e o URL do ponto final, o Project Server chama apenas o processador de eventos local (no local). O recetor de eventos remotos é ignorado.
Se criar dois processadores de eventos para o mesmo evento, em que um processador de eventos é local e um é um recetor de eventos remoto e o valor Order é o mesmo para ambos, o Project Server ignora o recetor de eventos remotos.
Figura 3. Adicionar um processador de eventos local ou um recetor de eventos remotos
Se precisar de acesso a conjuntos de dados PSI para um processador de eventos local, pode copiar a assemblagem de Microsoft.Office.Project.Schema.dll do diretório [Windows]\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Office.Project.Schema\v4.0_15.0.0.0__71e9bce111e9429c.
Em vez da PSI, recomendamos que utilize as classes de eventos no espaço de nomes Microsoft.ProjectServer.Client ; O desenvolvimento com a CSOM não requer manipulação de conjuntos de dados. Para desenvolver recetores de eventos remotos para o Project Online, tem de utilizar a classe Evento e a classe EventHandlerCreationInformation no CSOM.
Antes de implementar um processador de eventos do Project Server, instale e teste cuidadosamente o processador de eventos numa instalação de teste do Project Server. Para uma instalação do Project Server no local, se o processador de eventos local que adicionar se tornar inoperativo, o Serviço de Eventos do Project Server 2013 não conseguirá carregar os outros processadores de eventos personalizados válidos. Nesse caso, tem de remover o processador de eventos do problema e reiniciar o serviço Eventos.
Observação
Para uma instalação do Project Server no local, recomendamos que migre para recetores de eventos remotos através da CSOM para desenvolver recetores de eventos. Uma vez que os recetores de eventos remotos não têm código de terceiros em execução no Serviço de Eventos do Project Server, os recetores de eventos remotos são mais estáveis. Os administradores locais são dispensados da responsabilidade de manter o Serviço de Eventos do Project Server.
Para obter informações gerais sobre eventos, veja Handling events in apps for SharePoint (Processar eventos em aplicações para o SharePoint).
Recursos preteridos
Observação
Para obter informações sobre funcionalidades e APIs preteridas ou removidas na Pré-visualização do Project Server 2016, consulte O que foi preterido ou removido na Pré-visualização do Project Server 2016.
As funcionalidades preteridas ainda estão disponíveis no Project 2013 para algumas soluções, mas não devem ser utilizadas para novos desenvolvimentos. A maioria das seguintes funcionalidades e práticas não funciona com o Project Online ou com a instalação predefinida no local do Project Server 2013 no modo de permissão do SharePoint. As soluções existentes que utilizam estas funcionalidades podem não funcionar para uma atualização do Project Server 2010 para o Project Server 2013. Embora as soluções que utilizam funcionalidades preteridas possam continuar a funcionar em alguns casos, não são totalmente suportadas para todas as instalações do Project 2013.
Se as suas soluções utilizarem funcionalidades preteridas, estas devem ser testadas cuidadosamente antes da implementação e deverá modificá-las para utilizar funcionalidades suportadas assim que for prática. Para obter informações sobre como configurar a segurança do Project Server 2013 no local para o modo de permissão do Project, consulte a secção Modo de Permissão do SharePoint em Novidades para profissionais de TI no Project Server 2013.
Os cenários da extensão PSI das extensões são preteridos e não serão suportados em versões futuras. Estes cenários do Project Server 2013 no local ativaram a integração através de serviços personalizados do Windows Communication Foundation (WCF).
PSI do Projeto A classe Project da PSI foi preterida. Para todos os novos desenvolvimentos, utilize o CSOM do Projeto. As aplicações do Project Server 2013 que utilizam a PSI do Project continuarão a funcionar, mas as aplicações do Project Online terão de substituir os métodos PSI da classe Project pelos métodos CSOM equivalentes.
PSI do Plano de Recursos A PSI do Plano de Recursos foi preterida. Continuará a ser suportado para o desenvolvimento do Project 2013, mas não será suportado em versões futuras.
Interface ASMX para a PSI A PSI inclui interfaces duplicadas para desenvolver extensões do Project Server no local. A interface de serviços Web ASMX foi introduzida com a primeira implementação da PSI no Office Project Server 2007. O Project Server 2010 adicionou a interface de serviços WCF, onde o modelo de objeto duplica essencialmente os serviços Web ASMX. Embora o Project Server 2013 continue a suportar o ASMX e o WCF, as novas soluções que necessitam da PSI devem utilizar os serviços WCF. Se possível, as novas soluções devem ser escritas com o CSOM.
Os serviços Web ASMX da PSI foram preteridos no Project Server 2013. Para funcionar em versões futuras do Project Server, as soluções que utilizam os serviços Web ASMX têm de ser reescritas para utilizar os serviços WCF ou o CSOM. Para obter mais informações, veja a secção Atualizar aplicações com as APIs do Project Server na programação do Project Server.
Fornecedor de Ligação de Objetos (OLP) Em versões anteriores do Project Server, o serviço ObjectLinkProvider na PSI (consulte WebSvcObjectLinkProvider fornece uma forma de gerir ligações de objetos Web entre tarefas de projeto empresarial e listas especializadas do SharePoint no site do projeto para problemas, riscos, materiais a entregar e documentos. No Project Server 2013, o OLP foi preterido.
Pode utilizar a classe RelatedItemManager no CSOM do SharePoint para criar, ler e eliminar ligações de objetos Web entre itens na lista de tarefas e as outras listas num site de projeto. Por exemplo, para adicionar uma ligação de um item de tarefa a um problema, pode utilizar o método AddSingleLink ou um dos dois métodos semelhantes, AddSingleLinkFromUrl ou AddSingleLinkToUrl. A classe RelatedItemManager também inclui métodos para eliminar uma ligação de objeto Web e ler itens relacionados. Para a classe equivalente no JSOM (o modelo de objeto JavaScript), veja SP. Objeto RelatedItemManager (sp.js).
Recomendamos que utilize o CSOM do SharePoint para criar aplicações do tipo OLP para uma instalação no local do Project Server 2013 e do Project Online. O espaço de nomes Microsoft.SharePoint não inclui uma classe RelatedItemManager ****.
Permissões personalizadas As permissões de segurança personalizadas para aceder a extensões ou funcionalidades específicas do Project Server eram suportadas no Office Project Server 2007, onde um artigo do SDK explicava como criá-las ao modificar diretamente a base de dados Publicada. No Project Server 2010, as permissões personalizadas continuam a funcionar, mas são preteridas. No Project Server 2013, as permissões personalizadas não funcionam com o modo de permissão predefinido do SharePoint para instalações no local. Para o modo de permissão do Project, são suportadas permissões personalizadas. Com o Project Online, o acesso direto à base de dados não é possível.
Representação A representação em aplicações baseadas em PSI, em que o utilizador de uma aplicação pode assumir as permissões de segurança de um utilizador do Project Server diferente, foi preterida no Project Server 2013. Como indicado anteriormente, uma instalação predefinida do Project Server 2013 no local utiliza o modo de permissão do SharePoint, que não permite a representação nos grupos de segurança do Project Server. Para obter mais informações, veja Autenticação, autorização e segurança no SharePoint 2013.
As aplicações de estado são extensões típicas que podem ter utilizado a representação em versões anteriores do Project Server. O Project Server 2010 introduziu o método ReadStatusForResource e o método SubmitStatusForResource na PSI, juntamente com a permissão global StatusBrokerPermission , que eliminou a necessidade de representação para ler e atualizar o estado em nome de outro utilizador. A CSOM no Project Server 2013 utiliza a PSI subjacente para ativar de forma transparente as extensões de estado e pode ser utilizada para instalações do Project Online ou no local.
Extensões de base de dados de relatórios Adicionar tabelas e vistas personalizadas à base de dados de Relatórios é uma prática comum com versões anteriores do Project Server. Uma vez que o Project Server 2013 combina as quatro bases de dados de versões anteriores numa base de dados, as atualizações não transferem tabelas, vistas ou SPROCs personalizados para as tabelas de relatórios na base de dados do Project Server 2013.
Recomendamos que utilize o SQL Azure ou uma base de dados do SQL Server separada para tabelas e vistas de relatórios personalizadas, onde pode gerir cópias de segurança e atualizações de bases de dados. Para o Project Online, isto é necessário.
Relatórios As tabelas e vistas de relatórios locais na base de dados do Project Server e nos cubos OLAP não são preteridas e permanecem totalmente suportadas. No entanto, as tabelas e vistas de relatórios (a base de dados de Relatórios em versões anteriores do Project Server) não estão acessíveis no Project Online. Da mesma forma, os cubos OLAP só estão disponíveis com instalações no local do Project Server 2013. Para comunicar aplicações com o Project Online, pode utilizar o serviço ProjectData através de consultas REST com o protocolo OData.
Guia do Projeto O Guia do Projeto é uma funcionalidade padrão nas aplicações de ambiente de trabalho do Office Project 2007, onde o conteúdo HTML e JavaScript num painel de tarefas fornece orientações interativas para criar e gerir projetos. No Project 2010, o Guia do Projeto não está disponível numa instalação predefinida, mas pode ser ativado através do VBA ou de um suplemento VSTO. A transferência do SDK do Project 2010 inclui os ficheiros modificados do Guia do Projeto.
O modelo de objetos VBA e o modelo de objeto Microsoft.Office.Interop.MSProject no Project 2013 ainda incluem os 22 membros da classe Aplicação e a classe Project que podem gerir o Guia do Projeto. No entanto, as aplicações do painel de tarefas do Project 2013 podem entrar em conflito com as ações num painel de tarefas do Guia de Projeto e os conteúdos do Guia do Projeto não podem ser facilmente distribuídos ou vendidos na Loja Office. Recomendamos vivamente que desenvolva soluções do painel de tarefas do Project com Suplementos do Office e não conteúdos personalizados do Guia do Projeto. Para obter mais informações sobre o Guia do Projeto, veja a Documentação do SDK do Project 2010.
Comparar o Project Server no local com o Project Online
Para o ajudar a decidir se deve utilizar o Project Server no local ou o Project Online e que tipos de extensões pode desenvolver em qualquer um dos casos, a Tabela 2 compara as funcionalidades extensíveis de uma instalação no local do Project Server 2013 com o Project Online. A Tabela 2 não inclui diferenças na implementação, administração ou utilização. Para obter mais informações sobre o Project Online e o Project Server 2013, consulte Project 2013 para programadores e Project Online.
Tabela 2. Extensibilidade do Project Server no local e do Project Online
Recurso | Project Server no local | Project Online |
---|---|---|
Programação |
Aplicações baseadas em CSOM; modelo de programação consistente - Bibliotecas de cliente .NET, Silverlight e Windows Phone - Biblioteca JavaScript para páginas personalizadas, Peças Web e extensões do friso - Protocolos OData e REST Aplicações baseadas em PSI; modelo de programação complexo, também pode criar aplicações para administração, análise de portefólio, notificações, segurança do modo de projeto, sistema de filas e outras áreas Extensões PSI Permissões personalizadas com a segurança do Modo de projeto (preterida) Representação com a PSI (preterida) Código de fidedignidade total; instalar extensões no farm do SharePoint |
Aplicações baseadas em CSOM; modelo de programação consistente - Bibliotecas de cliente .NET, Silverlight e Windows Phone - Biblioteca JavaScript para páginas personalizadas, Peças Web e extensões do friso - Protocolos OData e REST Pode utilizar a PSI, mas não suportada: sem OAuth e sem ligações serviço a serviço Nenhuma extensão da API CSOM Sem permissões personalizadas Nenhuma representação Sem código de fidedignidade total |
Bases de dados personalizadas |
- SQL Azure - SQL Server (a modificação de tabelas e vistas de relatórios na base de dados do Project Server não é suportada) |
- SQL Azure - SQL Server (a modificação de tabelas e vistas de relatórios na base de dados do Project Server não é suportada) |
Relatórios |
-
Serviço ProjectData ; Protocolos OData e REST - Tabelas e vistas de relatórios na base de dados do Project Server - Base de dados OLAP |
-
Serviço ProjectData ; Protocolos OData e REST |
Manipuladores de eventos |
- Recetores de eventos remotos, acessíveis através de pontos finais WCF - Processadores de eventos de confiança total, instalados no farm do SharePoint |
- Recetores de eventos remotos, acessíveis através de pontos finais WCF |
Fluxos de trabalho |
Fluxos de trabalho declarativos, criados com o SharePoint Designer 2013 - Utilizar apenas numa instância específica do Project Web App - Pode importar uma estrutura de fluxo de trabalho do Visio 2013 - Pode importar e utilizar ações personalizadas Fluxos de trabalho declarativos, criados com o Visual Studio 2012 - Criar uma aplicação que pode incluir fluxos de trabalho - Criar um pacote de solução do SharePoint (.wsp) que pode incluir fluxos de trabalho - Criar modelos de fluxo de trabalho para reutilização - Criar e utilizar ações personalizadas Pode utilizar fluxos de trabalho compilados legados, criados com o WF3.5 (atualização recomendada para o fluxo de trabalho declarativo do WF4) |
Fluxos de trabalho declarativos, criados com o SharePoint Designer 2013 - Utilizar apenas numa instância específica do Project Web App - Pode importar uma estrutura de fluxo de trabalho do Visio 2013 - Pode importar e utilizar ações personalizadas Fluxos de trabalho declarativos, criados com o Visual Studio 2012 - Criar uma aplicação que pode incluir fluxos de trabalho - Criar um pacote de solução do SharePoint (.wsp) que pode incluir fluxos de trabalho - Criar modelos de fluxo de trabalho para reutilização - Criar e utilizar ações personalizadas |
Distribuição |
- Loja Office (para aplicações baseadas em CSOM) - Catálogo de aplicações privadas no SharePoint - Partilha de ficheiros da intranet |
- Loja Office - Catálogo de aplicações privadas no SharePoint |
Conclusão
O Project Server 2013 fornece uma vasta gama de novas capacidades de desenvolvimento e cenários que os parceiros e clientes podem utilizar para adaptar e expandir as capacidades e a utilidade do Project Server em grandes empresas e em pequenas organizações. Pode utilizar a infraestrutura do Office 2013 e do SharePoint 2013 para ajudar a criar e distribuir aplicações para o Project 2013 que podem aumentar consideravelmente a comercialização e a utilização de aplicações personalizadas. Algumas funcionalidades de extensibilidade e práticas de versões anteriores são preteridas no Project 2013, em particular os serviços Web ASMX da PSI e funcionalidades que envolvem representação ou alterações diretas da base de dados, que não podem ser utilizadas com o Project Online.
A introdução do CSOM permite o acesso programático ao Project Online para uma grande variedade de dispositivos e ao utilizar JavaScript em aplicações Web. O CSOM fornece um modelo de programação mais consistente em comparação com a PSI. Os dados do Project Server podem ser acedidos de muitas mais formas do que em versões anteriores, incluindo através do serviço OData online e através de pontos finais REST para relatórios de dados na base de dados do Project. Os relatórios existentes continuam a funcionar da mesma forma para utilização no local; os novos relatórios têm mais flexibilidade.
Os Suplementos do Office fornecem uma nova via para vender soluções e integrar o Project Standard 2013 com conteúdo Web e outros produtos do Office 2013. Também pode criar novas formas de integrar o Project Professional 2013 com dados do Project Server e listas do SharePoint através do painel de tarefas Suplementos do Office.
Para obter mais informações sobre o desenvolvimento de aplicações e a utilização das funcionalidades de programação e da CSOM do SharePoint Server 2013, consulte SharePoint para programadores e Office para programadores.
Confira também
- Arquitetura do Project Server 2013
- Tarefas de programação do Project
- Modelo de objeto do cliente (CSOM) para o Project 2013
- ProjectData - referência do serviço OData do Project
- Suplementos do painel de tarefas para Project
- OData: convenções de URI
- SharePoint para desenvolvedores
- Office para programadores
- Processar eventos em aplicações para o SharePoint
- AppSource
- Project Online