МАТЕРИАЛ
16.08.02

Компания Hewlett-Packard, используя Borland Delphi, существенно увеличила производительность
приложений

"Мы существенно увеличили производительность приложений, решающих критически важные задачи котировок цен, преобразовав их в трехзвенные приложения на Delphi, использующие протокол обмена сообщениями CORBA. Приложение, которое раньше работало неприемлемо медленно с 500 пользователями, теперь быстро работает с 1200, в том числе и с теми, у которых есть только удаленный доступ. Пользователи в восторге от увеличенной производительности, а приложения можно масштабировать до любого желаемого уровня без какой-либо модификации, просто добавляя вычислительные ресурсы на среднем звене".

Ден Авилла (Dan Avilla),
IT-менеджер по маркетингу продукции, компания Hewlett-Packard

Компания Hewlett-Packard

Компания Hewlett-Packard является ведущим мировым поставщиком решений и услуг в области вычислений и обработки изображений. Система котировок цен от Hewlett-Packard - это приложение, необходимое для управления большей частью деятельности компании по продажам, строящейся на ценообразовании на основе объема поставок. В двух предыдущих системах пользователи очень быстро создавали большую нагрузку, построенных на двухзвенной архитектуре, что значительно снижало устойчивость этих систем.

Hewlett-Packard выбрала Borland Delphi, чтобы перестроить свою систему расчета цен: мощная интегрированная среда разработки (IDE) Delphi 5 дает идеальный инструмент для разработки трехзвенной архитектуры. Borland VisiBroker 4.1 - брокер объектных запросов (ORB) сыграл важную роль благодаря поддержке стандарта CORBA, тем самым избавляя от необходимости постоянно следить за состояниями приложений-клиентов и за их подключениями к базе данных. Брокер облегчает интеграцию нового приложения с уже существующими, а также имеет встроенный механизм балансировки нагрузки (load balancing).

Компания Hewlett Packard
Индустрия вычисления и обработка изображений
Приложение Система котировок цен
Инструмент Delphi 5 Enterprise
Другие протестированные инструменты Java
Сервер БД HP 9000 N-Class с HP-UX и Informix
Средний ярус 2 сервера HP Netserver LH4rs с балансировкой нагрузки
Число пользователей 1200
Размер команды 3 человека
Срок разработки 6 месяцев


Задачи бизнеса

Два двухзвенных приложения, созданных последовательно друг за другом, работали сначала хорошо, но затем стали работать все медленнее с увеличением количества пользователей. Двухзвенная архитектура также означала, что машинам-клиентам требуется тщательная настройка и усиленное сопровождение: каждый клиент нуждался в интерфейсе с базой данных, а также в большом исполняемом файле, содержащим большую часть бизнес-логики.

Новое приложение, созданное в Delphi 5, использует трехзвенную архитектуру, где всю бизнес-логику реализует среднее звено. Улучшенные возможности Delphi 5 позволяют такому приложению решать проблемы распределения нагрузки и подключений к базе данных. Приложение-клиент не имеет состояния (stateless), и ему не нужно соединяться с базой данных, потому что все запросы к ней генерирует среднее звено, реализующее бизнес-логику. В результате сетевой трафик между клиентом и средним звеном существенно сокращается.
У Hewlett-Packard сейчас есть Delphi-приложение, работающее в четырех экземплярах на двух серверах, а система обмена сообщениями VisiBroker балансирует на них нагрузку. И эти два сервера загружены еще далеко не до предела. А когда нагрузка станет слишком большой, можно будет легко добавить еще один сервер - VisiBroker просто будет автоматически обращаться к новому серверу в порядке кольцевой очереди.

Результат

Три программиста переписали приложение с нуля всего за шесть месяцев с помощью стандартных Delphi- и VisiBroker-компонентов, предназначенных для работы с CORBA.

Время ответа на типичную для клиента операцию - "открыть торги" ("open deal") - значительно уменьшилось с 31 до 2 секунд.

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

