Работа в корпоративной среде. Значение платформы.NET для разработчиков

21.04.2019

Пожалуй, сегодня наиболее впечатляющая и наиболее обозримая часть.NET - новое семейство корпоративных серверов. Их набор претерпел существенные изменения в сравнении с предыдущими выпусками комплекта Microsoft BackOffice.

Microsoft Enterprise Servers 2000 в структуре корпоративной информационной системы

Состав продуктов семейства.NET Enterprise Servers подобран так, чтобы удовлетворить в равной степени как практиков, развертывающих и сопровождающих информационные системы современных предприятий, так и теоретиков, заботящихся об элегантности концепций и перспективах развития отрасли.

Есть несколько проблем, которые обязательно должно решить каждое предприятие в процессе развития своей "электронной нервной системы".
С каждым днем ему будет необходимо все больше современных бизнес-приложений - иногда стандартных, иногда уникальных. Устанавливать каждый раз автономную дорогостоящую и сложную в развертывании и сопровождении систему, как делалось раньше, - не только дорого, но и неприемлемо по срокам внедрения. Необходимо иметь возможность приобретать или разрабатывать и устанавливать в стандартную среду только необходимые модули, заботясь в основном об их деловой функциональности, а не о средствах поддержания постоянной готовности, репликации, взаимодействии между собой и пр. Большинство операционных систем оказалось неспособно предоставить необходимую корпоративным приложениям среду исполнения и для них пришлось создать специальные серверы приложений . Microsoft Windows 2000 непосредственно предоставляет многие функции сервера приложений на уровне системных сервисов (например, так реализован монитор транзакций). Поэтому в.NET управление приложениями концентрируется на более специфических для корпоративных сред и интернет-служб задачах - управлении множеством объектов, приложений и серверов для достижения оптимальной производительности и безотказности. Их решает сервер масштабирования приложений .

Ни одно предприятие не может существовать без сбыта своей продукции и услуг. В настоящее время уже понятно, что интернет-технологии могут существенно повысить эффективность коммерческой деятельности в любой отрасли. Неудивительно, что выбору сервера электронного бизнеса уделяется такое пристальное внимание. Его встроенные средства проектирования и реализации бизнес-процессов позволяют решать самые разнообразные задачи из деловой практики.
Невозможно, разорительно, да и не нужно "сносить бульдозером" те корпоративные информационные системы, которые были созданы в эпоху до всеобщего признания интернет-технологий. Просто с ними "нужно найти общий язык". Язык этот, конечно, -XML . Такой подход делается еще более оправданным, когда требуется наладить взаимодействие с информационными системами партнеров по бизнесу. Нужно также следить за соответствием совершаемых операций корпоративным правилам, законодательству, техническим нормам. Все эти задачи, еще недавно казавшиеся неразрешимыми, помогает решить сервер интеграции приложений - своего рода "универсальный клей" современного бизнеса.

Специалистам, работающим с информацией (knowledge workers), необходима самая разнообразная внутрикорпоративная и внешняя информация. Нужно обеспечить ее накопление, поиск, фильтрацию, представление в наиболее удобном виде. Эту задачу решает сервер управления корпоративным порталом .
Разумеется, все перечисленные серверы не смогут работать без опоры на надежную инфраструктуру хранилищ данных, коллективной работы, безопасности.

Microsoft .NET Enterprise Servers решают именно эти ключевые задачи современного бизнеса.

Функция

Назначение

.NET-сервер

Операционная система корпоративного уровня с поддержкой базовых служб сервера приложений Надежное и эффективное исполнение всех категорий программных приложений

Windows 2000 Advanced Server

Сервер масштабирования приложений Запуск приложений, их распределение по многим процессорам, обеспечение бесперебойной работы

Application Center 2000

Сервер приложений электронного бизнеса со встроенными средствами проектирования и исполнения бизнес-процессов Обслуживание клиентов, взаимодействие с партнерами
Сервер интеграции приложений Универсальное ПО промежуточного слоя. Интеграция разнородных информационных систем и организация документооборота на основе XML
Хранилище данных Хранение, поиск и анализ огромных объемов структурированной информации
Поддержка коллективной работы Обмен сообщениями, планирование, рабочие группы…
Корпоративный портал Управление информационными потоками и универсальный поиск, управление знаниями, документооборот
Мост к "унаследованным" системам Доступ к данным и сервисам на мэйнфреймах и других системах, "не понимающих" открытые стандарты Host Integration Server 2000
Брандмауэр и прокси Защита и повышение производительности корпоративной сети Internet Security & Acceleration Server 2000
Работа с мобильными пользователями Доставка интернет- и интранет-контента на портативные цифровые устройства, включая сотовые телефоны

Windows 2000 Addvanced Server

Надежная, масштабируемая и производительная серверная операционная система со встроенной поддержкой приложений

Надежность
и масштабируемость

Низкая совокупная стоимость владения

Развитые службы интернета и приложений

Усовершенствованное ядро ОС.

Уменьшенное число перезагрузок.

Службы кластеризации и балансировки нагрузки.

Широкая масштабируемость - до 32 серверов в кластере, до 32 процессоров в симметричной мультипроцессорной системе (SMP), до 64 Гбайт физической памяти.

Полный комплект сетевых служб, включая маршрутизацию, многоадресную передачу, обеспечение гарантированного качества услуг, TAPI 3.0 (телефонная связь), управление распределенными каталогами и др.

Интегрированные службы каталогов Active Directory, совместимые с LDAP

Развитая инфраструктура управления на основе Windows Management Instrumentation (WMI).

Гибкая корпоративная защита данных с использованием Kerberos, PKI и SmartCard.

Полный набор сервисов для файлов и печати.

Мощные интернет-службы на основе IIS 5.0.

Интеграция со службами каталогов Novell NDS и Microsoft Exchange Server.

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

Internet Information Services (IIS)5.0 для поддержки веб-узлов любого назначения и масштаба.

