BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第1章节--SharePoint 2013 介绍 SharePoint 2013 平台
SharePoint保持了一个高级的架构,由许多部件组成(如下图)。你首先在Windows上安装核心软件,这样你可以创建SharePoint场。本质上,SharePoint场是一个或多个构成你SharePoint实例的服务器。作为一个开发人员,你应该理解三层结构和SharePoint场架构的角色--包含Web服务器角色(一个响应用户请求并加载网页的快速、负载均衡、轻量级服务器)、应用程序服务器角色(提供SharePoint服务功能如Excel服务)以及数据库服务器角色(储存内容和服务数据)。你的Apps可能与任何一个或所有服务器角色交互。
你可以有一个独立安装的服务器作为整个场(例如上图中所有的部件都安装或在一个机器上工作)。对于测试和轻量工作负载,根据硬件规格,这个配置可能足够了。对于更大组织部署,考虑到失效备援和过剩,单个服务器的场是不够用的。然而,Windows操作系统是你基本的安装平台--特别是Windows Server 2008,2008 R2和Windows Server 2012。SharePoint 严重依靠SQL Server作为基本内容数据库,ASP.NET/IIS作为应用程序服务服务器。然后你可以安装SharePoint Foundation(免费)或Server (带有企业级功能),在上面你可以构建和安装自定义。或者,作为候选,安装SharePoint Foundation或Server,你可以注册Office 365,为你支持并管理基础设施,但是仍然给你编程的能力。
SharePoint 安装类型
当你安装SharePoint时,你可以选择不同部署和安装类型。有三种主要的方式安装和使用SharePoint。SharePoint Foundation
SharePoint Foundation是一个免费的可下载的安装,代表了SharePoint基础部分。包括一些功能如安全和管理、用户和团队站点协作以及一些Apps(如文档库和列表)。本质上,它提供基本系列的功能,使你能够开始使用和开发SharePoint。尽管SharePoint Foundation中的功能没有Server版本带得多,但是下载安装它是免费的。你可以开始非常快地运行这个版本,使用它开始你的开发工作。在SharePoint 2013中,你也可以非常快地创建SharePoint Online站点—上面有富开发模型。
SharePoint Server
SharePoint Server提供了丰富的功能,将Foundation 中提供的进一步拓展。这些功能包括额外的Apps类型、Office服务器端服务如Word和Excel Service、增强的搜索版本、增强的BI,还有很多。下面的列表提供了SharePoint Server中可用的服务样本:
- Access Service---- 允许使用Access 2013 Preview客户端创建新的Access服务应用程序。在浏览器中查看、编辑并与Access Services数据库交互。
- Access Services 2010----允许使用Access 2010和Access 2013 Preview客户端继续维护SharePoint 2010 Access 服务应用程序。不允许用户创建新应用程序。
- App Management Service----允许安装来自外部App目录或公共SharePoint应用商店的App。
- 业务数据连接(BDC)----访问业务线数据系统。
- Excel Service----在浏览器中查看并与Excel交互。
- 机器翻译服务----访问托管分类结构、关键词和社交标签基础设施以及在网站集中发布的内容类型。
- PerformancePoint----提供PerformancePoint Services功能。
- PowerPoint Conversion----转换PPT为不同格式。
- 搜索----爬网并为内容建立索引,提供搜索查询。
- Secure Store Service----提供单点验证登陆访问多个应用程序或服务。
- State Service----为SharePoint Server部件提供暂时用户会话数据保存。
- 使用状态和健康数据收集----收集场使用状态和健康数据,提供查看各种使用和健康报告的能力。
- 用户配置文件----添加支持我的网站、配置文件页面、社交标签和其他社交计算功能。
- Visio Graphics Service----在浏览器中查看并刷新发布的微软Visio表格。
- Word Automation Services----执行自动批量文档转换。
- 工作管理----在工作管理系统中提供任务集成,包括微软SharePoint产品、微软Exchange Server和微软Project Server。
- 微软SharePoint Foundation订阅设置服务----跟踪以分开模式部署之服务的订阅IDs和设置。只适用于Windows PowerShell。
你也可以选择购买Internet指定版本,SharePoint for Internet Site,它提供了丰富的发布模板和工作流,你可以用来创建和部署SharePoint站点到更宽的网络(例如创建可升级的SharePoint公共站点,匿名访问)。
Office 365
Office 365已经成为第三个、完全云支持的SharePoint模型----与在你内部部署的数据中心中支持场相比。它也成为一个你开发富应用程序(SharePoint支持或云支持Apps)的好地方,并且扩展时不需要管理内部部署基础设施的成本。它没有与SharePoint Server所有相同的服务和功能,但是也带了一些不错的开发功能。作为开发人员你可以自定义任何一个SharePoint版本,无论是Foundation、Server还是Office 365.例如,除了主题和品牌化自定义,你也可以开发和部署自定义解决方案到每个SharePoint版本。有你用C#或VB开发的.NET应用程序,并作为.WSPs或.APPs部署到SharePoint、或者轻量级Apps如HTML5和JavaScript Apps,你也可以部署。重要的是理解在不同版本中自定义机会是变化的;你将在本书中了解如何在这些选项中选择。
SharePoint 2013功能
SharePoint内置了一些功能让你不用开发即可利用这个平台。构建你的Apps时,你也可以使用或拓展这些核心功能。微软一直将这些功能成为工作负载。这些工作负载提供了谈论新版本SharePoint带来的不同功能的方式。你应该将这些工作负载看做不仅是核心系列的相关应用程序,而且是你自己的应用程序开发的机会。
对于经验丰富的SharePoint开发人员,你会通过SharePoint工作负载指导其核心功能。在SharePoint 2010中,这些工作负载是:
对于经验丰富的SharePoint开发人员,你会通过SharePoint工作负载指导其核心功能。在SharePoint 2010中,这些工作负载是:
- 网站--代表可用的不同类型站点以及功能;
- 沟通--代表沟通和社交功能如博客与维基;
- 内容--代表核心企业内容管理功能;
- 搜索--代表搜索驱动功能;
- 视野--代表商务智能如KPIs;
- 综合--代表通过使用如业务连接服务(BCS)集成外部应用程序的能力。
这些之前的工作负载在SharePoint 2013中并没有消失;而且还拓展了,增加了更多功能及更紧密集成。
下表列出了SP2013核心功能的样本。资深开发人员会看到很多熟悉的地方,因为SP2010中可用的仍然在SP2013中可用,只是有所增加。例如,注意之前“SharePoint安装类型”中列出来的服务,机器翻译服务、Access服务、App管理服务、工作管理服务对于SP2013都是新的。而且Office Web Application(OWA)不再是服务,而是单独服务器产品--将会影响你的SharePoint场拓扑设计。2010中FAST搜索也被作为单独服务器产品纳入SP2013中,因为它提高了搜索体验。整个移动到云是思考SP开发的主要转变。同时它令人激动,也给开发人员带来挑战,他们需要考虑以以往不同的方式进行App设计与部署。
下表的功能例子提供了许多不同的开发机会。
下表列出了SP2013核心功能的样本。资深开发人员会看到很多熟悉的地方,因为SP2010中可用的仍然在SP2013中可用,只是有所增加。例如,注意之前“SharePoint安装类型”中列出来的服务,机器翻译服务、Access服务、App管理服务、工作管理服务对于SP2013都是新的。而且Office Web Application(OWA)不再是服务,而是单独服务器产品--将会影响你的SharePoint场拓扑设计。2010中FAST搜索也被作为单独服务器产品纳入SP2013中,因为它提高了搜索体验。整个移动到云是思考SP开发的主要转变。同时它令人激动,也给开发人员带来挑战,他们需要考虑以以往不同的方式进行App设计与部署。
下表的功能例子提供了许多不同的开发机会。
用途
|
原生功能
|
例子拓展
|
网站
|
网站是你很容易发现SharePoint协作特色的地方。包含大量功能,如创建、保存和抽取数据,管理、标签和搜索内容、文档和信息。你也可以通过列表和文档库连接到Office2013客户端应用程序。
|
网站、网站模板、SharePoint Apps、工作流、母版页、网站页面。
|
社交
|
提供社交网络功能、新闻源和配置文件搜索、标签,还有搜索、定位和与人交互(通过他们的技能、组织定位、关系和内容排名)。
|
搜索自定义、排名和标签功能、博客、维基和元数据标签。
|
内容
|
包含探索、搜索和管理能容的功能(使用网页、Apps、工作流或内容类型)。
|
SharePoint Apps、工作流、Word或Excel Services
|
搜索
|
以丰富动态方式通过OWA用实时文档视图,搜索SharePoint内外的内容。集成结构化数据库系统信息和内部部署或基于云的LOB系统如SAP、Siebel和微软Dynamics。
|
SharePoint搜索、搜索自定义、业务数据连接。
|
视野
|
主要是包括BI和支持,如集成Access到SharePoint的功能;使用Excel和SQL Server访问并在网页上显示数据。启用仪表板和KPIs转化原始数据为可操作信息。
|
Excel服务、Access服务、仪表板、BDC和PerformancePoint服务。
|
互通性
|
使用新Office应用程序模型Apps(想想链接到云服务而不是VSTO托管代码插件的HTML与JavaScript自定义任务窗格)从LOB集成到Office集成来自定义解决方案开发。
|
BDC、Office Apps、自定义开发。
|
品牌化
|
通过改变内置模板或更多详细且有组织的品牌化改变站点外观。
|
外观的开箱即用配置、母版页、Sharepoint自定义Apps。
|
网站集和网站
网站是SharePoint核心艺术品,代表了开发人员起点。就是说如果你不能建网站集,你就不能开始开发。可以使用很多类网站模板。下图显示了创建网站集时你可以选择的默认模板。这个例子包括了在Office 365中创建新网站集可用的选项,但是类似的模板在Foundation和Server版本中也可用。下图只是个子集。点击其余选项卡可以看到更多。每个选项卡都包含特定模板--例如,管理会议、博客、短期会议工作区、长期项目,还有建立自定义模板。
因为你必须建立SP网站作为起点,我们首先创建一个SP网站。本练习假设你有Office365在运行。你可以进入http://www.microsoft.com/office/preview/en点击试用,在企业类别点击试用。然后使用一个向导可以支持Office365实例。
1. 导航到管理门户站点,输入用户名和密码登陆。
尝试:创建你第一个SP网站
为了在Office365实例中创建一个团队站点:1. 导航到管理门户站点,输入用户名和密码登陆。
2. 点击Admin下拉列表,选择SharePoint,打开SharePoint管理中心。
3. 点击左边的网站集。
4. 选择新建私有网站集。
4. 选择新建私有网站集。
5. 在新网站集对话框,输入标题和公共网站地址,选择模板(这里选择协作选项卡的开发人员网站),时区默认,添加自己为管理员,提供储存配额和服务器资源配额。
6. 点击确定。
6. 点击确定。
7.等待几分钟。完毕后点击链接进入新站点。
工作原理
这里你创建的是一个网站集。本案例中网站集时特定于开发人员的网站,代表了最上层的根网站。你现在可以添加默认Apps(如列表或文档库),创建并部署SharePoint Apps,配置网站外观等等。
网站集是一个你可以自定义和交互的网站。通过添加网站来扩大你的SharePoint网站集。网站集下创建的站点都叫子网站。这可能有点令人迷惑,但是只要将网站集想象为父亲,里边的站点为孩子就行了。这很重要,因为默认子站点继承父站点属性(如权限)。
创建网站集时SharePoint开发任务中最基础的;一旦完成了这个,你就准备好了开始构建Apps。此时理解可用的APIs类型是有用的。
创建网站集时SharePoint开发任务中最基础的;一旦完成了这个,你就准备好了开始构建Apps。此时理解可用的APIs类型是有用的。
SharePoint 2013 APIs
创建网站集后,你就可以有基础的父级对象来编程。作为开发人员,你想要了解能对网站做什么。这要求对可用APIs和服务有基本了解。你会想要最多地了解两个对象模型:服务器和客户端对象模型。服务器对象模型
服务器对象模型在Foundation和Server版本中都有保留。当你安装并自己支持时,对服务器有完全控制权限。它也是托管SharePoint类中可用APIs覆盖最广的。使用服务器对象模型,你可以构建许多不同类型应用程序,用于文档库或列表创建、管理,抽取用户信息,网站管理、备份、分类和元数据管理等任务。服务器对象模型类在Microsoft.SharePoint命名空间可用。服务器对象模型通过部署到全局程序集缓存(GAC)的一系列程序集可用,所以你必须在服务器上为它们部署Apps以使用这些类和库。然而,使用它们你可以做很多。例如下面代码片设置Tasks列表标题和描述,然后调用Update方法更新修改。
SPList myTaskList = mySPTaskSite.Lists["Tasks"];
myTaskList.Title="Sales Task List";
myTaskList.Description="A list of sales tasks.";
myTaskList.Update();
客户端对象模型
客户端对象模型在远程或客户端应用程序中也是可用的。这些应用程序可以是.NET,silverlight,或者新加入到SP2013的成员,移动API。这很重要,因为它提供给你能力创建和部署不必依靠服务器端资源的Apps。例如,下面代码片展示了SP客户端代码样本。你可以看到客户端对象模型有些不同;在这个片段中,你设置SP网站上下文,加载它,然后调用ExecuteQuery()方法--执行之前代码行设置的所有内容(想象一个更加优化、批处理方法)。最后一行设置lblSPLabel对象(一个标签)文本属性为SP网站标题。ClientContext context = new ClientContext("http://MySharePointSite");
Web web = context.Web;
context.Load(web);
context.ExecuteQuery();
lblSPLabel.Text = web.Title;
JavaScript对象模型
SP2013也有JavaScript对象模型。这是客户端对象模型中可用内容的拓展,提供给你机会构建更多种类SP支持的Apps与HTML5、jQuery和其他Web技术集成。模型之外
服务器对象模型和客户端对象模型之外,还有很多其他方式你可以构建SP应用程序和解决方案。例如你可以使用丰富系列的OData和REST(表述性状态转移)服务与SP数据交互。也要注意到客户端对象模型有很多与REST相当的功能保证你有多个方法构建Web Apps。SP中REST服务支持Atom和JSON格式。在你创建的每个SP网站中,你将发现许多不同机会创建和对数据编程。在SP的世界里,数据意味着许多不同的东西,如:
- 与Access Services集成。
- 与SQL Server数据交互。
- 通过BDC与LOB和非微软系统集成,与服务终点交互。
- 使用SQL Server Reporting Services或PerformancePoint Server给解决方案带来增强BI。
- 对可能来自SP列表(用户手工输入列表数据)的数据进行编码,用程序编码。
之前的APIs代表了你可以对SP编程的核心系列方式--从完全自我支持的服务器实例到云支持的Office365.除了这些核心APIs和服务,你将发现你可以通过程序与许多SP Foundation或Server带的服务进行交互。你也会发现你可以构建并部署云支持的Apps(无论是到Windows Azure还是到其他域或Web技术)。
许多做SP开发的人也将管理SP网站的某些部分。这可能意味着你必须安装和配置SP,理解如何使用管理中心网站功能从SP2010升级到SP2013,或者甚至创建新Web应用程序或网站。因为你可能会使用到SP管理中心的功能。下面部分提供了以这种方式与SP2013交互的概览。