Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Отдел рекламы
График выхода журнала
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Четыре среды разработки Java для проектов уровня предприятия

Ахмед Абуалсемид

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

Сейчас на рынке имеется достаточное число разнообразных сред разработки для Java, так что нам было непросто определить, какие из них отобрать для наших тестов. Для ограничения круга продуктов, среди которых нам нужно было выбирать, мы запросили интегрированные среды разработки (IDE — Integrated Development Environment), которые, по нашему мнению, содержат то, что необходимо разработчику в первую очередь. Это пакеты, способные генерировать как аплеты, так и приложения, а также поддерживать последние версии JDK (Java Development Kit) и библиотеки JavaBean.

Все наши тесты проводились на 32-разрядных платформах. По иронии судьбы среды разработки, предназначенные для создания приложений, которые “создаются однажды и работают везде”, сами запускаются далеко не “везде”. Большинство тех сред, что мы тестировали, могут работать только на 32-разрядной платформе Windows (за исключением пакета VisualAge).

Java-приложения, скомпилированные в файлы class или сархивированные в файлы JAR (Java Archive Format), должны запускаться под управлением любой виртуальной Java-машины (Java Virtual Machine — JVM ) независимо от применяемой операционной системы. Однако использование частных компонентных технологий ограничивает эту возможность.

Компания Symantec, например, заявила, что ее компоненты MultiList не тестировались на платформе Unix, и рекомендовала вместо них использовать аналогичные по функциям компоненты Swing. Технология Swing — новинка для пакета JDK 1.1 — является расширением текущей версии библиотеки AWT (Abstract Windowing Toolkit). Компоненты Swing выглядят более унифицированными и содержат дополнительную функциональность, например возможность создания контекстных подсказок (tool tips). Важно отметить: при использовании пакета Visual J++ фирмы Microsoft нет гарантии, что сгенерированный вами код также не будет зависеть от расширений Microsoft для JVM.

Конечно, рассматриваемые пакеты по своей зрелости нельзя сравнивать с такими старыми средами разработки, как C++ или Visual Basic. Однако разрыв между ними стремительно сокращается, и новые средства, безусловно, обеспечивают быструю разработку приложений (Rapid Application Development — RAD), о чем нельзя было даже мечтать всего еще несколько месяцев тому назад.

Visual Cafe 2.5 фирмы Symantec

Продукт Visual Cafeў стоит несколько особняком в ряду визуальных сред разработки, привлекая к себе внимание множеством дополнительных удобств, существенно облегчающих жизнь разработчика. Например, для определения необходимых полей ввода или любых других компонентов вам достаточно всего лишь одним нажатием клавиши мыши выбрать пункт Add Interaction; программа-мастер (Wizard) разъяснит вам, как правильно запрограммировать взаимодействие визуальных элементов и какие для этого выбрать компоненты и операторы.

Visual Cafe — лучший продукт нашего обзора — имеет множество собственных компонентов, прекрасно работающих в 32-разрядной среде Windows, но компания Symantec не тестировала их на других платформах. Например, у нас возникали проблемы при их запуске на платформе HP-UX фирмы Hewlett-Packard. Но если в своих разработках вы ориентируетесь на 32-разрядную платформу Windows и не нуждаетесь в интеграции с компонентами ActiveX фирмы Microsoft, то Visual Cafeў — это тот надежный инструмент, который полностью отвечает вашим потребностям.

Visual Cafe позволяет создавать полноценные приложения Java для их последующего запуска в рамках Java-машины; Java-аплеты для запуска в вашем любимом Web-браузере (в Visual Cafeў вы можете генерировать код на основе библиотеки JDK версии 1.1.4, но имейте в виду, что некоторые браузеры не поддерживают всего разнообразия возможностей и особенно болезненно сказывается отсутствие механизма удаленного вызова (Remote Method Invocation) в браузере Internet Explorer); компоненты JavaBean с помощью программы-мастера для этой технологии, позволяющей вам определить интерфейсы и пользовательские методы; самостоятельные исполняемые файлы для 32-разрядной платформы Windows, которым не нужна специальная Java-машина; файлы DLL (Dynamic Link Library), инсталлируемые в качестве отдельной библиотеки и используемые 32-разрядными приложениями Windows. Кроме того, Visual Cafeў позволяет импортировать проекты из среды Visual J++.