Поддержка Active Server Pages.

Поддержка XML.

(ASP)и язык XML - технологии, упрощающие разработку мощных веб-узлов, которые управляются базами данных.

Terminal Services для доступа к приложениям (таким, как Microsoft Office и др.), исполненяемым на сервере.

Службы сервера приложений COM+ для балансировки нагрузки, транзакций, улучшенного доступа к данным и асинхронной связи.

Windows 2000 Commerce Server 2000

Мощный сервер для создания ориентированных на клиентов B2B и B2C решений

Эффективное решение

Быстрая разработка

Инструмент бизнеса

Персонализация представления.

Генерация индивидуальных предложений.

Удобное управление каталогами.

Наглядное легко модифицируемое описание бизнес-процессов.

Шаблоны типовых приложений.

Визуальное администрирование.

Компоненты независимых поставщиков (например — платежные системы).

Повышенная надежность.

Профили и сценарии поведения посетителей.

Хранение и анализ данных, интегрированные с SQL Server.

Централизованное управление через веб правами пользователей, продуктами и услугами.

Контроль за всеми стадиями сделки.


Microsoft BizTalk Server 2000

Координация бизнес-процессов на базе XML-схем в рамках одной или многих организаций в гетерогенной среде с разнородными информационными подсистемами

Формализация бизнес-процессов

Интеграция с приложениями и партнерами

Работа в корпоративной среде

Быстрое создание сложных динамических сценариев работы предприятия.

Общая визуальная среда для бизнес-аналитиков и ИТ-специалистов.

Редактор XML-схем.

Управление сообщениями, заявками, счетами, контрактами.

Отслеживание перемещения документов, их хранение и анализ средствами OLAP SQL Server 2000.

Полная поддержка XML.

Преобразование документов в строгом соответствии с W3C XSLT.

Первая индустриальная платформа обмена деловыми документами.

Архитектура, расширяемая коннекторами к системам независимых производителей.

Единообразная доставка документов по протоколам:
  • EDI ANSI X12;
  • UN EDUFACT;
  • HTTP,HTTPS;
  • SMTP;
  • Fax (только исходящие).
Транзакционный подход.

Масштабирование и кластеризация.

SharePoint Portal Server 2001

Эффективная публикация и поиск информации в корпоративных интрасетях

Интранет-портал

Документооборот

Коллективная работа

Полностью персонализируемые, централизованно управляемые интранет-порталы на базе Digital Dashboard (DDB).

Индексирование и поиск на веб-серверах, в папках Exchange, на серверах Lotus Notes и др.

Адаптивное ранжирование результатов поиска.

Подписка на сервисы, папки, документы.

Управление предоставлением информации на основе категорий пользователей.

Поддержка пользовательских типов данных и пользовательских источников контента.

Повторно используемые компоненты.

Тесная интеграция с Windows 2000 и Office 2000.

Контроль версий документов и задание процедур обновления.

Управление версиями метаданных (например, ключевых слов).

Онлайновые дискуссии и комментарии к офисным документам.

Развитые средства определения полномочий, контроля доступа и защиты.

Полный «жизненный цикл публикации» — от идеи и поручения до утверждения, публикации и ревизии.

Инструмент для конструирования документооборота и встраивания в пользовательские приложения.

Встроенные сервисы поддержки и разработки веб-ориентированных приложений для коллективной работы.

Новый визуальный инструмент — Microsoft Office Designer для конструирования приложений, использующих Microsoft Web Storage System.

Разработка с использованием привычных средств Microsoft Visual Studio.

Стандартные интерфейсы:
ActiveX Data Objects (ADO), Collaboration Data Objects (CDO), Web Distributed Authoring and Versioning (WebDAV), XML, HTTP.


Microsoft SQL Server 2000

Промышленная СУБД, обеспечивающая встроенную поддержку языка XML и широкие возможности анализа данных

Хранилища данных

Электронная коммерция

Эксплуатация

Мощные средства OLAP.

Автоматизация экстракции данных из внешних источников.

Поддержка принятия решений.

Хранение результатов запросов.

Использование метаданных.

Интеграция с Office 2000.

Совместимость с инструментами других производителей.

Поддержка XML.

Доступ через веб.

Балансировка нагрузки.

Работа в режиме провайдинга приложений (ASP).

Защита от несанкционированного доступа.

Средства анализа поведения пользователей.

Удобные средства администрирования.

Высокая надежность.

Масштабируемость.

Репликация в неоднородных системах.

Централизованное управление доступом.

Поддержка взаимодействия с разнообразными устройствами.


Microsoft Exchange 2000

Сервер организации коллективной работы и обмена сообщениями, включая управление заданиями и контактами, составление расписаний и хранение документов

Коллективная работа

Интеграция с веб

Масштабируемость

Microsoft Exchange 2000 Conferencing Server обеспечивает конференции в реальном времени с использованием видео, звука и потоков данных.

Internet Locator Server (ILS) для управления дискуссиями, проектами, встречами, расписаниями.

Создание HTML-форм.

Управление документооборотом (маршрутизация документов).

Поддержка множества протоколов.

Доступ к почте через интернет.

Реализация Lightweight Directory Access Protocol (LDAP)v3.

HTML в почте.

Защищенные протоколы передачи.

Шифрование и цифровая подпись.

Хранение произвольных типов документов.

Рекордная производительность на протоколах MAPI,POP3, IMAP4 и NNTP.

Exchange Server Enterprise Edition позволяет хранить неограниченный объем корреспонденции.

Симметричное мультипроцессирование.

Бэкап без остановки работы.

Автоматическое реконфигурирование.

Поддержка кластеров.


Microsoft Application Center 2000

Управление приложениями и серверами в кластере для оптимизации производительности, повышения надежности, обеспечения транзакционности

Управление приложениями

Масштабируемость

Отказоустойчивость

