White Papers

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

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

Интернет

Наступает эпоха .NETВерсия для печати

Анонсированная в июле 2000 года Microsoft .NET представляет собой платформу для Web-служб на базе языка XML. Сейчас она проходит бета-тестирование, а ее выпуск запланирован на конец текущего — начало следующего года.

Бертран Мейер

Анонсированная в июле 2000 года Microsoft .NET представляет собой платформу для Web-служб на базе языка XML. Сейчас она проходит бета-тестирование, а ее выпуск запланирован на конец текущего — начало следующего года. .NET играет центральную роль в стратегии Microsoft, направленной на интеграцию Internet-приложений, Web-служб и их компонентов, многочисленных инструментов для разработчиков и массы других средств.

В этой статье речь пойдет о появлении предназначенной для построения Web-служб платформы Microsoft .NET. Хотя статья оказалась значительно больше по размеру тех очерков, которые наше издание обычно публикует в рубрике «Программные технологии», я убежден, что в данном случае многословие оправданно, поскольку данная технология обещает оказать серьезное и долговременное влияние на отрасль разработки программного обеспечения. Мы все надеемся, что читателей эта тема заинтересует не меньше нас. Майкл Лутц, редактор журнала Computer

Как ни странно, но эта программная платформа следующего поколения не привлекла к себе такого внимания, как Java в эпоху своего триумфа. А ведь во многих отношениях .NET намного более значительное явление. Между тем деловая пресса, со своей стороны, не упустила из виду важность этой технологии: и Business Week (30 октября 2000 года), и The Economist (январь 2001 года) отвели под описание .NET немало места.

Заблуждение или будущее?

Вероятно именно диапазон охвата, на который претендует .NET, ввел в заблуждение некоторых технических обозревателей и вызвал у них сомнение в возможности воплотить все это в жизнь. Один из обозревателей, считающих иначе, — Джон Дворак, который еще в ноябре 2000 года в своей колонке в PC Magazine писал, что «.NET окружает слишком большая неопределенность и наукообразие, чтобы можно было разобраться в том, что же действительно она собой представляет. Не уверен, что и в самой компании — или кто-либо другой до конца понимают, что такое .NET. И, тем не менее, с ней уже связано тягостное чувство неудачи».

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

Другие оказались более проницательными. Например, в заключении Patricia Seybold Group говорится, что «.NET — прекрасный пример того, что, по нашему мнению, станет доминирующей архитектурной моделью для третьего поколения Internet-приложений, и она представляет серьезную угрозу для многих конкурентов Microsoft».

Чем НЕ является .NET

Описание .NET полезно начать с того, чем эта платформа не является. Это не операционная система и не язык программирования. Операционные системы Microsoft продолжают собственную эволюцию — Windows 2000, Me, XP, CE для встроенных устройств — хотя и можно ожидать того, что компоненты .NET будут проникать в нижележащую ОС. Что касается языков программирования, то .NET представила новый язык программирования C# («Си-диез»), но и он не является тем, на чем сфокусирована технология. Это просто средство реализации базовой нотации для программирования в среде .NET.

С технической точки зрения язык C# очень похож на Java, а включенные в него расширения аналогичны механизмам, реализованным в средах разработки Borland Delphi и Microsoft Visual J++. Данные расширения включают в себя аппарат «свойств» (properties), являющийся попыткой компенсировать недостатки средств упрятывания информации Java и модель программирования на базе событий, которая использует понятие «делегатов» (delegates) — объектных оберток функций, применяемых в графическом пользовательском интерфейсе и Web-приложениях.

При том что C#, скорее всего, станет серьезным конкурентом Java, он создавался не с целью заменить все существующие языки. Фактически, этому препятствует сама Microsoft, инвестируя в Visual Basic (по последним оценкам, им пользуется 6 млн. разработчиков) и C++.

Действительной отличительной особенностью .NET является ее независимость от языка. Помимо языков, которые поддерживает Microsoft, она открыта для множества других, в том числе таких, как Cobol, Eiffel, Fortran, Perl, Python, Smalltalk, а также ряда исследовательских языков, от ML до Haskell и Oberon. В отличие от других представителей отрасли, Microsoft не стремится перевести мир на новый язык.

Архитектура .NET

Так что же такое .NET? Можно дать следующее обобщенное определение: «Открытая для разных языков платформа для корпоративных и Web-разработок». Ее цель состоит в том, чтобы предоставить абстрактную машину для профессиональных разработчиков, подходящую как для традиционных (клиент-серверных, n-звенных), так и для Web-ориентированных приложений. На рис. 1 показаны шесть уровней общей структуры платформы.

Рис. 1. Элементы архитектуры .NET.

Web-службы. Самый верхний уровень предоставляет пользователям .NET — индивидуальным и корпоративным — Web-службы для электронной коммерции и приложений категории business-to-business.

Оболочки и библиотеки. Набор оболочек и библиотек представляет, пожалуй, самый большой интерес для разработчиков. В него входят ASP.NET, активные серверные страницы для разработки интеллектуальных Web-сайтов и служб; ADO.NET, дополнение на базе языка XML к ActiveX Data Objects для объектно-реляционной обработки и баз данных; Windows Forms для работы с графикой. Всего .NET содержит тысячи повторно используемых компонентов.

