基于Project和SharePoint的项目管理方案马健天翼博雅科技发展有限公司Microsoft企业项目管理解决方案架构介绍MicrosoftOfficeProjectServer2007的项目工作环境使用SharePoint技术扩展项目工作环境使用ProjectServerInterface(PSI)进行高级定制开发编制企业项目计划项目文档,问题/风险,任务获取已有系统的信息集中存储项目,资源和报告团队协作项目相关文档流程引擎邮件集成SAP集成报表服务分析服务文档管理表单服务搜索服务身份管理权限管理审计跟踪可定制性计划管理•WBS编制•进度管理•资源分配•基线设置资源管理•人力资源•物料资源•属性设置•可用分析成本管理•预算设置•成本设置•成本中心•财务代码项目管理•项目群•建议项目•维护项目沟通管理•问题管理•项目文档•项目工作区与讨论项目监控•指示灯•分析图表•项目报表应用集成•门户集成•SAP集成•单点登录知识管理•多维度•知识搜索•知识网络•商业智能风险管理•风险识别•风险评估•应对策略•监督改进质量管理•计划编制•质量监督•事故处理•技术变更采购管理•供应商•承包商•招投标•合同管理审批流程•立项阶段•初设阶段•实施阶段•交付阶段当发布项目时,会在WSS站点创建项目工作环境为项目团队协作提供了项目文档项目问题项目风险项目可交付结果项目工作环境文档管理问题和风险跟踪项目可交付结果ProjectWebAccess(PWA)将WSS和项目系统的用户数据整合在一起Project数据库WSS数据库项目与项目工作环境ProjectServer建立于WindowsSharePointService之上,因此具有其Web部件特性ProjectServerWeb部件开发等同于WindowsSharePointServiceWeb部件开发ProjectServer具有很多预置的Web部件如项目中心、资源中心、时间表等等修改共享页面添加Web部件调整设置制作项目工作环境网站模板对已有的项目工作环境进行修改,制作出需要的工作环境网站功能保存项目工作环境网站模板使用WSS网站管理工具保存模板将模板安装到ProjectServer2007stsadm–oaddtemplate–filenamefilename–titletitletext在PWA管理页面配置该模板生效使用Web部件定制项目工作环境创建项目工作环境站点模板ProjectServerInterfaceServerBusinessObjectsTimesheetReportingResourcePlansDataWarehouseSecurityEvent/NotificationsObjectLinkingTaskAssignmentSchedulingBudgetingServerEventsServerQueue全新的服务器API一组Web服务基于.Netframework2.0的托管代码支持通过SOAP访问使用ADO.NetDataSet访问数据所有需要访问ProjectServer的应用(包括ProjectProfessional2007和PWA)都通过PSI调用AdminPWA中的管理:设置财年、货币、报表时间段、内控日志、AD活动目录等Archive备份与恢复:项目、安全类别、自定义域、资源、系统设置、视图等Calendar管理企业日历:签入签出、建立删除更新日历个别项等等CubeAdmin管理OLAPCube:取AnalysisServer和数据库状态、建立Cube、更改Cube定义等等CustomFields管理企业自定义域:签入签出、读取、建立、删除、更新等Events管理事件委托:查询、建立、删除、更新事件委托LoginFormsProjectServer认证:用户登陆、登出LoginWindowsWindows集成认证:用户登录、登出LookupTable管理LookupTable:多语言管理、代码掩码、签入签出、读取、建立、删除、更新Notifications管理通知和提醒ObjectLinkProvider管理链接的问题、风险、文档、提交物等在SharePoint上的列表项目Project管理项目:签入签出、读取、发布、建立、设定项目内容(任务、资源、任务分配)等QueueSystem管理队列服务:取得队列中的任务数量、等待时间、任务状态等等Resource管理企业资源:签入签出、资源建立、更新、删除、查询等等ResourcePlan管理资源计划:签入签出、建立、更新、删除等等Security管理安全模板、安全类别、访问控制列表、全局权限、用户与组的权限等等Statusing管理状态更新与分配:状态更新历史、用户审批历史、项目状态信息、工作分配状态信息等等Timesheet管理时间表:建立、删除、发布、更新、读取时间表View管理视图:读取、更新、拷贝、删除视图WssInterop管理项目工作区、管理SharePoint站点设置添加PSIWeb引用://ServerName:Port/PWAPath/_vti_bin/PSI/LoginForms.asmx添加库引用usingPSLibrary=Microsoft.Office.Project.Server.Library;登录与登出ProjectServerWindows集成验证:取当前用户Credential,使用Login与Logoff方法ProjectServer验证:准备CookieContainer,使用Login与Logoff方法登录登出完成后,设置其他对象的URL,和Credential或CookieContainer读取ProjectServer数据调用对象的相应方法,如this.project.ReadProjectList()数据对象继承自System.Data.DataSet,可以调用对象方法读取返回数据publicvoidgetProjectList(ListViewview){WebService_Project.ProjectDataSetds=this.project.ReadProjectList();foreach(WebService_Project.ProjectDataSet.ProjectRowprinds.Project){view.Items.Add(newListViewItem(newstring[]{pr.PROJ_UID.ToString(),pr.PROJ_NAME}));}}服务器端事件引擎事件目录,可自定义事件处理程序支持Pre-和Post-事件,Pre-事件可以取消基于.NETFramework2.0开发事件处理程序不再需要SQL触发器添加库引用UsingMicrosoft.Office.Project.Server.Events;UsingMicrosoft.Office.Project.Server.Library;继承所需的Receiver类,重载相应事件的方法部署设置dll强名称注册到GAC,拷贝PublicToken注册到ProjectServerusingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingMicrosoft.Office.Project.Server.Events;usingMicrosoft.Office.Project.Server.Library;namespacemyEventHandler{publicclassmyProjectEvent:ProjectEventReceiver{publicoverridevoidOnPublished(PSContextInfocontextInfo,ProjectPostPublishEventArgse){//您的事件处理逻辑}}}ProjectProjectEventReceiverActivityUpgraded,ActivityUpgrading,Added,Adding,CheckIn,Created,Creating,Deleted,Deleting,EntitiesDeleted,EntitiesDeleting,Published,Publishing,Saved,SaveFailed,Updated,Updating,WssWorkspaceAddressDeleted,WssWorkspaceAddressDeleting,WssWorkspaceUpdated,WssWorkspaceUpdatingAdminAdminEventReceiverAdSyncERPSynchronized,AdSyncERPSynchronizing,AdSyncGroupsSynchronized,AdSyncGroupsSynchronizing,LineClassUpdating,AdSyncGroupSynchronized,AdSyncGroupSynchronizing,LineClassUpdated,ReportingPeriodUpdated,ReportingPeriodUpdating,StatusReportsDeleted,StatusReportsDeletingCalendarCalendarEventReceiverChanged,Changing,CheckedIn,CheckedOut,CheckingIn,CheckingOut,Created,Creating,Deleting,DeletedCubeAdminCubeAdminEventReceiverCubeBuilding,CubeBuilt,CubeProcessedCustomFieldsCustomFieldsEventReceiverCheckedIn,CheckedOut,CheckingIn,CheckingOut,Created,Creating,Deleting,Deleted,Updated,UpdatingLookupTableLookupTableEventReceiverCheckedIn,CheckedOut,CheckingIn,CheckingOut,Created,Creating,Deleting,Deleted,Updated,UpdatingNotificationsNotificationsEventReceiverSending,SentReportingReportingEventReceiverCustomFieldChanged,CustomFieldCreated,CustomFieldDeleted,FiscalPeriodChanged,FiscalPeriodDeleted,LookupTableChanged,LookupTableCreated,LookupTableDeleted,ProjectChanged,ProjectCreated,ProjectDeleted,ResourceCapacitiesChanged,ResourceCapacityTimeRangeChanged,ResourceChanged,ResourceCreated,ResourceDeleted,TimesheetAdjusted,TimesheetingClassChanged,TimesheetDeleted,TimesheetPeriodChanged,TimesheetPeriodCreated,TimesheetPeriodDeleted,Time