Изменение конфигурации кластера и анализ производительности каждого компьютера из общей консоли.

Удаленное администрирование через интернет.

Управление каждым приложением как единой «сущностью».

Автоматическая репликация приложений по серверам кластера.

Поддержка FrontPage и WebDAV для размещения контента.

ASP объекты для работы с пользователями, «спрятанными» за прокси-серверами.

Автоматическая настройка сервисов Windows 2000.

Распределение объектов COM+ в кластере.

Совместимость с аппаратными средствами балансировки нагрузки.

Автоматизация процесса создания, конфигурирования и исполнения кластеров приложений.

Программы-мастера для автоматизации рутинных процедур администрирования.

Перманентные процессы контроля производительности и состояния кластера.

Отсутствие аппаратного или программного блока, сбой которого мог бы вызвать останов обслуживания.

Обновление приложений без остановки сервиса.

Средства анализа интегральной производительности приложений.

Возможность задать реакцию на любое событие, включая аппаратные сбои.

Интеграция со средствами сетевого управления независимых поставщиков.

Поддержка событий WMI (Windows Management Instrumentation)для тесной интеграции с другими приложениями, поддерживающими WMI.

Microsoft Host Integration Server 2000

Сервер интеграции Интернета, интрасетей, клиент-серверных приложений с мэйнфреймами и другими хост-системами

Доступ к хост-системам

Интеграция приложений

Эффективное решение

Самый широкий в индустрии каталог мэйнфреймов и бизнес-компьютеров.

Широкий выбор сетевых протоколов.

Поддержка специализированных клиентов.

Автоматическая балансировка нагрузки.

Поддержка моделей безопасности хост-систем.

Выбор между TCP/IP и SNA решениями.

Универсальный «мост» для приложений.

Средства быстрой разработки.

Объектно-ориентированный подход к данным на мэйнфреймах.

Сквозная поддержка транзакций в среде с COM+, IBM CICS и IMS.

Интеграция с решениями других поставщиков.

До 30 тыс. параллельных сессий доступа к мэйнфрейму.

Визуальные средства инсталляции и настройки.

Возможность использования сервисов и системных утилит Windows 2000.

Поддержка WMI стандарта для средств администрирования.

Автоматическая синхронизация «паролей».

Microsoft Internet Security & Acceleration Server 2000

Защищенные соединения

Быстрый доступ к веб-ресурсам

Унифицированное управление

Средства защиты на всех уровнях — от пакетов до приложений.

Динамическая фильтрация пакетов.

«Прозрачная» работа с приложениями c использованием SecureNAT.

Частные виртуальные сети (VIP — Virtual Private Networking).

Комплексное распознавание атак.

Углубленный анализ специфичного для приложений трафика — HTTP, FTP, SMTP, H.323, медиапотоки, удаленные вызовы процедур и т.д.

Высокопроизводительное кэширование.

Объединение в кластеры для масштабирования кэша.

«Интеллектуальное» кэширование с учетом поведения пользователей.

Поддержка потоков медиа.

API для разработки специализированных программных приложений управления кэшированием.

Приоритетное выделение полосы пропускания пользователям, группам, приложениям, сайтам, типам контента.

Формирование политик доступа к интернет-ресурсам для пользователей, групп, приложений на основе расписаний, типов контента и источников.

Интеграция со средствами безопасности Windows 2000.

Визуальные средства настройки и мониторинга.

Детальные журналы событий и развитые средства генерации отчетов.

Удаленное администрирование.

Автоматическая реакция на события и разнообразные средства уведомления.

Что дает.NET...

...рынку

До появления.NET создание действительно всеобъемлющей информационной системы предприятия, надежной, расширяемой, объединяющей ранее установленные приложения, простой в освоении пользователями, способной обеспечить взаимодействие с партнерами:

  • требовало значительных затрат времени и ресурсов;
  • было сопряжено с непредсказуемым риском, вызванным несовместимостью продуктов или изменениями в политике небольших специализированных поставщиков решений;
  • предполагало поиск узких специалистов или изучение ИТ-персоналом предприятия множества плохо совместимых и ограниченно полезных в дальнейшем программных комплексов.

В работе над.NET Microsoft использует свой опыт создания таких продуктов, как семейство Windows и Microsoft Office. Они получили широкое признание, и их распространение значительно расширило круг предприятий, активно использующих графические интерфейсы и офисные приложения.

Платформа.NET призвана сыграть подобную роль в области приложений корпоративного уровня. Выпущенные для.NET продукты, политика кооперации с независимыми разработчиками и поставщиками сервисов, инвестиции Microsoft в разработку и обучение будут способствовать значительному росту рынка корпоративных информационных систем.

    Доступ к нужной информации всегда, везде, с любого устройства.

    Использование Интернета перестанет быть пассивной "прогулкой по ресурсам".

    Те операции, которые сейчас невозможно осуществить через Сеть или которые требуют многих часов напряженного труда, повторного ввода данных, владения множеством программных продуктов, будут выполняться почти мгновенно.

    Все ресурсы будут полностью адаптироваться к потребностям и предпочтениям каждого отдельного пользователя.

ИТ-специалисты предприятий будут в числе первых, кто почувствует выгоды от использования.NET. Целый ряд корпоративных серверов Платформы.NET уже доступен сегодня (SQL Server 2000, Exchange 2000, Commerce Server 2000, Host Integration Server 2000) или станет доступен в ближайшее время (BizTalk Server 2000, Application Center 2000, Internet Security & Acceleration Server 2000, Mobile Information 2001 Server).

Модульная структура.NET и ориентация на открытые стандарты обеспечат широкий выбор "строительных блоков" и удобство сборки из них корпоративных систем. Новая архитектура.NET гарантирует масштабируемость, необходимую самым крупным предприятиям.

Типичные задачи системных администраторов значительно упростятся, так как установка и обновление ПО будут заменены подпиской на сервисы, управление правами доступа будет унифицировано и централизовано, а освоение пользователями новых приложений потребует минимального обучения.

