Msdevcon.ru#msdevcon. Создание приложений (Apps) для SharePoint 2013 в Облаке Станислав Выщепан Ай-Теко Марат Бакиров UMSOFT.

Презентация:



Advertisements
Похожие презентации
22 мая 2013, Киев Авторизация в приложениях SharePoint Станислав Выщепан SharePoint MVP Ай-Теко, Москва.
Advertisements

Microsoft TechDays Константин Трещев MCITP: Enterprise Administrator
Microsoft TechDays Заграничнов Александр Microsoft.
AD/DC/DNS OnPrem LB WFE SQL AppSvr 80/ VPN Tunnel Cloud Svc Virtual Network Azure AD/DC/DNS.
Microsoft TechDays Золотовицкий Аркадий Директор по производству «Интеллектуальные системы»
Microsoft TechDays Людмила Шайкина Quarta Consulting
Microsoft TechDays Павел Маслов MVP, Directory Services.
Microsoft TechDays Леонид Шапиро MCT ЦКО «Специалист»
Новые продукты Microsoft для повышения качества и эффективности образования Амит Миталь Старший вице-президент Microsoft по развитию социальных проектов.
Microsoft TechDays Николай Миляев консультант Microsoft.
Msdevcon.ru#msdevcon. OPEN SOURCE РЕШЕНИЯ В ОБЛАКЕ WINDOWS AZURE Воркачёв Владимир.
Microsoft TechDays Марат Бакиров Эксперт по разработке ПО Microsoft
Microsoft TechDays Александр Неволин Nevlabs кандидат технических наук.
Microsoft TechDays Никоноров Евгений разработчик EPAM Systems.
Microsoft TechDays Евгений Марченков Эксперт по технологиям разработки ПО Microsoft.
Вычислительные ресурсы и приложения доступные через Интернет в виде сервисов Облачные вычисления.
Windows Camp #wincamp Windows Camp Александра Богданова Менеджер проектов, Microsoft Project Westminster создаем веб-приложение.
Msdevcon.ru#msdevcon. ПРОФИЛИРОВАНИЕ WINDOWS STORE ПРИЛОЖЕНИЙ Филипп Панфилов Mail.Ru Group.
DevCon12 // msdevcon.ru #msdevcon мая, 2012 г. Microsoft.
DevCon12 // msdevcon.ru #msdevcon мая, 2012 г. Microsoft.
Транксрипт:

msdevcon.ru#msdevcon

Создание приложений (Apps) для SharePoint 2013 в Облаке Станислав Выщепан Ай-Теко Марат Бакиров UMSOFT

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

История разработки для SharePoint 2003: XML 2007: Feature framework & WSP 2010: Sandbox solutions & Client Side 2013: Apps

ServerClient Browser Host Архитектура app Web Server Host SharePoint & Exchange Office APP Client APIs Server APIs

Хостинг приложений App Web (from WSP) Host web SharePoint Web Your Hosted Site Azure SharePoint Web

Формы приложений Полная страница Отдельная страница приложения со своей навигацией App Parts Аналог веб-части для размещения на страницах сайтов SharePoint Пункт меню Команда в Ribbon или Меню

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

Почему SharePoint hosted apps Встроенная изоляция экземпляров Без лишних затрат Без дополнительной инфраструктуры Автоматическая аутентификация Одинаково работает в Office365 и on-prem

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

Доступные компоненты

JSOM & REST

Как обратиться к Host Web

DEMO SharePoint hosted app Марат Бакиров UMSOFT

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

Для чего использовать Cloud hosted app Серверный код C#, PHP, Java, Ruby, ваш_любимый_язык Повышение привилегий Выполнять код с разрешениями выше, чем у пользователя Обработчики событий Обрабатывать события установки и удаления app Обрабатывать события элементов, списков, сайтов, события безопасности

Недостатки Cloud hosted app Необходимо самостоятельно хостить app Azure или другие провайдеры Ваша собственная инфраструктура Необходимо использовать OAuth или S2S Управлять токенами OAuth Настраивать «доверие» S2S в on-prem Необходимо поддерживать консистентный внешний вид Стили и chrome как в SharePoint

OAuth Защищенное взаимодействие с SharePoint App и SharePoint доверяют третьей стороне (ACS) Доверие создается используя ClientId и ClientSecret SharePoint и ACS знают ClientId App и ACS знают ClientSecret OAuth Token Flow 1.SharePoint получает Context Token от ACS и передает приложению 2.App проверяет Context Token и получает Access Token от ACS 3.Access Token используется App для доступа к SharePoint