Новое Delphi-приложение легко интегрируется с существующими приложениями от Hewlett-Packard, которые были разработаны с других средах, поддерживающих стандарт CORBA.

Ситуация, сложившаяся в Hewlett Packard

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

Оценивая работу прежнего приложения, Дэн Авилла (Dan Avilla), IT-менеджер по маркетингу продукции компании Hewlett-Packard, предпочел перенести систему в среду быстрой разработки приложений (RAD), которая была бы приспособлена для частого внесения изменений, что характерно для данного бизнеса.

"Если вы следуете традиционному плану разработки проекта, то когда вы завершите создание своего приложения, все уже поменяется", - говорит Авилла.

За три месяца Авилла со своей командой создал новое двухзвенное приложение с помощью Delphi 3. Интегрированная среда разработки Delphi дала им более быстрый и более легкий для изучения инструмент разработчика и возможность использовать методы быстрой разработки приложений (RAD). Это приложение работало хорошо, но присущая двухзвенной архитектуре специфика создавала ограничение на количество пользователей, с которым могло работать приложение.

Естественным следующим шагом представлялся переход на трехзвенную архитектуру с использованием Delphi 5.

Решение дает Borland

Новое приложение на Delphi 5 отводит основную роль среднему звену. С помощью брокера объектных запросов VisiBroker, обеспечивающего обмен сообщениями по стандарту CORBA, среднее звено общается с тонкими клиентами, написанными на Delphi и Java . "Мы думали о Java, но решили работать в Delphi, потому что мы любим интегрированную среду разработки, - говорит Авилла. - Когда мы писали наш первоначальный продукт в Delphi, у нас в команде было два человека, которые раньше этой средой не пользовались. Но за шесть месяцев мы создали корпоративное приложение. Кроме того, в Delphi и VisiBroker есть все инструменты, которые нам нужны для реализации CORBA."

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

Система буферизации модулей данных используется для хранения 20 активных подключений к базам данных в одном буфере. Когда среднему звену требуется информация из базы данных для того, чтобы ответить на запрос клиента, оно занимает одно из таких соединений, а как только запрос будет обработан, возвращает это соединение обратно в буфер. Клиент занимает ресурсы только в тот момент, когда он реально отправляет запрос. Типичному запросу клиента к среднему звену для получения информации о котировках требуется отправить только около 100 байт данных. А когда к системе подключено 250 пользователей, то, скорее всего, возникнет не более 10 одновременных запросов.

Вызовы CORBA используются для чтения информации о котировках из других баз данных и для записи ее в них. Например, при проведении финансового анализа, вместо оправки данных о цене уведомлением по электронной почте эти данные автоматически экспортируются через CORBA в существующую систему управления финансами. Другое приложение нужно лишь незначительно модифицировать.

Hewlett-Packard также разрабатывает другие клиенты, использующие стандарт CORBA для связи со средним звеном, включая Java-клиенты, работающие в HP-UX , и, наконец, C++-клиенты, работающие в ОС Linux.

VisiBroker автоматически балансирует нагрузку между двумя серверами. Если возникнет повышенная загрузка системы, то ПО среднего звена, созданное в Delphi, можно будет установить на любой имеющийся в наличии сервер NT, а VisiBroker немедленно выявит это и начнет отправлять на него запросы клиентов.


Дополнительная информация

Delphi - ведущее средство разработки приложений
Подробнее о других продуктах Borland
Курсы по продуктам фирмы Borland
Приобрести продукцию Borland в электронном магазине ITshop.ru

Дополнительную информацию Вы можете получить в компании Interface Ltd.

Обсудить на форуме
Отправить ссылку на страницу по e-mail


Interface Ltd.
Тel/Fax: +7(095) 105-0049 (многоканальный)
Отправить E-Mail
http://www.interface.ru
Ваши замечания и предложения отправляйте автору
По техническим вопросам обращайтесь к вебмастеру
Документ опубликован:16.08.02