Решение задач, требующих сегодня специализированных продуктов и утомительных усилий, станет наглядным и даже приятным. Например, конструирование бизнес-процессов предприятия с учетом необходимости контроля полноты и корректности транзакций будет осуществляться бизнес-аналитиком прямо в Microsoft Visio 2000

Microsoft .NET переносит фокус с отдельных веб-серверов или специализированных информационных систем на создание среды, обеспечивающей их эффективное взаимодействие между собой и с пользователями.

NET - это повышение производительности труда сотрудников, снижение затрат на обучение персонала и сопровождение информационной системы, сохранение инвестиций в ранее установленное ПО и оборудование.

NET - пропуск предприятия на новые рынки и возможность быстрее освоить новые бизнесы, ключ к эффективной кооперации с партнерами и клиентами.

Можно выбрать самые разные модели использования информационных технологий - от создания собственной полномасштабной корпоративной информационной системы до аренды необходимых приложений в режиме ASP (Application Service Providing). Более того, .NET позволяет "смешивать" эти подходы, использовать их параллельно и переходить от одного к другому по мере надобности.

...разработчикам

Microsoft .NET развивает и объединяет концепции как операционных систем, так и Интернета, превращая построенную по открытым стандартам глобальную Сеть в операционную систему нового поколения.

NET позволяет приложениям и сервисам преодолевать ограничения отдельных физических устройств.

Разработчики могут расширять свои решения и инструментальные средства наиболее подходящими многократно используемыми компонентами, импортируемыми из Сети. Они могут сосредоточиться на проектировании элегантной архитектуры решения и не уделять столько внимания утомительному воспроизведению вспомогательных фрагментов кода, необходимого сегодня для простого связывания компонентов.

В то же время существующие технологии и инструменты Microsoft отнюдь не исчезнут в никуда. С ними сохранится необходимая совместимость. Имеющийся опыт будет весьма полезен при освоении новых возможностей.

Значение платформы.NET для разработчиков

Веб-службы XML

    При использовании платформы Microsoft .NET программный код встраивается в отдельные модульные элементы веб-службы XML, с помощью которых может решаться ограниченный набор задач. Поскольку стандартные интерфейсы, основанные на языке XML, упрощают связь между программами, веб-службы XML можно "сшивать" друг с другом, получая в результате специализированные приложения и вспомогательные программные средства. Благодаря этому ускоряется и упрощается процесс получения нужного решения, поскольку разработчики могут включать в него наиболее удачные и эффективные веб-службы XML, ранее уже созданные в различных странах мира. Корпорация Microsoft предоставляет базовый набор веб-служб XML (он получил название Microsoft .NET My Services), ориентированных на потребности пользователей и позволяющих выполнять такие функции, как идентификация пользователей и доступ к календарю.

Ускорение разработки

Набор веб-служб.NET My Services и другие службы, являющиеся компоновочными блоками.NET, обеспечивают реализацию базовых функций, необходимых для многих приложений - идентификацию пользователя, уведомления, список контактов и т.п., - не требуя создания для этого дополнительного программного кода.

Повышение надежности

Упорядочивая использование доступных в настоящее время ресурсов, влияющих на производительность системы и пропускную способность сети, платформа.NET позволяет в полной мере реализовать все преимущества распределенных компьютерных сред. Обработка данных выполняется там, где это наиболее целесообразно, независимо от того, где конкретно располагается веб-служба XML. В результате происходит перераспределение нагрузки на процессор и снижается сетевой трафик.

    Общая среда CLR обеспечивает повышенную управляемость, защиту от утечек памяти, нарушений доступа, снимает проблемы, связанные с несоответствием версий.

    Спецификация.NET Framework обеспечивает безопасное приведение типов, возможность совместного использования программного кода, изоляцию на уровне приложений, гарантирующую, что одна веб-служба XML не будет оказывать воздействие на другую или ошибочно ее вызывать.

Введение

Мы уже сообщали нашим читателям в новостной ленте о том, что в . Данное мероприятие всегда пользуется огромным вниманием среди разработчиков. Этот год, несмотря на высокую стоимость участия (20 тысяч рублей), не стал исключением. Участники предвкушали что-то особенное в этом году, потому что мероприятие было юбилейным - десятым. Проходило всё в традиционном месте - в здании Академии наук России. Корреспонденты THG побывали на "Платформе 2009" и посетили несколько интересных семинаров.

О мероприятии

До 2006 года включительно в России проводились два крупных мероприятия для разработчиков от ведущих западных компаний - Intel Developer Forum и "Платформа". Эти мероприятия действительно были полезны для профессионалов в области ИТ. После того, как компания Intel решила больше не проводить форум в России (и некоторых других странах), Microsoft, по сути, осталась единственной компанией, уделяющей огромное внимание к разработчикам в России.

На "Платформе" программисты и руководители ИТ-отделов не только получают информацию о новых технологиях и продуктах компании на семинарах, но и могут опробовать их на лабораторных работах. Также каждый может обсудить те или иные проблемы со своими коллегами за чашечкой чая или кофе, проконсультироваться у специалистов компании и экспертов (для этого организована специальная зона "Спроси у эксперта"). Все условия для общения на мероприятии созданы. Всего в этом году было проведено более 60 технических докладов по 9 тематическим секциям. Партнёры компании представили свои разработки на выставке, которая расположилась на трёх этажах здания РАН.

В этом году мероприятие посетили и высокие гости из компании Microsoft. Мероприятие открыл своим докладом старший вице-президент по технической стратегии Эрик Раддер (Eric Rudder). Ключевым докладчиком был признанный специалист в области операционных систем, член технологического совета корпорации Microsoft Марк Руссинович.

Нам удалось посетить два семинара, впечатления о которых мы вам сегодня и расскажем.