Стандарты обмена. Стандарты обмена на базе XML служат в качестве платформно-независимых средств передачи объектов. Самое важное — это SOAP (Simple Protocol Access Protocol — «простой протокол доступа к объектам»), становящийся все более популярным способ кодирования объектов, и WSDL (Web Services Description Language — «язык описания Web-служб»).

Среда разработки. Visual Studio.Net — инструментарий самого прямого пользования. Единая среда разработки служит для создания, компиляции, просмотра и отладки программ, написанных на различных языках. Эта среда, созданная на основе Visual Studio и расширенная за счет API-интерфейса, не только поддерживает реализованные Microsoft языки, такие как Visual C++, Visual Basic и C#, но и позволяет сторонним фирмам подключать инструментальные средства и компиляторы для других языков.

Компонентная модель. До появления .NET уже существовало три претендента на роль лидера в области моделей и стандартов для разработки на основе компонентов: CORBA от Object Management Group, J2EE корпорации Sun и COM корпорации Microsoft. Платформа .NET явила еще одну модель, опирающуюся на идеи объектной ориентации. С помощью .NET можно создать «сборочные модули» (assemblies), каждый их которых состоит из нескольких классов с четко определенными интерфейсами. Эта модель существенно отличается от COM, хотя и предоставляет способ преобразования из COM. Основными ее достоинствами являются простота и отсутствие языка определения интерфейсов IDL (Interface Description Language).

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

Единая языковая среда. Предоставляет базовый набор механизмов для исполнения .NET-программ, вне зависимости от языка, на котором они были написаны: преобразование в машинный код («интеллектуальное инкрементальное преобразование», или jitting), загрузка, механизмы защиты, управление памятью (в том числе сборка мусора), контроль версий и интерфейс с кодом, созданным не для .NET.

.NET предлагает эти возможности для широкого диапазона аппаратных и программных платформ, от высокоуровневых серверов и Web-ферм до настольных ПК, телефонов, PDA и других беспроводных устройств и Internet-приставок.

Выгоды .NET

Пользователи и разработчики могут рассчитывать на то, что распространение .NET даст им немало выгод. На многих самое глубокое впечатление произведет оболочка ASP.NET. Это не просто эволюция технологии активных серверных страниц ASP (Active Server Pages), имеющейся в Windows. Это новая разработка, которая дает инструментарий для создания интеллектуальных Web-сайтов с широкими возможностями программирования. Демо-версия ASP.NET, размещенная по адресу http://dotnet.eiffel.com на сайте компании Interactive Software Engineering, посвященном использованию Eiffel в .NET, иллюстрирует некоторые из самых ярких черт этой оболочки.

  • Ориентированные на Web элементы управления в ASP.NET реализуют пользовательский интерфейс, аналогичный современным GUI-средам, не рассчитанным на Web, и намного превосходящий то, что предлагает HTML. Обладая широкими возможностями, от буксировки до проверки вводимой информации, эти элементы управления позволяют создавать Web-страницы, которые выглядят как современный графический пользовательский интерфейс, проектировавшийся без оглядки на Web.
  • Элементы управления, поддерживаемые по умолчанию на стороне сервера, позволяют получить зависящий от браузера рендеринг — выводимая информация автоматически настраивается в соответствии с используемым на стороне клиента программным обеспечением. Некоторые операции могут выполняться на стороне клиента, например, если посетитель Web-сайта использует новейшую версию Internet Explorer или браузер, рассчитанный на динамический HTML или JavaScript. По умолчанию сервер поддерживает взаимодействие и отображает все в терминах «плоского» HTML.
  • ASP.NET берет на себя реализацию одного из самых тонких моментов обработки запросов в Web: поддержку состояния клиента. HTTP — протокол, который не сохраняет состояние, но любой реальный Web-интерфейс, например, корзина для покупок, должен сохранять клиентскую информацию при переходе от одной отображаемой страницы к другой. ASP.NET поддерживает состояние сеанса, не храня клиентской информации на сервере, и тем самым освобождает разработчиков от необходимости использовать громоздкие технологии для того, чтобы делать это вручную, такие как кодирование URL, скрытые поля и cookies.
  • В паре с оболочкой ADO.NET, которая отвечает за управление соединениями с базами данных, ASP.NET позволяет настроить часть Web-страницы таким образом, чтобы напрямую отображать содержимое таблицы базы данных, причем без выполнения каких-либо ручных операций. Каждый, кому приходилось кодировать HTML-таблицы для вывода содержимого баз данных, оценит эту возможность.
  • Поскольку ASP.NET напрямую связана с объектной моделью .NET, компиляторами и механизмами времени исполнения, код, относящийся к Web-странице, может быть частью приложения, и в полной мере использовать преимущества таких механизмов, как защита, управление версиями, jitting, причем применительно ко всему разнообразию языков, которые поддерживает .NET. Аппарат версионности позволяет проводить обновление на лету. Страница просто заменяется своей новой версией, которая затем автоматически компилируется, при этом не возникает необходимости останавливать работу сервера или перезапускать его.

1 2 3

06.12.2001г


Также в разделе:

Новости ОСП-ТВ - 14.03.10



Содержание

Современные архитектуры

Новость

Руководителю проекта

Разработчику

Книги

Системы управления базами данных

Советы и мнения

Интернет

Операционные системы

Книжная полка ОС

Академия ОС

Программная инженерия

Приложения

Разное

Менеджмент ИТ

Платформы

Новости

От редакции



Эта рубрика в архиве
Список номеров за

OSP.RU :: Написать письмо.