Архитектура и технологии pryaniky.com
TRANSCRIPT
![Page 1: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/1.jpg)
Архитектура и технологии Pryaniky.com
Социальный интранет и игровые механики для бизнеса.
Москва, 2012
![Page 2: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/2.jpg)
«Пряники» – корпоративная социальная сеть с использованием кастомизируемых игровых механик для мотивации персонала
О продукте
Решаемые задачи: Улучшение
коммуникаций Управление знаниями Повышение уровня
мотивации и лояльности Вовлечение сотрудников
в командную работу Раскрытие творческого
потенциала сотрудников Формирование нужного
бизнесу поведения сотрудников
Стимулирование к выполнению задач
Снижение текучки Формирование
наглядной статистики достижений, развития и социальных связей сотрудников
Выявление экспертов в различных областях
www.pryaniky.com
![Page 3: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/3.jpg)
Сервис Пряники – как это работает
Ключевые технологии:• Microsoft Azure
• Web Role• Worker Role• Service Bus• SQL Azure
• SQL Server 2008 (для коробочной версии)• Sync Services• WIF + ADFS – аутентификация пользователей из
домена в облачном сервисе• SharePoint 2010
![Page 4: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/4.jpg)
Пряники - как это работает
www.pryaniky.com
Пряники в Azure – используют CQRS и очереди.Часть сервисов в коробочной версии также предоставляется через Azure
![Page 5: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/5.jpg)
WIF
Сервис Пряники – как это работает
Общая архитектура:
Microsoft Azure
Web Worker SQL Azure
Mobile ClientsDesktop Clients
Web Clients
ADFS Proxy SharePoint
Active Directory
Forms
Active Directory
Пряники
Sync Framework/WCF
SQL Azure Data Sync, ACSService Bus (пробуем)
![Page 6: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/6.jpg)
Сервис Пряники – Синхронизация данных
Синхронизация с “облаком”:• SQL Azure Data Sync• Microsoft Sync Framework
![Page 7: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/7.jpg)
Сервис Пряники – Синхронизация данных
SQL Data Sync:• Нет необходимости писать код• Поддерживает сложные схемы синхронизации
многих источников• Минус – простое разрешение конфликтов
Агент локальный
Azure SQL
Агент локальный
Агент локальный
![Page 8: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/8.jpg)
Сервис Пряники – Синхронизация данных
Microsoft Sync Framework (4.0 CTP):• Аналогичен по функционалу SQL Azure Data Sync• Нужно писать код (довольно простой)• Ручное разрешение конфликтов
• С помощью Sync Framework можно устранить ключевой недостаток SQL Azure Data Sync – организовать синхронизацию данных с учетом версионности изменений.
• Например, при одновременном изменении данных клиентом в корпоративной среде и в облачном сервисе.
![Page 9: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/9.jpg)
Сервис Пряники – Аутентификация
WIF + ADFS • Позволяет аутентифицировать пользователей из
домена в облачном сервисе
![Page 10: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/10.jpg)
ADFS и Azure
• Интеграцию приложения в Azure с корпоративным порталом можно реализовать двумя способами:– Активная аутентификация (используется для
Web-компонент, встроенных через iframe)– Пассивная аутентификация (с использованием
промежуточного сервиса WCF)
![Page 11: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/11.jpg)
Сервис Пряники – Аутентификация
WIF + ADFS – пассивная аутентификация• Позволяет аутентифицировать пользователей из
домена в облачном сервисе
Azure
ADFS Proxy
SharePoint
Active Directory
Pryaniky (iFrame)
USER1
23
4
![Page 12: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/12.jpg)
Сервис Пряники – Аутентификация
WIF + ADFS – пассивная аутентификация • Позволяет аутентифицировать пользователей из
домена в облачном сервисе без аутивного участия пользователей
Azure (WCF)
ADFS Proxy
SharePoint
Active Directory
Pryaniky
WCF с WIF
USER1
2
34
![Page 13: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/13.jpg)
Настройка ADFS - СертификатыPryanikyapp.cloudapp.net(точка входа HTTPS)
Iis.domain.localСертификат + ключ в IIS и ADFS (коммуникационный)
ADFSIIS
Сертификат управления подпиской AZURE
Private key
Private key
Private key
Private key
Pryanikyapp.cloudapp.net(точка входа HTTPS)Private key
Сертификат + ключ управления подпиской
Private key
![Page 14: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/14.jpg)
Настройка ADFS – checklist!
• Создать необходимые сертификаты• Установить сертификат в IIS для домена по умолчанию и
настроить Связь SSL• Установить и настроить службу ADFS 2.0 (standalone с
сертификатом тем же сертификатом что и IIS)• В Azure Access Control добавить Identity Provider загрузив
метаданные из ADFS 2.0 (Federation Metadata)• Добавить в ADFS 2.0 в качестве Relying Party сервис Azure
Access Control• Добавить ссылку на сервис STS в приложение из Azure
Access Control• Добавить в Azure Access Control созданное приложение
![Page 15: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/15.jpg)
Сервис Пряники – Обновление
Entity Framework Code First Migration (EntityFramework.SqlMigrations)• Позволяет легко обновлять базу данных по уже
написанным классам
puiblic class Pryanik{ public long Id{get;set;} public string Name {get;set;}}
puiblic class Pryanik{ public long Id{get;set;} public string Name {get;set;} public string Descr{get;set;}}
[Id] [long] IDENTITY(1,1) NOT NULL,[Name] [nvarchar](max) NULL,
[Id] [long] IDENTITY(1,1) NOT NULL,[Name] [nvarchar](max) NULL,[Descr] [nvarchar](max) NULL,
>update-database
![Page 16: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/16.jpg)
Сервис Пряники – Безопасность и производительность
Инструменты, использованные для обеспечения безопасности приложений в Azure:• Microsoft Web Application Configuration Analyzer
v2.0• ELMAH и Microsoft.WindowsAzure.Diagnostic• – расширенное журналирование и оповещение• Web Protection Library (WPL) – умное
экранирование ввода• Azure Diagnostics Manager 2 (Cerebrata)
![Page 17: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/17.jpg)
Сервис Пряники – Безопасность
Microsoft Web Application Configuration Analyzer v2.0
Многие из правил валидации не актуальны для Azure, но для некоторых стоит перенастроить штатный образ WebRole. Зачем нам, например, Print Spooler и Alerter?
![Page 18: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/18.jpg)
Сервис Пряники – Безопасность
ELMAH и Microsoft.WindowsAzure.Diagnostic• ELMAH – открытая библиотека для
ASP.NET/ASP.NET MVC, позволяющая организовать оповещение и журналирование событий
• Microsoft.WindowsAzure.Diagnostic – штатный инструмент для отладки и трассировки
![Page 19: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/19.jpg)
Сервис Пряники – Безопасность
Azure Diagnostics Manager 2 (Cerebrata)• Позволяет получить данные со счетчиков
производительности• Журналы трассировки• Системные журналы ролей
![Page 20: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/20.jpg)
Сервис Пряники – Безопасность
Azure Dashboard• http://www.windowsazure.com/ru-ru/support/s
ervice-dashboard/
• Пароль на Windows Live
![Page 21: Архитектура и технологии Pryaniky.com](https://reader033.vdocuments.net/reader033/viewer/2022061611/557f38a5d8b42aba678b4946/html5/thumbnails/21.jpg)
«Пряники»: Игра, радость, команда,
успех!Мотивация 2.0
http://pryaniky.com
Писать: [email protected]Звонить: +7 (495) 669-37-56Заходить: http://pryaniky.comFacebook: http://facebook.com/pryanikyTwitter: @pryaniky