恩 【IT168专稿】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所示:
表1 SharePoint 2010 新增功能
有了这么多的新增功能,SharePoint 2010 的功能和MOSS2007相比又有什么样重大改变呢?SharePoint 2010 的功能如图1所示:
图1 SharePoint 2010功能模块
我们可以看到SharePoint 2010 有六大功能模块,网站、社区、内容、搜索、见解和整合应用,相比较MOSS 2007来讲,社区、见解和整合应用是其新增功能。不同于普通用户,对开发人员来说,对一个产品功能的了解更倾向于从自带功能和可扩展功能两方面去了解。SharePoint 2010 中六大功能模块的自带功能和扩展功能列表如表2所示:
表 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项目类型有:
空的SharePoint 项目
Web部件
时序工作流
状态机工作流
业务数据连接模型
事件接收项目
列表定义
内容类型
站点定义
导入工作流
导入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带给开发者惊喜不止于此,更多的好处希望广大读者去发现。