В разделе public Visual Cafeў предоставляет все методы, отвечающие за реакцию пользовательских компонентов. Вы выбираете тот, который необходим вам для программирования соответствующего взаимодействия непосредственно в режиме run time. Такой подход значительно сокращает время кодирования. Однако в этом случае вы не сможете явно задать пользовательский метод для обработки соответствующего события. Мы были вынуждены генерировать часть кода в качестве заготовок (с помощью программы-мастера) и редактировать его потом уже вручную.

Фирма Symantec давно осознала тот факт, что работа с базами данных является неотъемлемой частью современных приложений. Так, еще задолго до того, как JDBC (Java Database Connectivity) стал общепринятым стандартом, Symantec разработала собственный набор инструментов — dbAnywhere, обеспечивающий поддержку локальных и удаленных баз данных. Впрочем, доступ к СУБД можно осуществлять обоими способами — как через JDBC, так и через dbAnywhere.

Такое обилие способов работы с базами данных вносит даже некоторую путаницу. Ведь Symantec предоставляет возможность использовать в чистом виде как сам интерфейс JDBC, так и расширение dbAnywhere, а также их комбинацию. В своем тесте мы выбрали чистый JDBC, но при этом dbAnywhere использовалось в качестве связующего ПО для доступа к удаленной СУБД. Применение dbAnywhere расширяет возможности программистов за счет построения трехуровневой клиент-серверной технологии с использованием аплетов.

Например, мы создали приложение, которое запрашивало информацию из базы данных MS Access через JDBC. Мы зарегистрировали имя Data Source на нашем сервере через Панель управления и на второй машине запустили Web-сервер IIS (Internet Information Server) фирмы Microsoft и ПО dbAnywhere. Наше приложение было оформлено в виде аплета и работало в браузере Internet Explorer. Аплет открыл JDBC-соединение с сервером dbAnywhere, находившимся по тому же IP-адресу, что и Web-сервер, но с другим номером TCP-порта (в соответствии с правилами безопасности, установленными при работе с аплетами). Сервер dbAnywhere переадресовал SQL-запрос к нашей СУБД MS Access и возвратил его результаты аплету.

Визуальная среда программирования предлагает несколько типов пользовательских интерфейсов, что облегчает процесс разработки. Интерфейс режима визуальной компоновки позволяет формировать графический интерфейс приложения путем размещения различных компонентов на форме. Вы можете менять свойства элементов непосредственно в графическом режиме. Интерфейс редактирования кода дает возможность видеть вносимые изменения в интерактивном режиме, а окно Class Browser позволяет легко ориентироваться в иерархии используемых в проекте классов. Окна инструментария можно либо зафиксировать, либо сделать перемещаемыми, что иногда бывает полезным при разрешении монитора 800 ґ 600 пикселов.

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

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

Собственные компоненты Symantec могут быть использованы в приложениях и аплетах наряду со стандартными объектами AWT и Swing. Чтобы найти у них какое-нибудь слабое место, мы решили их протестировать и, конечно, обнаружили, что некоторые из них явно недоделаны — например, таблица MultiList: она не позволяла редактировать содержимое ячейки.

Во время тестирования мы нашли в пакете пару досадных ошибок. Время от времени Visual Cafeў перераспределял компоненты на форме, оставляя их в самых неожиданных местах. Еще большее беспокойство доставил нам отладчик Visual Cafeў. В процессе обработки исключительных ситуаций (exception) он терял ориентацию в исходном коде. Всякий раз, когда начиналась обработка исключительной ситуации и отладчик “терялся”, мы были вынуждены прекращать отладку приложения и запускать его заново. В компании Symantec нам по этому поводу ответили, что проблема будет решена к моменту выхода следующей версии продукта.

Можете быть уверены, что Symantec обеспечит вас превосходной Web-службой интерактивной технической поддержки, получившей название “Ask a Tech”. Программист может послать целый список интересующих его вопросов, и специалисты Symantec ответят на них в течение 24 часов. Все ответы на полученные от пользователей вопросы публикуются и становятся доступными остальным пользователям.

