BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第1章节--SharePoint 2013 介绍 处理开发者需求

时间:2023-03-08 20:39:03
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第1章节--SharePoint 2013 介绍 处理开发者需求

BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第1章节--SharePoint 2013 介绍 处理开发者需求

        SharePoint本质上是一个平台。你必须理解哪些平台功能,才知道SharePoint怎样能帮助你(开发者)。当你探索并了解组成此平台的功能范围时,你会看到一些有趣而引人的机会出如今开发者面前。
        我们看一个实际样例。如你所知,一个业务生产平台意味着终端用户能够是他们更加协同,并在日常工作生活中很多其它产--SharePoint当然能够做到。它能够立马被终端用户用来作为应用程序。

比如,一个HR部门可能使用SharePoint管理雇员复审,或销售团队用它管理每月销售预測仪表板用于BI。

        在全部这些情形中,SharePoint首先代表终端用户协同平台。其次代表熟练的开发者能够增强或拓展的基础。

所以,当你的销售经理来到你(开发者)身边。要你设计一个SharePoint站点集,集成来自SAP系统的每天销售数据。然后在SharePoint站点中地图上画出高潜力的市场--这样销售人员能够看到当前销售途径与机会区域--你会想知道SharePoint中这类App将以何种方式呈现呢。

        我们从两个角度看这项任务:
  • 终端用户。

    想要一个他们能够打开、管理销售文档和表格、筛选/填入数据。然后能高速在地图上查看他们应该将目标放在什么地方的站点。他们希望易用可控的App;

  • 开发者。想要实现易用直观的体验,而且高效管理。
        作为开发者,运行任务时你想同一时候保持两个观点。

在这样做的过程中,给每一个任务应用解决方式可能要考虑自带功能--如文档库和列表--和核心服务、功能以及平台内置APIs。来使你到达下一个层次(从开发角度)。

你也能够集成第三方或自己定义的基于云的服务来完好开发体验。

        对于这个特殊样例(和你的销售经理)。你可能要用到业务连接服务(BCS)(它是一系列SharePoint内置服务,能让你连接到业务线系统)和Excel Services,这样你能够为销售人员创建数据透视表。

使用BCS的最后结果是一个包括销售数据的动态生成列表App和文档库App(你能够保存电子表单)。因此,你须要创建两类Apps--文档库(使用Excel Services)和外部列表App载入外部LOB数据。然后你能够集成基于HTML或JavaScript的Apps(使用云部署服务)创建一个Bing地图,然后将绿色图钉代表高潜能的区域,红色代表低潜能或者饱和市场。

这个App是第三个,可是后面它使用了你插入的服务(如Bing
Maps Service)和你自己定义的服务(拥有逻辑来基于某些业务规则或信息创建图钉)。你能够在现有团队站点或者新创建自己定义站点。完毕这三个Apps开发和部署。

        这个样例主要想说明,根据你的受众要求,你能够使用SharePoint创建有趣的体验。你应该在你设计和构建自己的SharePoint体验时始终牢记这些选择。

拓展SharePoint 2013

        虽然SharePoint代表一系列连接的Apps和功能,它仍然有非常多机会留给开发者在多个层面上来拓展丰富终端用户体验。当你在企业开发者环境中考虑SharePoint,这个体验非常明显是重要的。

然而。当独立软件供应商ISVs考虑他们想部署给客户的自己定义体验时。有一个可以部署和使用的可靠的平台自己定义他们的SharePoint解决方式变得非常重要。并且。他们要求一个地方来盈利。就是说。一个应用商店不仅仅提供一个部署和广告的地方。并且提供一个在制品或文件夹集成的地方。他们的业务基于平台的稳定性、可预见性、可接入性和可发现性。

所以拓展SharePoint
2013意味着什么呢?

        随着更广泛的云模型进入和集成,拓展并在SharePoint上构建意味着很多其它Web开发伙伴、客户和ISVs能够增加到SharePoint现象中。

一些參加的形式包含:

  • 为SharePoint创建轻量级Apps(如HTML和JavaScript Apps)
  • 使用新的云App模型来构建基于Windows Azure Apps或使用来自更宽系列的Web标准和技术的技术。
        为了更深入理解这个可拓展性,你能够搜索论文《Now Is the Time to Determine SharePoint’s Place in Your Application Development Strategy》, John R. Rymer 和 Rob Koplowitz 强化了SharePoint 2013 的模型(由不同层组成)。

这两个作者提议SharePoint有一个应用程序层(终端用户与开箱即用协作和生产应用程序集成);一个自己定义层(权利用户和开发者能够開始为终端用户自己定义SharePoint体验);以及第三层应用程序开发层。

        应用程序开层对于开发者来说是事情变得有趣的一层。这一层,你会大多发现构建并部署(或通过现有SharePoint部件如Web部件或事件接收器集成)应用程序或业务解决方式的解决方式开发者。这个应用程序开发层是怎样演变的也是有趣的一环。下图图解了SharePoint 2013 怎样从早期应用程序开发模式演变过来的。
BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第1章节--SharePoint 2013 介绍 处理开发者需求
        上图显示了SharePoint 2007 执行自己定义代码或来自IIS、其它server上的服务。

大部分自己定义代码在应用程序池中使用IIS资源执行。

在2010中,SharePoint支持在IIS(或其它server)上执行。而且也引入了沙盒解决方式与client对象模型CSOM,使得被控制得解决方式和client代码得以执行。这个版本号也引入了Windows Azure(在server和client它都与SharePoint开发模式更加集成)。在2013中。这个开发模式将Windows Azure带到下一个层次--有时自然地将Windows
Azure作为部署、储存和计算机制。图中解释了执行在Windows Azure中的工作流,并通过代码重构的REST API(_api)与SharePoint挂钩。因此在应用程序开发层,SharePoint 2013 做出重大改进。

        注意:假设你对Windows Azure还不熟悉,不要操心。请阅读第五章节“SharePoint 的Windows Azure概览”;在本书中你也会看到大量样例介绍你这个来自微软的新云技术。
        依据这些不同的层,在SharePoint 2013中拓展SharePoint 与在之前的版本号中有些不同:
  • 方法对开发者更加开放;
  • 与云更加广泛的集成。
  • 支持开源和非微软技术。
  • 将你主持的Apps带到SharePoint体验中(想想Facebook App模型:Facebook是一个富社交平台,使你能执行Apps。可是这样Apps并不在Facebook中执行;它们仅仅是使用Facebook的部件)。

为开发者分解

        眼下你应该知道。SharePoint开发意味着非常多事情。比如,假设你想简单加入一个App到页面上。你可能将自己看做开发者。

假设你自己定义SharePoint网站品牌。你可能仅仅需与页面布局或母版页交互(就是说你在SharePoint中布局内容的方式),可是你可能仍然是开发者。

最后,假设你做深层次解决方式开发。你可能正创建使用原生APIs与SharePoint交互的HTML5和JavaScript应用程序,或者使用.NET和云支持的App模型及Windows Azure。

        这种类型的开发将意味着你是个这种开发者--使用VB或C#以及一些不同应用程序编程方法如模型视图和控制器(MVC)Apps和REST服务。随着你更加深入的学习托管代码构建你的SharePoint Apps,你肯定会进入一个更加复杂的开发模式。
        注意:本书不进一步介绍在SharePoint中你能够使用的非微软Web技术。然而,你能够使用非常多不同类型的开源、第三方或非微软技术来构建Web应用程序。然后即能够集成到SharePoint中。

探索SharePoint开发不同层次

        针对SharePoint有不同层次的开发,并且每一层都以某种方式服务于SharePoint网站的终端用户。这里将开发分成以下几个区域:
  1. 超级用户--这些人拥有SharePoint网站高级权限、管理权限、管理SharePoint网站的权限、管理网站的Apps甚至可能创建轻微自己定义的网站用于使用。
  2. 设计人员--这些人大多负责品牌化和管理页面自己定义。设计用户体验、设计网站图片,应用CSS或者其它样式表等等。
  3. 网站开发者--这些人为SharePoint开发托管代码、标记代码或者非托管/client代码解决方式。就是你啦。
        虽然那些有SharePoint背景的人可能分出很多其它的部分,可是开发一般都可以落到上述三个区域中的。你可能争论在SharePoint平台上,运行站点品牌化和App开发的人被等同对待为开发者,可是实际上,真正的开发包括从使用HTML5和JavaScript到.NET和基于服务的技术(即REST或WCF)到非微软Web技术等。这个范围不仅仅是作为大型平台的SharePoint这样。并且包括SharePoint作为Web一员必须支持的不同标准、应用程序和互通性。考虑到集中于云支持Apps,在SharePoint
2013中Web互通性变得更加重要。
        假设你分解这些开发层次并在Rymer和Rob Koplowitz的不同SharePoint层中使用,你将发现最多的SharePoint消费者与应用程序层交互。

这些消费者是终端用户,他们代表你构建并部署自己定义应用程序到SharePoint的核心受众。

SharePoint超级用户可能在自己定义层操作,由于他们拥有高程度的SharePoint知识。

        然后是Web(或者SharePoint)开发者。

