Пытаясь оценить перспективы набирающей скорость «лавины Java», консультационная компания ISCG провела сравнительные испытания драйверов JDBC для инструментальных сред PowerBuilder, Delphi и Visual Basic.

«Большинство тестов были составлены с математическим уклоном и позволяли определять лишь загрузку процессора, - отметил представитель компании ISCG Брайан Гуза. - Какова эффективность совместного использования встраиваемых в браузер средств Java с продуктами Oracle, пока не известно».

Тенденции разработки Java

Число Java-приложений, которые
  тестируются используются в работе компаний
0 71% 35%
1-10 14% 47%
11-25 3% 10%
Более 25 5% 4%
Не известно 7% 4%

Самые популярные приложения, использующие Java*

Web/Internet 41%
intranet 21%
Базы данных 12%
Финансы/бухгалтерия 7%
Ввод заказов 6%

По результатам опроса 103 менеджеров ИС, работающих в компаниях, использующих Java
*Допускалось несколько вариантов ответов

Источник: Computerworld Information Management Group

  
Интерфейс JDBC (Java DataBase Connectivity), разработанный по аналогии с известным интерфейсом ODBC корпорации Microsoft, представляет собой средство организации доступа приложений на Java к базам данных в сети. Скажем, чтобы получить доступ к базе данных Oracle, драйвер JDBC подключается к специально созданному самой корпорацией Oracle механизму. В ходе испытаний кода JDBC, сгенерированного при помощи компилятора SQLJ, выполнялись все основные операции с базами данных (процедуры выборки, вставки, замены, удаления и записи).

Каждый драйвер должен был пройти три простых теста.

В «разбросанном тесте» (Scattered Test) имитировались операции случайного чтения и записи. После считывания строки неизменяемой входной таблицы в случайном порядке выполнялись 300 команд вставки, замены и удаления. Далее пакеты, состоящие из 50 строк, опять записывались в БД.

«Концентрированный тест» (Concentrated Test) предназначался для имитации обработки массива. Каждая строка неизменяемой входной таблицы считывалась и помещалась в массив. После этого над элементами массива выполнялись 300 операций вставки, замены и удаления. Затем пакет из 50 строк записывался обратно в БД.

В «процедурном тесте» (Procedure Test) имитировалась обработка процедур. Этот тест выполнялся аналогично тесту концентрации, но результаты сразу сохранялись в базе данных.

Все три теста последовательно были выполнены для интерфейса JDBC и для коммерчески доступных драйверов PowerBuilder, Visual Basic и Delphi.

При ближайшем рассмотрении восторг, вызванный широкими возможностями языка Java, сменился разочарованием. Приложения, написанные с использованием данной технологии, работали на 35% медленнее программ на Visual Basic, на 81% отставали от PowerBuilder и еще больше уступали программам Delphi, которые и заняли первое место по скорости выполнения.

Однако производительность JDBC заметно улучшилась после появления специальных расширений (автоматической фиксации изменений, предварительной выборки строк и группового обновления). При включенном режиме автоматической фиксации изменений результаты выполнения инструкций автоматически записываются на диск сразу после того, как команда инициируется пользователем. Если эта возможность отключена, можно последовательно вводить несколько команд, а затем выполнять их в составе единого пакета. Режим выборки строк и группового обновления позволяет оперировать при чтении и записи не отдельными строками, а их наборами.

Если предварительная выборка строк и групповое обновление не оказывают существенного влияния на производительность интерфейса JDBC, отключение режима автоматической фиксации изменений обеспечивает значительное увеличение быстродействия. После отключения данной возможности функции JDBC выполняются на 40% быстрее, делая производительность интерфейса вполне сравнимой с соответствующими показателями PowerBuilder и Delphi.