VisualAge for Java 2.0 Enterprise Edition фирмы IBM

Из всех протестированных нами пакетов разработки для Java VisualAge является самым емким по своим возможностям, но одновременно самым дорогим и сложным в использовании. Если вам необходимы кроссплатформенность и профессиональные средства контроля версий, это как раз то, что нужно. Работающий на платформах Windows (32-разрядных), OS/2 и AIX продукт обеспечивает поддержку бизнес-приложений фирмы SAP, технологии San Francisco Components (позволяющей разработчикам собирать Java-приложения из отдельных частей) и платформы AS/400.

Однако для освоения пакета VisualAge потребуется некоторое время, поскольку он представляет собой уже не просто визуальную среду разработки для Java — поставляемые с ним средства управления проектом заставят вас по-новому взглянуть на процесс программирования приложений. Теперь с самого начала до конца работы вы вынуждены мыслить не в терминах файлов, а в терминах проекта. По сути, это объектно-ориентированный подход к управлению проектом, в котором объектами являются Java-классы и компоненты JavaBean. Все файлы здесь хранятся в репозитории. Вы можете экспортировать его содержимое в обычную файловую систему, но тогда потеряете возможность использовать его как платформу групповой разработки.

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

Пакет VisualAge обеспечивает поддержку последней версии JDK 1.1.6 (версия JDK 1.1.7 на момент тестирования еще не была готова) и библиотеки Swing 1.0.2, удаленную отладку, а также интеграцию с множеством систем управления исходными кодами, такими, как PVCS фирмы Intersolv. Его новый редактор интегрированной среды позволяет разработчику визуально программировать взаимосвязи между различными компонентами JavaBean.

Хотя пакет VisualAge является многоплатформенной средой разработки, в нем не хватает поддержки технологии ActiveX. Он не может создавать ни компоненты ActiveX, ни исполняемые файлы для 32-разрядной платформы Windows, ни упаковывать ActiveX в формат JavaBean.

В данной версии VisualAge введено такое новшество, как конструктор серверных приложений Java, который значительно облегчает разработчикам их создание и развертывание. Серверные приложения Java в отличие от аплетов обычно запускаются на сервере и, как правило, не нуждаются в пользовательском интерфейсе. Более того, в основном такие приложения представляют собой связку из нескольких серверных компонентов JavaBean.

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

Для добавления в текст программы процедуры соединения с базой данных через JDBC мы установили в среде VisualAge имя регистрации, ресурс URL и драйвер JDBC, и она автоматически создала код, устанавливающий JDBC-соединение. Затем прямо в редакторе мы написали необходимый текст SQL-запроса, после чего программа, выполнявшая обращение к необходимой таблице БД, была полностью готова.

Visual J++ 6.0 Professional Edition фирмы Microsoft

Вам трудно понять то, каким образом Microsoft назначает номера версий своим новым продуктам? Добро пожаловать в наш клуб! По официальному заявлению, Microsoft “перескочила” с номера 1.1 прямо к 6.0 только в целях синхронизации версий своих продуктов. Но, как бы там ни было, фирме удалось создать среду с довольно дружественным интерфейсом, в чем вы сами убедитесь, если только принадлежите к категории программистов для Windows. Однако, если вам требуется кроссплатформенность или поддержка “чистого” Java, смело можете пропустить эту главу.

Visual J++, как и Visual Basic, — графическая среда разработки, которая дает возможность интерактивно размещать компоненты на форме и визуально выполнять боўльшую часть операций программирования. В отличие от Visual Cafeў она позволяет “закрепить” компоненты на форме, предотвращая их хаотическое смешивание, как мы это наблюдали в продукте Symantec.