High-Trust apps OAuth не работает в On-prem Можно подключить, но требует Office365 Tenant S2S Trust позволяет app обращаться напрямую Доверие устанавливается с помощью сертификатов App имеет приватный ключ, которым подписывает запросы Недостатки Требуется настройка фермы Работает только в on-prem

Управление токенами OAuth Ваше приложение должно запрашивать токены Visual Studio генерирует класс TokenHelper для этих целей

Какое API использовать В apps доступны только CSOM\REST API Только они поддерживают OAuth\S2S Веб-сервисы не доступны Требуют аутентификацию пользователя Серверная объектная модель не доступна Требует запуска на ферме

SharePoint 2013 Remote API JavaScript Library Silverlight Library.Net CLR Library Произвольный код Client Server _api это алиас для _vti_bin/client.svc REST OData JSON CSOM

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

Chrome control $(function () { var options = { appIconUrl: "siteicon.png", appTitle: "Chrome control app" } var nav = new SP.UI.Controls.Navigation( "chrome_ctrl_placeholder", options ); nav.setVisible(true); });

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

DEMO Autohosted app Марат Бакиров UMSOFT

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

Разрешения приложений Сильно отличаются от разрешений для пользователей Даются по принципу «все или ничего» Не учитывают иерархию объектов Разрешения можно получить только на весь сайт\коллекцию целиком Разрешения могут быть выданы на разные области Список, сайт, коллекция сайтов или тенант Поиск, BCS, таксономия, профили пользователей Отдельные возможности Project Server

Политики разрешений App + User policy Пользователь И приложение должны иметь доступ к ресурсу (пересечение) Если не хватает разрешений, то «нет доступа» или «элемент не найден» App-only policy Только приложение должно иметь доступ к ресурсу Приложение может обращаться к SharePoint без контекста пользователя Только в серверном коде User Policy Не используется в приложениях

App-only Policy Два основных сценария: 1.Выполнение действий с разрешениями выше, чем у текущего пользователя (повышение привилегий) 2.Обращение к SharePoint без контекста пользователя Как это сделать 1.Добавить AllowAppOnlyPolicy в AppManifest.xml 2.Написать код для получения app only access token

Workflow Используется движок WF4 Поддерживаются циклы и переходы к предыдущим состояниям Автоматически привязываются к спискам на app web Можно привязать к host web с помощью кода

App-scoped ECT Можно создавать внешние типы контента в app Раньше только на уровне всей фермы Работает с OData источниками данных Удобный дизайнер в студии

App parts Тоже самое что Web Part с iframe Внутри отображается обычная страница из app Можно задавать настраиваемые свойства Доступные типы свойств: string, enum, int, bool Не поддерживают connections И вообще и никак не получить данные из родительской страницы

Custom Actions Можно добавлять команды на host web Единственный способ передать данные из host web в app В любые меню и ribbon Только ссылку, javascript:код не работает Команды могут отображать страницу в диалоге Достаточно добавить HostWebDialog="true" в XML

DEMO Provider hosted app Марат Бакиров UMSOFT

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

Q&A Марат Бакиров UMSOFT Станислав Выщепан Ай-Теко

ОТКРЫТИЕ КОНФЕРЕНЦИИ ПЛАНЕРНЫЙ ДОКЛАД Александр Ложечкин

Когда тыкать и когда жмакать Старайтесь не использовать списки, сделанные вручную Если можно, ограничивайтесь уровнями текста, регулируя в PowerPoint отступы Это такие две кнопочки со стрелочками (не путать с табуляцией) Нажимая их, вы будете автоматически получать правильные отступы из шаблона Не используйте списки глубиной более 3 уровней В шаблоне есть два макета для обычных слайдов: Традиционный с маркированными списками Новый – без маркеров на 1 и 2 уровнях (как этот)

Смело используйте большие картинки

КАК ДУБЛИРОВАТЬ ЖЕСТЫ И КЛИКИ

Будьте аккуратны с цветом, если нужна подпись

АЛЕКСАНДР ЛОЖЕЧКИН Директор департамента стратегических технологий, Microsoft Russia

Будьте аккуратны с цветом, если нужна подпись

DEMO НАЖИМАЕМ КНОПКИ И ТЫКАЕМ ПАЛЬЦАМИ Константин Кичинский (или другой подзаголовок)

Кодим

Контакты Константин Кичинский Microsoft & blogs.msdn.com/kichinskyblogs.msdn.com/kichinsky & html5insight.ruhtml5insight.ru

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.