【翻译】入门指南:开发Project2003

原文链接:Getting Started: Developing with Project 2003

摘要: 有相当多的方法,可以扩展Microsoft Project 2003的功能,或者将其整合到其它的应用程序中。总的来说,Project的开发可以分为客户端开发和服务器端开发。然而很常见的是在项目中既有客户端 的开发,也出现了服务器端的开发。该文章概括了各种用于Project2003客户端,服务器端开发的技术,还列举出了一些相应的资源,信息和一些例子供 下载。当有关于Project2003 SDK的新信息时,文章会被更新。

客户端的开发

通过以下列举的方法,你可以扩展Project的功能,或者把Project和其它软件整合起来:

  • Microsoft Visual Basic for Applications (VBA):通过内建的VBA宏编辑器或者整合开发环境(IDE),你可以建交一些简单的宏来自动处理一些重复的任务。你甚至可以开发一些简单或复杂的功能扩展,使得Project客户端能够整合到其它应用程序中,例如Word,Excel等这些Microsoft Office系列软件,还有其它数以百计的支持VBA编程的程序中。

    VBA 的帮助被内建到Project 标准版和专业版中, 并作引用参考资料和解释了如何使用其属性,方法,事件,和Project中的对象模型。

  • Project向导和客户(Project Guide and Custom Views): 早在Project2002中,Project向导就已经被引入;而在Project2003中,其功能被改良了。Project导向是一种Office 任务的长方形窗体或向导,它能够帮助引导用户完成特定的项目管理方面的目标。你可以根据你用户的需求修改制定原来默认的Project向导,或者另外创建 一个新的。本质上,你是通过脚本代码调用Project的对象模型来创建一个定义的供HTML页面引用的XML。(这句翻译不好,原文为 “Essentially, you create an XML content definition that references HTML pages, using script code that accesses the Project object model.”)
  • OLE DB数据:通 过Project的OLE DB provider(是翻译为提供者吗?),你不仅可以读取在本地计算机上的Project文件的数据,还可以读取在Project服务器的数据。然而访问 Project服务器上数据的首选方法是使用Project Data Server(在文章接下来的部分会解释)。更多相关的信息,可以参见在Project安装目录下的PJOLEDB.HTM。英文版的默认安装目录是 “Programe File/Microsoft Office/OFFICE11/1033”,这里的1033是本地语言编号(LCID)。对于不同的语言版本,LCID 是不同的;例如,日语版的就是1041。(中文版的是2052,PJOLEDB.HTM 会在“Office安装目录/OFFICE11/2052”下)
  • COM插件:对象组件模型(Component Object Model,COM)插件提供给了Project新的功能,例如一个调用了新的菜单按钮并加入新特征的对话框, such as a custom dialog box that is accessed from a new menu item and adds new features.有关使用Visual Basic 6.0的模板的,可以参见创建一个Microsoft Office Project 2003 的COM插件一文。而Visual C#的,请参照创建一个Microsoft Office Project 2003的代码托管的COM插件
  • 使用托管代码进行整合:通过与Project一同安装的Primary Interop Assembly (PIA),你可以使用托管代码将这个基于COM的Project对象模型跟那些用Visual Basic.NET ,Visual C#,和其它使用.NET平台的语言所开发出了的应用程序整合到一起。

    Project 2003的PIA通常更Project一同安装到你的计算机上。要看到它,你以下步骤可以打开global assembly cache:在window的开始菜单中,点击“运行”,然后在下拉列表框中输入“assembly”。这样就打开assembly的窗口,接着拖拉滚动条,你就会看到Microsoft.Office.Interop.MSProject。如果你没有看到Project的PIA,和其它已经安装在你的计算机上的Microsoft Office 2003应用程序的PIAs在global assembly cache中,请参见基本知识:如何安装Office的Primary Interop Assemblies。更多的关于使用.NET平台整合Project,功能扩展开发的信息,参见代码托管与Office编程使用Visual Studio。 

Server-Based Development