Visual J++ позволяет закрепить ваше окно разработки или перемещать его по всей среде визуального программирования. Программа также предлагает службу контекстно-зависимой подсказки на протяжении всего процесса разработки. Если учесть наличие аналогичных возможностей в Visual Cafeў, можно считать что это естественная тенденция в развитии визуальных сред разработки. Открытие проекта, выбор компонента, переключение между исходным кодом и визуальными формами, доступ к службе подсказки — все это выполняется буквально несколькими нажатиями клавиш мыши. С помощью Visual J++ мы могли разрабатывать (но только для 32-разрядных платформ Windows) Java-приложения, аплеты, самостоятельные исполняемые файлы, компоненты ActiveX, модули DLL и динамические страницы HTML.

Теоретически вы могли бы любые компоненты ActiveX упаковать в формат объектов JavaBean. Однако последние являются наследниками класса java.lang.Object, что делает невозможным их размещение на визуальных контейнерах, требующих использования объектов, унаследованных от класса java.awt.Components. Но в формат JavaBean вы успешно можете упаковать ваши невизуальные компоненты ActiveX.

По своим характеристикам отладчик Microsoft не уступает тем, что предлагаются в пакетах Symantec и IBM. Он позволяет выполнять пошаговую отладку, устанавливать контрольные точки и добавлять переменные просмотра на ходу, однако не способен динамически реагировать на изменения, вносимые в исходный текст. Если вы изменили исходный код в процессе отладки, отладчик, как и в Visual Cafeў, выдаст диалоговое окно, в котором предложит на выбор перезапустить либо текущий метод, либо все приложение.

Visual J++ поставляется с невообразимым числом компонентов WFC (Windows Foundation Class). В этом отношении с ним не может сравниться ни один пакет. Для его продвижения Microsoft предлагает, пожалуй, все свои достижения в области технологии ActiveX. Одно только беспокоит: все они крепко привязаны к браузеру Explorer и 32-разрядной платформе Windows. И пока приложения, созданные на “чистом” Java, не станут нормой для разработчиков, лозунг: “Работать везде” — так и останется благим пожеланием. Имейте в виду: с Visual J++ вы оказываетесь прикованным к платформе Windows.

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

Возможности дизайнера форм в Visual J++ впечатляют. Он позволяет вам изменять положение компонентов как по отношению к форме, так и по отношению к другим визуальным компонентам.

По удобству визуальной разработки пакет Visual J++ нельзя сравнить ни с одним из протестированных нами продуктов. В первую очередь это касается программирования реакции на события. При работе с VisualAge и JaWiz вы должны отдельно программировать объекты, реагирующие на события. Так, в JaWiz вам придется перечислять их в соответствующем меню мастера проекта или же потом дописывать вручную, в VisualAge — задать их при помощи Connections Wizard. В Visual J++ это выполняется всего лишь двойным нажатием клавиши мыши прямо в режиме разработки формы.

Работу с базами данных Visual J++ поддерживает через интерфейс JDBC, однако нам пришлось прибегнуть к дополнительным драйверам-мостам JDBC—ODBC. Еще одной уникальной особенностью пакета Visual J++ является поддержка им технологии J/Direct, позволяющей разработчикам делать вызовы 32-разрядного Windows API напрямую из Java, не прибегая к новому для Java программному интерфейсу JNI (Java Native Interface). Мы использовали J/Direct для того, чтобы упростить доступ к нескольким функциям из библиотеки Win32 API, выполнявшим операции с окнами.

Программа Visual Source Safe, поставляемая как часть Microsoft Visual Studio, может быть использована в качестве средства контроля версий. Это мощное сетевое приложение, построенное в архитектуре клиент—сервер, которое позволяет группе программистов работать над различными частями проекта одновременно. С его помощью можно координировать групповую разработку целых проектов.

Кроме того, с Visual J++ фирма Microsoft поставляет такое разнообразие вспомогательных программ, какое только можно себе представить. Например, в состав Visual J++ включен упаковщик, позволяющий поставлять ваш проект в виде самораспаковывающихся исполняемых файлов. В дополнение ко всему вы получаете доступ к сети Microsoft Developer Network со всем ее изобилием информации. Стоит упомянуть и о расширенном списке инструментов, включающем в себя Process Viewer, Spy++, Windiff, Zoomin и другие не менее полезные в процессе разработки утилиты.

JaWiz 1.0 фирмы InfinityEdge Systems

