CN101243365A - 服务器侧项目管理器 - Google Patents

服务器侧项目管理器 Download PDF

Info

Publication number
CN101243365A
CN101243365A CNA2006800295586A CN200680029558A CN101243365A CN 101243365 A CN101243365 A CN 101243365A CN A2006800295586 A CNA2006800295586 A CN A2006800295586A CN 200680029558 A CN200680029558 A CN 200680029558A CN 101243365 A CN101243365 A CN 101243365A
Authority
CN
China
Prior art keywords
project
data
update request
application programming
programming interfaces
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006800295586A
Other languages
English (en)
Other versions
CN101243365B (zh
Inventor
R·卡亚哈拉
E·J·舒尔茨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN101243365A publication Critical patent/CN101243365A/zh
Application granted granted Critical
Publication of CN101243365B publication Critical patent/CN101243365B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06313Resource planning in a project environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/02CAD in a network environment, e.g. collaborative CAD or distributed simulation

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种服务器侧项目管理器使用一组web服务API来创建、更新、调度和管理服务器上的项目。当用户创建一新项目或修改一现有项目时,用户提交一项目更新请求。该项目更新请求与经由web服务调用服务器以更新项目的API相关联。示例的API包括数据检索调用、行政管理调用或数据更新调用。处理器比较项目更新请求与任何现有的项目定义以标识更新值。利用这些更新值和任何现有的项目定义来执行一组计算。该项目基于计算结果被更新并存入数据存储中。

Description

服务器侧项目管理器
背景
项目管理应用程序管理与项目相关联的任务。项目管理应用程序允许用户定义项目目标、计划任务和资源、为实现一目标而调度要完成的任务、显示项目计划以及实施并管理该项目。项目管理应用程序提供了许多好处,包括:自动计算项目进度;在任务信息已改变的情况下自动更新项目进度;分析项目进度以调度资源和评估替代方案;以对所有项目一致的标准格式提供进度输出;以及存储进度数据以便在将来的项目中使用。项目管理进度由任务构成。上述进度定义了任务出现的顺序、完成任务所需的资源以及与任务相关联的日历信息。每一项任务都被定义成包含与开始和结束日期和时间、已完成的工作的百分比、所需资源、预计和实际成本等相关联的信息。
概述
服务器侧项目管理器使用一组web服务应用程序接口(API)调用来创建、更新、调度和管理一服务器上的项目。当用户创建一新项目或修改来自项目应用程序的现有项目时,用户通过提交一项目更新请求来启动一项目更新进程调用。该项目更新请求经由一web浏览器接口被提交给web服务。该项目更新请求与一API相关联,该API经由web服务调用服务器以更新该项目。示例的API包括数据检索调用、行政管理调用和数据更新调用。处理器比较项目更新请求和现有的项目定义以标识更新值。利用这些更新值和任何现有项目定义执行一组计算。基于计算结果更新该项目并将其存入数据存储中。
本发明的其它方面包括用于执行这些方法的系统和计算机可读介质。本公开内容的以上概述并非旨在描述本公开内容的每一实现。以下的附图和详细描述更具体地例示了这些实现。
附图简述
图1是示出可用于本发明的一个方面的示例性计算设备的功能框图。
图2示出了定义可使用服务器侧项目API调用来更新的数据字段的项目数据集的框图。
图3示出了用于管理服务器上的项目的系统的功能框图。
图4是示出用于管理服务器上的项目的进程的操作流程图。
详细描述
服务器侧项目管理器使用一组web服务API来创建、更新、调度和管理服务器上的项目。当用户创建一新项目或修改一现有项目时,用户提交项目更新请求。使该项目更新请求与一API相关联,该API通过web服务来调用服务器以更新该项目。示例性的API包括数据检索调用、行政管理调用或数据更新调用。处理器比较该项目更新请求和任何现有的项目定义以标识更新值。利用这些更新值和任何现有项目定义来执行一组计算。该项目基于计算结果被更新并存入数据存储中。
以下参考附图详细描述本发明的各实施例,在若干视图中,相同的标号表示相同的部分和组件。对各实施例的参考并不限制公开内容的范围,该范围仅由所附的权利要求书的范围限定。说明书中阐述的诸示例并非是限制性规定,而是仅仅阐述了许多可能的实施例中的一些。因此,以下的详细描述并非用于限制的意思。
说明性操作环境
参考图1,用于实现本发明的示例性系统包括诸如计算设备100等计算设备。在一个基本配置中,计算设备100通常包括至少一个处理单元102和系统存储器104。根据计算设备的确切配置和类型,系统存储器104可以是易失性(诸如RAM)、非易失性(诸如ROM、闪存等)或这两者的某一组合。系统存储器104通常包括操作系统105、一个或多个应用程序106,并包括程序数据107。在一个实施例中,应用程序106还包括以下将详细讨论的项目管理器108。
计算设备100还可以具有额外的特征或功能。例如,计算设备100还可包括附加的数据存储设备(可移动的和/或不可移动的),诸如磁盘、光盘或磁带。这种附加存储设备在图1中示作可移动存储109和不可移动存储110。计算机存储介质可包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,所述信息诸如计算机可读指令、数据结构、程序模块或其它数据。系统存储器104、可移动存储109和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储技术,CD-ROM、数字通用盘(DVD)或其它光存储,磁盒、磁带、磁盘存储或其它磁性存储设备,或者可用于存储所需信息并可由计算设备100存取的任何其它介质。任何这种计算存储介质可以是设备100的一部分。计算设备100还可具有输入设备112,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备等。还可包括输出设备114,诸如显示器、扬声器、打印机等。所有这些设备均是本领域已知的,因而不需要在此进一步讨论。
计算设备100还包含通信连接116,它允许该设备诸如通过网络或无线网状网络与其它计算设备118通信。通信连接116是通信介质的示例。通信介质通常以已调制数据信号(诸如载波或其它传输机制)来体现计算机可读指令,数据结构、程序模块或其它数据,并包括任何信息传递介质。术语“已调制数据信号”表示按在其中编码信息的方式设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直线连接等有线介质,以及诸如声、RF、红外及其它无线介质等无线介质。这里使用的术语“计算机可读介质”包括存储介质和通信介质。
服务器侧项目管理器
本公开内容在诸如软件模块等在计算设备上执行的计算机可执行指令或组件的一般上下文中描述。一般来说,软件模块包括例程、程序、对象、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。虽然这里根据计算机可执行指令或组件进行描述,但本发明可同样使用除软件之外的程序化机制(诸如固件或专用逻辑电路)来实现。
图2示出了一项目数据集的框图,它定义了可用服务器侧项目API调用来更新的数据字段。该项目数据集包括项目数据表200、任务数据表210、资源数据表220和分配数据表230。项目数据表200包括项目头信息。任务数据表210包括任务信息,其中任务是要对项目执行的动作。任务可相互依赖。资源数据表220包括关于从事该项目的一个或多个人的信息。资源可以是本地或企业范围的。分配数据表230定义资源和任务之间的关系。换言之,分配标识被调度以完成相应任务的资源。
项目200还可包括专用于特定项目实现的辅助数据结构。例如,项目数据表200可与项目自定义字段数据表240相关联。项目自定义字段数据表240包括用于项目的用户定义数据。任务数据表210可与任务自定义字段数据表250相关联。任务自定义字段数据表250包括用于任务的用户定义数据。资源数据表220可与资源自定义字段数据表260相关联。资源自定义字段数据表260包括用于资源的用户定义数据。分配数据表230可与分配自定义字段数据表270相关联。分配自定义字段数据表260包括用于分配的用户定义数据。自定义字段数据表240、250、260、270提升了系统的可扩展性,因为它们允许用户输入其自己的任务、分配、资源和项目。
图3示出了用于管理服务器上的项目的系统的功能框图。该系统包括客户机300、web服务器310、服务器320和数据存储390。服务器320包括队列管理器330、事务队列340、分派器350、和处理器360、370、380。用户通过在客户机300处提交一项目更新请求来启动一项目更新进程调用。当用户在客户机300处加载的项目应用程序上创建新项目或修改现有项目时提交项目更新请求。该项目更新请求可包括改变与该项目相关联的调度信息的请求。该项目更新请求还可以包括修改数据存储390中存储的信息的请求。该项目更新请求经由web浏览器接口被提交给web服务310。可执行某一初步输入数据确认。该项目更新请求与一应用程序接口(API)相关联,该API经由web服务310调用服务器320以更新该项目并执行计算。以下详细描述示例性API。
项目更新请求被提交给队列管理器330。队列管理器330监视输入的请求并将该请求存储在事务队列340中。分派器350将该项目更新请求转发给可用的处理器(360、370或380)。多个处理器有助于负载平衡和需求平滑。
处理器根据项目更新请求和任何现有的项目定义来确定更新值。如果该项目更新请求与新创建的项目相关联,则处理器不参考现有的项目定义。这些更新值可直接从项目更新请求中或从项目更新请求与现有项目定义之间的差异中确定。利用更新值和任何现有项目定义来执行一组计算。示例计算包括节点一致性计算、调度操作、积累(roll-up)计算、以及自定义字段计算。该项目在数据存储390上基于计算结果被更新。
当用户修改一特定项目元素或字段(例如,任务或分配)时,执行节点一致性计算以更新有关数据元素和字段,从而维持一致性。例如,任务可将开始日期设为星期一并将结束日期设为星期三。任务的持续时间是三天。用户可将结束日期延长到星期四。该修改造成了数据不一致,因为现在任务的持续时间为四天。执行节点一致性计算以解决数据不一致性,以使持续时间数据字段自动被更新以反映该修改。因此,任务持续时间被更新为四天。
调度操作执行关键路径调度并确定由于时间约束而可能产生的任何调度冲突。调度操作可由服务器220上的调度引擎执行。在一个示例中,调度操作确定日历上的哪些日子是法定工作日,以使任务不会被调度到在非工作日执行。
执行积累计算以编译项目信息并生成所编译信息的概要。在一个实施例中,多个任务可与一个概要任务相关联。积累计算编译多个任务之间共享的信息,以便用概要任务来包含。例如,一个任务可被调度为星期一-星期三执行。另一个任务可被调度为星期四和星期五执行。这两个任务可在单个概要任务下被组合在一起。该概要任务具有五天的持续时间。
用户可为项目、任务、资源和分配建立自定义字段。自定义字段可被定义为执行一计算以表达关于该任务的量度。例如,名为“延迟的日子”的自定义字段被定义为执行一个将任务的实际结束日期减去预定完成日期的计算。
调用一组web服务API以创建、更新、调度和管理共享服务器上的项目。这些API包括数据检索调用、行政管理调用和数据更新调用。数据检索调用包括ReadProject(读取项目)和ReadProjectTeam(读取项目团队)。行政管理调用包括CheckOutProject(验收项目)和CheckInProject(登记项目)。数据更新调用包括CreateProject(创建项目)、CreateProjectFromTemplate(从模板创建项目)、UpdateProject(更新项目)、AddToProject(添加到项目)、DeleteFromProject(从项目中删除)、UpdateProjectTeam(更新项目团队)和Calculate(计算)。以下详细讨论这些调用中的每一个。
ReadProject被调用以读取单个项目的数据。例如,
projectDS=project.ReadProject(projected);
其中,“projectDS”(项目数据集)是从数据库中随项目数据一起返回的项目数据集。
“project”(项目)是对服务器侧项目web服务代理的引用。
“projectID”(项目ID)是从中删除任务、依赖关系、资源或分配的项目的GUID。
CheckOutProject被调用以保留一项目用于编辑或删除。如果该项目不可用于编辑,则引发一异常。在对客户机应用程序或服务器API进行任何改变前应锁定项目。该锁定是应用层逻辑锁定。当连同服务器侧项目API一起使用时,验收操作逻辑上等同于在客户机应用程序中打开一项目读写操作。验收操作是同步的,并立刻被执行。例如,
project.CheckOutProject(projected,sessionID,sessionDesc);
其中“project”是对服务器侧项目web服务代理的引用。
“projectID”是要验收的项目的GUID。
“sessionID”(会话ID)是由调用者提供的唯一标识符。项目上的逻辑锁定与sessionID GUID以及作出验收调用的用户相关联。如果用户与验收项目的用户相同且sessionID GUID随调用被提供,则仅接受针对被验收项目的后续操作。
“sessionDesc”(会话描述)是可任选的用户提供的字符串,它在项目被验收时作为项目的一部分来存储以指示与被验收项目相关联的用户。在一个实施例中,该字符串是被验收项目的客户机名。对于服务器侧项目调用,用户可提供对它们有意义的任何字符串。通常,该字符串是执行验收的进程的名称(例如,“时间表更新(Timesheet updates)”)。
CheckInProject释放项目锁定。如果对项目的改变未决(即在队列中),则登记操作被排队以在改变完成时发生。如果没有改变是未决的,则登记操作立刻发生。项目由执行验收的用户或者由具有管理员特权的用户使用“强制登记”选项来登记。登记操作迫使数据库中的任何数据的重新计算。例如,
project.CheckInProject(projectID,checkinOption,sessionID,sessionDesc);
其中,“project”是对服务器侧项目web服务代理的引用。
“projectID”是要被验收的项目的GUID。
“checkinOption”(登记选项)定义了与登记操作相关联的任何选项。示例选项包括正常的和强制的。正常的登记操作解锁该项目。后续的“打开项目应用程序中的读写”或“读取以更新”服务器侧项目调用从数据库接收项目的未公布副本。所有其它项目读取API和项目web访问持续到看到该项目的已公布版本。强制的登记操作需要管理员特权并忽略sessionID GUID。项目应用程序中的任何未保存的改变会丢失。
“sessionID”是当项目被验收时所使用的会话标识符。如果作出调用的用户或sessionID两者均与验收调用中使用的不同,则登记操作失败(除行政管理登记之外)。
“sessionDesc”是可任选的用户提供的字符串。该字符串可被服务器忽略但可用于诊断用途,即诊断该字符串是否与验收调用所提供的字符串不一致。
CreateProject被用于创建新的项目。例如,
project.CreateProject(projectDS,validateOnly);
其中,“project”是对服务器侧项目web服务代理的引用。
“projectDS”是用项目头、任务、依赖关系、资源和分配信息填充以便添加到项目的项目数据集。
“validateOnly”(仅确认)是指示调用是应创建项目还是执行数据确认的布尔值。如果生成结果“真”,则仅执行数据确认而不更新数据库。如果生成结果“假”,则执行数据确认且如果没有发现错误则创建该项目。项目数据集可包括任务、分配和资源以及项目头信息。每次调用仅可创建一个项目。如果数据集中指定了多个项目,则仅考虑第一个项目并忽略所有其它项目的数据。
CreateProjectFromTemplate基于现有的项目模板创建一新项目。例如,
newProjectID=project.CreateProjectFromTemplate(templateID,newProjectName,newProjectVersionID);
其中,“newProjectID”(新项目ID)是系统分配的GUID,它标识新创建的项目。
“project”是对服务器侧项目web服务代理的引用。
“templateID”(模板ID)是用作新项目基础的模板的GUID。
“newProjectName”(新项目名称)是给新创建项目的名称。
“newProjectVersionID”(新项目版本ID)是与新项目相关联的版本的GUID。
UpdateProject更新现有项目和/或现有任务、资源和分配。例如,
project.CreateProject(sessionID,projectDS,validateOnly);
其中,“project”是对服务器侧项目web服务代理的引用。
“sessionID”是在验收项目时使用的会话标识符。如果作出调用的用户标识符或会话标识符与验收调用中所使用的不同,则更新操作失败。
“projectDS”是包含对项目头或现有任务、依赖关系、资源和分配的改变的项目数据集。
“validateOnly”是指示调用是应创建项目还是执行数据确认的布尔值。如果生成“真”结果,则仅执行数据确认而不更新数据库。如果生成“假”结果,则执行数据确认且如果未发现错误则创建项目。项目数据集可包括任务、分配和资源以及项目头信息。数据集中的所有行涉及现有实体。每次调用创建一个项目。如果在数据集中指定多个项目,则仅考虑第一个且忽略所有其它项目的数据。
AddToProject向现有项目添加新任务、依赖关系、资源和分配。例如,
project.AddToProject(sessionID,projectDS,validateOnly);
其中,“project”是对服务器侧项目web服务代理的引用。
“sessionID”是在验收项目时使用的会话标识符。如果作出调用的用户标识符或会话标识符不同于用于验收调用的那些,则调用失败。
“projectDS”是经填充的项目数据集。使用用于任务、依赖关系、资源和分配的数据表。忽略项目数据表。
“validateOnly”是指示调用是应创建项目还是执行数据确认的布尔值。如果生成结果“真”,则仅执行数据确认而不更新数据库。如果生成结果“假”,则执行数据确认且如果没有发现错误则创建该项目。项目数据集可包括任务、分配和资源以及项目头信息。数据集中的所有行涉及现有实体。每次调用仅可创建一个项目。如果数据集中指定了多个项目,则仅考虑第一个并忽略所有其它项目的数据。
DeleteFromProject从现有项目中删除任务、依赖关系、资源和分配。例如,
project.DeleteFromProject(sessionID,projectID,deleteGUIDs[]);
其中,“project”是对服务器侧项目web服务代理的引用。
“sessionID”是在验收项目时使用的会话标识符。如果作出调用的用户标识符或会话标识符与验收调用中所使用的不同,则调用失败。
“projectID”是从其中删除任务、依赖关系、资源或分配的项目的GUID。
“deleteGUIDs”(删除GUID)数组包含要删除的任务、依赖关系、资源或分配的GUID。
每次调用仅可删除一个项目。如果删除GUID涉及不在指定项目中的实体,则出现异常且删除操作失败。如果为项目选择“经保护实物”选项,则不能删除项目上具有实际工作的分配和资源。
ReadProjectTeam返回项目上的资源的列表。该调用旨在主要由项目web访问中的队伍构建器页面使用。例如,
projectTeamDS=project.ReadProjectTeam(projectID);
其中,“projectTeamDS”(项目团队数据集)是包含项目团队数据表的数据集。
“project”是对服务器侧项目web服务代理的引用。
“projectID”是要向其添加资源的项目的GUID。
作出调用的用户具有对添加的企业资源的分配许可,否则出现安全异常且调用失败。如果指定的企业资源已存在于项目团队上,则用最新的企业资源数据来更新企业资源。
UpdateProjectTeam改变分配给项目的资源。该改变可包括:向项目团队添加新的企业资源、从项目团队中移除资源、用其它企业资源替换现有资源(并更新受影响的分配)、以及改变现有资源的预订类型。例如,
project.ReplaceResources(sessionID,projectID,projectTeamDS);
其中,“project”是对服务器侧项目web服务代理的引用。
“sessionID”是在验收项目时使用的会话标识符。如果作出调用的用户标识符或会话标识符与验收调用中使用的那些不同,则调用失败。
“projectID”是要替换其上的资源的项目的GUID.
“projectTeamDS”是包含项目团队数据表的数据集。该调用可用于改变企业或本地资源上的预订类型。用于本地资源的预订类型仅在本地项目内是可见的,因为本地资源不具有多个项目之间共享的概要资源分配。本地资源的预订类型在该项目外没有意义。
在对项目定义的一系列更新之后,计算重新调度该项目并重新计算自定义公式字段。例如,
project.Calculate(sessionID,projectID);
其中,“项目”是对服务器侧web服务代理的引用。
“sessionID”是在验收项目时使用的会话标识符。如果作出调用的用户标识符或会话标识符与验收调用中使用的那些不同,则调用失败。
“projectID”是要替换其上的资源的项目的GUID。
如上所述,API调用提供的能力包括:创建新项目;更新现有项目,包括添加、删除和更新任务、任务之间的依赖关系、项目团队资源和任务资源分配;管理项目数据上的数据争用;以及在项目web访问应用中使用的经计算调度结果和工作分配的调度和公布。
图4是示出用于管理服务器上的项目的进程的操作流程图。处理开始于开始框,其中将项目应用程序加载到客户机上。用户通过在客户机处提交项目更新请求来启动一项目更新调用。当用户创建一新项目或修改现有项目时提交项目更新请求。该项目更新请求与一API调用相关联。客户机上的web浏览器接口向可执行输入数据确认的web服务提交项目更新请求。在框400处,该web服务接收项目更新请求。
移到框410,与项目更新请求相关联的API由web服务标识并被调用。该API可以是数据检索调用、行政管理调用或数据更新调用。调用API以创建、更新、调度和管理服务器上的项目。例如,如果项目更新请求是创建新项目,则标识并调用CreateProject API。同样,如果项目更新请求是从项目中删除任务,则标识并调用DeleteFromProject API。
转到框420,将项目更新请求提交给队列管理器并存入服务器中的事务队列。继续到框430,从事务队列分派项目更新请求到服务器上的处理器。该项目更新请求可被分派给一组处理器中的一个。可以选择被分派项目更新请求的处理器,以平衡该组处理器之间的负载并平滑处理器需求。
继续到框440,当处理器标识来自项目更新请求的更新值时,确定用户提交的项目的改变。如果项目更新请求不与新创建的项目相关联,则处理器还可以标识现有的项目定义。更新值可通过比较项目更新请求和任何现有项目定义来确定。
前进到框450,使用更新值和任何现有项目定义执行计算。计算结果提供用于项目的新项目数据值。示例计算包括节点一致性计算、调度操作、积累计算和自定义字段计算。节点一致性计算用于更新与由项目更新请求直接修改的数据相关联的项目数据,以贯穿该项目维持一致性。调度操作执行关键路径调度并确定由于时间约束可能引发的任何调度冲突。通过编译共享信息为概要提供积累计算。自定义字段计算是在用户定义的数据字段上执行的计算。移到框460,该项目使用新项目数据值被更新并被存入数据存储中。随后,处理在结束框处终止。
以上描述的各种实施例仅为了说明而提供而不应被解释为限制本发明。本领域的普通技术人员可以容易地认识到,可以在在没有示例性实施例和这里示出并描述的应用的情况下对本发明作出的各种修改和变化,而不背离所附权利要求书所述本发明的真实精神和范围。

Claims (20)

1.一种用于管理服务器上的项目的计算机实现的方法,包括:
从项目应用程序接收项目更新请求;
标识与所述项目更新请求相关联的应用程序接口;
调用所标识的应用程序接口,其中所述应用程序接口被安排成:
确定所述项目更新请求中标识的更新值,以及
使用所述更新值执行计算,其中从所执行的计算中生成新项目数据值;以及
使用所述新项目数据值来更新所述服务器上的所述项目。
2.如权利要求1所述的计算机实现的方法,其特征在于,接收项目更新请求还包括在请求新项目的创建时接收项目更新请求。
3.如权利要求1所述的计算机实现的方法,其特征在于,接收项目更新请求还包括在请求现有项目的修改时接收项目更新请求。
4.如权利要求1所述的计算机实现的方法,其特征在于,所述应用程序接口还被安排成使用所述更新值来执行对现有项目定义的计算。
5.如权利要求1所述的计算机实现的方法,其特征在于,所述应用程序接口被调用以检索项目数据。
6.如权利要求1所述的计算机实现的方法,其特征在于,所述应用程序接口被调用以更新项目数据。
7.如权利要求1所述的计算机实现的方法,其特征在于,所述应用程序接口被调用以对项目数据执行行政管理动作。
8.如权利要求1所述的计算机实现的方法,其特征在于,所述应用程序接口还被安排成通过将所述项目更新请求与现有项目定义进行比较来确定更新值。
9.如权利要求1所述的计算机实现的方法,其特征在于,还包括将所述经更新的项目存入数据存储中。
10.如权利要求1所述的计算机实现的方法,其特征在于,所述应用程序接口还被安排成通过执行节点一致性计算来执行计算,所述节点一致性计算更新与所述新项目数据值相关联的项目数据以使所述项目数据与所述新项目数据值一致。
11.如权利要求1所述的计算机实现的方法,其特征在于,所述应用程序接口还被安排成通过执行调度操作来执行计算,所述调度操作确定由所述新项目数据值创建的所述项目中的调度冲突。
12.如权利要求1所述的计算机实现的方法,其特征在于,所述应用程序接口还被安排成通过执行积累计算来执行计算,所述积累计算编译项目数据以生成项目概要。
13.如权利要求1所述的计算机实现的方法,其特征在于,所述应用程序接口还被安排成通过执行自定义字段计算来执行计算,所述自定义字段计算执行与所述项目有关的用户定义的计算。
14.一种用于管理项目的系统,包括:
包括存储在存储器中的项目应用程序的客户机,其中所述客户机被安排成从所述项目应用程序接收项目更新请求;
与所述客户机耦合的web服务,其中所述web服务被安排成:
标识与所述项目更新请求相关联的应用程序接口,以及
调用所标识的应用程序接口;以及
与所述客户机耦合的服务器,其中响应于所标识的应用程序接口被调用,所述服务器被安排成:
确定所述项目更新请求中标识的更新值,
使用所述更新值执行计算,其中从所执行的计算生成新项目数据值;以及
使用所述新项目数据值来更新所述项目。
15.如权利要求14所述的系统,其特征在于,还包括与所述服务器耦合的数据存储,其中所述被更新的项目被存入所述数据存储中。
16.如权利要求14所述的系统,其特征在于,当请求新项目的创建时,所述客户机接收所述项目更新请求。
17.如权利要求14所述的系统,其特征在于,当请求现有项目的修改时,所述客户机接收所述项目更新请求。
18.如权利要求14所述的系统,其特征在于,所述应用程序接口被调用以执行以下中的至少一个:检索项目数据、更新项目数据以及对项目数据执行行政管理动作。
19.一种具有用于管理服务器上的项目的计算机可执行指令的计算机可读介质,所述指令包括:
从项目应用程序接收项目更新请求;
标识与所述项目更新请求相关联的应用程序接口;
调用所标识的应用程序接口,其中所述应用程序接口被安排成:
确定所述项目更新请求中标识的更新值,以及
使用所述更新值执行计算,其中从所执行的计算中生成新项目数据值;
使用所述新项目数据值更新所述服务器上的所述项目;以及
将所述经更新的项目存入数据存储。
20.如权利要求19所述的计算机可读介质,其特征在于,调用所标识的应用程序接口还包括执行以下中的至少一个:检索项目数据、更新项目数据以及对项目数据执行行政管理动作。
CN2006800295586A 2005-08-09 2006-08-01 服务器侧项目管理器 Expired - Fee Related CN101243365B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/199,757 US7657454B2 (en) 2005-08-09 2005-08-09 Server-side project manager
US11/199,757 2005-08-09
PCT/US2006/030087 WO2007021547A2 (en) 2005-08-09 2006-08-01 Server-side project manager

Publications (2)

Publication Number Publication Date
CN101243365A true CN101243365A (zh) 2008-08-13
CN101243365B CN101243365B (zh) 2010-10-27

Family

ID=37743664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800295586A Expired - Fee Related CN101243365B (zh) 2005-08-09 2006-08-01 服务器侧项目管理器

Country Status (7)

Country Link
US (1) US7657454B2 (zh)
EP (1) EP1913451B1 (zh)
JP (1) JP5006324B2 (zh)
KR (1) KR101255396B1 (zh)
CN (1) CN101243365B (zh)
AT (1) ATE545896T1 (zh)
WO (1) WO2007021547A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112115153A (zh) * 2020-09-21 2020-12-22 北京字跳网络技术有限公司 数据处理方法、装置、设备及存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5025116B2 (ja) * 2005-10-25 2012-09-12 キヤノン株式会社 情報処理装置及びその制御方法ならびにプログラム
JP4144890B2 (ja) * 2006-06-08 2008-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 開発プロジェクトの日程表作成を支援するシステムおよびその方法
US8370849B2 (en) * 2006-10-02 2013-02-05 Salesforce.Com, Inc. API method and system for providing access to an external service via an application services platform
US8370848B2 (en) * 2006-10-02 2013-02-05 Salesforce.Com, Inc. Method and system for providing a client access to an external service via an application services platform
US8601467B2 (en) 2006-10-03 2013-12-03 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
US9230068B2 (en) * 2006-10-03 2016-01-05 Salesforce.Com, Inc. Method and system for managing license objects to applications in an application platform
US20090043621A1 (en) * 2007-08-09 2009-02-12 David Kershaw System and Method of Team Performance Management Software
CN101686247B (zh) * 2008-09-26 2013-01-09 华为技术有限公司 信息处理方法和系统
WO2013003271A2 (en) 2011-06-27 2013-01-03 Deltek, Inc. System and method for managing projects
US9766906B2 (en) 2011-12-29 2017-09-19 International Business Machines Corporation Efficient sharing of artifacts between collaboration applications
WO2015065377A1 (en) * 2013-10-30 2015-05-07 Hewlett-Packard Development Company, L.P. Assigning resource permissions
CN104598834A (zh) * 2014-12-30 2015-05-06 小米科技有限责任公司 一种项目信息的显示方法及装置
US10912626B2 (en) * 2015-02-18 2021-02-09 James R. Glidewell Dental Ceramics, Inc. Integrated digital workflow for providing dental restoration

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2281644A (en) * 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
JP3108984B2 (ja) * 1994-12-26 2000-11-13 カシオ計算機株式会社 データ処理装置
US5765140A (en) * 1995-11-17 1998-06-09 Mci Corporation Dynamic project management system
US7069511B2 (en) * 1996-12-19 2006-06-27 Sun Microsystems, Inc. Platform independent on-line project management tool
JPH1173459A (ja) * 1997-08-29 1999-03-16 Toshiba Corp ワークフロー管理システムおよびドキュメント管理操作方法
US6519763B1 (en) * 1998-03-30 2003-02-11 Compuware Corporation Time management and task completion and prediction software
US6369840B1 (en) * 1999-03-10 2002-04-09 America Online, Inc. Multi-layered online calendaring and purchasing
US6591300B1 (en) * 1999-06-30 2003-07-08 Lucent Technologies Inc. Integrated management application
AU2000249446A1 (en) 2000-05-12 2001-11-20 Ubs Ag Project management tool
US20030061330A1 (en) * 2000-09-29 2003-03-27 Frisco Lynn A. Web-based collaborative project and process management solution
US20020165723A1 (en) * 2000-12-23 2002-11-07 Atub, Inc. System, method and article of manufacture for managing a construction process
US20040015821A1 (en) 2001-05-01 2004-01-22 Tonbu, Inc. System and method for interactive collaborative process management and project management
US7191141B2 (en) * 2001-06-13 2007-03-13 Ricoh Company, Ltd. Automated management of development project files over a network
US20030028393A1 (en) * 2001-06-18 2003-02-06 Coulston Robert Michael Method and computer program for estimating project costs and time factors and facilitating management of remodeling and construction projects
KR100414406B1 (ko) * 2001-08-09 2004-01-14 주식회사 핸디소프트 문서 버전 관리가 가능한 워크플로우 시스템 및 이를이용한 문서 버전 관리 방법
US20030046134A1 (en) * 2001-08-28 2003-03-06 Frolick Harry A. Web-based project management system
JP2003223486A (ja) * 2002-01-30 2003-08-08 Fujitsu Ltd 工程管理システム
US8688596B2 (en) * 2002-05-30 2014-04-01 Sap Ag Project activity reporting
US20040030590A1 (en) * 2002-08-05 2004-02-12 Swan Coalen L. Total integrated performance system and method
US20040030992A1 (en) * 2002-08-06 2004-02-12 Trandafir Moisa System and method for management of a virtual enterprise
JP4150566B2 (ja) * 2002-09-26 2008-09-17 株式会社東芝 ワークフロー実行方法とシステム、およびそのためのプログラム
US7506302B2 (en) * 2002-10-22 2009-03-17 The Boeing Company System and methods for business process modeling
US20050027386A1 (en) * 2003-07-30 2005-02-03 Michele Weigand Decentralized project management system
JP2005092544A (ja) * 2003-09-18 2005-04-07 Nippon Telegr & Teleph Corp <Ntt> ワークフロー世代管理処理方法,ワークフロー処理システムおよびワークフロー制御プログラム
US20050086248A1 (en) * 2003-10-16 2005-04-21 Charles Atchison Issue tracking
US7669179B2 (en) * 2003-11-04 2010-02-23 Realization Technologies, Inc. Facilitation of multi-project management using critical chain methodology

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112115153A (zh) * 2020-09-21 2020-12-22 北京字跳网络技术有限公司 数据处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
KR101255396B1 (ko) 2013-04-17
EP1913451A2 (en) 2008-04-23
US7657454B2 (en) 2010-02-02
JP2009505226A (ja) 2009-02-05
CN101243365B (zh) 2010-10-27
EP1913451B1 (en) 2012-02-15
JP5006324B2 (ja) 2012-08-22
ATE545896T1 (de) 2012-03-15
EP1913451A4 (en) 2008-07-16
WO2007021547A2 (en) 2007-02-22
US20070038489A1 (en) 2007-02-15
WO2007021547A3 (en) 2007-10-11
KR20080035615A (ko) 2008-04-23

Similar Documents

Publication Publication Date Title
CN101243365B (zh) 服务器侧项目管理器
CN108959621B (zh) 一种区块链网络的实现方法、装置、设备及存储介质
US6237020B1 (en) Task-oriented automatic distribution of software
CN1783132B (zh) 通过工作流事务的批处理来同步运行库和应用状态
US8150746B2 (en) Global account reconciliation tool
CN1790402B (zh) 用于跟踪文档中的改变的方法和系统
RU2400814C2 (ru) Иерархические проекты в системе и способе управления проектом, обеспечиваемые компьютером
CN101390055B (zh) 对锁管理资源的先期改变
CN110175822B (zh) 一种设备台账管理方法和系统
US6996548B2 (en) Method and apparatus for providing a reward for the use of a processor in a parallel processing environment
US20040015821A1 (en) System and method for interactive collaborative process management and project management
US9697042B2 (en) Extensibility of business process and application logic
CN104978687A (zh) 债权转让处理装置及方法
US20070260502A1 (en) Project resource plans
CN101197025A (zh) 用于管理企业资源计划项目的方法和系统
Georgakopoulos et al. Technology and tools for comprehensive business process lifecycle management
US10474837B2 (en) Access control for business process data
CN100483339C (zh) 连接实体与外貌特征模式中通用功能的系统与方法
US20080004925A1 (en) Multi-site project management
US7024670B1 (en) Timed start-conditions for activities in workflow management systems
CN101753619A (zh) 用于扩展服务模型的方法和系统
WO2013016606A2 (en) Automated database-population tool
US20200348926A1 (en) System and method for automating environment management of one or more software applications
JP2002328984A (ja) 情報提供方法及び情報提供システム
WO2020170656A1 (ja) 構成変更管理方法、構成変更管理システム、およびノード

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150430

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150430

Address after: Washington State

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101027

Termination date: 20210801