Microsoft .NET — сервисы Windows нового поколения
В середине лета этого года Microsoft раскрыла свое видение эволюции платформы Windows в ближайшие годы. Платформа Microsoft .NET (ранее эта платформа называлась Next Generation Windows Services, NGWS) будет служить основой для создания распределенных Web-сервисов, интегрирующих различные сервисы, службы и приложения, и, таким образом, обеспечивать создание нового поколения Internet-приложений.
Если говорить о Microsoft .NET в целом, то эта платформа включает в себя следующие глобальные компоненты:
- собственно платформу Microsoft .NET — инфраструктуру и средства разработки, используемые для построения и управления новым поколением сервисов;
- продукты и сервисы Microsoft .NET, включая Windows .NET, MSN .NET, Office .NET, Visual Studio .NET, Office .NET и bCentral for .NET;
- дополнительные сервисы, разрабатываемых сторонними фирмами.
Все взаимодействие между сервисами и компонентами базируется на языке XML и протоколе SOAP, который не зависит ни от объектных моделей, ни от используемых платформ. В Microsoft .NET легко интегрируются уже существующие, а также новые продукты. Так, в частности, одним из компонентов Microsoft .NET является BizTalk Server.
В данном обзоре мы рассмотрим один из основных концептуальных блоков платформы Microsoft .NET — Web-сервисы, а также обсудим архитектуру Microsoft .NET.
Web-сервисы
Согласно определению Web-сервис — это приложение, обеспечивающее определенный набор сервисов, которое может быть интегрировано с другими Web-сервисами путем использования стандартов Internet. На более низком уровне Web-сервис можно назвать программируемым ресурсом, доступным по URL, который программным образом возвращает клиентам определенную информацию. Главным здесь является то, что клиенту не надо знать, как реализован тот или иной сервис для того, чтобы его использовать.
В отличие от существующих компонентных технологий, Web-сервисы не используют какие-либо специфичные для той или иной объектной модели протоколы типа DCOM, RMI или IIOP — сервисы взаимодействуют посредством стандартов Internet типа HTTP и XML. Таким образом, любая система, поддерживающая эти стандарты Internet, может взаимодействовать с Web-сервисами. Как мы отмечали выше, взаимодействие между сервисами и компонентами базируется на языке XML и протоколе SOAP. Язык XML используется в качестве основы для описания конкретного взаимодействия сервисов (язык Service Contact Language, SCL), а протокол SOAP — для обмена информацией между сервисами. Для публикации описаний сервисов используется спецификация Disco — рабочая версия этой спецификации доступна на Web-сайте фирмы Microsoft.
Отметим, что создание Web-сервисов возможно уже сегодня. Для этого вам необходимо приобрести Microsoft Visual Studio 6, а также загрузить в Web-сайт фирмы Microsoft и установить SOAP Toolkit for Visual Studio 6.0. Более подробно о протоколе SOAP можно прочитать в статье «Windows DNA 2000 — платформа нового тысячелетия», опубликованной в январском номере нашего журнала.
После этого менее чем краткого рассмотрения Web-сервисов давайте обратимся к платформе Microsoft .NET, которая служит основой для построения Web-приложений и Web-сервисов.
Архитектура Microsoft .NET
Наше знакомство с архитектурой Microsoft .NET разумнее всего начать с приведенной на рис. 1 диаграммы, демонстрирующей основные компоненты этой архитектуры.
Как видно из рисунка, над сервисами операционной системы (Windows CE, Windows ME, Windows 2000, Windows .NET) располагается Common Language Runtime (CLR) — общее языковое ядро, обеспечивающее единообразный доступ ко всем сервисам Microsoft .NET. К системным сервисам, доступным в виде библиотек классов, относятся расположенные над CLR сервисы для доступа к функциям операционной системы, управлению данными, отладки и т.п. Выше располагаются компоненты и сервисы, предназначенные для разработки Web-узлов и Web-сервисов, а также компоненты для реализации пользовательских интерфейсов. Ниже мы рассмотрим основные компоненты архитектуры Microsoft .NET более подробно.
Common Language Runtime
Основной задачей CLR является загрузка и выполнение кода, написанного на любом языке программирования, поддерживаемом в Microsoft .NET. В настоящее время поддерживаются языки Basic, C++, C#, JScript — на уровне продуктов фирмы Microsoft, а также языки сторонних фирм, в числе которых COBOL, Eiffel, Oberon, Perl, SmallTalk и ряд других. Языку C# посвящена статья, публикуемая в данном номере. Также в этом номере мы публикуем обзор новинок в Visual Basic.
Среди основных возможностей CLR следует отметить:
- поддержку стандартного набора типов и правил для создания новых типов;
- межъязыковую интеграцию — код, написанный на одном языке, может использовать классы, реализованные на другом языке программирования; исключения, возникшие в программе, написанной на одном языке, могут быть обработаны в программе, написанной на другом языке, и т.п.
- единый набор библиотек классов для всех поддерживаемых языков программирования;
- самоописываемые компоненты — для их использования не требуется каких-либо дополнительных файлов (IDL, TLB, Proxy/Stub и т.п.);
- поддержку версий компонентов и наборов. Наборы (assembly) — это группа ресурсов и типов, а также метаданные, описывающие эти ресурсы и типы. Подобная группа распространяется и внедряется как единое целое. Метаданные содержат информацию о зависимостях между ресурсами, версиях и т.п. Таким образом можно указывать, какие наборы используются — новейшей версии, специфичной версии и т.п.;
- сервисы безопасности, обеспечивающие, в частности, запрет на неавторизованный доступ к ресурсам как для пользователей (role-based security), так и для кода (code-based security).
Как уже отмечалось выше, на следующем уровне в архитектуре Microsoft .NET располагаются сервисы. Мы кратко рассмотрим их в следующем разделе.
Сервисы
Сервисы доступны на уровне классов, которые могут использоваться изо всех поддерживаемых в Microsoft .NET языков программирования. Некоторые из ключевых базовых классов показаны на рис. 2.
Как видно из рисунка, к базовым относятся классы, обеспечивающие доступ к сервисам операционной системы (Windows CE, Windows ME, Windows 2000, Windows .NET) — графическим функциям (здесь мы обнаружим функции для двухмерной графики, манипуляции графическими изображениями и шрифтами, включая технологию ClearType, а также интеграцию с GDI и DirectX), сетевым функциям, управлению потоками, глобализации, криптографии и т.п. К сервисам также относятся классы для доступа к данным (в Microsoft .NET входит библиотека классов ADO+, а также большой набор OLE DB-провайдеров), классы для средств разработки — отладка, трассировка, управление ресурсами, компиляция, установка, протоколирование событий и т.п., а также ряд других классов, включая классы для поддержки протокола SOAP.
Win Forms
Компонент Win Forms служит для обеспечения возможности создания традиционных Windows-приложений, использующих сервисы Microsoft .NET. Для клиентских приложений, работающих под управлением Windows, доступны все библиотеки классов, механизмы распространения сервисов и поддержки версии и сервисы безопасности. Таким образом, создание Windows-приложений в архитектуре Microsoft .NET дает разработчикам существенные преимущества по сравнению с традиционным, API-ориентированным подходом.
Web Forms
В основе Web-сервисов и Web-приложений в архитектуре Microsoft .NET лежит понятие Web-форм. Программная модель основана на ASP+ — новом поколении активных серверных страниц, представляющем собой эволюцию технологии ASP, знакомой многим Web-разработчикам (в настоящее время технологию ASP используют более 1 млн. разработчиков во всем мире). Этой теме посвящена отдельная статья, публикуемая в данном номере.
Концепция Web-форм знакома нам из Visual Basic 6. Идея заключается в том, что за счет объединения в рамках формы ASP- и HTML-кода мы получаем более структурированный подход для отделения логики Web-приложения от интерфейса. Богатый набор интерфейсных элементов (которые теперь могут располагаться на сервере) и простая, но мощная объектная модель позволяют легко создавать Web-приложения.
Основным средством для разработки приложений и сервисов в архитектуре Microsoft .NET является новая версия пакета Microsoft Visual Studio — Microsoft Visual Studio .NET.
Корпоративные серверы
В начале данного обзора мы говорили о платформе Microsoft .NET как о средстве для интеграции различных сервисов. Одним из источников таких сервисов является семейство корпоративных серверов фирмы Microsoft. К этому семейству относятся следующие продукты:
- Microsoft SQL Server 2000 (см. статьи в этом номере — «Microsoft SQL Server 2000. Краткий обзор новинок» и «Microsoft SQL Server 2000 Analysis Services»);
- BizTalk Server 2000 (cм. статьи «Инициативы Microsoft в области e-commerce» и «Разработка приложений с использованием BizTalk Server»);
- Commerce Server 2000;
- Application Center 2000;
- Host Integration Server 2000 (логическое развитие SNA Server);
- Internet Security and Acceleration Server 2000;
- Exchange Server 2000.
Все эти продукты поддерживают язык XML, возможность работы с Web, кластерные системы, интегрируются с продуктами предыдущих версий.
Заключение
В данном обзоре мы кратко рассмотрели архитектуру платформы Microsoft .NET, которая представляет собой дальнейшее развитие платформы Windows и служит фундаментом для создания программных решений нового поколения, основанных на использовании и интеграции различных сервисов, предоставляемых как существующими продуктами, так и специализированными программными компонентами, взаимодействующими на уровне языка XML с использованием протокола SOAP.
- ПК и комплектующие
- Настольные ПК и моноблоки
- Портативные ПК
- Серверы
- Материнские платы
- Корпуса
- Блоки питания
- Оперативная память
- Процессоры
- Графические адаптеры
- Жесткие диски и SSD
- Оптические приводы и носители
- Звуковые карты
- ТВ-тюнеры
- Контроллеры
- Системы охлаждения ПК
- Моддинг
- Аксессуары для ноутбуков
- Принтеры, сканеры, МФУ
- Мониторы и проекторы
- Устройства ввода
- Внешние накопители
- Акустические системы, гарнитуры, наушники
- ИБП
- Веб-камеры
- KVM-оборудование
- Сетевые медиаплееры
- HTPC и мини-компьютеры
- ТВ и системы домашнего кинотеатра
- Технология DLNA
- Средства управления домашней техникой
- Планшеты
- Смартфоны
- Портативные накопители
- Электронные ридеры
- Портативные медиаплееры
- GPS-навигаторы и трекеры
- Носимые гаджеты
- Автомобильные информационно-развлекательные системы
- Зарядные устройства
- Аксессуары для мобильных устройств
- Цифровые фотоаппараты и оптика
- Видеокамеры
- Фотоаксессуары
- Обработка фотографий
- Монтаж видео
- Операционные системы
- Средства разработки
- Офисные программы
- Средства тестирования, мониторинга и диагностики
- Полезные утилиты
- Графические редакторы
- Средства 3D-моделирования
- Веб-браузеры
- Поисковые системы
- Социальные сети
- «Облачные» сервисы
- Сервисы для обмена сообщениями и конференц-связи
- Разработка веб-сайтов
- Мобильный интернет
- Полезные инструменты
- Средства защиты от вредоносного ПО
- Средства управления доступом
- Защита данных
- Проводные сети
- Беспроводные сети
- Сетевая инфраструктура
- Сотовая связь
- IP-телефония
- NAS-накопители
- Средства управления сетями
- Средства удаленного доступа
- Системная интеграция
- Проекты в области образования
- Электронный документооборот
- «Облачные» сервисы для бизнеса
- Технологии виртуализации
1999 1 2 3 4 5 6 7 8 9 10 11 12 2000 1 2 3 4 5 6 7 8 9 10 11 12 2001 1 2 3 4 5 6 7 8 9 10 11 12 2002 1 2 3 4 5 6 7 8 9 10 11 12 2003 1 2 3 4 5 6 7 8 9 10 11 12 2004 1 2 3 4 5 6 7 8 9 10 11 12 2005 1 2 3 4 5 6 7 8 9 10 11 12 2006 1 2 3 4 5 6 7 8 9 10 11 12 2007 1 2 3 4 5 6 7 8 9 10 11 12 2008 1 2 3 4 5 6 7 8 9 10 11 12 2009 1 2 3 4 5 6 7 8 9 10 11 12 2010 1 2 3 4 5 6 7 8 9 10 11 12 2011 1 2 3 4 5 6 7 8 9 10 11 12 2012 1 2 3 4 5 6 7 8 9 10 11 12 2013 1 2 3 4 5 6 7 8 9 10 11 12 Что такое .NET?
.NET – это платформа с открытым исходным кодом для создания настольных, мобильных и веб-приложений, которые могут работать в любой операционной системе. Система .NET включает в себя инструменты, библиотеки и языки, поддерживающие современную, масштабируемую и высокопроизводительную разработку программного обеспечения. Платформу .NET поддерживает и обслуживает активное сообщество разработчиков.
Проще говоря, платформа.NET – это программное обеспечение, которое может выполнять следующие задачи.
- Транслировать код языка программирования .NET в инструкции, которые может обрабатывать вычислительное устройство.
- Предоставлять утилиты для эффективной разработки программного обеспечения. С их помощью можно, например, определить текущее время или напечатать текст на экране.
- Определять набор типов данных для хранения на компьютере такой информации, как текст, числа и даты.
Что такое реализации .NET?
Различные реализации .NET позволяют выполнять код .NET в разных операционных системах, таких как Linux, macOS, Windows, iOS, Android и многих других.
Платформа .NET
Платформа .NET – это оригинальная реализация .NET. Он поддерживает запуск веб-сайтов, сервисов, настольных приложений и многого другого в Windows. Microsoft выпустила платформу .NET в начале 1990-х годов.
Ядро .NET
Microsoft запустила ядро .NET Core в конце 2014 года, чтобы обеспечить кроссплатформенную поддержку разработчиков .NET. Компания выпустила новейшую версию ядра .NET 5.0 в ноябре 2020 года и переименовала ее в .NET. Термин .NET в этой статье относится к .NET 5.0. .NET Core имеет открытый исходный код на GitHub.
.NET Standard
.NET Standard – это формальная спецификация различных функций (называемых API). Различные реализации .NET могут повторно использовать один и тот же код и библиотеки. Каждая реализация использует как стандартные API-интерфейсы .NET, так и уникальные API, специфичные для операционных систем, в которых она работает.
Каковы преимущества .NET?
Простота разработки
Разработчикам нравится использовать .NET, потому что эта технология включает в себя множество инструментов, облегчающих их работу. Например, с помощью пакета Visual Studio разработчики могут быстрее писать код, эффективно сотрудничать, а также тестировать и исправлять свой код. Возможность повторного использования кода между реализациями снижает стоимость разработки.
Высокопроизводительные приложения
Приложения .NET обеспечивают более быстрое время отклика и требуют меньше вычислительной мощности. Они имеют надежные встроенные меры безопасности и эффективно выполняют серверные задачи, такие как доступ к базе данных.
Поддержка сообщества
.NET имеет открытый исходный код, что означает, что любой может свободно использовать, читать и изменять его. Активное сообщество разработчиков поддерживает и совершенствует программное обеспечение .NET. .NET Foundation – это независимая некоммерческая организация, созданная для поддержки сообщества .NET. Сервис предоставляет учебные ресурсы, проекты с открытым исходным кодом .NET и различные мероприятия для разработчиков .NET.
Каковы компоненты архитектуры .NET?
.NET имеет модульную оптимизированную архитектуру. Пользователи могут выбирать различные компоненты в соответствии со своими требованиями к разработке программного обеспечения.
Вот три основных компонента .NET:
- Языки .NET
- Платформы моделей приложений
- Среда выполнения .NET
Разработчики используют языки программирования .NET и платформы моделей приложений для создания своих приложений .NET. Затем среда .NET выполняет и запускает их.
Что такое языки программирования .NET?
C# (произносится как си диез), F# (произносится как фа диез) и Visual Basic – это три языка, поддерживаемые Microsoft для разработки NET. Различные компании и разработчики также создали другие языки, которые работают с платформой .NET.
C#
C# – простой, современный и объектно-ориентированный язык программирования. Благодаря синтаксису, схожему с семейством языков C, C# знаком программистам, работающим на языках C, C++, Java и JavaScript.
F#
F# имеет легкий синтаксис и требует очень мало кода для сборки программного обеспечения. Это язык с открытым исходным кодом, который позволяет легко писать лаконичный, надежный и высокопроизводительный код. Он также имеет мощную систему правил программирования и удобную стандартную библиотеку для создания критически важного, правильного, быстрого и надежного программного обеспечения.
Визуальный базовый
Visual Basic – это объектно-ориентированный язык программирования, разработанный Microsoft. Использование Visual Basic позволяет быстро и легко создавать безопасные для типов приложения .NET. Безопасность типов – это степень, в которой язык программирования препятствует или предотвращает логические ошибки кодирования.
Языки общей языковой инфраструктуры (CLI)
Такие языки, как ClojureCLR, Eiffel, IronPython, PowerBuilder и многие другие, также работают на платформе .NET. Это связано с тем, что в .NET реализована инфраструктура общего языка (CLI). Интерфейс командной строки можно рассматривать как шаблон для создания языков, совместимых с расширением .NET.
Что такое среда .NET?
Среда выполнения .NET, также называемая средой выполнения общего языка (CLR), компилирует и выполняет программы .NET в разных операционных системах.
Своевременная компиляция
CLR компилирует код по мере написания разработчиком. Во время компиляции CLR переводит код на общий промежуточный язык (CIL). Например, код, написанный на C#, имеет английский синтаксис и слова. .NET компилирует или переводит этот код в CIL. Код CIL выглядит иначе, потому что это язык машинного кода более низкого уровня.
Исполнение
Среда выполнения .NET управляет выполнением кода CIL. CIL совместим с несколькими платформами, и его может обрабатывать любая операционная система. Кроссплатформенная совместимость означает способность приложения работать на нескольких разных операционных системах с минимальными изменениями. Например, приложение на языке C# может работать в Windows, Linux или macOS без каких-либо изменений кода. Такое приложение называется кроссплатформенным.
Что такое платформы моделей приложений .NET?
Платформы моделей приложений представляют собой набор инструментов и библиотек для разработчиков, которые поддерживают быструю и эффективную разработку проектов .NET. Существуют разные платформы для разных типов приложений, таких как перечисленные ниже.
Интернет-приложения
Платформа ASP .NET расширяет платформу разработчика .NET специально для создания веб-приложений. Она поддерживает такие веб-технологии, как обработка запросов на основе передачи состояния, HTML, CSS и JavaScript. Она предоставляет встроенную базу данных пользователей с многофакторной и внешней аутентификацией. ASP .NET поддерживает стандартные отраслевые протоколы аутентификации со встроенным механизмом безопасности для защиты приложений .NET от кибератак.
Мобильные приложения
Xamarin/Mono можно использовать для запуска приложений .NET во всех основных мобильных операционных системах, включая iOS и Android. Xamarin включает Xamarin.Forms, платформу мобильного пользовательского интерфейса с открытым исходным кодом. Разработчики .NET используют Xamarin.Forms для создания согласованного пользовательского интерфейса на всех мобильных платформах. Все приложения .NET могут выглядеть одинаково даже на разных мобильных устройствах.
Приложения для настольных ПК
Xamarin можно использовать для разработки настольных приложений. Кроме того, универсальная платформа Windows расширяет возможности разработки приложений .NET Windows 10. Windows Presentation Foundation и Windows Forms являются другими платформами для проектирования пользовательского интерфейса в Windows.
Другие приложения
С помощью ML.NET можно разрабатывать и интегрировать пользовательские модели машинного обучения в приложения .NET. Библиотеки .NET IoT можно использовать для разработки приложений на датчиках и других интеллектуальных устройствах. Для любых решений, недоступных на платформах, вы можете найти множество специальных библиотек функций в публичном репозитории NuGet. Вы можете использовать Nuget для создания, совместного использования и использования многих библиотек .NET практически для любых целей.
Как AWS может помочь разработчика .NET?
Разработчики .NET могут быстрее создавать приложения, используя .NET на AWS. В нем есть сервис для каждой работы, поэтому вы можете быстро создавать доказательства концепции, не беспокоясь об управлении инфраструктурой. Ниже приведены некоторые примеры сервисов AWS для разработки .NET.
- AWS Elastic Beanstalk занимается развертыванием приложений и операционными задачами.
- Сервис Amazon EC2 предоставляет безопасные и масштабируемые вычислительные ресурсы в облаке.
- Amazon Aurora автоматизирует администрирование баз данных.
Разработчики .NET также могут использовать инструменты и библиотеки AWS с открытым исходным кодом, например указанные ниже.
- AWS SDK для .NET упрощает разработчикам Linux и Windows создание приложений .NET.
- Репозиторий примеров кода AWS помогает ускорить понимание приложений, работающих с сервисами AWS.
- Цифровая библиотека .NET содержит архив видеороликов, учебных пособий, блогов и других ресурсов разработчика для разработчиков .NET.
С выпуском версии .NET 6 разработчики .NET могут еще больше воспользоваться производительностью и экономией средств AWS с Linux. Приложения .NET 6 уже могут использовать множество сервисов AWS без дополнительной работы. В этом руководстве описана поддержка .NET 6 от сервисов и инструментов AWS.
Вы можете начать работу с .NET на AWS, пройдя обучение .NET на AWS, создав приложения .NET на AWS или запустив свое первое приложение .NET на AWS.
Microsoft® .NET Services
Реализация двусторонней связи в Интернете не такая уж тривиальная задача из-за некоторых реалий организации современных сетей. Преимущественно, барьеры в сети создают межсетевые экраны и устройства, работающие по протоколу NAT , которые усложняют обмен информацией с узлами, располагающимися за ними. Представьте ситуацию: торговый агент использует ваше приложение по беспроводной сети в случайной гостинице в некоторой точке земного шара. Как при таком сценарии определить его местоположение и инициировать связь ?
Часто компании решают эти проблемы связи, открывая входящие порты межсетевых экранов (что доставляет немало хлопот системным администраторам) или используя различных обходные приемы, такие как динамическая DNS , сопоставление портов NAT или технологию UpnP . Все эти методы неустойчивы, трудно управляемы и восприимчивы к угрозам безопасности. Число приложений, для которых требуется такой тип двусторонней связи, постоянно растет. . NET Service Bus призвана удовлетворить эту потребность.
Network address translation – Преобразование сетевых адресов.
Domain Name System – Служба доменных имен.
Universal Plug and Play – Универсальная автоматическая настройка сетевых устройств.
Решение идентификации, реализацией которой Microsoft занимается последние несколько лет, основано на концепции утверждений. Модель идентификации на базе утверждений позволяет выносить общие функции аутентификации и авторизации из приложений и осуществлять их централизованно во внешних сервисах, написанных и обслуживаемых экспертами безопасности и идентификации, что выгодно всем, кто участвует в этом процессе.
Microsoft® .NET Access Control Service – это сервис в облаке, выполняющий именно эту функцию. Вместо того чтобы создавать собственную базу данных пользовательских учетных записей и ролей, можно предоставить возможность . NET Access Control Service управлять аутентификацией и авторизацией ваших пользователей. . NET Access Control Service использует существующие хранилища учетных записей пользователей, такие как Windows Live ID и Active Directory, а также любые другие хранилища, поддерживающие стандартные протоколы интегрирования. Таким образом, использование единой регистрации для доступа ко всем приложениям становится вполне естественным. Также это обеспечивает централизацию логики аутентификации и управления доступом, что упрощает ваши приложения.
В поддерживающих утверждения приложениях пользователь представляет свое удостоверение как набор утверждений. Одним утверждением может быть имя пользователя ; другим – его адрес электронной почты. Эти утверждения предоставляются организацией, выдающей удостоверения, которая знает, как аутентифицировать пользователя и где найти его атрибуты. Клиентское приложение , в роли которого может выступать браузер или насыщенный клиент, напрямую получает утверждения от этой организации и передает их в ваше приложение (рисунок 8.10).
Рис. 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, уделяя основной внимание взаимодействию через сообщения посредством
Microsoft .NET Services
Лекция 8. Microsoft® .NET Services Краткая аннотация лекции: Платформа Azure™ Services Platform представляет комплексную стратегию, разработанную Microsoft для облегчения разработчикам задач по реализации возможностей обработки данных в облаке. В ходе наной лекции нам предстоит ознакомиться с технологиями Microsoft .NET Services. Так же в лецкии производится обзор NET Services SDK Цель лекции: Цель данной лекции – ознакомиться с технологиями Microsoft .NET Services. Текст лекции: .NET Services предоставляет основные стандартные блоки, которые понадобятся при построении приложений в облаке и работающих с облаком для Azure™ Services Platform. Сервисы, собранные под именем .NET Services, обеспечивают инфраструктуру облака, которая, в конечном счете, упрощает построение работающих в облаке приложений. Сегодня .NET Services обеспечивают основную функциональность, связанную с возможностями подключения приложений, управления доступом и взаимодействия посредством сообщений на базе рабочего процесса. Со временем они будут предоставлять больший набор функций и среду на базе облака. На данный момент под именем .NET Services объединены следующие основные блоки сервисов:
Рекомендуемые материалы
1.2 (8 вариант)
Информатика
ИДДО итоговый тест 86% (50 вопросов)
Информатика
1.3.2 (вариант 8)
Информатика
Мифы и реальности Internet — известные и скрытые возможности сети
Информатика
Аттестационный тест по курсу «Информатика» 88,33%
Информатика
Лабораторная работа №8
Программирование
299 90 руб.
· Microsoft® .NET Service Bus: предоставляет сетевую инфраструктуру для соединения приложений через Интернет с использованием разнообразных шаблонов обмена сообщениями способом, обеспечивающим возможность прохождения межсетевых экранов и NAT-устройств без нарушения безопасности, предоставляемой этими устройствами. · Microsoft® .NET Access Control Service: обеспечивает управление доступом в облаке на основании утверждений. Он включает механизм преобразования утверждений, который объединяется с поставщиками удостоверений, такими как Active Directory и Windows Live ID (WLID). В будущих версиях будет реализована интеграция с любыми поставщиками удостоверений. · Microsoft® .NET Workflow Services: предоставляет инфраструктуру для размещения и управления рабочими процессами (WF), уделяя основной внимание взаимодействию через сообщения посредством .NET Service Bus. Поставляется с новыми действиями WF и инструментами для размещения и управления экземплярами рабочего процесса. Данные новые сервисы можно рассматривать как .NET-инфраструктуру сервисов для облака. Все они доступны через открытые протоколы и стандарты, включая REST, SOAP, Atom/AtomPub и WS. Это означает, что разработчики на любой платформе могут интегрироваться с этими сервисами. Однако, в попытке сделать все максимально привычным для .NET-разработчиков, Microsoft также предоставляет .NET Services SDK, который обеспечивает первоклассные условия для .NET-разработчика и скрывает многие сложные моменты работы с сервисами. .NET Services SDK позволяет разработчикам использовать имеющийся опыт .NET-разработки, в частности в областях WCF и WF, через применение новых расширений инфраструктуры SDK (например, новых привязок, каналов и действия). SDK также включает поддержку инструментов Visual Studio для интеграции с порталом Azure™ Services Portal. Кроме .NET Services SDK, сегодня партнеры Microsoft предлагают Java и Ruby SDK (ссылки можно найти в разделе «Дополнительные ресурсы» ). Чтобы начать работу с .NET Services, перейдите на портал Azure™ Services Platform по адресу http://azure.com и щелкните ссылку «Try It Now» (Попробуйте сейчас). Вы перейдете на страницу «Register for Azure Services» (Регистрация для сервисов Azure), представленную на рисунке 8.1. На этой странице даются важные ссылки для скачивания различных SDK, доступа к дополнительным ресурсам и перехода на сайт Microsoft Connect, где можно зарегистрироваться для получения кода приглашения.
Рисунок 8.1 Портал Azure™ Services Platform Далее потребуется загрузить .NET Services SDK. Обратите внимание, что имеется несколько SDK: один – специально предназначенный для разработки Windows® Azure™; другой – для разработки .NET Services; и остальные – для SQL Data Services и Live Framework. Для воспроизведения примеров, предлагаемых в данной серии документов, понадобится скачать и установить .NET Services SDK. Скачав .NET Services SDK, просто запустите программу установки, как показано на рисунке 8.2. Тем самым вам будут доступны новые .NET-сборки, которые вместе с некоторыми надстройками Visual Studio помогут начать использование различных функций .NET Services. Приступая к работе с .NET Services, обязательно ознакомьтесь с остальными ресурсами, доступными с этой страницы (демонстрации, видео, практические лабораторные и т.д.), цель которых – сделать процесс обучения более насыщенным и разнообразным. Скачать SDK можно, не создавая учетной записи, но, чтобы использовать сервисы, необходимо зарегистрироваться.
Рисунок 8.2 Запуск установки .NET Services SDK Чтобы зарегистрироваться на получения учетной записи Azure Services, щелкните показанную выше ссылку «Register for Services» (Регистрация для сервисов). Вам будет предложено зарегистрироваться, используя Windows Live ID (WLID). После этого вы перейдете на сайт Microsoft Connect, где потребуется заполнить регистрационную форму Azure Services CTP. После успешной регистрации на Azure Services CTP, на экране появится страница, представленная на рисунке 8.3.
Рисунок 8.3 Регистрация для Azure Services Platform на сайте Microsoft Connect Теперь можно вернуться на страницу входа .NET Services Эту страницу можно увидеть на рисунке 8.4.
Рисунок 8.4 Страница входа .NET Services Теперь, щелкнув «Sign Up» (Войти), вы получаете возможность создавать решение .NET Services. Примечание: в CTP-версии, вышедшей в марте 2009, для создания решения .NET Services больше не требуется код приглашения. Для создания решения необходимо просто ввести уникальное имя решения, принять условия использования и нажать «Create Solution» (Создать решение). После этого новое решение будет подготовлено и ассоциировано с вашим WLID. Теперь, в любой момент, зарегистрировавшись на портале Azure™ Services Platform, вы имеете возможность управлять решениями, ассоциированными с вашим WLID. Имя решения должно быть не менее 6 символов длиной и глобально уникальным среди всех пользователей .NET-сервисов. Возможно, придется проявить смекалку, чтобы придумать такое имя для решения, которое еще не используется никем другим. После того, как новое решение создано, на экран выводится страница (рисунок 8.5), предлагающая пароль решения, который желательно сохранить для использования в будущем. Имя решения и пароль выступают в роли учетных данных для доступа к различным сервисам .NET Services.
Рисунок 8.5 Завершение процесса подготовки решения После успешного создания решения можно приступать к работе с ним на портале Azure™ Services Platform. Зарегистрировавшись под собственным WLID, на странице портала справа вы увидите меню «My Solutions» (Мои решения) (рисунок 8.6). Для работы с конкретным решением необходимо просто выбрать его в меню «My Solutions» , после чего вам будет представлена страница, показанная на рисунок 8.7. По сути, решение – это контейнер верхнего уровня для организации различных ресурсов .NET Services.Например, в нем размещаются конечные точки .NET Service Bus, типы и экземпляры рабочих процессов .NET Workflow Service, а также ваши удостоверения .NET Access Control Service и правила преобразования утверждений. Но одним из самых важных аспектов, которым вы захотите управлять после создания собственного решения, являются учетные данные решения. Именно поэтому имя решения должно быть уникальным среди всех пользователей.
Рисунок 8.6 Управление своими решениями посредством меню «My Solutions»
Рисунок 8.7 Управление отдельным решением Пароль решения, предоставленный в процессе подготовки, можно изменить на странице «Credential Management» (Управление учетными данными) (просто щелкните ссылку «Solution Credentials» (Учетные данные решения), которую можно видеть на рис. 8.8). С этой страницы можно также конфигурировать информационные карточки Windows CardSpace, ассоциированные с данным решением, и также любые сертификаты, которые необходимо ассоциировать с решением (рисунок 8.8).
Рисунок 8.8 Управление учетными данными своего решения Для Windows CardSpace и сертификатов вам предложат выбрать необходимую карточку/сертификат, после чего соответствующая информация будет передана в учетную запись вашего решения. С этого момента в сочетании со своей учетной записью вы можете использовать учетные данные указанной карточки/сертификата. Самым распространенным требованием в распределенных приложениях с высоким уровнем масштабируемости является возможность подключения приложений. Обычно интеграция приложений – одна из самых дорогостоящих и хлопотных областей ИТ. Сегодня для этих задач многие организации используют решение Enterprise Service Bus. Enterprise Service Bus (сервисная шина предприятия, ESB) — подход к построению распределённых корпоративных информационных систем. Обычно включает в себя промежуточное ПО, которое обеспечивает взаимосвязь между различными приложениями по различным протоколам взаимодействия. Архитектура ESB заключается в взаимодействии всех приложений через единую точку, которая, при необходимости, обеспечивает транзакции, преобразование данных, сохранность обращений. Данный подход обеспечивает большую гибкость, простоту масштабирования и переноса: при замене одного приложения подключенного к шине нет необходимости перенастраивать остальные. Одним из стандартов взаимодействия являются веб-сервисы. В популярных реализациях ESB добавляются шлюзы для обмена данными с корпоративным ПО. С использованием ESB может быть реализована сервисно-ориентированная архитектура. Существует некоторое разногласие, что именно считать ESB — архитектуру или программное обеспечение. Обе точки зрения имеют право на существование. .NET Service Bus является основной частью предложения .NET Services. Ее основная задача – сделать шаблон ESB реальностью в Интернете в рамках платформы Azure™ Services Platform. Предоставляемые .NET Service Bus архитектурные характеристики во многом аналогичны предлагаемым типовыми решениями ESB, включая идентификацию и управление доступом, присваивание имен, реестр сервиса и общую среду обмена сообщениями. Основное отличие в области применения. В случае с .NET Service Bus компоненты должны разрабатываться для работы в облаке, в глобальной области Интернета, с обеспечением высокого уровня масштабируемости и интегрируемости. Именно поэтому в прошлом этот предлагаемый сервис назывался Microsoft Internet Service Bus (рисунок 8.9). Internet Service Bus позволила бы интегрировать ваш локальный ESB-продукт с вашими собственными выполняющимися в облаке сервисами, с различными сторонними сервисами, предоставляемыми Microsoft или другими производителями (такими как предлагаются в рамках платформы Azure™ Service Platform) и с различными настольными, RIA3 и веб-приложениями, которые могут выполняться на вспомогательных площадках вне межсетевого экрана корпорации. Чтобы это стало реальностью, реализация должна обеспечивать интегрированные решения, основанные на открытых Интернет-стандартах, и насыщенную среду обмена сообщениями с возможностью двусторонней связи в Интернет. 1. Сервисная шина предприятия. 2. Эта терминология применялась в документации BizTalk Services, но более не является официальным наименованием, используемым Microsoft. 3. RIA = Rich Internet Application (Насыщенное Интернет-приложение).
Рисунок 8.10 Сервисная шина Интернет Реализация двусторонней связи в Интернете не такая уж тривиальная задача из-за некоторых реалий организации современных сетей. Преимущественно, барьеры в сети создают межсетевые экраны и устройства, работающие по протоколу NAT, которые усложняют обмен информацией с узлами, располагающимися за ними. Представьте ситуацию: торговый агент использует ваше приложение по беспроводной сети в случайной гостинице в некоторой точке земного шара. Как при таком сценарии определить его местоположение и инициировать связь? Часто компании решают эти проблемы связи, открывая входящие порты межсетевых экранов (что доставляет немало хлопот системным администраторам) или используя различных обходные приемы, такие как динамическая DNS, сопоставление портов NAT или технологию UpnP. Все эти методы неустойчивы, трудно управляемы и восприимчивы к угрозам безопасности. Число приложений, для которых требуется такой тип двусторонней связи, постоянно растет. .NET Service Bus призвана удовлетворить эту потребность. Network address translation – Преобразование сетевых адресов. Domain Name System – Служба доменных имен. Universal Plug and Play – Универсальная автоматическая настройка сетевых устройств. Решение идентификации, реализацией которой Microsoft занимается последние несколько лет, основано на концепции утверждений. Модель идентификации на базе утверждений позволяет выносить общие функции аутентификации и авторизации из приложений и осуществлять их централизованно во внешних сервисах, написанных и обслуживаемых экспертами безопасности и идентификации, что выгодно всем, кто участвует в этом процессе. Microsoft® .NET Access Control Service – это сервис в облаке, выполняющий именно эту функцию. Вместо того чтобы создавать собственную базу данных пользовательских учетных записей и ролей, можно предоставить возможность .NET Access Control Service управлять аутентификацией и авторизацией ваших пользователей. .NET Access Control Service использует существующие хранилища учетных записей пользователей, такие как Windows Live ID и Active Directory, а также любые другие хранилища, поддерживающие стандартные протоколы интегрирования. Таким образом, использование единой регистрации для доступа ко всем приложениям становится вполне естественным. Также это обеспечивает централизацию логики аутентификации и управления доступом, что упрощает ваши приложения. В поддерживающих утверждения приложениях пользователь представляет свое удостоверение как набор утверждений. Одним утверждением может быть имя пользователя; другим – его адрес электронной почты. Эти утверждения предоставляются организацией, выдающей удостоверения, которая знает, как аутентифицировать пользователя и где найти его атрибуты. Клиентское приложение, в роли которого может выступать браузер или насыщенный клиент, напрямую получает утверждения от этой организации и передает их в ваше приложение (рисунок 8.11).
Рисунок 8.11: Использование идентификации на базе утверждений для веб-сервисов В итоге, приложение получает все сведения, необходимые для идентификации пользователя, в виде набора утверждений. Эти утверждения подписываются, что обеспечивает криптографическое подтверждение их происхождения. Модель идентификации на базе утверждений упрощает реализацию единой регистрации, при этом приложение больше не отвечает ни за один из перечисленных ниже аспектов безопасности: · Аутентификация пользователей · Хранение учетных записей пользователей и паролей · Обращение к каталогам предприятия в поисках данных удостоверения пользователя · Интеграция с системами удостоверений других платформ или компаний Используя такую модель, приложение может принимать решения об идентификации на основании предоставленных пользователем утверждений. И диапазон таких решений велик: от простой персонализации приложения по имени пользователя до авторизации пользователя для доступа к особо важным функциям и ресурсам приложения. .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 при использовании шаблона проекта последовательного рабочего процесса в облаке.
Действие Функция CloudHttpReceive Принимает HTTP-запросы, отправленные на заданный URL, для экземпляра рабочего процесса CloudHttpSend Вызывает HTTP-операции GET или POST для заданного URL и принимает ответ CloudServiceBusSend Отправляет сообщение в заданную конечную точку шины сервисов CloudServiceBusReceive Принимает сообщения с конечной точки ServiceBus CloudXPathRead Выполняет чтение заданных данных из входящего XML CloudXPathUpdate Задает указанные данные во входящем XML-документе CloudDelay Ожидает заданный промежуток времени - Аарон Сконнард (Aaron Skonnard) http://msdn.microsoft.com
- http://windows.azure.com
- http://microsoft.com/faculty
- Практические материалы Azure SDK
Поделитесь ссылкой:
Рекомендуемые лекции
- Децентрализация печати
- 2 Модели клиент-сервер в технологии БД
- 6.4 Робастные системы управления
- 9 Принципы работы уровня межсетевого взаимодействия
- Лекция №12 Защита от поражения электрического тока
Свежие статьи
9 рабочих инструкций, как скопировать текст с картинки
Оформление презентации: 7 фишек, о которых все забывают
Лучшие программы для создания анимации для уроков в школе
А и Б торговали на Студизбе
P2P переводы набирают популярность среди пользователей Студизбы