SharePoint 2010 产品分成了两个版本SharePoint Foundation 2010和SharePoint Server 2010,其中SharePoint Foundation 2010是WSS 3.0的升级,而SharePoint Server 2010 则是MOSS2007的升级,由此我们可以看到SharePoint Foundation 2010 和SharePoint Server 2010之间的关系,SharePoint Foundation 2010是SharePoint2010的基础,但后者包含了前者全部功能,本文中的SharePoint 2010 是这二者的统称。
一个新的产品,对于开发者来说,更加关注的是其新增功能。SharePoint 2010的新增功能主要集中在3个方面:开发人员工作效率、丰富的平台服务、灵活的部署,具体来说其新增功能如表1所示:
功能 |
功能描述 |
开发人员工作效率 |
VS 2010 SharePoint 项目类型和项 VS 2010 SharePoint 工具扩展性 VS Extensions For SharePoint 升级 Windows 7 和 Windows Vista 操作系统支持 SharePoint Designer 2010 开发人员仪表板 Team Foundation Server 2010 集成 |
丰富的平台服务 |
SharePoint 功能区 SharePoint 对话框 Silverlight Web 部件 列表查找和关系 Business Connectivity Services LINQ to SharePoint 性能增强 解决方案限制 事件增强 工作流增强 客户端对象模型 REST API |
灵活的部署 |
沙盒解决方案 SharePoint Online 升级解决方案 |
表1 SharePoint 2010 新增功能
有了这么多的新增功能,SharePoint 2010 的功能和MOSS2007相比又有什么样重大改变呢?SharePoint 2010 的功能如图1所示:
图1 SharePoint 2010功能模块
我们可以看到SharePoint 2010 有六大功能模块,网站、社区、内容、搜索、见解和整合应用,相比较MOSS 2007来讲,社区、见解和整合应用是其新增功能。不同于普通用户,对开发人员来说,对一个产品功能的了解更倾向于从自带功能和可扩展功能两方面去了解。SharePoint 2010 中六大功能模块的自带功能和扩展功能列表如表2所示:
功能 |
自带功能 |
可扩展功能 |
网站 |
通过连接到 Microsoft Office 客户端应用程序,轻松而灵活地存储和检索列表及文档库内容; 使用模板创建网站、网站集合; 信息展示; Ribbon 用户界面; 工作区; 移动站点; |
Web 部件、母版页、网页、 委托控件; 利用Word 文件转换服务的解决方案; InfoPath Service; Visio Service; 用于将Access 解决方案部署到 SharePoint 的 Access Services; |
社区 |
通过专业技术、关系、标记和内容分级查找人员并与之交互的功能; BLOG和Wiki 我的站点 组织机构浏览 |
预定义搜索、搜索 Web 部 件; 标记界面; 分级界面; 自定义用户界面; |
内容 |
内容发布与管理 内容类型 元数据管理 远程BLOB存储 多媒体内容类型 |
自定义网页类型、字段控件、内容类型、文档集; 工作流和 Word Services; 记录管理扩展性和公共网站扩展性; |
搜索 |
企业级搜索; 网站、列表级搜索; 图片搜索; 快速部署; |
预定义的搜索结果转换; 利用搜索来导航和查找内容的Web 部件以及与后端系统的连接; IFilter和协议处理程序; |
见解 |
性能服务; Excel 服务; Visio 服务; 图表组件; Web分析; 集成SQL PowerPivot; |
Excel Services; Excel 用户定义的函数; 关键绩效指标 和仪表板; |
整合应用 |
BCS InfoPath表单服务; 工作流; VS开发; 扩展列表; |
新的Web 部件,如Silverlight Web部件; 工作流; InfoPath Forms Services; |
表 2 SharePoint 2010 功能列表
对于有一定SharePoint 产品基础的开发人员来说,相信看到了上面的功能以后,对SharePoint 2010的产品开发已经有了一个大概认识。在本文中,我们不打算对其所有功能都来做详细而又深入描述和讲解,只是结合Visual Studio 2010 和SharePoint API的对象模型来介绍SharePoint 2010 给开发人员带来的好处。
VS 2010与SharePoint 2010
在介绍使用VS 2010做SharePoint 2010开发之前,我们应对SharePoint 2010丰富的平台服务有所了解。Microsoft .NET Framework 提供了开发人员可通过代码导入和使用的基础服务。SharePoint 2010 平台通过可直接从开发人员代码调用的其他库和功能扩展了这些服务。SharePoint 还提供了一组最终用户和业务分析师工具,它们紧密集成到了可供开发人员使用的功能和 API 中。SharePoint 2010 丰富的平台服务如图2所示:
图2 SharePoint 2010 平台服务
了解了SharePoint 2010提供的丰富的平台服务后,结合VS 2010,我们来了解一下Visual Studio在开发SharePoint应用上有什么新功能。
打开VS 2010,顺序选择文件|新建|项目|Visual C#|SharePoint|2010,打开的界面如图3所示:
图3 VS 2010 创建SharePoint 2010项目
由图3我们可以看到,在VS 2010里可以创建的SharePoint 2010项目类型有:
l 空的SharePoint 项目
l Web部件
l 时序工作流
l 状态机工作流
l 业务数据连接模型
l 事件接收项目
l 列表定义
l 内容类型
l 站点定义
l 导入工作流
l 导入SharePoint解决方案
在没有安装SharePoint开发扩展包(VseWss)的情况下,使用VS 2010能够支持的MOSS类型的项目如图4所示:
图4 VS 2010支持MOSS项目
在没有安装Visual Studio开发扩展包的情况下,只支持工作流的开发,如果在VS 2008中安装了开发扩展包的情况下,可以创建的项目类型如图5所示:
图5 VS 2008支持MOSS2007项目类型
由以上的对比我们可以清楚的看到,使用VS 2010可以开发出很多的应用程序,在开发的应用程序中,Web 部件被认为是 SharePoint 最常用的可扩展点,几乎每个项目都至少包括一个 Web 部件。用于创建 Web 部件的开发工具已扩展到可视化 Web 部件,可管理连接到 Web 部件类的 ASP.NET 用户控件 (ASCX)。此方法允许开发人员利用 Visual Studio 2010 中的可视化设计器来编辑 Web 部件。与以前的服务器控件类型的非可视化方法相比,此方法可显著提高开发人员的工作效率。
SharePoint 现在包括对Silverlight 文件的内在支持。只需开发 Silverlight 应用程序 (.XAP), 并将它部署到服务器即可。然后可以通过添加 Silverlight Web 部件并提供 .XAP 文件的位 置,将 Silverlight 应用程序添加到网页。Silverlight 应用程序显示为页面的一部分,如图 6所示:
图6 使用VS 2010开发Silverlight 部件
除了对Web部件的开发支持,我们需要关注的另一个重点是Business Connectivity Services。
Business Connectivity Services(以前称为业务数据目录)提供了对源自业务线系统、 Web 服务或 SharePoint 2010 和 Office 2010 应用程序内的其他外部数据提供程序的外部数据的访问。SharePoint 2010 和 Office 2010 应用程序都具有可直接使用外部数据的产品功能,并且 SharePoint Designer 2010 和 Visual Studio 2010 中也提供了用于处理外部数据的工具。Business Connectivity Services 是基于 Office SharePoint Server 2007 中包 含的业务数据目录构建的,添加了来自 Office 客户端 2010 应用程序的编写功能、新工具和脱机缓存等。
图7显示了新增的 BCS 会如何创造机会,以便将 SharePoint 功能和 API 用于通过直接 访问数据库或通过 Web 服务获得的现有业务线数据。
图7 BCS 体系结构
SharePoint 2010 应用程序接口
SharePoint 2010 通过集成对非 SharePoint 托管数据的访问,并通过提供一组更加丰富的用于创建 SharePoint 解决方案的工具,使 SharePoint API 可用于包括Web服务器和客户 端在内的各个平台。该平台可以支持更广泛的应用程序类型,并且可以延伸到受支持方案的更深处。
在SharePoint 2010中,开发人员可以使用多种对象模型来访问服务器。客户端对象模型 (客户端 OM)是与服务器对象模型(服务器 OM)使用相同或类似编程概念的统一模型。 客户端 OM 可通过Web服务、客户端 (JavaScript) API 和REST进行访问。这样一来,可以显著简化从客户端计算机及基础结构内的其他计算机访问SharePoint 数据的过程,从而为更丰富的应用程序铺路搭桥。图8显示了SharePoint对象模型选项。
图8 SharePoint 2010 对象模型
总结
SharePoint 2010 的新增功能主要集中在 3 个方面:开发人员工作效率、丰富的平台服务、灵活的部署。在 SharePoint 2010 平台上结合使用 VS 2010 和 SharePoint API 能够开发出更多更丰富的应用程序出来,如 Silverlight Web 部件、工作流、 BCS 和 TFS 2010 结合进行团队开发、调试、部署等等。诚然, SharePoint 2010 带给开发者惊喜不止于此,更多的好处希望广大读者去发现。