ݺߣ

ݺߣShare a Scribd company logo
Архитектура и технологии
Pryaniky.com

Социальный интранет и игровые механики для бизнеса.




                        Москва, 2012
О продукте
«Пряники» – корпоративная
                                           Улучшение коммуникаций
социальная сеть с использованием           Управление знаниями
кастомизируемых игровых                    Повышение уровня
механик для мотивации персонала             мотивации и лояльности
                                           Вовлечение сотрудников в
                                            командную работу
                                           Раскрытие творческого
                                            потенциала сотрудников
                                           Формирование нужного
                                            бизнесу поведения
                                            сотрудников
                                           Стимулирование к
                                            выполнению задач
                                           Снижение текучки
                                           Формирование наглядной
                                            статистики достижений,
                                            развития и социальных
                                            связей сотрудников
                                           Выявление экспертов в
                                            различных областях
                       www.pryaniky.com
Сервис Пряники – как это работает



Ключевые технологии:
•    Microsoft Azure
    • Web Role
    • Worker Role
    • Service Bus
    • SQL Azure
•    SQL Server 2008 (для коробочной версии)
•    Sync Services
•    WIF + ADFS – аутентификация пользователей из
     домена в облачном сервисе
•    SharePoint 2010
Пряники в Azure – используют CQRS и очереди.
Часть сервисов в коробочной версии также
предоставляется через Azure




                                  www.pryaniky.com
Сервис Пряники – как это работает



 Общая архитектура:
                                  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
Сервис Пряники – Синхронизация данных



Синхронизация с “облаком”:
•   SQL Azure Data Sync
•   Microsoft Sync Framework
Сервис Пряники – Синхронизация данных



SQL Data Sync:
•     Нет необходимости писать код
•     Поддерживает сложные схемы синхронизации
      многих источников
•     Минус – простое разрешение конфликтов
                   Azure SQL




      Агент
                                 Агент       Агент
    локальный
                               локальный   локальный
Сервис Пряники – Синхронизация данных



Microsoft Sync Framework (4.0 CTP):
•    Аналогичен по функционалу SQL Azure Data Sync
•    Нужно писать код (довольно простой)
•    Ручное разрешение конфликтов
    • С помощью Sync Framework можно устранить
       ключевой недостаток SQL Azure Data Sync –
       организовать синхронизацию данных с учетом
       версионности изменений.
    • Например, при одновременном изменении
       данных клиентом в корпоративной среде и в
       облачном сервисе.
Сервис Пряники – Аутентификация



WIF + ADFS
•   Позволяет аутентифицировать пользователей из
    домена в облачном сервисе
ADFS и Azure
• Интеграцию приложения в Azure с
  корпоративным порталом можно
  реализовать двумя способами:
  – Активная аутентификация (используется для
    Web-компонент, встроенных через iframe)
  – Пассивная аутентификация (с использованием
    промежуточного сервиса WCF)
Сервис Пряники – Аутентификация



WIF + ADFS – пассивная аутентификация
•   Позволяет аутентифицировать пользователей из
    домена в облачном сервисе


                         Azure



    ADFS Proxy
                 4
                         2              SharePoint
                     3
                             1
                 USER            Pryaniky
      Active
                                 (iFrame)
     Directory
Сервис Пряники – Аутентификация



WIF + ADFS – пассивная аутентификация
•   Позволяет аутентифицировать пользователей из
    домена в облачном сервисе без аутивного участия
    пользователей
                        Azure (WCF)


                                      2
                            4
    ADFS Proxy
                  3
                                  WCF с      SharePoint
                                   WIF
                 USER
      Active               1          Pryaniky
     Directory
Настройка ADFS - Сертификаты
                    Pryanikyapp.cloudapp.net                    Pryanikyapp.cloudapp.net
  Private key       (точка входа HTTPS)           Private key   (точка входа HTTPS)

                   Сертификат управления                        Сертификат + ключ
                                                  Private key

                   подпиской AZURE                              управления подпиской




                         Iis.domain.local
          Private key    Сертификат + ключ в IIS и ADFS (коммуникационный)




                                                                                 Private key   Private key
Настройка 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 созданное
  приложение
Сервис Пряники – Обновление



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,
Сервис Пряники – Безопасность и производительность



Инструменты, использованные для
обеспечения безопасности приложений в
Azure:
•   Microsoft Web Application Configuration Analyzer
    v2.0
•   ELMAH и Microsoft.WindowsAzure.Diagnostic
•    – расширенное журналирование и оповещение
•   Web Protection Library (WPL) – умное
    экранирование ввода
•   Azure Diagnostics Manager 2 (Cerebrata)
Сервис Пряники – Безопасность



Microsoft Web Application Configuration Analyzer v2.0




Многие из правил валидации не актуальны для Azure, но для некоторых стоит
перенастроить штатный образ WebRole. Зачем нам, например, Print Spooler и Alerter?
Сервис Пряники – Безопасность



ELMAH и Microsoft.WindowsAzure.Diagnostic
•   ELMAH – открытая библиотека для
    ASP.NET/ASP.NET MVC, позволяющая
    организовать оповещение и журналирование
    событий

•   Microsoft.WindowsAzure.Diagnostic – штатный
    инструмент для отладки и трассировки
Сервис Пряники – Безопасность



Azure Diagnostics Manager 2 (Cerebrata)
• Позволяет получить данные со счетчиков
  производительности
• Журналы трассировки
• Системные журналы ролей
Сервис Пряники – Безопасность



Azure Dashboard
• http://www.windowsazure.com/ru-
  ru/support/service-dashboard/
• Пароль на Windows Live
«Пряники»:
Игра, радость, команда, успех!
            Мотивация 2.0
          http://pryaniky.com


       Писать:     welcome@pryaniky.com
       Звонить:    +7 (495) 669-37-56
       Заходить:   http://pryaniky.com
       Facebook:   http://facebook.com/pryaniky
       Twitter:    @pryaniky

More Related Content

Архитектура и технологии Pryaniky.com

  • 1. Архитектура и технологии Pryaniky.com Социальный интранет и игровые механики для бизнеса. Москва, 2012
  • 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
  • 13. Настройка ADFS - Сертификаты Pryanikyapp.cloudapp.net Pryanikyapp.cloudapp.net Private key (точка входа HTTPS) Private key (точка входа HTTPS) Сертификат управления Сертификат + ключ Private key подпиской AZURE управления подпиской Iis.domain.local Private key Сертификат + ключ в IIS и ADFS (коммуникационный) Private key Private key
  • 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
  • 21. «Пряники»: Игра, радость, команда, успех! Мотивация 2.0 http://pryaniky.com Писать: welcome@pryaniky.com Звонить: +7 (495) 669-37-56 Заходить: http://pryaniky.com Facebook: http://facebook.com/pryaniky Twitter: @pryaniky