Корпорация провела в Москве DevDays 2000 .NET — конференцию для разработчиков

Александр Ложечкин, системный аналитик Digital Design: «Думаю, изобретатели ?мыла? и ?веревки? обладают незаурядным чувством юмора»

Если прошедший в середине ноября форум Microsoft «Платформа 2001» был ориентирован на руководителей и менеджеров ИТ-подразделений, то состоявшаяся в конце ноября конференция DevDays 2000 .NET оказалась явно нацелена на другой слой ИТ-специалистов — на разработчиков. Конференция посвящена подробному знакомству с технологией .NET Framework, средствами интеграции приложений с помощью XML, а также особенностями проектирования Web-приложений. По словам организаторов, мероприятия DevDays 2000 .NET проходят не только в России, но и далеко за ее пределами и охватят в общей сложности около 100 тыс. специалистов.

По замыслу Microsoft, архитектура .NET должна обеспечить широкие возможности для интеграции различных приложений и технологий посредством Web. Для этого Паутина должна превратиться в огромную объектную среду: на множестве Web-серверов будут располагаться приложения, предоставляющие различные наборы услуг примерно так же, как это делают объекты. Доступ к этим приложениям станет возможен как с других серверов, так и с клиентских устройств различной архитектуры — от ПК до сотовых телефонов и прочих мобильных устройств.

Уже разработан и отправлен на сертификацию в консорциум W3C язык SOAP (Simple Object Access Protocol, его аббревиатура совпадает с английским словом «мыло»). Этот основанный на XML язык «ложится» поверх HTTP или SMTP. Стандарт SOAP включает в себя три основных раздела: SOAP Discovery — протокол, обеспечивающий получение списка услуг, которые способен предоставить запрашиваемый сетевой узел; SOAP Contract Language (SCL) — язык, служащий для описания отдельных услуг узла, и собственно SOAP, предназначенный для вызова услуг. Инструментальный пакет Microsoft SOAP Toolkit включает в себя DLL-библиотеку ROPE (Remote Object Proxy Engine, аббревиатура переводится дословно как «веревка»), обеспечивающую базовую функциональность и инфраструктуру для создания Web-служб, используя привычные методы программирования и интеграцию с COM-объектами.

Ядром архитектуры .NET, представляющей собой, по сути, новый шаг в эволюции концепции DNA (Distributed interNet Applications), должна стать технология .NET Framework. Она обеспечит выполнение приложений, написанных или адаптированных для .NET. Собственно средой для работы .NET-приложений станет Common Language Runtime (CLR). Судя по рассказам Дмитрия Старостина, инженера московского офиса Microsoft, и Антона Смольянинова, технического специалиста компании Digital Design, CLR — это своего рода аналог виртуальной Java-машины (JVM), предназначенной для выполнения программ на языке Microsoft Intermediate Language. Принципиальное отличие CLR от JVM состоит в том, что все приложения в этой среде выполняются только откомпилированными, никакого механизма интерпретации не предусматривается. В .NET Framework входит, в частности, библиотека базовых классов Unified Programming Classes и усовершенствованная среда для создания серверных Web-приложений Active Server Pages+ (ASP+).

В рамках .NET Framework иным явится понятие приложения. Программы станут самодокументированными и самодостаточными. Они будут содержать внутри себя не только код реализации, но и всю информацию о самих себе, включая описания свойств, методов, типов данных, структуры приложения, списки файлов, ссылки на другие приложения и пр. Кроме того, вся информация об установленном приложении хранится не разрозненно (частично — в реестре Windows, частично — в других файлах и подсистемах ОС), а в едином хранилище — в самом приложении. Для этого используется механизм метаданных.

Технология разработки приложений для среды исполнения программ CLR существенно отличается от привычных методов. CLR дает возможность вести разработку сразу на нескольких языках программирования — C++, C#, Java Script, Кобол, Perl, Python, Eiffel и пр. (поддержка Java не предполагается). CLR накладывает определенные ограничения на разработчиков. В частности, рекомендуется использовать только те языковые конструкции, которые поддерживаются средой CLR. Готовые приложения компилируются в код MSIL. Входящий в CLR компилятор Just-In-Time преобразовывает код MSIL в код, способный выполняться на конкретной платформе, обеспечивая при этом динамическую компиляцию. Кроме компилятора в среду исполнения входят службы взаимодействия приложений, обеспечения безопасности и «сборки мусора». Поддерживается интеграция готовых приложений с объектами COM+, библиотеками DLL и 32-разрядными Windows-приложениями.