Мы протестировали версию 1.0 пакета JaWiz — интегрированной среды разработки с встроенным отладчиком и интерфейсом для систем контроля версий наподобие Visual Source Safe, поставляемой Microsoft. Поскольку он позволяет создавать аплеты, приложения и компоненты JavaBean, имея при этом ограниченную функциональность при работе с JDBC, его можно считать наилучшим решением для разработки небольших Java-проектов.

Наше тестирование мы начали с создания простого аплета. Программа-мастер запросила у нас информацию о классе аплета, который мы хотели бы создать. После того как она выдала целый список имеющихся интерфейсов, мы выбрали java.io.FilenameFilter. Затем нам был представлен список методов: enable(), disable(), init(), destroy(), start() and stop() — для непосредственного добавления в наш аплет, а потом и список реакций на события. После нескольких коротких дополнительных вопросов мы получили “скелет” нашего аплета, готовый к более детальному программированию.

На следующей стадии мы начали добавлять компоненты AWT и создавать графический интерфейс. К сожалению, если на этом этапе вам надо программировать дополнительные реакции на события (ActionListener), они должны быть добавлены вручную. Программы-мастеры из JaWiz не обеспечивают автоматизации программирования взаимодействий между различными событиями и компонентами, как это делает Visual Cafeў.

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

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

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

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

Пакет JaWiz соответствует всем требованиям, предъявляемым к современной среде IDE: включает в себя разнообразные стили компоновки, мастеры для генерации каркасов приложений и отладчик. Однако в нем не предусмотрены средства автоматизации программирования при использовании интерфейса JDBC, поэтому все, что было связано с обращениями к базам данных через JDBC, нам пришлось программировать вручную.

Довольно болезненно на работе с пакетом сказывается и отсутствие в нем встроенной системы контроля версий, а также поддержки интерфейса для компонентов ActiveX. JaWiz, кроме поддержки Visual Source Safe, не имеет каких-либо средств для групповой разработки приложений или управления крупным проектом.

Кроме того, JaWiz не способен импортировать проекты с графическим интерфейсом, созданным с помощью других сред разработки. Хотя в продукте есть возможность включать в проект внешние программы в виде исходных текстов, это не обеспечивает полноценной работы с ними, поскольку каждая среда IDE генерирует собственные комментарии внутри исходного Java-кода для управления созданием и компоновкой визуальных элементов AWT и регистрации реакций на события. Без явной поддержки файлов, содержащих комментарии специфической разметки, вы не сможете доработать проект, изначально программировавшийся в другой среде IDE. Так же как и в случае с VisualAge и Visual J++, с JaWiz у нас не возникало никаких проблем при компоновке визуальных элементов во время редактирования исходного кода.


Курсы qa automation.




  
5 '1999
СОДЕРЖАНИЕ

колонка редактора

• С компьютерным новым годом!

локальные сети

• Об NT по существу: «Ну перенесите же приложения на Linux!»

• Тестируем консолидированные серверные системы

• Эти разные, разные устройства FC-AL

• Комфорт для людей и машин

• Наведение порядка в распределительных шкафах

• Огнеупорные материалы — необходимый атрибут любой сетевой инфраструктуры

интернет и интрасети

• Его величество потребитель

• Четыре среды разработки Java для проектов уровня предприятия

• Механизмы, балансирующие нагрузку Web-узлов

защита данных

• Когда лекарство опаснее самой болезни

• Не слишком ли хороши биометрические устройства?

корпоративные сети

• Беда нечаянно нагрянет...

• Метасправочники обеспечат синхронизацию информации о пользователях

• Анализаторы протоколов АТМ и Gigabit Ethernet: главные баталии еще впереди

• Средства системного мониторинга уровня предприятия

услуги сетей связи

• Интегрированные сети — технологии и политика

• Службы многоадресной рассылки факсов: экономия плюс эффективность

• Системы LMDS: хороший шанс и

• Война параллельных миров: научная конференция под эгидой Госкомсвязи

новые продукты

• Новые анализаторы спектра новой измерительной компании; Драйвер персональной сетевой защиты IP-LIR; NSG-500 мал да удал!



 Copyright © 1997-2007 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх