PSI 的作用和不做
Project Server Interface (PSI) 可協助自動化 Project Server 2013 內部部署安裝中的許多伺服器端程式。 但是,有數個函式需要使用 Microsoft Project Professional 2013。
PSI 的設計目的是要補充 Project 專業版 2013 的功能,而不是為所有 Project 專業版 函式提供以伺服器為基礎的替代方案。 第三方開發人員可以使用 PSI 來協助建立網頁元件,以進行 Project Web App 和專案工作區的內部部署安裝、建立可與內部部署 Project Server 數據互動的自定義 Windows 應用程式和 Web 應用程式、開發專案組合管理的工作流程邏輯、開發本機完全信任事件處理程式,以及整合 Project Server 與其他應用程式。 PSI 無法用於開發 Office 市集、行動裝置或平板電腦的應用程式;為此,您可以使用客戶端物件模型 (CSOM) 。
注意事項
PSI 提供比 CSOM 所提供的更完整的 Project Server 2013 程式設計介面。 但是,除非 CSOM 未提供您所需的功能,否則建議您使用 CSOM 來開發新的應用程式。 如需詳細資訊,請參閱 CSOM 的用途和作用。
PSI 的使用案例
以下是 PSI 針對伺服器端項目和計算支援的一些應用程式範例:
在 Project Server 中自動建立或管理實體雖然 Project 專業版 2013 和 Project Web App 一起設計來處理專案、企業資源和自定義欄位等實體的管理和建立,但通常會有自定義應用程式可以節省大量或重複作業的時間。 PSI 可以自動化 CSOM 不會執行的數種作業,例如,使用 OLAP Cube、項目組合分析、商務驅動程式、通知、對象連結提供者、安全性和 SharePoint 互操作性。
在 Project 資料庫的已發行或封存數據表中取得數據 由於不支援對草稿、已發行和封存數據表的直接數據庫存取,因此您可以使用 PSI 來讀取報表數據表或檢視表中無法使用的資料。 例如,取得儲存在封存數據表中之專案版本、日期和變更的相關信息,然後在網頁元件中填入 JS Grid 控件與資訊。
驗證狀態和時程表數據在將資料儲存在 Project Web App 之前,使用本機事件前處理程式中的 PSI 來驗證使用者輸入的指派狀態或時程表數據。
維護專案 建立要與資源計劃搭配使用的佔位符專案。 保留或預約維護工作或基礎業務資源的時間。 維護專案通常沒有工作。
建立財務專案 透過時程表建立時間擷取專案,以與財務系統整合。 建立財務代碼的階層,以反映財務系統的成本明細結構。 財務專案不需要排程或狀態更新。
與會計系統整合 擷取與專案相關聯的資源成本和費用,以摘要財務和計費系統,並供預算比較之用。 同步處理系統之間的工作、資源和指派。 擷取一個系統中的時程表數據,以饋送另一個 (使用的時程表取決於組織或個別專案) 的需求。
從小組成員自動更新 對於未主動管理的專案,請使用進度和專案小組成員的其他變更,自動更新伺服器上的專案。 專案可以更新和重新發佈,而不需要專案經理檢閱結果或調整計劃。
評估本機完全信任事件處理程式中的 Project Server 數據ProjectCreating 前置事件的本機事件處理程式可以使用來自 PSI 的 Project Server 數據,協助判斷是否要取消事件。 例如,在建立專案之前,請比較專案提案與現有的專案。
建立自定義工作流程活動以進行需求管理 使用本機完全信任工作流程活動中的 PSI,根據企業專案範本來修改和更新專案提案。 使用專案自定義欄位,以起始和核准程式所需的資訊標記專案。 新增工作以識別重要里程碑或交付項目的項目階段。 核准專案提案時,工作流程可以將提案變更為使用 Project 專業版 管理的完整規模專案。
建立 PSI 擴充 (已淘汰。 延伸模組在 Project Server 2013 中已被取代,未來版本將不支援。) 您可以使用 Windows Communication Foundation (WCF) 介面來擴充 PSI 與自定義服務。 PSI 擴充功能會在 Project Server 計算機上執行,而且可以使用內建 PSI 服務所使用的相同安全性基礎結構。 延伸模組可以查詢報告數據表、使用個別的資料庫數據表、合併 PSI 呼叫以節省頻寬,以及與第三方應用程式和其他伺服器端元件整合。 如需詳細資訊,請 參閱開發 PSI 擴充功能。
在本機、完全信任的應用程式中使用模擬 您可以模擬對 PSI 之 WCF 介面的呼叫,讓應用程式假設模擬使用者的安全性許可權。 應謹慎謹慎使用模擬。 讀取和更新其他用戶的狀態資訊不需要模擬。 需要仿真的新應用程式應該使用 CSOM 和 OAuth 通訊協定,而不是 PSI。 如需使用 PSI 仿真的詳細資訊,請參閱 搭配 WCF 使用模擬。
注意事項
在某些情況下,PSI 可用於用戶端應用程式與 CSOM 和 Project Online。 如果您使用 ASMX 型 PSI Web 服務,應用程式必須包含在 CSOM 中驗證 Microsoft.ProjectServer.Client.ProjectContext 物件的方法,以及驗證 System.Web.Services.Protocols.SoapHttpClientProtocol 用戶端物件的方法。 如需搭配 SharePoint CSOM 使用 Web 服務的範例,請參閱 在 SharePoint Online 中使用宣告式驗證的遠端驗證。 > 由於應用程式層級許可權受限,因此 PSI 無法用於專為在公用 Office 市集中散發而設計的應用程式。 在此情況下,您只能使用 CSOM。
PSI 未執行的動作
雖然 PSI 可以執行許多任務作,但 PSI 不會執行某些動作。 以下是 PSI 無法執行的兩件事,但 CSOM 可以執行。
Project Online和遠端事件接收器
PSI 的主要限制是使用 Project Online。 使用 PSI 的應用程式需要完全信任存取 Project Server 的內部部署安裝。 例如,PSI 無法用於遠端事件接收器,其中事件接收器會安裝為 Microsoft Azure 上的服務。
工作流程和宣告驗證
使用 Windows Workflow Foundation 第 4 版 (WF4) 的工作流程定義需要 PSI 不直接支援的宣告驗證。 這表示您無法使用 PSI 在 Project Server 2013 中建立具有 WF4 工作流程定義之 EPT) (企業專案類型的專案。
您可以使用 PSI 來建立具有 EPT 的專案,這些 EPT 沒有工作流程,或使用舊版 WF3.5 定義 (Project Server 2010) 中的工作流程版本。 若要使用具有 WF4 定義的 EPT 建立專案,請使用 CSOM。
需要 Project 專業版 的動作:
下列清單是 PSI 和 CSOM 都無法執行的動作。
本機數據
管理本機項目中的數據, (.mpp 檔案) 。 例如,定義本機資源的成本比率表或可用性輪廓。
定義或編輯本機基準行事曆或資源行事曆,包括行事曆例外狀況。
定義本機自定義欄位。 (PSI 支援編輯工作、資源和工作分派的本機自定義域值。)
Enterprise data
簽出或編輯企業通用範本。 Project Server 2013 中的企業全域數據是 Project 資料庫中的一組二進位數據表,而不是 Office Project Server 2007 和舊版中的項目範本。
定義或編輯企業行事曆。 行事 歷 方法只會管理行事曆例外狀況。
主要專案和跨項目連結
建立主要專案並插入子專案。
排程跨主要專案的重要路徑。
建立跨項目連結。
資源
要求或執行資源撫平。
變更指派上的資源。 (您可以使用 PSI 來刪除指派,並建立新的指派。)
刪除或取代實際工作已接受 (實際) 的資源。
變更工作、材料和成本之間的資源類型。
建立或編輯資源行事曆。
將資源新增至工作時,PSI 不會像 Project 專業版 一般自動重新發佈工作。 開發人員必須選擇並明確設定工作分派的工作分佈。
成本資源
工作輪廓
編輯時段數據。
注意事項
狀態 Web 服務中的 UpdateStatus 方法可以在項目經理更新併發佈指派數據之後,編輯工作分派的時段實際值。
設定或變更指派 (類型,例如一般、後載入或前端載入) 。
基準和獲利值
儲存基準或編輯基準數據。
設定進度日期。
計算變異數和收益值。
互動式排程
支援互動式排程。 (因為 Project Server 會以異步方式處理互動,所以應該使用 Project 專業版.)
注意事項
為了避免變更程式設計行為,從 Project Server 2010 轉送的 PSI 方法在 Project Server 2013 中會以相同方式執行。 例如, QueueUpdateProject 仍然具有相同的限制,並使用較舊的伺服器端排程引擎。 新的 QueueUpdateProject2 方法會移除其中許多限制,並使用新的 Project Server 2013 伺服器端排程引擎,這是 Project 專業版 2013 中的相同排程引擎。
WBS
- (WBS) 代碼遮罩定義工作分解結構。
工作
變更工作類型 (固定工時、工期或單位) 。
變更工作是否為工作導向。
變更任務固定成本累算。
變更 TASK_NOTES欄位 的內容。 PSI 只能讀取工作筆記的文字部分,也就是二進位數據.rtf。 但是,您可以編輯指派附註 ( ASSN_NOTES ) ,也就是文字數據。 報表資料庫不包含工作或工作分派附註。
建立或編輯週期性工作。
指派或變更現有任務的工作行事曆。
使用工作行事曆建立新工作。
變更 工作TASK_IGNORES_RES_CAL 字段 (值會忽略資源行事曆) 。
如果在同一呼叫中進行其他變更,請使用 QueueUpdateProject 變更工作的使用中狀態。 For more information, see the Project Scheduling on the Server section in Project Server programmability.
摘要任務
建立或變更摘要任務的指派。
注意事項
我們建議您不要使用 Project 專業版 或其他任何方式來指派摘要任務。 For more information, see the Project Scheduling on the Server section in Project Server programmability.
編輯通常會從子工作匯總的摘要工作欄位。 伺服器端專案一律會匯總摘要資訊,而不是設定摘要工作的資訊,並將它向下推送至數工作。 您只能在摘要工作上編輯下列欄位:
工作相依性
非公式自定義欄位
TASK_FIXED_COST_ACCRUAL (只有在建立工作) 時才設定值
針對專案摘要工作,PSI 限制與 Project 專業版 相同。 PSI 可以編輯預算指派,包括成本預算。
專案層級計算選項
在 SFS) (排程 (SFF) 之間變更項目類型。 (PSI 可以將專案建立為 SFS 或 SFF,但一旦建立,就只能在 Project 專業版.)
在專案建立之後變更專案基準行事曆 (CAL_UID ) 。
變更計算選項。 您可以在建立專案時使用 PSI 來設定下列計算選項,但變更選項需要 Project 專業版。 (在Backstage檢視中,選擇 [選項],然後選擇 [項目選項] 對話方塊中的 [排程] 索引標籤。)