Продолжается подписка на наши издания! Вы не забыли подписаться?

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

Delphi 4: новое слово Inprise в семействе Borland Delphi.

Sybase Power ++ 2.1

Visual C++ 6.0 в составе Microsoft Visual Studio

При всем обилии хвалебных, ругательных, полемических и прочих криков на тему Java, рабочей лошадкой и основным языком создания серьезного программного обеспечения остаются старый добрый Си (ну разве теперь он обзавелся плюсами) и не менее старый Паскаль. За последние несколько месяцев фактически все ведущие производители средств разработки выпустили новые версии своих продуктов. Мы решили рассмотреть несколько наиболее популярных средств разработки с точки зрения их пригодности и удобства применения при разработке корпоративных информационных систем.

Итак, в этом обзоре собраны средства разработки, отвечающие ряду критериев. Они должны:

  1. Являться компиляторами (то есть на любой стадии разработки создает настоящий машинный код).
  2. Работать и создавать исполнимые файлы для платформы Windows 9x/NT (далее Win32).
  3. Давать возможность низкоуровневой отладки (просмотр произвольных областей памяти, расстановка точек останова и пошаговая отладка как по исходным кодам так и по дизассемблированным, просмотр и модификация значений переменных…).
  4. Иметь интегрированную среду разработки и отладки.
  5. Работать с базами данных (БД) SQL-серверного типа.
  6. Давать возможность доработки стандартных библиотек и или компонентов (вплоть до низкоуровневой работы с Win32 API, использования ассемблерных вставок, работы с указателями…).
  7. Поддерживать разработку многоуровневых приложений, в частности поддержку современных стандартов DCOM, CORBA, транзакционно-объектных серверов.
  8. Поддерживать компонентный подход в разработке (как с точки зрения использования готовых компонентов, так и с точки зрения создания собственных).
  9. Поддерживать групповую разработку.

Исходя из этого, были отобраны следующие продукты:

Примечание: в этот номер вошла часть материалов, посвященная продуктам Inprise и Sybase. О Microsoft Visual C++ 6.0 и IBM Visual Age for C++ мы постараемся рассказать на страницах одного из следующих номеров.


Критериям с первого по пятый (включительно) полностью удовлетворяют все перечисленные продукты, поэтому особо останавливаться на сравнении этих возможностей не стоит.

Power++ подкачал в области низкоуровневой работы с Win32 API. С Power++ поставляется Win32 SDK и есть возможность подключения заголовочных файлов из его состава, но не всегда это проходит гладко. Так, при написании тестового компонента мы столкнулись с трудностями при подключении файла "commctrl.h", необходимого для работы на уровне API с компонентом TreeView. Такая необходимость появилась из-за того, что у компонент WTreeView не обладает возможностью установки, для уже существующей ветки, параметра говорящего о наличии у него дочерних веток. Для новых веток это, можно сделать установив один из параметров функции Add компонента WTreeView. Причем трудности возникли только при разработке компонентов (в обычном проекте "commctrl.h" добавлялся нормально).

Не все просто с поддержкой многоуровневой разработки (В этом обзоре мы не приводим примеров работы с транзакционными серверами). Все средства умеют создавать компоненты, предназначенные для работы в окружении Microsoft Transaction Server (MTS), а Power++ — и для Jaguar CTS собственного производства, но, хотя Power++ преуспел в поддержке транзакционно-объектных серверов, на ниве DCOM он себя не проявил никак.

Вообще с точки зрения поддержки нововведений, сделанных в последнее время Microsoft, Sybase удостоил внимания только MTS (хотя, конечно, если все делать "с нуля" собственными руками, то…).

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

Но без ложки дегтя не обошлось и здесь. Во-первых из-за того, что универсальность и многообразие достигается за счет приспосабливания старых технологий к решению новых задач. Например, идеология работы с базами данных была разработана Borland'ом для обычных "оконных" приложений и не была серьезно пересмотрена для использования в ActiveX-компонентах. Это привело к тому, что использовать доступ к базам данных в ActiveX небезопасно (при использовании в одном проекте двух и более ActiveX-библиотек, в каждой из которых используется доступ к базам данных, то и дело происходят "вылеты", а при закрытии приложения частенько появляется загадочная ошибка 216). В причины этого мы подробно не вдавались, но, поскольку код, приводящий к краху приложения, весьма прозрачен, проблема с достаточно большой вероятностью кроется в недостаточно проработанном механизме загрузки-выгрузки динамически загружаемых библиотек.

Inprise активно внедряет технологию Midas. Эта технология позволяет наладить не только взаимодействие по сети, но и обеспечивает передачу выборок данных, полученных по средствам выполнения запросов к SQL-серверам и локальным базам данных.


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

Основные же выводы мы предоставляем сделать вам на основании наших описаний выполнения конкретных тестов.

В.Чистяков


Copyright © 1994-2016 ООО "К-Пресс"