传统的Farm部署方式有一些缺点,例如运行在SharePoint环境中的自定义代码会带来安全隐患。自定义代码很多时候要提升权限来做一些事情,虽然解决了权限不够的问题,但是有带来了权限过大的问题,这个问题更严重,有的时候会造成SharePoint的崩溃。另外就是当SharePoint升级的时候,自定义的代码,包括第三方的产品,很难顺利升级。而且这种部署方式安装和升级都比较麻烦。

App的设计目标

1. Office 365和本地部署环境(on-premises farm)都要支持App方式部署

2. App的代码不运行在SharePoint的代码运行环境中,有独立的运行环境。

3. App使用web service与SharePoint 通信,减少对SharePoint的版本依赖,不需要随着SharePoint的升级而升级(或者只改少量的代码)。

4. App代码运行在一个独立的账户中,可以为这个账号分配权限。

5. App易于分发,安装和升级。

App运行的前提条件

1. 组织或者租户(tenancy):一个SharePoint租户就是一组统一配置和管理site collection的集合。例如一个公司在Office 365上注册了一个账户,那么Office 365就为这个账户创建了一个tenancy,其中分配了一些SharePoint的站点供这个账户使用。

SharePont 2013可以在本地部署的环境中(on-premises farm)使用App,是因为SharePoint 2013默认整个farm是一个租户。SharePoint App必须运行在一个指定的租户环境中。

2. App管理服务(App Management Service):SharePoint 2013依赖于这个服务来管理App,这个服务有自己的数据库,来保存App的安装和配置信息,同时也负责处理App的权限和license等。

3. 站点订阅设置服务(Site Subscription Settings Service):SharePoint 2013依赖于这个服务来管理租户,这个服务有自己的数据库,每当添加新的租户,这个服务就将租户的配置信息保存到数据库中。

在Office 365的环境中,这两个服务是默认开启的,但是在本地部署的环境中(on-premises farm),需要自己创建这两个服务。App管理服务可以使用管理中心的配置向导创建,但是站点订阅设置服务需要使用PowerShell来创建,下面是PowerShell代码:

New-SPSubscriptionSettingsServiceApplication -ApplicationPool "SharePoint Web Services Default" -Name "Subscription Settings Service Application" -DatabaseName "SubscriptionSettingsDB" | New-SPSubscriptionSettingsServiceApplicationProxy

具体的配置App环境的方法可以参考: 点击打开链接

App的安装范围

站点范围(site scope) - App可以按安装到一个站点上在站点中使用。

租户范围(tenancy scope) - App可以安装到app catelog站点中,在整个租户内使用

App的两种运行方式

SharePoint-hosted : SharePoint本地环境运行

Provider-hosted:第三方托管运行

原本还有一个Auto-hosted:自动托管运行的方式,但是微软已经不再支持了

其中Provider-hosted属于云端运行,云端运行和本地运行的区别如下图所示:

可以看到,本地运行模式和云端运行模式都有一个开始页面(Start Page),这个页面是app的入口。本地运行只允许使用客户端代码,例如js,silverlight等等,云端运行除了允许使用客户端代码,还可以使用服务端代码(还允许创建和使用自己的数据库),但是服务端代码必须运行在remote web之中,而且,云端运行还有一个App Lancher用来将 用户访问重定向到remote web的开始页面。

SharePoint 2013 App Development读书笔记2

SharePoint 2013 App Development读书笔记3

