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 介绍 处理开发人员需求_第1张图片
        上图显示了SharePoint 2007 运行自定义代码或来自IIS、其他服务器上的服务。大部分自定义代码在应用程序池中使用IIS资源运行。在2010中,SharePoint支持在IIS(或其他服务器)上运行,并且也引入了沙盒解决方案与客户端对象模型CSOM,使得被控制得解决方案和客户端代码得以运行。这个版本也引入了Windows Azure(在服务器和客户端它都与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开发托管代码、标记代码或者非托管/客户端代码解决方案。就是你啦。
        尽管那些有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等,它们支持托管的、非托管的、客户端代码;调试;应用程序生命周期管理(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验证、当然还有使用客户端对象模型启用多种不同类型的应用程序编程和解决方案开发”的投入。本书中,你将发现新的应用程序编程接口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前端服务器、应用程序服务器和数据库服务器,其部署与配置叫SharePoint场。WSPs在场级别上运行,意味着你可以在整个SharePoint场中安装和管理他们。沙盒解决方案运行在特殊的部分信任环境中,它有自己的方式和配额来确保应用程序被孤立起来。
        SharePoint Apps(.APP)对于SharePoint 2013是新的,是独立的应用程序,给SharePoint站点提供特定配置信息和功能部件。SharePoint Apps容易安装、使用、管理、升级和删除。你可以从公司目录或者应用商店添加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数据交互有很多方式(例如客户端对象模型);
  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时开发人员(生产力)。

你可能感兴趣的:(Sharepoint,Beginning,SharePoint,2013,Development)