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

В этой области у Cactus нет равных. Он превосходит все существующие среды визуальной разработки графических интерфейсов, в том числе и Microsoft Visual Basic, Sybase PowerBuilder, а также Borland Delphi. В то же время, по сравнению с ними, в сфере проектирования форм возможности Cactus ограничены.

Набор Cactus Workbench предоставляет инструменты для проектирования форм и написания процедур с использованием оригинального языка Maintain. Встроенный Cactus Server Manager помогает разбивать приложения, позволяя буксировать на сервер процедуры, созданные на локальных машинах.

Для безупречной работы разделенных компонентов пользователям Cactus необходимы сопутствующие серверы промежуточного программного обеспечения компании IBI - Enterprise Data Access (EDA)/SQL. Вообще, Cactus предназначен как для пользователей IBI EDA, которые имеют возможность добавлять агенты Cactus, так и для групп разработчиков. К последним относятся в особенности те, кто ищет возможности использовать EDA корпорации IBI для создания трехуровневых приложений клиент-сервер, рассчитанных на платформы, от мэйнфреймов до серверов среднего уровня, и различные операционные системы.

Сфера применения Cactus охватывает Internet и внутрикорпоративные сети с расширениями для Web, которые позволяют сохранять графические формы в формате HTML. В будущем IBI планирует выпустить шлюзы типа "Web-сервер - EDA-сервер".

EDA/SQL поддерживает CICS, MVS, Windows NT, Unix, VM/CMS-управление серверами DB2, Focus, Informix, Microsoft SQL Server, Oracle и других реляционных баз данных с поддержкой EDA, используя, в частности, протоколы LU6.2, LU2, TCP/IP и NetWare.

Для инсталляции Cactus Workbench, EDA/SQL Client для Windows и EDA/SQL-сервера (который не входит в комплект Cactus) можно использовать, например, компьютер на базе Pentium с частотой в 120 МГц под Windows NT 4.0, имеющий 32 Мбайт оперативной памяти.

Сущность разработки систем клиент-сервер состоит в описании клиентских процедур и бизнес-правил. Трехуровневые решения отличаются от традиционных двухуровневых местом инсталляции и выполнения этих процедур.

Браузер Cactus Object Browser проводит учет компонентов приложений при помощи средства управления приложениями Application Manager, после чего процедурные компоненты можно отбуксировать на любой клиент или сервер.

Для компоновки экрана интерфейса конечного пользователя и присоединения вспомогательных программных процедур, которые выполняются, когда пользователь производит такие операции, как ввод текста или щелчок кнопкой мыши, можно воспользоваться Cactus Form Painter. (Cactus называет подобные операции "триггерами" (triggers). Триггеры в Cactus аналогичны "событиям" (events) в других инструментах разработки графических форм.)

Я уже привык к Visual Basic, где всегда есть широкий выбор встроенных и дополнительных управляющих элементов. Поэтому ограниченность небогатой палитры Cactus ощущалась особенно остро. В инструментальный комплект входят стандартная метка, текстовой блок, блок списка, комбинированный блок, координатная сетка, командная кнопка, кнопка выбора, графическая кнопка, шаблон, интерфейс компоновки объектов (OLE), строка и кадр. Этого достаточно для создания простых форм, которые позволяют обрабатывать большую часть элементов данных и редактировать задачи. Кроме того, можно использовать специальные элементы управления Visual Basic и OLE (корпорация IBI поддерживает и компоненты ActiveX).

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

Помимо этого в Form Painter предусмотрены вспомогательные кнопки, которые, по моему мнению, очень удобны для выравнивания, корректировки размеров, центрирования элементов управления и для изменения порядка табуляции. Кроме того, Cactus включает в себя Menu Designer, который позволяет добавлять разворачивающееся меню и соответствующие операции.

Для написания процедур представления событий и бизнес-правил в Cactus использован оригинальный язык четвертого поколения под названием Maintain. Эти процедуры, или "процессы" (cases), выполняются при проведении пользователем соответствующих операций, или в случае, если их инициирует вызов другого "процесса".

Язык Maintain избавляет разработчиков от необходимости осваивать разнообразные клиентские (front end) языки, языки сценариев и производные от SQL при развертывании приложений уровня предприятия, которые могут включать в себя несовместимые элементы этих языков. Однако Maintain предназначен исключительно для Cactus, и это может вызвать некоторые затруднения, связанные с отсутствием квалифицированных программистов, с необходимостью расходов на подготовку специалистов, с поддержкой приложений и эксплуатацией.

Cactus обрабатывает данные, используя совокупности записей данных, организованные в структуры, которые называются "стеки" (stacks).

Стеки - это просто таблицы, которые соответствуют рядам и столбцам баз данных; существует возможность добавлять и столбцы, определенные пользователем. Язык Maintain предусматривает команды для выбора записей, сбора значений транзакций, написания стеков файлов, сортировки записей и копирования данных из одного стека в другой.

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

Среди других прикладных структур - команда If (если) для условного ветвления и вызова внешних процедур, локализованных на местах или на любом сервере.

Приложения Cactus могут использоваться в качестве клиентов Cactus, клиентов Web (в HTML) или компонентов OLE при использовании в других Windows-приложениях. Компоновщик приложений Application Packager, который дает возможность осуществлять операцию буксировки, позволяет еще создавать файлы с расширением .EXE для использования с библиотеками поддержки, готовить дистрибутивные диски, а также создавать резервные и архивные файлы.

Хотя использование Cactus и требует слишком больших вложений денежных средств и ресурсов, этот продукт обеспечивает вполне подходящую среду для крупных корпоративных приложений.


Подводя черту

InCactus 1.3a

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

Достоинства: простота установки, легкость использования; возможность переноса бизнес-логики на различные серверы при помощи буксировки; возможность сопоставления производительности еще до окончательного развертывания; поддержка стандартного клиента, а также использование Web- и OLE-клиентов.

Недостатки: использование оригинального языка программирования и необходимость в сопутствующих серверных продуктах Enterprise Data Access (EDA) может потребовать значительных ресурсов, увеличения расходов на подготовку специалистов и поддержку; ограниченные возможности в области проектирования форм.

Web-адрес Information Builders: http://www.ibi.com

Цена: 3250 долл. за Cactus Workbench для одного разработчика; от 5,5 тыс. до 100 тыс. долл. за Cactus Server (включая EDA-сервер), в зависимости от платформы и числа пользователей.

Платформы: Windows 3.1 и старше, Windows 95, Windows NT, OS/2 Warp, Unix, MVS.