Платформа Microsoft Windows Embedded

Данный семинар показался нам весьма интересным. Тенденция к минимизации оборудования с непрерывным наращиванием функционала привела к потребности в операционных системах для встраиваемых решений.

Продукты Microsoft Windows Embedded - это семейство высокотехнологичных встраиваемых операционных систем для различных устройств, начиная от промышленных контроллеров реального времени и заканчивая сложными мультимедийными продуктами.

Докладчик Станислав Павлов представил посетителям развитие линейки продуктов Microsoft в данной области.

Всего корпорация предоставляет три решения в рамках платформы Windows Embedded: Windows Embedded Standard, Windows Embedded CE и Windows Embedded for Point of Service. Если первая обладает практически полной функциональностью Windows XP в плане функциональных возможностей и поддерживаемого оборудования, то две последние нацелены для применения в конкретных целях и с конкретным аппаратным обеспечением.

Нам очень интересна была новая версия Windows CE 6.0. В ней было переработано ядро, добавлена поддержка новых архитектур (ARM, MIPS). С поддержкой оборудования тут несколько сложнее, чем в Windows Embedded Standard. Чтобы благополучно адаптировать ОС на вашу аппаратную платформу необходимо наличие BSP (Board Support Platform) для ваших "железок".

Платформа благодаря модульной архитектуре позволяет тонко "затачивать" получаемый образ ОС под нужды аппаратной начинки. Для создания образа используется инструментальная среда Microsoft Windows Embedded Studio.

На наших глазах Станислав Павлов буквально за 25 минут получил прототип образа для собственного ноутбука, в котором содержится необходимый набор драйверов и базовая функциональность.

Доклад нам очень понравился, технический уровень был на высоте. Нас это так заинтересовало, что мы по окончании сразу же направились к стенду Microsoft Windows Embedded, где были представлены прототипы устройств и демонстрация Windows CE 6.0 на терминальной станции. Каждый желающий мог заполнить небольшую анкету и получить книги Станислава Павлова по Embedded-системам Microsoft.

Станислав Павлов, один из лучших специалистов в области встраиваемых систем Microsoft. Напротив стенда с прототипами устройств. Нажмите на картинку для увеличения.


Что такое современная технологическая платформа Microsoft?

Все прекрасно знают операционную систему Windows и ряд других продуктов и технологий, например, инструментальную среду разработки ПО Visual Studio. Попытки описания платформы Microsoft в виде архитектурных диаграмм часто приводят к сложным прямоугольным конструкциям, которые далеко не всегда являются очевидными и легко понимаемыми. Причина – большое количество технологий, уровней интеграции и взаимозависимостей. Однако интенсивное развитие мира ИТ требует более простого и четкого языка, особенно в свете важных индустриальных трендов, уже начинающих трансформировать нашу индустрию. Этими трендами являются:

  1. HTML 5
  2. Облачные вычисления
  3. Расширение аудитории разработчиков

HTML 5 становится все более популярен, так как позволяет реализовывать в веб-разработке принципиально другой уровень интерактивности приложений, соответствующий современным требованиям работы с медиа-источниками и векторной визуализацией. Десятки, а возможно, и сотни миллионов веб-разработчиков, знающих HTML и JavaScript, получают возможность реализовать свой талант, создавая гораздо более функциональные приложения, чем раньше. Как когда-то для определенного поколения Basic и потом Visual Basic, HTML 5 становится способом значительно расширить количество людей, создающих приложения. HTML 5 является важным приоритетом для Microsoft.

Облачные вычисления – ключевой индустриальный тренд за последнее время, когда вместо разворачивания ИТ-сервисов внутри организации, для этого используется облачная платформа. Это экономит большое количество времени и ресурсов, которые могли бы понадобиться при локальном разворачивании сервисов, а также обеспечивает «эластичность» – возможность облачного сервиса быстро адаптироваться к большому росту нагрузки или её снижению. Рынок облачных вычислений является сейчас одним из наиболее быстрорастущих в ИТ-индустрии.

Расширение аудитории разработчиков происходит, во-первых, за счет того, что знакомиться с ИТ люди стали значительно раньше за счет проникновения ИТ во все сферы жизни, и, во-вторых, из-за того, что технологии разработки ПО становятся проще и оперируют все более высокоуровневыми объектами. Если раньше для вывода изображения на экран надо было писать в буфер памяти и самому просчитывать способы отображения различных фигур, то сейчас есть объектные описания сложнейших анимаций или визуальных элементов, которые позволяют обеспечить отрисовку простым добавлением объекта на экран разработки интерфейса приложения. Появляются примеры успеха очень юных разработчиков, например, 10-летняя Hannah Wyman, выигравшая Kodu Cup в США (визуальное программирование с помощью Xbox 360). Также известен пример игры Bubble Ball, созданной 14-летним разработчиком, которую загрузили более 12 млн раз.

4.1. Основы платформы Microsoft.Net Framework

4.2. Введение в среду Common Language Runtime

4.3. Преимущества платформы MS.Net

4.4. Поддержка средств распределенной разработки

4.5. Сервисы и интерфейс программной компоненты

4.6 Среда Microsoft Message Queuing (MSMQ)

4.7. Net Remoting

4.1. Основы платформы.Net Framework

Одной из задач, стоящих перед разработчиками Microsoft, создающими так называемую общеязыковую инфраструктуру (Common Language Infrastructure, CLI ), так же известную как.NET, была наиболее полная поддержка средств разработки распределенных систем. Поэтому в платформе разработки приложений Microsoft.NET Framework имеется встроенная поддержка четырех взаимосвязанных технологий, предназначенных для использования в распределенных системах:

очередей сообщений (messaging queues ),

объектов COM+,

веб-сервисов (web services ).

объектов.NET Remoting,

Каждая из данных технологий имеет свои достоинства, недостатки и особенности применения при построении распределенных приложений.