SharePoint 2013 App Development读书笔记1相关推荐

  1. SharePoint 2013 App Remote Event Receivers

    当我们在使用App的时候,就会发现一些问题,比如那些网站部署.更新或者卸载了,我们很关心我们的App是否有人用,这就需要远程事件接收器了. 1.在我们的测试App的解决方案上选中鼠标,按F4弹出属性, ...

  2. SharePoint 2013 APP 开发示例 (三)使用远程的web资源

    在这个示例里我们将详细介绍 TokenHelper 类, 我们将看到它是怎么简单地从远程web站点访问SharePoint的.我们还将取到它的一些值.这将帮助我们理解连接是怎么被构造的,同时也方便我们 ...

  3. SharePoint 2013 APP 开发示例 系列

    SharePoint 2013 APP 安全: SharePoint 2013 APP 开发示例 (一)List 读写 SharePoint 2013 APP 开发示例 (二)获取用户信息 Share ...

  4. SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)

    上个示例(SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API))是基于JavaScript,运行在web browser内去访问REST AP ...

  5. SharePoint 2013 APP 开发示例 (二)获取用户信息

    这个示例里,我们将演示如何获取用户信息: 1. 打开 Visual Studio 2012. 2. 创建一个新的  SharePoint 2013 app: UserProfileTest. 3. 选 ...

  6. 《PWA实战:面向下一代的Progressive Web APP》读书笔记

    前言 之前自己根据网上的教程学习写了几个PWA的小Demo,觉得PWA很有意思,想要更多的了解一下PWA,所以读了这本书.这本书是MANNIN出版社出的,所以书里的代码都有非常棒的注释,因此这篇笔记不 ...

  7. CMMI for Development读书笔记-目录

    关于CMMI for Development 项目策划(Project Planning, PP) 转载于:https://www.cnblogs.com/cntosoft/archive/2012/ ...

  8. Linux Kernel Development读书笔记

    <Linux内核情景分析>这本书读过了一遍,不想继续读第二遍了.     <Linux Kernel Development>这本书前后读了3遍,写得实在是好,正所谓" ...

  9. 有哪些好用的读书笔记app

    首先需要明辨的是笔记app和读书笔记app是有很大的差别,大部分的笔记app都是生活办公中使用,而且这类app要么分高级账号,要么按月按年收费. 再就是专门单独做读书笔记的app也很少,大部分都是放在 ...

最新文章

  1. 外贸常用术语_外贸英文用语,为邮件增光添彩
  2. 聊聊Elasticsearch的ExponentiallyWeightedMovingAverage
  3. 关于Two pointers的个人理解
  4. 开放封闭原则(OCP)
  5. python与用户交互、数据类型
  6. 解构领域驱动设计(三):领域驱动设计
  7. java struts1_struts1.x
  8. 数据卡片_手把手教你构建企业实时数据大屏
  9. 服务器jbod扩展_三分钟了解服务器关键技术——RAID
  10. pubmed显示服务器不稳定,你的pubmed又不能显示影响因子了,因为 ……
  11. 【Widevine L1】MTK平台基于Trustonic TEE方案widevine keybox异常log
  12. 亿图图示专家 ((EDraw Max)V5.6 绿色特别版
  13. python3 读文件 编码_Pyhton3下的ISO8859-1编码文件的读取
  14. 网络安全等级保护拓扑图大全
  15. 如何在海量元素中(例如 10 亿无序、不定长、不重复)快速判断一个元素是否存在?
  16. 反射课后习题及做题记录
  17. python中util是哪个包_使用Python的package机制如何简化utils包设计详解
  18. C1实训-动态令牌(二次验证码)原理及实现
  19. Servlet的工作原理简介
  20. c语言设计函数删除大写字母,C语言第七周作业

热门文章

  1. 【邻接矩阵乘法】沼泽鳄鱼
  2. 如何计算IP地址的范围
  3. 新手入门AI (Adobe Illustrator)软件工具详解(一)
  4. windows 剪贴板监控
  5. JAVA怎么对接第三方短信平台?短信验证码完整API文档
  6. matplotlib绘图:散点图、折线图、柱状图、水平条形图、饼图和直方图
  7. 用JS实现猜数字游戏
  8. 粉丝福利!Matlab自动配色神器ColorForFans
  9. 影响红外测温的主要因素分析
  10. VS2019中Git源代码管理总结