Статья только в электронной версии журнала
Бета-версии мощных сред разработки приложений корпораций Microsoft и Sun Microsystems ориентированы на новые возможности платформ .Net и Sun ONE
Как и любой новой экосистеме, архитектуре Web-сервисов для выживания необходимы развитые поддерживающие структуры. Руководство корпорации Microsoft (Редмонд, шт. Вашингтон) надеется, что созданная специально для этой цели платформа .Net окажется, несмотря на отсутствие практики ее применения, более приспособленной к выживанию, чем конкурирующая архитектура Sun ONE (Open Network Environment - открытая сетевая среда) фирмы Sun Microsystems, основанная на успевшей уже завоевать прочное положение платформе Java. Ключевыми компонентами этих ИТ-экосистем являются инструментальные средства, упрощающие разработчикам задачу создания кода для .Net или Sun ONE.
Тестовый центр eWeek Labs провел испытания предварительных версий сред разработки корпорации Microsoft и фирмы Sun - Visual Studio .Net Enterprise Architect Beta 2 и Forte for Java 3.0 Enterprise Edition beta (Early Access release) соответственно - чтобы определить, насколько хороша каждая из них в деле создания Web-сервисов для корпоративного применения.
Visual Studio .Net поступит в продажу к концу года; никакой официальной информации о ценах пока нет. Forte for Java 3.0 Enterprise Edition поставляется с сентября в редакциях для Windows NT 4.0, Solaris 8 и Red Hat Linux 6.2 по цене $1995.
Прежде чем делать стратегический выбор в пользу того или иного инструментария, каждой конкретной службе ИТ необходимо тщательно исследовать вопрос, какая платформа ей больше подходит.
Пользуясь удачной возможностью начать с нуля, Microsoft разработала для .Net новую модель, предназначенную специально для построения Web-сервисов и написания ПО для Интернета. В результате нас ожидает самая дорогостоящая и самая сложная модернизация Windows-среды за последнее десятилетие. Она потребует значительного переобучения персонала, а также внесения изменений - от небольших до довольно крупных - в существующий код, в частности в программы на языке Visual Basic и в Web-страницы, использующие скрипты ASP (Active Server Pages - активные серверные страницы) на базе языка VBScript.
Среда Visual Studio .Net незаменима для будущих разработчиков .Net-приложений не только потому, что отличается интегрированностью, но и просто потому, что у нее пока нет конкурентов.
Платформа Java, появившаяся более шести лет назад, требовала не менее серьезных перемен, но теперь это зрелый, проверенный практикой и заслуживший широкое признание язык программирования для написания серверных приложений. И как следствие, Java-разработчики располагают значительно более широким выбором инструментов.
Дополнительную привлекательность Forte for Java придают средства для создания EJB-компонентов (Enterprise JavaBeans), Web-сервисов на базе XML (Extensible Markup Language - расширяемый язык разметки) и развертывания кода в среде сервера приложений iPlanet Application Server фирмы Sun-Netscape Alliance (мы использовали при тестировании версию iPlanet Application Server 6.0).
Вместе с тем этому продукту приходится соревноваться с такими серьезными конкурентами, как JBuilder корпорации Borland Software. К тому же у Forte for Java есть крупный недостаток - отсутствие встроенной поддержки протокола SOAP (Simple Object Access Protocol - простой протокол доступа к объектам).
Впрочем, и Forte for Java, и Visual Studio .Net не свободны от существенных пробелов в наборах функциональных возможностей - более по причинам “политического” выбора производителей, нежели из-за технологических сложностей. Первая поддерживает только один язык программирования (естественно, Java), а вторая использует единый редактор для написания программ на языках Си++, C#, Visual Basic и ECMAScript (но не Java). Правда, представители Sun уверяют, что в последующих версиях Forte for Java будет реализована поддержка разработки на нескольких языках.
Visual Studio .Net
Microsoft использует слово “.Net” и для обозначения технологии, и в качестве торговой марки. Давайте внесем ясность: действительно новыми в .Net являются лишь два компонента - инфраструктура .Net Framework (исполняющая среда .Net с библиотеками классов) и язык C#. Оба они войдут в стандартный комплект Visual Studio .Net.
Очередные версии всех серверных приложений корпорации Microsoft получили суффиксы .Net, но лишь ради маркетингового эффекта - ни одно из них не использует .Net Framework. Первым серверным продуктом, действительно заслуживающим этого знака отличия, станет следующая версия Microsoft SQL Server, выпуск которой ожидается не ранее 2003 г.
Мы бы также хотели предупредить разработчиков ПО для платформ Microsoft, что переход на .Net потребует от них колоссальных усилий. Более кардинальные изменения в разработке приложений для Windows просто трудно себе представить.
В основе .Net лежит совершенно новый интерфейс прикладного программирования (ИПП) для Windows и Web. Зрелые ИПП Win32, Windows COM (Component Object Model) и Microsoft Foundation Classes после приблизительно десяти лет службы получают отставку. Конечно, все они будут поддерживаться и дальше и с помощью Visual Studio .Net можно будет создавать традиционные Windows-приложения. Сегодня Microsoft берет ориентир на .Net. Преимущества этой платформы с точки зрения разработки компонентно-ориентированных приложений - в особенности использующих технологии Web и XML - огромны.
Именно на этом направлении и сосредоточена основная часть всех усовершенствований, отличающих .Net от прежних технологий: новая исполняющая система; единый набор типов данных, позволяющий свободно сочетать компоненты, написанные на различных поддерживаемых .Net языках программирования; новая библиотека классов; интерфейс Web-форм и технологии доступа к БД; коммуникационные протоколы на базе XML; файловая организация программного кода при развертывании (начало конца системного регистра Windows registry); новая модель обеспечения безопасности.
Стоимость перехода будет зависеть от того, какую часть этих новшеств платформного уровня решат использовать в том или ином конкретном подразделении ИТ. Язык программирования C#, предложенный корпорацией Microsoft, можно назвать элегантным наследником Си и Си++. Кроме того, он, отнюдь не по случайному совпадению, изрядно походит на Java. Тем не менее переход на C# требует от разработчиков изучения еще одного языка.
И Visual Basic, и VBScript претерпели серьезные изменения, так что для использования ранее разработанного кода в среде .Net потребуется внести в него определенные модификации. “Уровень совместимости составляет лишь 96%, а это означает, что ничего не будет работать просто так”, - признает (говоря о совместимости кода ASP VBScript) ведущий идеолог ASP .Net Скотт Гатри из Microsoft.
Мы имели возможность убедиться в этом и сами - выполняя перевод на ASP .Net системы автоматизации учета книжного магазина, написанной на “старом” языке VBScript с использованием прежней версии технологии ASP. Пришлось внести множество синтаксических изменений: добавить недостающие скобки и операторы изменения переменных в удаленных приложениях, а также скорректировать ссылки на дополнительные файлы, которые теперь имеют расширение .aspx вместо прежнего .asp.
В то же время наше тестирование Visual Studio .Net показало, что поддержка Web-сервисов полностью интегрирована в этот продукт. Для превращения существующей подпрограммы в Web-сервис на базе SOAP, рассчитанный на обращения по протоколу HTTP, достаточно просто поставить перед заголовком ключевое слово “WebMethod”. Web-сервисы на базе SOAP обладают в Visual Studio “гражданством первого класса”, так же как и обычные Windows-объекты.
Аналогично, ключевого слова “Transaction” достаточно для подготовки обычного программного модуля к использованию в составе транзакции. А замечательное ключевое слово “XMLAttribute” позволяет выполнять несложные XML-преобразования (такие, как переименования элементов), не прибегая к применению XSL (Extensible Stylesheet Language - расширяемый язык описания списков стилевых элементов), хотя мы могли бы воспользоваться и этим средством, если бы захотели.
Visual Studio .Net Enterprise Architect предлагает ряд новых возможностей моделирования. Это и средства концептуального, логического и физического моделирования БД (см. рисунок), и редактор для описания моделей приложений на языке UML 1.2 (Unified Modeling Language - универсальный язык моделирования) с функциями генерации кода по модели и составления модели по имеющемуся коду.
Кроме того, Visual Studio .Net включает необходимый инструментарий для написания ПО для персональных цифровых секретарей (personal digital assistant, PDA) и сотовых телефонов.
Многие администраторы ИТ высоко оценят также новый механизм контроля кода, позволяющий следить за его соответствием заданным правилам (определяемым в специальном конфигурационном XML-файле). Этот механизм немедленно уведомлял нас в новом окне Task List среды Visual Studio .Net о любых отклонениях от установленных стандартов HTML-кода.
Технология ASP была отмечена нами специальной наградой как наиболее усовершенствованная и прежде всего как обеспечивающая поддержку Web-сервисов. Как мы уже говорили, прежняя ASP представляет собой “настоящую технологию работы с Web-сценариями для бедных”, которая исчерпала свои возможности уже некоторое время назад. Технология ASP .Net - часть платформы .Net и основное средство разработки Web-приложений в среде Visual Studio .Net - создана с чистого листа на языке C# и, подобно своему конкуренту JSP (JavaServer Pages), создаваемые с ее помощью сценарии являются компилируемыми.
Если разработчик использует только типизированные переменные, написание программ на языке ASP требует не больше времени, чем на C#, - т. е. намного меньше, чем прежде. Кроме того, производительность приложений значительно увеличилась благодаря применению в ASP .Net специальной подсистемы с настраиваемыми параметрами, обеспечивающей кэширование целых страниц, их фрагментов и индивидуальных Web-сервисов. В этой подсистеме предусмотрено удаление объектов из кэша по истечении срока хранения, при внесении изменений в файловую систему или при поступлении определенных сообщений из приложений. В данной области ASP .Net наверстала отставание от других подобных продуктов: корпорации Oracle, IBM и фирма Macromedia уже в течение некоторого времени выпускают серверы приложений, использующие различные формы кэширования.
ASP .Net имеет современную архитектуру обработки состояния объекта; в “старой” версии ASP объект Session нельзя использовать в кластерных системах, поскольку он не поддерживает удаленного хранения информации о своем состоянии. Теперь же эти данные могут храниться - независимо от того, запущен ли процесс, которому они принадлежат, - локально, на другом сервере либо в СУБД Microsoft SQL Server 7.0 или SQL Server 2000.
Кроме того, больше нет необходимости в cookie-файлах; если задать в конфигурационном файле web.config опцию “cookieless” (“работать без куки-файлов”), ASP .Net-приложение будет автоматически добавлять к URL-адресам идентификатор сеанса.
Технологии ASP и ASP .Net используют различные расширения файлов и могут работать на одном и том же сервере одновременно и параллельно, каждая со своими сеансами.
Forte for Java
В отличие от .Net стратегия Sun One фирмы Sun не слишком жестко ориентирована на какой-либо один инструментарий (хотя бы даже собственного производства). Благодаря широкому набору функциональных возможностей Forte for Java 3.0 Enterprise Edition является очень сильным конкурентом в данном секторе.
Подобно Visual Studio .Net, Forte for Java позволяет строить высокоуровневые объекты, поддерживающие взаимодействие по протоколу HTTP, обладает мощными средствами редактирования XML- и XSL-файлов, а также инструментами для работы с Web-сценариями и низкоуровневыми программами, редактирования БД и контроля исходных текстов.
В ходе испытаний мы убедились в возможности создания с помощью Forte for Java 3.0 Enterprise Edition сеансовых (session) и сущностных (entity) EJB-компонентов. Это крупное усовершенствование продукта позволит ему непосредственно конкурировать с другими наиболее мощными средствами разработки Java-ПО, включая JBuilder Enterprise фирмы Borland.
Forte for Java располагает могучей средой редактирования Java- и JSP-приложений, хотя и не столь элегантной, как соответствующий компонент Visual Studio .Net. Например, в Forte for Java отсутствуют функции поиска/замены сразу в нескольких файлах и автоматического завершения ввода имен переменных.
Используя новые мастера построения EJB-компонентов на основе шаблонов, мы создавали сеансовые и независимые EJB-компоненты и редактировали их свойства в специальном окне (все это - стандартные для современных мощных средств Java-разработки возможности). Затем мы развернули свои тестовые EJB-компоненты в средах серверов приложений iPlanet Application Server и J2EE (Java2 Enterprise Edition) Reference Implementation фирмы Sun (предварительно установив эти продукты и зарегистрировав их в Forte for Java).
В Forte for Java 3.0 Enterprise Edition применена новая схема встраивания поддержки Web в JavaBeans- и EJB-компоненты. С помощью нового мастера Web Service мы создали базовый Web-сервис и отобрали Java-методы, которые требовалось оснастить XML-интерфейсами. К сожалению, при создании Web-сервисов описанным способом используется фирменный (хотя и основанный на XML) формат Enterprise Service Presentation, для работы с которым требуется специализированная библиотека JSP-тегов, разработанная Sun именно для этой цели.
Кроме того, Sun поставляет ПО интеграции с системой Dreamweaver фирмы Macromedia и с инструментарием редактирования Web-страниц GoLive фирмы Adobe Systems, позволяющее автоматизировать процесс добавления JSP-тегов Enterprise Service Presentation средствами этих пакетов.
Поддержка SOAP ожидается в следующей версии Forte for Java.
С техническим директором Тестового центра eWeek Labs по Западному побережью Тимоти Диком можно связаться по адресу: timothy_dyck@ziffdavis.com.
Резюме для руководителей
Visual Studio .Net Enterprise Architect Beta 2
Visual Studio .Net - одна из лучших сред разработки, редактирования и сборки Web- и Windows-приложений. Функции контроля стиля программирования делают новую версию этой платформы особенно подходящей для организаций, требующих от своих разработчиков соблюдения определенных корпоративных норм и стандартов. Что же касается “чистой производительности”, то по этому показателю Visual Studio .Net вообще задает тон на рынке.
КРАТКОСРОЧНЫЙ ПРОГНОЗ. Многочисленные продуманные функции редактора, такие, как динамическая подсистема подсказки, замечательная система автоматического завершения ввода операторов и встроенный список текущих дел, повышают производительность труда разработчика; однако нововведения платформы .Net требуют переобучения персонала и внесения изменений в существующий код.
ДОЛГОСРОЧНЫЙ ПРОГНОЗ. Новая версия Visual Studio до некоторой степени облегчает разработчикам, использующим инструментарий Microsoft, тернистый путь перехода на новую исполняющую среду .Net и язык C#. Сделанный в этой версии акцент на построение Web-сервисов на основе стандартов обеспечивает снижение стоимости разработки и интеграции приложений, предназначенных для организации взаимодействия между предприятиями.
( + ) Элегантный дизайн, поддержка редактирования исходных текстов и построения приложений на нескольких языках программирования; использование моделей БД и UML-моделей приложений с автоматическим распространением изменений в обе стороны; Web-сервисы на базе SOAP “пользуются гражданством первого класса”, так же как и обычные Windows-объекты; большие удобства и широкие возможности в проектировании HTML- и Windows-приложений; хороший, для первой версии, уровень в поддержке разработки приложений для персональных цифровых секретарей и сотовых телефонов; задаваемые правила контроля исходного текста помогают внедрять единые стандарты программирования в организациях.
( - ) Отсутствие поддержки Java; изменения в языках программирования Visual Basic и ASP потребуют внесения изменений в существующие приложения.
Корпорация Microsoft, Редмонд, шт. Вашингтон, (800) 426-9400, msdn.microsoft.com/vstudio.
Forte for Java 3.0 Enterprise Edition beta
Крупные организации, ведущие разработку на языке Java, найдут новую версию редакции Enterprise Edition среды Forte более соответствующей их запросам, в особенности благодаря поддержке технологий EJB и XML. Однако тем, кто ориентируется на архитектуру Web-сервисов, потребуется инструментарий с поддержкой SOAP.
КРАТКОСРОЧНЫЙ ПРОГНОЗ. Организации, использующие iPlanet Application Server, получат немедленный прирост производительности после внедрения Forte for Java, поскольку эта среда разработки значительно лучше инструмента Application Builder, уже довольно давно созданного фирмой Planet.
ДОЛГОСРОЧНЫЙ ПРОГНОЗ. Forte for Java открывает путь к преобразованию Java-объектов в Web-сервисы, что будет способствовать повышению коэффициента повторного использования кода, упрощению системной интеграции и повышению гибкости ИТ-систем.
( + ) Поддержка сеансовых и сущностных EJB-компонентов, а также J2EE-приложений; элементарная поддержка Web-сервисов, построенных на базе XML; возможность непосредственного развертывания приложений в среде iPlanet Application Server; система контроля исходных текстов TeamWare.
( - ) Отсутствие поддержки SOAP и других стандартных технологий построения Web-сервисов; посредственная среда редактирования; удовлетворительная скорость работы достигается при объеме памяти не менее нескольких сот мегабайт.
Фирма Sun Microsystems, Маунтин-Вью, шт. Калифорния, (800) 786-7638, www.sun.com/fort/ffj.