Под платформой Microsoft.NET Framework следует понимать интегрированную систему (инфраструктуру ) средств разработки, развертывания и выполнения сложных (как правило, распределенных) программных систем.

Платформа.NET состоит из нескольких основных компонентов (см. рис. 4.1):

Рис. 4.1 Платформа Microsoft.NET

    − операционные системы корпорации Microsoft (Windows 2000/XP/ME/CE), представляющие собой базовый уровень платформы MS.Net,

    Серверы MS.Net (.Net Enterprise Servers) являются программными продуктами корпорации Microsoft, использование которых позволяет снизить сложность разработки сложных программных систем. В числе готовых для применения серверы Application Center 2000, Exchange Server 2000, SQL Server и др.,

    − сервисы MS.Net (.Net Building Block Services) представляют собой готовые "строительные блоки" сложных программных систем, которые могут быть использованы через Интернет как сервисные услуги. Набор таких сервисов MS.Net планируется последовательно расширять. Примером имеющегося сервиса платформы MS.Net является Microsoft Passport, позволяющий установить единое имя пользователя и пароль на всех сайтах, поддерживающих аутенфикацию через Passport,

    − интегрированная среда разработки приложений Visual Studio.NET (VS.Net) – верхний уровень MS.Net - обеспечивает возможность создания сложного ПО на основе платформы и продолжает в этом плане ряд разрабатываемых корпорацией Microsoft средств разработки профессионального программного обеспечения.

Подсистема MS.NET Framework является ядром платформы MS.Net, обеспечивая возможность построения и исполнения.Net приложений.

Рис. 4.2 Архитектура MS . NET Framework

В состав MS.NET Framework входит: общеязыковая среда выполнения (Common Language Runtime или CLR) и библиотеки классов подсистемы MS.NET Framework. По своему функциональному назначению в составе библиотек классов могут быть выделены:

− набор базовых классов, обеспечивающих, например, работу со строками, ввод-вывод данных, многопоточность и т.п.,

− набор классов для работы с данными, предоставляющих возможность использования SQL-запросов, ADO.Net и обработки XML данных,

− набор классов Windows Forms , позволяющих создавать обычные Windows-приложения, в которых используются стандартные элементы управления Windows,

− набор классов Web Forms , обеспечивающих возможность быстрой разработки Web-приложений, в которых используется стандартный графический интерфейс пользователя,

− набор классов Web Services , поддерживающих создание распределенных компонентов-сервисов, доступ к которым может быть организован через Интернет.

Базовый уровень подсистемы MS.NET Framework составляет общеязыковая среда выполнения (Common Language Runtime или CLR).

За прошедшие десятилетия было создано множество технологий, призванных облегчить создание архитектуры и реализацию исходного кода приложений. Многие технологии предусматривают абстрагирование, которое позволяет разработчикам сосредоточиться на решении предметных задач, меньше думая об особенностях аппаратного обеспечения и операционных систем.

Целью данной работы является дать краткое описание платформы Microsoft. NETF ramework, ее структуры и принципов работы, показать ее преимущества и недостатки перед другими существующими технологиями, а также последние нововведения в платформу и перспективы ее развития.

Платформа NETF ramework ставит своей целью предоставить разработчикам возможность создавать код на любом языке по собственному выбору. При этом платформа обеспечивает максимальную интеграцию всех компонентов, даже если они были написаны на разных языках.

Единая модель программирования, API-интерфейс и язык программирования – большой шаг вперед в области технологий абстрагирования и огромная помощь разработчикам в их работе. Все функции NETF ramework направлены на то, чтобы оставить в прошлом проблемы интеграции, что значительно упростило тестирование, развертывание, администрирование, управление версиями, повторное использование и переориентацию кода на выполнение других задач.


Обзор платформы Microsoft NETF rameworkследует начать с обзора уже существующих альтернативных технологий, призванных облегчить создание архитектуры и реализацию исходного кода приложений. Некоторые примеры таких технологий:

Microsoft Foundation Class (MFC) – уровень абстрагирования, служащий в языке C++ для программирования графического пользовательского интерфейса для операционных систем Windows. Используя MFC, разработчики могут больше внимания уделить самой программе и меньше заниматься циклами обработки сообщений, оконными процедурами, классами окон и т. п. .

Java и J 2 EE – полностью объектно-ориентированный, межплатформенный язык программирования и платформа на его основе для создания приложений уровня предприятия. Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) – программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор, но с тем отличием, что байтовый код, в отличие от текста, обрабатывается значительно быстрее.

ActiveServerPages (ASP) – служит для абстрагирования при создании активных и динамических Web-сайтов с использованием VisualBasicScript или JScript. Эта технология позволила разработчикам абстрагироваться от особенностей сетевых взаимодействий и больше внимания уделять содержанию Web-страниц.

ActiveTemplateLibrary (ATL ) – уровень абстрагирования, облегчающий создание компонентов, которые доступны для использования специалистами, работающими с различными языками программирования.

Все эти технологии абстрагирования создавались, чтобы разработчики могли забыть о технических деталях и сосредоточиться на конкретных вещах, будь то приложения с графическим пользовательским интерфейсом, Web-приложения или компоненты. Несмотря на то, что эти технологии значительно облегчали работу, они требовали от программиста осваивать массу материала. Также различные технологии разрабатывались без расчета на совместное использование, и разработчики сталкивались с необходимостью решать непростые проблемы интеграции.

В отличие от вышеописанных технологий, платформа NETF ramework ставит своей целью предоставить разработчикам возможность создавать код на любом языке по собственному выбору. При этом платформа обеспечивает максимальную интеграцию всех компонентов, даже если они были написаны на разных языках.

Все функции NETF ramework направлены на то, чтобы оставить в прошлом проблемы интеграции, что значительно упростило тестирование, развертывание, администрирование, управление версиями, повторное использование и переориентацию кода на выполнение других задач.


2. Описание платформы NET Framework