非常多情况下,你是为SharePoint开发那些自己定义应用程序或者在ISV生态系统中下一个杀手级App的人。你也是本书的受众。有时。作为开发者你要和高级用户或设计者协同,而有时候则必须独立工作。

        作为高级用户、设计人员或Web开发者。你有非常多开发工具可供使用。从浏览器内工具如Napa,到设计器工具如SharePoint Designer,到更加传统的开发IDEs如Visual Studio 2012等。它们支持托管的、非托管的、client代码;调试;应用程序生命周期管理(ALM)等等。
        对于开发者生产力。这意味着你能够使用VS2010或者SPD作为核心开发工具。作为专业的Web开发者,你可能使用VS作为核心工具集--特别是当你是一个.NET程序猿进入SharePoint。至于SPD,你更可能使用它编辑母版页和页面布局,以及使用可视规则方法(如使用Visio 2013和SPD)构建不复杂的工作流。作为这些工具的补充,你也可能使用Expression Blend,要么作为构建更加高级交互的用户界面(使用Expression Blend)的方法,要么用于基线网站的Expression
Web中。
        注意:第3章节更加具体介绍开发者工具。
        谈到富平台服务,SharePoint 2013 提供开发者多种方法获得、管理和更新SharePoint网站中的对象和数据。使用这个版本号的SharePoint你将看到不断增长的对“REST和OData、通过OAuth的App验证、当然还有使用client对象模型启用多种不同类型的应用程序编程和解决方式开发”的投入。本书中。你将发现新的应用程序编程接口APIs,新的对于开发者的投入以及新服务(使你可以构建很多不同类型的Apps),而且你将了解到怎样启用LOB系统集成将外部数据带到你的SharePoint应用程序中。
        注意:本书被分为三部分,每部分越来越具体,越来越高级的覆盖这些新区域。

部署你的应用程序

        构建完应用程序后你须要部署它。在SharePoint 2013中,你能够部署两种重要类型的Apps:SharePoint Apps和SharePoint解决方式。
        那些之前了解SharePoint可能会认得解决方式:它们是Windows SharePoint Services Solution Packages(WSPs)。代表小型到大型包,用来以某种方式自己定义或者增强SharePoint网站。SharePoint解决方式典型地作为全然信任的解决方式执行。须要场级别的部署。在SharePoint 2010中,你可能也在部分信任的沙盒环境中执行解决方式(.WSP)而且虽然沙盒环境仍然存在与2013中,将来也不赞成使用了。
        注意:由于SharePoint部署主要包含Web前端server、应用程序server和数据库server,其部署与配置叫SharePoint场。WSPs在场级别上执行,意味着你能够在整个SharePoint场中安装和管理他们。沙盒解决方式执行在特殊的部分信任环境中。它有自己的方式和配额来确保应用程序被孤立起来。
        SharePoint Apps(.APP)对于SharePoint 2013是新的,是独立的应用程序,给SharePoint网站提供特定配置信息和功能部件。SharePoint Appseasy安装、使用、管理、升级和删除。你能够从公司文件夹或者应用商店加入Apps。你也能够使用两种不同的宿主模型:一个轻量级App,在SharePoint中支持(想想HTML和JavaScript Apps)和在云中支持的模型(想想Windows Azure支持的Apps)。
        在这些不同类型的SharePoint部署技术中。你能够做:
  • 导入标准Windows SharePoint Services Solution Package (WSP)到你的SharePoint场;
  • 在公司防火墙内构建并部署解决方式到SharePoint实例。
  • 构建并部署解决方式到更广的Internet支持的SharePoint。
  • 打包部署.APP到云,可是配置并注冊以载入到SharePoint。
        当你思考SharePoint 2013开发时。始终牢记下面几点:
  1. SharePoint的新方向更加集中于云。你应该从设计到部署都要考虑这一点;
  2. SharePoint拥有一个富对象模型。以及一系列服务及APIs,当开发自己定义解决方式时能够使用;
  3. VS2012拥有成熟的开箱即用的体验。构建和部署SharePoint解决方式。
  4. 你能够远程构建并调试SharePoint网站。
  5. 与SharePoint数据交互有非常多方式(比如client对象模型);
  6. 你能够使用BCS构建富LOB Apps。
  7. 与其它微软和第三方应用程序有非常多集成点(如Office 2010。SAP,PeopleSoft, Microsoft Dynamics, Microsoft Silverlight等等)。
  8. 使用.APP部署定义的SharePoint 2013拥有基于云的部署方式;
  9. 你能够部署SharePoint 2010 解决方式到内部或到云(也就是SharePoint Online)。然而,未来是部署到云的。
        这些点仅仅是代表了你能够用SharePoint做的事情的样例,并且本书目标是告诉你怎样開始全部这些任务以及很多其它。

记住当SharePoint引用业务生产力时。它不仅意味着你能够为终端用户构建并自己定义的应用程序(生产力)。并且意味着在你为业务生产力构建部署到这个平台的Apps时开发者(生产力)。