2. О продукте
«Пряники» – корпоративная
Улучшение коммуникаций
социальная сеть с использованием Управление знаниями
кастомизируемых игровых Повышение уровня
механик для мотивации персонала мотивации и лояльности
Вовлечение сотрудников в
командную работу
Раскрытие творческого
потенциала сотрудников
Формирование нужного
бизнесу поведения
сотрудников
Стимулирование к
выполнению задач
Снижение текучки
Формирование наглядной
статистики достижений,
развития и социальных
связей сотрудников
Выявление экспертов в
различных областях
www.pryaniky.com
3. Сервис Пряники – как это работает
Ключевые технологии:
• Microsoft Azure
• Web Role
• Worker Role
• Service Bus
• SQL Azure
• SQL Server 2008 (для коробочной версии)
• Sync Services
• WIF + ADFS – аутентификация пользователей из
домена в облачном сервисе
• SharePoint 2010
4. Пряники в Azure – используют CQRS и очереди.
Часть сервисов в коробочной версии также
предоставляется через Azure
www.pryaniky.com
5. Сервис Пряники – как это работает
Общая архитектура:
Microsoft Azure
Web Worker SQL Azure
Forms WIF SQL Azure Data Sync, ACS
Service Bus (пробуем)
Sync Framework/WCF
ADFS Proxy SharePoint Пряники
Mobile Clients
Desktop Clients
Web Clients
Active Active
Directory Directory
6. Сервис Пряники – Синхронизация данных
Синхронизация с “облаком”:
• SQL Azure Data Sync
• Microsoft Sync Framework
7. Сервис Пряники – Синхронизация данных
SQL Data Sync:
• Нет необходимости писать код
• Поддерживает сложные схемы синхронизации
многих источников
• Минус – простое разрешение конфликтов
Azure SQL
Агент
Агент Агент
локальный
локальный локальный
8. Сервис Пряники – Синхронизация данных
Microsoft Sync Framework (4.0 CTP):
• Аналогичен по функционалу SQL Azure Data Sync
• Нужно писать код (довольно простой)
• Ручное разрешение конфликтов
• С помощью Sync Framework можно устранить
ключевой недостаток SQL Azure Data Sync –
организовать синхронизацию данных с учетом
версионности изменений.
• Например, при одновременном изменении
данных клиентом в корпоративной среде и в
облачном сервисе.
9. Сервис Пряники – Аутентификация
WIF + ADFS
• Позволяет аутентифицировать пользователей из
домена в облачном сервисе
10. ADFS и Azure
• Интеграцию приложения в Azure с
корпоративным порталом можно
реализовать двумя способами:
– Активная аутентификация (используется для
Web-компонент, встроенных через iframe)
– Пассивная аутентификация (с использованием
промежуточного сервиса WCF)
11. Сервис Пряники – Аутентификация
WIF + ADFS – пассивная аутентификация
• Позволяет аутентифицировать пользователей из
домена в облачном сервисе
Azure
ADFS Proxy
4
2 SharePoint
3
1
USER Pryaniky
Active
(iFrame)
Directory
12. Сервис Пряники – Аутентификация
WIF + ADFS – пассивная аутентификация
• Позволяет аутентифицировать пользователей из
домена в облачном сервисе без аутивного участия
пользователей
Azure (WCF)
2
4
ADFS Proxy
3
WCF с SharePoint
WIF
USER
Active 1 Pryaniky
Directory
14. Настройка 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 созданное
приложение
15. Сервис Пряники – Обновление
Entity Framework Code First Migration
(EntityFramework.SqlMigrations)
• Позволяет легко обновлять базу данных по уже
написанным классам
puiblic class Pryanik puiblic class Pryanik
{ {
public long Id{get;set;} public long Id{get;set;} >update-database
public string Name {get;set;} public string Name {get;set;}
} public string Descr{get;set;}
}
[Id] [long] IDENTITY(1,1) NOT NULL, [Id] [long] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](max) NULL, [Name] [nvarchar](max) NULL,
[Descr] [nvarchar](max) NULL,
16. Сервис Пряники – Безопасность и производительность
Инструменты, использованные для
обеспечения безопасности приложений в
Azure:
• Microsoft Web Application Configuration Analyzer
v2.0
• ELMAH и Microsoft.WindowsAzure.Diagnostic
• – расширенное журналирование и оповещение
• Web Protection Library (WPL) – умное
экранирование ввода
• Azure Diagnostics Manager 2 (Cerebrata)
17. Сервис Пряники – Безопасность
Microsoft Web Application Configuration Analyzer v2.0
Многие из правил валидации не актуальны для Azure, но для некоторых стоит
перенастроить штатный образ WebRole. Зачем нам, например, Print Spooler и Alerter?
18. Сервис Пряники – Безопасность
ELMAH и Microsoft.WindowsAzure.Diagnostic
• ELMAH – открытая библиотека для
ASP.NET/ASP.NET MVC, позволяющая
организовать оповещение и журналирование
событий
• Microsoft.WindowsAzure.Diagnostic – штатный
инструмент для отладки и трассировки
19. Сервис Пряники – Безопасность
Azure Diagnostics Manager 2 (Cerebrata)
• Позволяет получить данные со счетчиков
производительности
• Журналы трассировки
• Системные журналы ролей
20. Сервис Пряники – Безопасность
Azure Dashboard
• http://www.windowsazure.com/ru-
ru/support/service-dashboard/
• Пароль на Windows Live