При проектировании платформы Net Framework, компания Microsoft учла недостатки существующихWindows-платформ.NET Framework состоит из двух частей: общеязыковой исполняющей среды (commonlanguageruntime, CLR) и библиотеки классов (Framework Class Library, FCL). CLR предоставляет модель программирования, используемую во всех типах приложений. У CLR собственный загрузчик файлов, диспетчер памяти (сборщик мусора), система безопасности (безопасность доступа к коду), пул потоков и многое другое. Кроме того, CLR предоставляет объектно-ориентированную модель программирования, определяющую, как выглядят и ведут себя типы и объекты. FCL предоставляет объектно-ориентированный API-интерфейс, используемый всеми моделями приложений. В ней содержатся определения типов, которые позволяют разработчикам выполнять ввод/вывод, планирование задач в других потоках, создавать графические образы, сравнивать строки и т. п. Естественно, что все эти определения типов соответствуют существующей модели программирования в CLR. Ниже представлен список возможностей и преимуществ платформы NET:

Полное и абсолютное межъязыковое взаимодействие. В.NET Framework.Поддерживаются межъязыковое наследование, межъязыковая обработка исключений и межъязыковая отладка.

Общая среда выполнения для любых приложений.NET, вне зависимости от того, на каких языках они были созданы. Один из важных моментов при этом то, что для всех языков используется один и тот же набор встроенных типов данных.

Единая программная модель. В отличие от существующего подхода, когда одни функции операционной системы доступны через процедуры динамически подключаемых библиотек (DLL), а другие - через СОМ-объекты, весь прикладной сервис представлен общей объектно-ориентированной программной моделью.

Упрощенная модель программирования. Избавляет от работы с разными структурами, как это было с Win32 и СОМ. Так, разработчику не нужно разбираться с реестром, глобальными уникальными идентификаторами (GUID), IUnknown, AddRef, Release, HRESULT и т. д.

Отсутствие проблем с версиями. Все Windows-разработчики знают о проблемах совместимости версий, известных под названием «DLL hell». Эта проблема возникает, когда компоненты, устанавливаемые для нового приложения, заменяют компоненты старого приложения, и в итоге последнее начинает вести себя странно или перестает работать. Архитектура.NET Framework позволяет изолировать прикладные компоненты, так что приложение всегда загружает компоненты, с которыми оно строилось и тестировалось. Если приложение работает после начальной установки, оно будет работать всегда.

Упрощенное развертывание. Ранее Windows-приложения было очень трудно устанавливать и разворачивать: обычно нужно было создать массу файлов, параметров реестра и ярлыков. К тому же полностью удалить приложение практически невозможно. С приходом NET Framework все эти проблемы остаются в прошлом. Компоненты NET Framework не связаны с реестром. Установка приложений NET Framework сводится лишь к копированию файлов в нужные каталоги и созданию ярлыков. Удаление же приложений сводится к удалению файлов.

Работа на многих платформах. При компиляции кода для.NET Framework компилятор генерирует код на общем промежуточном языке (CommonItermediateLanguage, CIL), а не традиционный код, состоящий из процессорных команд. При исполнении CIL транслируется в команды процессора. Поскольку трансляция выполняется в период выполнения, генерируются команды конкретного процессора. Это значит, что можно развертывать свое приложение NET Framework на любой машине, где работает версия.NET Framework соответствующая стандарту ЕСМА: с архитектурой х86, х64, IA64 и т. д.

Интеграция языков программирования. Технология СОМ поддерживает взаимодействие разных языков – .NET Framework обеспечивает интеграцию разных языков, то есть один язык может использовать типы, созданные на других языках. Например, .NET Framework позволяет создать на C++ класс, производный от класса, реализованного на VisualBasic. В CLR это возможно из-за наличия общей системы типов (Common Type System, CTS), которую должны использовать все языки, ориентированные на CLR. Общеязыковая спецификация (Common Language Specification, CLS) определяет правила, которым должны следовать разработчики компиляторов, чтобы их языки интегрировались с другими. Сама Microsoft предлагает несколько таких языков: C++/CLI (C++ с управляемыми расширениями), С#, VisualBasic NET. Кроме того, другие компании и учебные заведения создают компиляторы других языков, совместимых с CLR.

Упрощенное повторное использование кода. Все описанные выше механизмы позволяют создавать собственные классы, предоставляющие сервис сторонним приложениям. Теперь многократное использование кода становится исключительно простым и создается большой рынок готовых компонентов (типов).

Автоматическое управление памятью (сбор мусора). Программирование требует большого мастерства и дисциплины, особенно когда речь идет об управлении использованием ресурсов (файлов, памяти, пространства экрана, сетевых соединений, ресурсов баз данных и прочих). Одна из самых распространенных ошибок - небрежное отношение к освобождению этих ресурсов, что может привести к некорректному выполнению программы в непредсказуемый момент. CLR автоматически отслеживает использование ресурсов, гарантируя, что не произойдет их утечки.

Проверка безопасности типов CLR может проверять безопасность использования типов в коде, что гарантирует корректное обращение к существующим типам. Если входной параметр метода объявлен как 4-байтное значение, CLR обнаружит и предотвратит передачу 8-байтного значения в качестве значения этого параметра. Безопасность типов также означает, что управление может передаваться только в определенные точки (точки входа методов). Невозможно указать произвольный адрес и заставить программу исполняться, начиная с этого адреса. Совокупность всех этих защитных мер избавляет от многих распространенных программных ошибок (например, от возможности использования переполнения буфера для «взлома» программы).

Развитая поддержка отладки. Поскольку CLR используется для многих языков, можно написать отдельный фрагмент программы на языке, наиболее подходящем для конкретной задачи, – CLR полностью поддерживает отладку многоязыковых приложений.

