slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Создание приложений ( Apps ) для SharePoint 2013 в Облаке PowerPoint Presentation
Download Presentation
Создание приложений ( Apps ) для SharePoint 2013 в Облаке

Loading in 2 Seconds...

play fullscreen
1 / 36

Создание приложений ( Apps ) для SharePoint 2013 в Облаке - PowerPoint PPT Presentation


  • 140 Views
  • Uploaded on

Создание приложений ( Apps ) для SharePoint 2013 в Облаке. Марат Бакиров UMSOFT. Станислав Выщепан Ай- Теко. Обзор. Что такое приложения (apps) для SharePoint 2013 SharePoint hosted apps Cloud-Hosted apps Возможности приложений. История разработки для SharePoint. 2003 : XML

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Создание приложений ( Apps ) для SharePoint 2013 в Облаке' - yvonne-quinn


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
apps sharepoint 2013

Создание приложений (Apps) для SharePoint 2013 в Облаке

Марат Бакиров

UMSOFT

Станислав Выщепан

Ай-Теко

slide3
Обзор
  • Что такое приложения (apps) для SharePoint 2013
  • SharePoint hosted apps
  • Cloud-Hosted apps
  • Возможности приложений
sharepoint
Историяразработки для SharePoint
  • 2003: XML
  • 2007: Feature framework & WSP
  • 2010: Sandbox solutions & Client Side
  • 2013: Apps
slide5
Хостинг приложений

SharePoint Web

Your Hosted Site

Provider-hosted App

“Построй свою инфраструктуру”

Cloud-hosted apps

Обработчики событийCSOM/REST + OAuth

Autohosted App

Windows Azure + SQL Azure автоматически создается при установке app

SharePoint Web

Azure

Host

web

  • SharePoint-Hosted App
  • Используем артефакты SharePoint (списки, страницы)
    • Клиентские технологии и workflow

App Web (from WSP)

slide6
Формы приложений

Полная страница

Отдельная страница приложения со своей навигацией

  • App Parts
    • Аналог веб-части для размещения на страницах сайтов SharePoint
  • Пункт меню
    • Команда в Ribbon или Меню
slide7
Обзор
  • Что такое приложения (apps) для SharePoint 2013
  • SharePoint hosted apps
  • Cloud-Hosted apps
  • Возможности приложений
sharepoint hosted apps
Почему SharePoint hosted apps

Без дополнительнойинфраструктуры

Одинаково работает в Office365

и on-prem

Встроеннаяизоляцияэкземпляров

Без лишнихзатрат

Автоматическаяаутентификация

sharepoint hosted
Изоляция SharePoint-hosted приложений
  • 1 экземпляр приложения= 1 “app web”
  • Каждый App webs имеет свой домен:
  • Использует same-origin policy в браузере для изоляции JavaScript

Host web

https://contoso.sharepoint.com/site/

App web

https://contoso-appUID.sharepoint.com/site/app/

slide10
Доступные компоненты
  • Данные
  • Списки
  • Библиотеки
  • WebProxy
  • App scoped ECTs
  • Интерфейс
  • Страницы (только разметка)
  • CSS файлы
  • Custom Actions
  • Встроенные Веб-части
  • Логика
  • JavaScript
  • Workflows
  • Custom Actions
jsom rest
JSOM & REST
  • JavaScript object model

varctx = new SP.ClientContext("http://contoso-appUID.spo.com/site/app");ctx.load(ctx.get_web());ctx.executeQueryAsync();

  • REST/OData

http://contoso-appUID.spo.com/site/app/_api/web/Title

_api/web/lists

_api/web/lists/getByTitle('Documents')

_api/social.feed/my/news

_api/SP.UserProfiles.PeopleManager/getMyProperties()

_api/search/query?Querytext='Marketing'

host web
Как обратиться к Host Web
  • Чтобы обратиться к артефактам за пределами appweb:
    • Запросить разрешения
    • Сделать CSOM вызов, используя правильный контекст
  • varctx = new SP.ClientContext(appWebUrl);
  • varappContextSite = new SP.AppContextSite(ctx, targetUrl);
  • ctx.Load(appContextSite.get_web());
sharepoint hosted app

SharePoint hosted app

Марат Бакиров

UMSOFT

slide14
Обзор
  • Что такое приложения (apps) для SharePoint 2013
  • SharePoint hosted apps
  • Cloud-Hosted apps
  • Возможности приложений
cloud hosted app
Для чего использовать Cloud hosted app
  • Серверный код
    • C#, PHP, Java, Ruby, ваш_любимый_язык
  • Повышение привилегий
    • Выполнять код с разрешениями выше, чем у пользователя
  • Обработчики событий
    • Обрабатывать события установки и удаления app
    • Обрабатывать события элементов, списков, сайтов, события безопасности
cloud hosted app1
Недостатки Cloud hosted app
  • Необходимо самостоятельно хоститьapp
    • Azure или другие провайдеры
    • Ваша собственная инфраструктура
  • Необходимо использовать OAuth или S2S
    • Управлять токенамиOAuth
    • Настраивать «доверие» S2S в on-prem
  • Необходимо поддерживать консистентный внешний вид
    • Стили и chromeкак в SharePoint
