Реалізація двостороннього зв'язку в Інтернеті не така вже тривіальна завдання через деяких реалій організації сучасних мереж. Переважно, бар'єри в мережі створюють міжмережеві екрани і пристрої, що працюють по протоколу NAT. які ускладнюють обмін інформацією з вузлами, розташованими за ними. Уявіть ситуацію: торговий агент використовує ваше додаток по бездротовій мережі в випадкової готелі в деякій точці земної кулі. Як при такому сценарії визначити його місце розташування і ініціювати зв'язок?
Часто компанії вирішують ці проблеми зв'язку, відкриваючи вхідні порти міжмережевих екранів (що завдає чимало клопоту системним адміністраторам) або використовуючи різних обхідні прийоми, такі як динамічна DNS. зіставлення портів NAT або технологію UpnP. Всі ці методи нестійкі, важко керовані і сприйнятливі до загроз безпеці. Число додатків, для яких потрібно такий тип двостороннього зв'язку, стає дедалі більше. NET Service Bus покликана задовольнити цю потребу.
Domain Name System - Служба доменних імен.
Universal Plug and Play - Універсальна автоматична настройка мережевих пристроїв.
Мал. 8.10. Використання ідентифікації на базі тверджень для веб-сервісів
У підсумку, додаток отримує всі відомості, необхідні для ідентифікації користувача, у вигляді набору тверджень. Ці твердження підписуються, що забезпечує криптографічний підтвердження їх походження.
Модель ідентифікації на базі тверджень спрощує реалізацію єдиної реєстрації, при цьому додаток більше не відповідає ні за один з перерахованих нижче аспектів безпеки:
- аутентифікація користувачів
- Зберігання облікових записів користувачів і паролів
- Звернення до каталогів підприємства в пошуках даних посвідчення користувача
- Інтеграція з системами посвідчень інших платформ або компаній
NET Access Control Service реалізовує ідентифікацію на базі тверджень в рамках платформи Azure ™ Services Platform. Система адміністрування є важливою частиною. NET Access Control Service.
Мал. 8.11. портал ACS
NET Access Control Service надає портал адміністрування (рисунок 8.11) в рамках порталу Azure ™ Services Portal. Тут ви виконуєте налаштування правил, які визначають схему випуску тверджень для різних користувачів.
Портал Access Control Service - чудовий засіб для дослідження, вивчення і початку роботи з ACS. І для відносно простих додатків він може бути єдиним необхідним інструментом. Але для нетривіальних систем з сотнями або тисячами користувачів і, можливо, такою ж кількістю правил, використання порталу стає громіздким. У таких випадках програмний інтерфейс - більш кращий варіант, тому ACS також надає інтерфейс AtomPub для програмного адміністрування. AtomPub - це протокол RESTful. який стандартизує базові операції CRUD (Create. Retrieve. Update і Delete) для управління віддаленими ресурсами. Це відкриває абсолютно нові можливості.
Сервіс. NET Access Control Service також включає кінцеві точки SOAP і REST для програмного адміністрування, а також ряд. NET -класів, які спрощують виклик цих кінцевих точок. Отже, якщо вам не подобається портал, що надається ACS. або ви бажаєте реалізувати настройки, характерні для певної предметної області. можна створити власну консоль адміністрування.
Найбільшою проблемою в побудові великомасштабних розподілених додатків є прийняття рішення про моделювання складних схем взаємодії через обмін повідомленнями. Microsoft. NET Workflow Service дозволяє розробляти логіку взаємодії повідомлень за допомогою WF і забезпечує розміщену масштабируемую середу для виконання і управління екземплярами робочого процесу WF в хмарі, звільняючи розробника від необхідності створення власного хоста для WF.
NET Workflow Service є частиною Azure ™ Services Platform і інтегрується з сервісами. NET Service Bus і. NET Access Control Service для безпечного координування взаємодії за допомогою повідомлень. NET Workflow Service також забезпечує інструменти управління для створення і управління типами та примірниками робочих потоків і API веб-сервісів для ситуацій, коли потрібно створити власні інструменти.
Оскільки Управляюче середовище побудована на платформі Windows ® Azure ™, вона може масштабироваться на вимогу і в значній мірі, при цьому організації або розробнику не доводиться турбуватися про планування більшої кількості обладнання або програмного забезпечення. Завдяки використанню середовища виконання WF екземпляри робочого потоку можуть виконуватися в пулі серверів і переміщатися з одного сервера на інший в кожному епізоді виконання. Керуюча середовище включає сервіс зберігання, який використовує безпечні тиражовані сервіси Microsoft SQL Service для збереження стану виконуються робочих процесів і для забезпечення можливості відновлення.
На період переходу до обробки даних в хмарі. NET Workflow Services надає спрощений підхід для управління складними взаємодіями. NET Service Bus в створюваних вами складових рішеннях "в хмарі".
Побудова хоста для робочих процесів WF означає прийняття рішень про те, які можливості підтримуватиме середовище та як краще зробити її безпечною, що масштабується і стабільною. Сьогодні. NET Workflow Service побудований на. NET Framework 3.5 і діях і компонентах WF, що входять в дану версію інфраструктури. Однак для забезпечення найкращих умов Microsoft були додані декілька спеціальних дій і сервісів, які наклали деякі обмеження на робочі процеси, що виконуються в хмарі.
В хмарі не використовується сервіс зберігання SqlWorkflowPersistenceProvider. отримав найбільшу популярність серед розробників, які використовують WF. Щоб використовувати операційне середовище Azure і забезпечити найкращі можливості масштабування і стабільності, в інфраструктурі хмари є спеціальний провайдер послуг зберігання, який реалізує збереження стану виконуються робочих процесів за допомогою можливостей зберігання Microsoft SQL Services. Крім усього іншого, для Інтернет-сервіси необхідна Інтернет-технологія зберігання та вилучення даних. Але оскільки механізм WF єдиний - як в хмарі, так і в ваших локальних рішеннях, - застосування спеціального провайдера послуг зберігання прозоро для розробників робочих процесів. Все робиться так само, як в будь-який інший середовищі WF.
При побудові робочих процесів для хмари розробники використовують звичні інструменти Visual Studio, включаючи той же дизайнер робочого процесу для створення XAML-файлів робочих процесів і файлів правил. Потім ці XML-файли завантажуються на сервер в хмарі, де вони можуть використовуватися для створення екземплярів робочого процесу. NET Services SDK включає шаблон проекту для створення SequentialCloudWorkflow (Послідовний робочий процес в хмарі), який є спеціальною версією стандартного шаблону SequentialWorkflow (Послідовний робочий процес). Одним з обмежень поточної інфраструктури є те, що при визначенні робочих процесів, які будуть виконуватися в хмарі, можна використовувати тільки підмножина дій базової бібліотеки дій, а також комплект спеціальних дій, що надається як частина. NET Services SDK.
Набір дій вимагає, щоб робочі процеси були повністю декларативними і обмежують. Це запобігає введення призначеного для користувача коду, тобто дозволяє гарантувати стабільність середовища. При побудові керуючої середовища для робочих процесів, написаних будь-якою кількістю розробників, розкиданих по всьому світу, такий рівень контролю є обов'язковим. Оскільки сьогодні для виконання WF необхідно повна довіра. ми не можемо забезпечити обмежений набір функціональності, просто виділивши користувальницький код в безпечну ізольовану програмне середовище на серверах. Слід зазначити, що з часом доступний сьогодні обмежений набір дій буде розширено для збільшення можливостей робочого процесу в хмарі. У міру виходу нових версій. NET Framework і. NET Workflow Service також буде підтримувати їх. Крім того, якщо знадобляться спеціальні етапи, можливості локальних робочих процесів можуть комбінуватися з робочими процесами в хмарі за допомогою. NET Service Bus.
NET Services SDK містить новий шаблон проекту для побудови робочих процесів в хмарі, набором нових дій в хмарі і клієнтським API для віддаленого розгортання і управління робочими процесами, розміщеними в хмарі.
При написанні робочих процесів в хмарі необхідно бути акуратним з використовуваними діями (дизайнер запропонує тільки допустимі дії). Дозволеними є деякі основні дії потоку управління WF, включаючи IfElse (Якщо ... то), While (Поки), Sequence (Послідовність), Suspend (Призупинити), Terminate (Завершити) і FaultHandler (Оброблювач збоїв). Крім базових дій потоку управління, в робочих процесу в хмарі можуть також використовуватися CancellationHandlerActivity і FaultHandlersActivity для моделювання обробки виключень і логіки скасування. Зверніть увагу, що ці дії зазвичай не додаються в модель безпосередньо; для цього використовується дизайнер складових дій, який вводить їх автоматично, коли уявлення переходить до цього дійства.
Жодне інше дію WF або призначені для користувача дії не можуть використовуватися. Дозволені до застосування тільки нові спеціальні дії в хмарі, включені в. NET Services SDK. Нижче описані нові спеціальні дії в хмарі, які поставляються з. NET Services SDK.
Оскільки основним завданням. NET Workflow Service є спрощення взаємодії повідомлень, ці дії, головним чином, стосуються відправки, отримання та обробки повідомлень. Відправляти / приймати повідомлення можна за допомогою традиційних HTTP-запитів або через. NET Service Bus. Ці дії можна буде знайти на панелі інструментів Visual Studio при використанні шаблону проекту послідовного робочого процесу в хмарі.
Короткі підсумки:
Платформа Azure ™ Services Platform представляє комплексну стратегію, розроблену Microsoft для полегшення розробникам завдань щодо реалізації можливостей обробки даних в хмарі. Microsoft®. NET Services - ключова складова цієї платформи, створена спеціально, щоб допомогти. NET розробника зробити перший крок. NET Services пропонує орієнтовані на роботу в хмарі стандартні блоки і інфраструктуру для забезпечення можливості підключення додатків, управління доступом, розміщення та управління робочим процесом. Ці стандартні блоки стануть основними засобами організації роботи "з хмарою" для. NET розробника на роки вперед. Більше інформації про. NET Service Bus. NET Access Control Service і. NET Workflow Service можна знайти в документах даної серії, присвячених кожній з цих тем окремо.
Ключові терміни:
Microsoft®. NET Service Bus - блок сервісів, який надає мережеву інфраструктуру для з'єднання додатків через Інтернет з використанням різноманітних шаблонів обміну повідомленнями способом, що забезпечує можливість проходження міжмережевих екранів і NAT -устройств без порушення безпеки, що надається цими пристроями.
Microsoft®. NET Access Control Service - блок сервісів, який забезпечує управління доступом в хмарі на підставі тверджень. Він включає механізм перетворення тверджень, який об'єднується з постачальниками посвідчень, такими як Active Directory і Windows Live ID (WLID). У майбутніх версіях буде реалізована інтеграція з будь-якими постачальниками посвідчень.
Microsoft®. NET Workflow Services - блок сервісів, який надає інфраструктуру для розміщення та управління робочими процесами WF, приділяючи основний увагу взаємодії через повідомлення за допомогою