SharePoint 2013 App Development读书笔记1
传统的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相关推荐
- SharePoint 2013 App Remote Event Receivers
当我们在使用App的时候,就会发现一些问题,比如那些网站部署.更新或者卸载了,我们很关心我们的App是否有人用,这就需要远程事件接收器了. 1.在我们的测试App的解决方案上选中鼠标,按F4弹出属性, ...
- SharePoint 2013 APP 开发示例 (三)使用远程的web资源
在这个示例里我们将详细介绍 TokenHelper 类, 我们将看到它是怎么简单地从远程web站点访问SharePoint的.我们还将取到它的一些值.这将帮助我们理解连接是怎么被构造的,同时也方便我们 ...
- SharePoint 2013 APP 开发示例 系列
SharePoint 2013 APP 安全: SharePoint 2013 APP 开发示例 (一)List 读写 SharePoint 2013 APP 开发示例 (二)获取用户信息 Share ...
- SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)
上个示例(SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API))是基于JavaScript,运行在web browser内去访问REST AP ...
- SharePoint 2013 APP 开发示例 (二)获取用户信息
这个示例里,我们将演示如何获取用户信息: 1. 打开 Visual Studio 2012. 2. 创建一个新的 SharePoint 2013 app: UserProfileTest. 3. 选 ...
- 《PWA实战:面向下一代的Progressive Web APP》读书笔记
前言 之前自己根据网上的教程学习写了几个PWA的小Demo,觉得PWA很有意思,想要更多的了解一下PWA,所以读了这本书.这本书是MANNIN出版社出的,所以书里的代码都有非常棒的注释,因此这篇笔记不 ...
- CMMI for Development读书笔记-目录
关于CMMI for Development 项目策划(Project Planning, PP) 转载于:https://www.cnblogs.com/cntosoft/archive/2012/ ...
- Linux Kernel Development读书笔记
<Linux内核情景分析>这本书读过了一遍,不想继续读第二遍了. <Linux Kernel Development>这本书前后读了3遍,写得实在是好,正所谓" ...
- 有哪些好用的读书笔记app
首先需要明辨的是笔记app和读书笔记app是有很大的差别,大部分的笔记app都是生活办公中使用,而且这类app要么分高级账号,要么按月按年收费. 再就是专门单独做读书笔记的app也很少,大部分都是放在 ...
最新文章
- 外贸常用术语_外贸英文用语,为邮件增光添彩
- 聊聊Elasticsearch的ExponentiallyWeightedMovingAverage
- 关于Two pointers的个人理解
- 开放封闭原则(OCP)
- python与用户交互、数据类型
- 解构领域驱动设计(三):领域驱动设计
- java struts1_struts1.x
- 数据卡片_手把手教你构建企业实时数据大屏
- 服务器jbod扩展_三分钟了解服务器关键技术——RAID
- pubmed显示服务器不稳定,你的pubmed又不能显示影响因子了,因为 ……
- 【Widevine L1】MTK平台基于Trustonic TEE方案widevine keybox异常log
- 亿图图示专家 ((EDraw Max)V5.6 绿色特别版
- python3 读文件 编码_Pyhton3下的ISO8859-1编码文件的读取
- 网络安全等级保护拓扑图大全
- 如何在海量元素中(例如 10 亿无序、不定长、不重复)快速判断一个元素是否存在?
- 反射课后习题及做题记录
- python中util是哪个包_使用Python的package机制如何简化utils包设计详解
- C1实训-动态令牌(二次验证码)原理及实现
- Servlet的工作原理简介
- c语言设计函数删除大写字母,C语言第七周作业