oauth
OAuth
  • Защищенное взаимодействие с SharePoint
    • App и SharePoint доверяют третьей стороне (ACS)
  • Доверие создается используя ClientIdи ClientSecret
    • SharePoint и ACS знают ClientId
    • App и ACS знают ClientSecret
  • OAuth Token Flow
      • SharePoint получает Context Token от ACS и передает приложению
      • App проверяет Context Tokenи получает Access Token от ACS
      • Access Token используется App для доступа к SharePoint
high trust apps
High-Trust apps
  • OAuth не работает в On-prem
    • Можно подключить, но требует Office365 Tenant
  • S2S Trust позволяет app обращаться напрямую
    • Доверие устанавливается с помощью сертификатов
    • App имеет приватный ключ, которым подписывает запросы
  • Недостатки
    • Требуется настройка фермы
    • Работает только в on-prem
oauth1
Управление токенами OAuth
  • Ваше приложение должно запрашивать токены
    • Visual Studio генерирует класс TokenHelperдля этих целей
slide20
Какое API использовать
  • Вapps доступны только CSOM\REST API
    • Только они поддерживают OAuth\S2S
  • Веб-сервисыне доступны
    • Требуют аутентификацию пользователя
  • Серверная объектная модель не доступна
    • Требует запуска на ферме
sharepoint 2013 remote api
SharePoint 2013 Remote API

_apiэто алиас для _vti_bin/client.svc

Server

Client

CSOM

REST

OData

JSON

JavaScript Library

Silverlight Library

.Net CLR Library

Произвольный код

chrome control
Chrome control
  • Консистентный внешний вид app
    • Подтягивает темы с host web
  • Включает ссылку на host web
    • Обязательное требование Microsoft
  • Настраиваемое меню команд
    • Можно добавлять ссылки на любые страницы
chrome control1
Chrome control

$(function () {

var options = {

appIconUrl: "siteicon.png",

appTitle: "Chrome control app"

}

varnav = new SP.UI.Controls.Navigation(

"chrome_ctrl_placeholder",

options

);

nav.setVisible(true);

});

remote event receiver s
Remote Event Receivers
  • Аналог серверных ресиверов
    • Синхронные и асинхронные события
    • События элементов, списков, сайтов, безопасности и приложений
  • Не гарантируется доставка событий
    • В случае недоступности сервера ресиверы игнорируются
  • Для отладки необходимо использовать Azure Service Bus
autohosted app

Autohosted app

Марат Бакиров

UMSOFT

slide26
Обзор
  • Что такое приложения (apps) для SharePoint 2013
  • SharePoint hosted apps
  • Cloud-Hosted apps
  • Возможности приложений
slide27
Разрешения приложений

Сильно отличаются от разрешений для пользователей

    • Даются по принципу «все или ничего»

Не учитывают иерархию объектов

    • Разрешения можно получить только на весь сайт\коллекцию целиком
  • Разрешения могут быть выданы на разные области
      • Список, сайт, коллекция сайтов или тенант
      • Поиск,BCS, таксономия, профили пользователей
      • Отдельные возможности Project Server
slide28
Политики разрешений
  • App + User policy
    • Пользователь И приложение должны иметь доступ к ресурсу (пересечение)
    • Если не хватает разрешений, то «нет доступа» или «элемент не найден»
  • App-only policy
    • Только приложение должно иметь доступ к ресурсу
    • Приложение может обращаться к SharePoint без контекста пользователя
    • Только в серверном коде
  • User Policy
    • Не используется в приложениях
app only policy
App-only Policy
  • Два основных сценария:
      • Выполнение действий с разрешениями выше, чем у текущего пользователя (повышение привилегий)
      • Обращение к SharePoint без контекста пользователя
  • Как это сделать
      • ДобавитьAllowAppOnlyPolicyв AppManifest.xml
      • Написать код для получения app only access token
workflow
Workflow
  • Используется движок WF4
    • Поддерживаются циклы и переходы к предыдущим состояниям
  • Автоматически привязываются к спискам на app web
    • Можно привязать к host web с помощью кода
app scoped ect
App-scoped ECT
  • Можно создавать внешние типы контента в app
    • Раньше только на уровне всей фермы
  • Работает с OData источниками данных
  • Удобный дизайнер в студии
app parts
App parts
  • Тоже самое что Web Part с iframe
    • Внутри отображается обычная страница из app
  • Можно задавать настраиваемые свойства
    • Доступные типы свойств: string, enum, int, bool
  • Не поддерживают connections
    • И вообще и никак не получить данные из родительской страницы 
custom actions
Custom Actions
  • Можно добавлять команды на host web
    • Единственный способ передать данные из host web в app
  • В любые меню и ribbon
    • Только ссылку, javascript:кодне работает
  • Команды могут отображать страницу в диалоге
    • Достаточно добавить HostWebDialog="true"в XML
provider hosted app

Provider hosted app

Марат Бакиров

UMSOFT

slide35
Заключение
  • Что такое приложения (apps) для SharePoint 2013
  • SharePoint hosted apps
  • Cloud-Hosted apps
  • Возможности приложений
slide36
Q&A

Марат Бакиров

UMSOFT

http://www.gotdotnet.ru/blogs/mbakirov

@mbakirov

Станислав Выщепан

Ай-Теко

http://gandjustas.blogspot.ru

@gandjustas