Microsoft Office Project Server 2003 is where most of the action is for Project development in an enterprise project management (EPM) environment. Development for Project Web Access is server-based, because the pages you see in Project Web Access are from Project Server and Microsoft® Windows SharePoint™ Services.

  • Project Data Service (PDS): The PDS is an extensible XML-based API for Project Server. The PDS was introduced in Microsoft Project Server 2002, and in Project Server 2003 the PDS is significantly expanded for enterprise projects, timesheet methods, and user management.

    Integration of other applications with Project Server is usually done through the PDS; there are several examples in the Solution Starters in the Project 2003 SDK.

    You can extend the PDS with an essentially unlimited range of methods; the PDS and PDS extensions are the recommended way to programmatically access or manipulate Project Server data. The SDK shows how to write a PDS Extender with Visual Basic 6.0, and how to create a managed code PDS extension in Visual C# with the .NET Framework.

  • Service for Enterprise Data Maintenance (EDM): The Service for EDM in Project Server 2003 is based on the PDS, for higher-level programmatic management of enterprise projects, resources, and custom fields. The Service for EDM supports communication across disparate systems by SOAP messages or by file-drop: Applications on other computer systems can simply drop an XML file to a specified network share, and Project Server processes that data and drops a reply file in return.
  • Object Link Provider (OLP): Use the OLP to integrate Project Server with external document management systems, scheduling systems, contact managers, or other third-party applications. The OLP is the basis for Project Server integration with Windows SharePoint Services and Microsoft Office SharePoint Portal Server. The section Interface Properties and Methods for the Object Link Provider documents the API.
  • Project Server Web Parts and URL options: URL options allow you to hide or show different sections of each page that is visible in Project Web Access. In addition, you can use the six custom Project Server Web Parts individually with Windows SharePoint Services or SharePoint Portal Server, for views of Project Server data across the organization.

    You can also easily create and manage your own set of Web Parts based any view of a Project Server page with URL options, by simply using the assembly that is developed with the .NET Framework—or go farther and modify the Microsoft Visual C#® code that is provided in the download for additional customization. For more information, see Installing and Using the Custom Web Parts .NET Assembly.

The entire Project 2003 SDK is available as a download that includes sample solutions that show how to use the PDS and other technologies for integrating Project Server with other applications.

The full download includes HTML Help topics and sample code for everything in the Project 2003 SDK that is in the MSDN® online library, including the following major sections that are in addition to the sections previously described:

附加资源

Project2003开发的意义远超过它自己。MSDN Office开发者中心有各种各样的关于Microsoft Office家族各软件开发的信息,并且中心还整合了其它产品的信息。Project 2003开发者中心是其中的一部分,它包括有一些链接,能够链接到相应的技术文章的,SDK文档的,资源和Project的新闻组上。

对于开发者同样重要的是,要深入到Project2003中,了解它本身。在微软在线上的Project主页可能提供很多关于Project2003使用的辅助资源,训练和信息。例如一个十分流行的页面是Project Map

最后,如果Project 服务或者Windows SharePoint 服务没有按你的需求而配置,你仍旧无法享受世界上最好的开发方案。大量的关于安装,配置,管理和系统恢复(或系统保护)的信息,请参见 Project Server 2003技术库




附录:

我在网上收集的一些关于OLE DB,COM,PIA的信息:

  • OLE DB: 微软的战略性的通向不同的数据源的低级应用程序接口。它不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化问题语言(SQL)能力,还具有面向其他非SQL数据类型的通路。作为微软的组件对象模型(COM)的一种设计,OLE DB是一组读写数据的方法(在过去可能被称为渠道)。

    中程在线 关于OLE DB的解释
    OLE DB的概念与编程

  • 对象组件模型(Component Object Model,COM):是为开发和支持程序组件对象准备的微软框架。它的目标是提供与公用对象请求代理[调度]程序体系结构(Common Object Request Broker Architecture,CORBA)中所定义的框架的相似功能,CORBA是一个在计算机工业中被其它主要公司支持的网络分布式对象整合框架。然而微软的对象连接和嵌入提供了用户在他们显示器上能够看到的复合文档服务,COM提供接口通讯潜在服务、生命周期管理(检查决定何时一个组件可以从系统中移除)、许可和事件服务(当另外一个组件发生事件时,将一个组件放入服务)。

    COM包含COM+、分布式组件对象模型(Distributed Component Object Model,DCOM)和ActiveX接口,以及编程工具。
    "COM”:component object model,组件对象模型 
  • Primary Interop Assembly(PIA): COM Interop看上去象是介乎于COM和.Net之间的一条纽带,一座桥梁。为了保持向后兼容,COM Interop可以使得.Net程序在不修改原有COM组件的前提下方便的访问COM组件。

    寒星之胡言乱语的连载--走近COM Interpro
    PIA (Primary Interop Assembly) & AIA (Alternate Interop Assembly)简介

posted @ 2007-12-14 20:30  斌伯  阅读(1543)  评论(9编辑  收藏  举报