(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Не просто новая версия - иное видение

Нельсон Кинг (Nelson King)

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

В предыдущих версиях Visual Studio несколько независимых языков программирования объединялись в едином пакете с небольшим числом общих характеристик. Visual Studio .NET обеспечивает каркас общей среды, на которой базируются несколько языков. Для объектно-ориентированных программистов перемена очевидна: независимо от выбора языка программирования и вспомогательных инструментальных средств вы получаете программу, скомпилированную в стандартный объектный код, основанный на огромной библиотеке классов каркаса .NET Framework. Среда Visual Studio .NET также больше, чем предыдущие версии, ориентирована на работу в Интернете - серьезное внимание уделено в ней Web-службам, XML и распределенным приложениям. Как и было обещано, эта версия Visual Studio коренным образом отличается от предшественников, и на осознание последствий всех перемен программистам придется потратить немало времени.

Одно можно сказать наверняка: Visual Studio .NET действительно работает. Она позволяет создавать приложения и Web-службы, которые поддерживают множество функций и легко масштабируются. Что разработчикам пока неизвестно, так это границы возможностей и масштабируемости. Visual Studio .NET позволяет действительно качественно делать многие вещи, например, динамические Web-страницы и распределенные приложения - в этой среде они создаются намного проще и получаются более надежными. Естественно, ключевым остается вопрос: по сравнению с чем? С предыдущими версиями Visual Studio? С Java? Можно сформулировать вопрос и посложнее: более надежные по сравнению с основной целью Visual Studio - новым миром Web-служб?

Однако прежде, чем перейти к изучению новинок Visual Studio .NET, позвольте мне еще раз подчеркнуть, что Visual Studio остается набором универсальных инструментальных средств разработки ПО - клиент-серверных приложений, автономных Windows-приложений, даже низкоуровневых программ, а также Web-служб и Web-приложений. Visual Studio продолжает обеспечивать все возможности, которые были доступны в предыдущих «инкарнациях», но основной вектор изменился, и заметно.

Архитектурное братство

В своем универсальном подходе к языкам Visual Studio .NET поддерживает Visual Basic .NET (VB.NET), C# (C-sharp), C++ и J# (J-sharp). C# - совершенно новый язык, а J# представляет собой промежуточный язык, пришедшей на смену версии языка Java корпорации Microsoft (J++). VB.NET настолько изменился, что его можно считать практически новым языком. По большей части языки Visual Studio используют обновленную IDE-среду, а для создания программных компонентов и элементов пользовательского интерфейса применяются один или несколько из трех форматов: Windows-формы (базовые Windows-окна), Web-формы (Web-страницы с поддержкой ASP.NET) и Web-службы. Во всех языках применяется .NET Framework Classes - огромная библиотека приблизительно из 6500 классов, которые обеспечивают поддержку «родных» для среды Visual Studio функций. Независимо от языка весь исходный код в Visual Studio .NET пропускается через компилятор, который генерирует объектный код общеязыковой среды исполнения (Common Language Runtime, CLR). Среда CLR поддерживает и такие функции, как управление памятью (например, «сборка мусора»), отладка, управление общими типами данных и JIT-компиляторы (just-in-time), которые генерируют двоичный код для конкретной платформы.

Можно, как это сделал я, суммировать возможности Visual Studio в одном абзаце, но вы упустите некоторые очень важные моменты. Вы вправе выбрать язык, целевую среду (локальная сеть, интрасеть, Интернет, персональный компьютер или мобильное устройство), даже платформу (UNIX, Linux или Windows), а Visual Studio .NET должна создать соответствующий код. Я сказал «должна», потому что пока еще она этого не умеет.

Глобальная сеть .NET

С точки зрения предприятия многое из того, что делает Visual Studio .NET и всю идею .NET привлекательной, пока не готово. Visual Studio .NET - компонент для программирования в .NET Framework, инструмент разработчика, который во многих отношениях представляет собой версию 1.0. Она нуждается в исправлении и расширении; в частности, для разработки корпоративных приложений нужна поддержка других языков и производительных компиляторов для платформ, отличных от Windows. Кроме того, требуется обеспечить поддержку других уже объявленных компонентов .NET Framework, прежде всего серверных продуктов: недавно выпущенного Commerce Server 2002, .NET Server (серверная версия Windows XP, должна выйти позже в этом году), .NET Biz Talk Server (.NET SDK уже выпущен), Host Integration Server, Exchange Server и SQL Server 2003 (в настоящее время находится на стадии бета-тестирования).

Нынешняя и будущая интеграция этих серверов с .NET Framework очень важна. Я уже понял это, поработав с Commerce Server 2002, который (наконец-то!) предоставляет доступ к самым «потаенным» процедурам Pipeline Manager посредством классов .NET Framework. А тем временем доступ с применением инструментов Visual Studio .NET позволил бы собрать «под одной крышей» множество серверных функций (например, базу данных и бизнес-правила), не прибегая к услугам целой армии приглашенных специалистов.

Библиотека классов .NET Framework и различные компиляторы - это настоящие пожиратели ресурсов, и им не выжить без поддержки выделенного (и часто специализированного) сервера. Пока серверы недоступны, все эти упражнения по масштабируемости и усложнению так и остаются упражнениями. Обещанный Microsoft и ее многочисленными партнерами полный набор служб также пока отсутствует. Эти службы, похожие на те, что предоставляет Microsoft MyServices, должны выполнять функции проверки и защиты, а также функции поддержки транзакций - все они критически важны для большинства корпоративных проектов. Моя задача заключается не в перечислении того, что отсутствует в .NET Framework и Visual Studio .NET, потому что большинство из перечисленного вот-вот появится, а в тщательной оценке продуктов и служб, составляющих архитектуру .NET, когда они станут доступными в течение последующих года-двух.

XML и Web-службы

Одно из сильнейших впечатлений от работы с Visual Studio .NET - как рано и как глубоко Microsoft прониклась верой в XML (в отличие от запоздалых попыток Sun Microsystems догнать мчащийся поезд). Действительно, в .NET Framework предусмотрена такая основательная поддержка XML (например, этому языку отдана огромная часть библиотеки .NET Framework Class Library), что я начал задумываться, не собирается ли Microsoft SQL Server трансформироваться в администратора базы данных XML. В любом случае XML располагается в самом начале списка стандартов, на которых базируются Visual Studio .NET и Web-службы. По сути Microsoft настойчиво называет Web-службы «XML Web-службами».

Другие ключевые для Microsoft стандарты уже довольно популярны - это протокол SOAP (Simple Object Access Protocol), UDDI (Universal Description, Discovery and Integration) и язык описания Web-служб WSDL (Web Services Description Language). Я знаю, для многих поддержка корпорацией Microsoft этих «открытых стандартов» покажется очень подозрительной, и это неудивительно - Microsoft умеет манипулировать стандартами (кстати, сейчас очень интересно наблюдать «танцы с бубнами» вокруг комиссии по обеспечению взаимодействия Web-служб -Web Services Interoperability Organization (WS-I). Microsoft полагает, что комбинация ее частных Windows-служб и стандартов Web-служб станет средством достижения совместимости слабо связанных между собой платформ. Это конкурентная позиция корпорации, и она противопоставляется заявлениям Sun о «мобильности» Java.

Пусть победит сильнейший

Все задаются вопросом, действительно ли .NET лучше, чем Java (J2EE). Для многих предприятий это вопрос философии, ресурсов и выбора оптимального времени использования технологий (если эти предприятия не настолько огромны, чтобы без проблем использовать обе технологии). У этих подходов есть как фундаментальные различия, так и сходство, и я думаю, что многие разработчики станут взвешивать, что важнее в многоплатформной среде предприятия - мобильность (Java-код) или совместимость (XML-данные и поддержка многих языков). Казалось бы, стоит ожидать жесткой конкуренции, которая на руку разработчикам, хотя в аргументах за и против очень легко запутаться. Наверняка борьба развернется и на поле выбора стандартов, и если одному из наборов стандартов удастся выжить, это будет победой всего сообщества разработчиков соответствующего ПО. А вот на вопрос, какая из технологий в итоге победит, ответ мы получим нескоро.

Microsoft Visual Studio .NET и .NET Framework хорошо продуманны и тщательно сконструированы. Разработчики ПО оценят доступность классов .NET Framework (хотя придется еще очень многому учиться) и разумность разработки программ в .NET Framework. Однако .NET пока не закончена, несовершенна и не решает всех задач. Собака зарыта в деталях, о которых я расскажу во второй части обзора версии Enterprise Architect Edition среды Visual Studio .NET.



 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 28.02.2003 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office для дома и учебы 2019 (лицензия ESD)
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
Microsoft Windows Professional 10, Электронный ключ
Microsoft 365 Apps for business (corporate)
Microsoft 365 Business Basic (corporate)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Мастерская программиста
3D и виртуальная реальность. Все о Macromedia Flash MX.
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100