Единый принцип обработки сбоев. Один из самых неприятных моментов Windows-программирования – несогласованный стиль сообщений о сбоях. Одни функции возвращают коды состояний Win32, другие – HRESULT, третьи генерируют исключения. В CLR обо всех сбоях сообщается через исключения, которые позволяют отделить код, необходимый для восстановления после сбоя, от основного алгоритма. Такое разделение облегчает написание, чтение и сопровождение программ. Кроме того, исключения работают в многомодульных и многоязыковых приложениях. И в отличие от кодов состояний и HRESULT исключения нельзя проигнорировать. CLR также предоставляет встроенные средства анализа стека, заметно упрощающие поиск фрагментов, вызывающих сбои.

Безопасность. Традиционные системы безопасности обеспечивают управление доступом на основе учетных записей пользователей. Это проверенная модель, но она подразумевает, что любому коду можно доверять в одинаковой степени. Такое допущение оправданно, когда весь код устанавливается с физических носителей (например, с компакт-диска) или с доверенных корпоративных серверов. Но по мере увеличения объема мобильного кода, например Web-сценариев, приложений, загружаемых из Интернета, и вложений, содержащихся в электронной почте, нужен ориентированный на код способ контроля за поведением приложений. Такой подход реализован в модели безопасности доступа к коду.

Взаимодействие с существующим кодом. В Microsoft понимают, что разработчики накопили огромный объем кода и компонентов. Переписывание всего этого кода, так чтобы он задействовал все достоинства NET Framework, значительно замедлило бы переход к этой платформе. Поэтому в.NET Framework реализована полная поддержка доступа к СОМ-компонентам и Win32-функциям в существующих динамических библиотеках DLL.



4. Новые возможности платформы. NETFramework 4.0

В 2010 году компанией Microsoft была выпущена платформа NET Framework 4.0. Эта платформа содержит ряд усовершенствований и нововведений. Список некоторых из них представлен ниже:

Среда DLR. Среда DLR представляет собой новую среду выполнения, которая расширяет среду CLR дополнительным набором служб для динамических языков. Среда DLR упрощает разработку динамических языков, используемых в NETF ramework и добавляет динамические функции в языки со статической типизацией. Для поддержки среды DLR в платформу NETF ramework добавлено новое пространство имен System.Dynamic.

Сборка мусора. Платформа NETF ramework 4 обеспечивает фоновый сбор мусора. Эта функция заменяет параллельный сбор мусора в предыдущих версиях и обеспечивает повышенную производительность.

Managed Extensibility Framework. Платформа Managed Extensibility Framework (MEF) – это новая библиотека в NETF ramework 4, полезная при создании расширяемых и комбинируемых приложений. MEF позволяет указывать точки, где приложение может быть расширено, предоставлять доступ к службам другим расширяемым приложениям и создавать части, предназначенные для использования расширяемыми приложениями. Она также позволяет легко обнаруживать доступные части на основе метаданных без необходимости загрузки сборок с этими частями.

Возможности программирования для Office. Благодаря добавлению именованных и дополнительных аргументов, типа dynamic, индексированных свойств и дополнительных модификаторов ref удалось значительно улучшить доступ к COM-интерфейсам, в том числе к API-интерфейсам автоматизации Office.

Поддержка эквивалентности типов. Теперь можно развертывать приложения с внедренными сведениями о типах, а не со сведениями, импортированными из основной сборки взаимодействия. Приложение, содержащее внедренные сведения о типах, может использовать типы в среде выполнения, не ссылаясь на сборку среды выполнения. Если опубликовано несколько версий сборки среды выполнения, приложение, содержащее внедренные сведения о типах, может работать с различными версиями без перекомпиляции.

Ковариация и контрвариация. Ковариация позволяет использовать более производный тип, чем это указано в универсальном параметре, тогда как контрвариация позволяет использовать менее производный тип. Благодаря этому можно осуществлять неявное преобразование классов, реализующих вариантные интерфейсы, и обеспечивать большую гибкость при сопоставлении сигнатур методов с типами вариантных делегатов.

Платформа NET Framework теперь поддерживает файлы с отображением в памяти. С их помощью можно вносить изменения в очень большие файлы и создавать совместно используемую память для межпроцессного взаимодействия .


Заключение

В работе было изложено описание архитектуры, структуры и принципов работы платформы Microsoft NET Framowork. Были рассмотрены преимущества и недостатки данной платформы в сравнении с другими уже существующими решениями. Можно сделать вывод, что платформа Microsoft NET Framework в свое время явилась большим достижением в области разработки программного обеспечения, предоставляя уникальные инновационные возможности.

Также необходимо отметить, что с момента выпуска первой версии платформы NET Framework 1.0 она претерпела некоторые изменения и много дополнений, которые также призваны повысить эффективность разработки. Компания Microsoft продолжит развитие своей платформы и в будущем.

Таким образом, платформа Microsoft NET Framework является прекрасной универсальной платформой для разработки многочисленных типов программных средств, начиная от простых настольных программ, заканчивая сложными корпоративными системами и серверами.


Список использованных источников

1. Рихтер, Джефри. CLRviaC#. Программирование на платформе Microsoft NET Framework 2.0 на языке C#. – Питер, Русская Редакция, 2007 г. – 656 с.

2. Троелсен, Эндрю. С# 2008 и платформа.NET 3.5 Framework. 4-е изд. - М.: Вильямс, 2009. – 1168 с.

3. Рихтер Джефри. Программирование на платформе Microsoft NET Framework. – Питер, Русская Редакция, 2005 г. – 486 с.

4. Новые возможности NET Framework [Электронный ресурс] / MSDN – Электронные данные – Режим доступа: http://msdn.microsoft.com/ru-ru/library/ms171868.aspx.

Еще из раздела Информатика, программирование:

  • Реферат: Проектирование математического и программного обеспечения
  • Курсовая работа: Розробка алгоритму операційного автомату, синтез керуючого автомату з жорсткою логікою типу Мілі
Похожие статьи