На главную Контакты Карта сайта Версия для печати
ПОИСК
О компании Партнеры Продукты Услуги Клиенты Пресс-центр Форум

СУБД и средства разработки Progress

Компания PROGRESS SOFTWARE с 1984 года выпускает ряд программных продуктов для разработки и эксплуатации сложных информационных систем корпоративного масштаба, в частности:

  • реляционная СУБД PROGRESS RDBMS;
  • язык программирования 4-го поколения PROGRESS 4GL;
  • визуальная среда разработки ProVISION;
  • среда исполнения распределенных приложений PROGRESS Open AppServer;
  • средство разработки и эксплуатации транзакционных Internet-приложений WebSpeed и другие.

Свыше 2300 партнеров Progress Software Corp. во всем мире разработали собственные приложения на базе технологий Progress. По данным подразделения Dataquest компании Gartner Group Progress Software Corp. занимает 21 процент рынка встраиваемых в приложения СУБД и является лидером на этом рынке.

Три миллиона пользователей в более чем 120 странах мира используют приложения, разработанные с помощью средств Progress Software Corp. Более 60 000 организаций, в том числе восемьдесят процентов компаний из списка Fortune 1000, отдали предпочтение приложениям на базе средств Progress.
На настоящий момент в мире продано свыше 500 000 лицензий Progress.

Согласно данным последнего исследования, проведенного известной аналитической фирмой IDC, Progress Software занимает лидирующую позицию на рынке внутренних встроенных баз данных. В настоящее время, по оценкам компании Gartner Group, Progress Software Corp. входит в группу из 8 компаний, являющихся лидерами рынка средств разработки информационных систем масштаба промышленного предприятия. По другим исследованиям этой компании СУБД Progress Software Corp. опережает СУБД Oracle, IBM DB2 и MS SQL по такой характеристике, как совокупная стоимость владения.

СУБД PROGRESS

Система управления базами данных PROGRESS способна решать информационные задачи корпоративного масштаба (мощные ЭВМ под управлением ОС UNIX или AS/400, сотни гигабайт распределенных данных, тысячи пользователей и т.д.), но благодаря разумным требованиям к вычислительным ресурсам и гибкой ценовой политике широко используется и для построения информационных систем "клиент/сервер" масштаба подразделения (локальные сети с серверами Windows NT) и даже автономных систем на основе персональных компьютеров (Windows 95).

Наряду со стандартным "джентльменским набором" возможностей, характерным для всех СУБД корпоративного класса, - язык SQL, триггеры, транзакции (в т.ч. распределенные с двухфазной фиксацией), автоматическое восстановление после любых сбоев, многоплатформность, поддержка многопроцессорных архитектур, многопоточность, защита от несанкционированного доступа и др., - СУБД PROGRESS обладает также рядом уникальных особенностей, например:

  • развитый словарь данных (сколь угодно сложные правила обеспечения целостности, форматы представления данных по умолчанию и т.д.);
  • блокировка на уровне записей (а не страниц, как, например, у Sybase);
  • возможность неблокирующего доступа приложений "только для чтения";
  • возможность индексной навигации по выборке вверх и вниз (для быстрого перемещения в конец длинной выборки не требуется считывать всю выборку);
  • регистронезависимые индексы (возможен поиск по индексу без учета регистра букв);
  • пословная индексация (позволяет осуществлять мгновенный поиск слов и фраз в массивах неструктурированного текста);
  • упаковка индексов (сокращает их размер в 2-3 раза и, следовательно, увеличивает скорость доступа);
  • полная функциональная совместимость баз данных всех уровней (от Personal до Enterprise);
  • корректная работа с любыми национальными алфавитами, кодировками (включая двухбайтовые) и сортировками; начиная с версии 9 поддерживается также UNICODE;
  • разумные требования к вычислительным ресурсам (в 2-3 раза ниже, чем Oracle при прочих равных условиях).

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

Отвечая требованиям стандарта ANSI SQL89 Level 2 (начиная с версии 9 поддерживается стандарт SQL92), сервер СУБД PROGRESS может использоваться с любыми ODBC- и JDBC-совместимыми средствами разработки и приложениями, но для достижения максимальной эффективности и доступа ко всему спектру уникальных возможностей сервера (в частности, навигационного доступа к данным и пословной индексации) рекомендуется пользоваться средствами разработки PROGRESS.

Средства разработки PROGRESS

Язык четвертого поколения PROGRESS 4GL

Язык четвертого поколения PROGRESS 4GL зарекомендовал себя, как высокоэффективный инструмент разработки профессиональных распределенных приложений корпоративного масштаба от начала и до конца. Он обладает рядом уникальных достоинств перед аналогичными средствами разработки:

  • язык включает в себя одинаково развитые средства манипуляции данными, описания бизнес-логики и пользовательского интерфейса, что позволяет создавать полностью законченные приложения от графического интерфейса до триггеров базы данных на одном языке. Это позволяет значительно снизить затраты на обучение разработчиков и ускорить разработку приложений;
  • язык поддерживает разработку как графических (Windows NT, Windows 95, Windows 98), так и символьных (UNIX terminals, Windows NT console) пользовательских интерфейсов, а также процедур, вовсе не имеющих пользовательского интерфейса (бизнес-логика, триггеры базы данных);
  • формально не являясь "каноническим" объектно-ориентированным языком, таким как C++ или Java, PROGRESS 4GL тем не менее позволяет создавать так называемые бизнес-компоненты высокого уровня или SmartObjects, инкапсулирующие элементы данных, объекты пользовательского интерфейса и логику их обработки (методы). PROGRESS SmartObjects могут включать в себя другие SmartObjects, обрабатывать и генерировать события, а также обмениваться сообщениями, что позволяет собирать из них сложные многооконные приложения. В качестве объектов Windows-приложений могут использоваться также компоненты ActiveX, что делает возможности построения графического интерфейса практически безграничными;
  • приложения на языке PROGRESS 4GL могут работать как с локальными (архитектуры "single user" и "host-terminal"), так и с удаленными (архитектура "клиент-сервер") базами данных PROGRESS, а также взаимодействовать с приложениями PROGRESS на удаленных ЭВМ с помощью технологии сервера приложений AppServer (многоуровневая архитектура "клиент-сервер");
  • хотя максимальная эффективность и производительность достигается при работе PROGRESS-приложений совместно с СУБД PROGRESS, приложения на языке PROGRESS 4GL могут обращаться и к базам данных третьих фирм напрямую (Oracle, DB2/400) или через интерфейс ODBC. С другой стороны, приложения, написанные на других языках (Java, C, C++, Visual Basic, Delphi и др.), могут не только обращаться к базам данных PROGRESS через интерфейсы ODBC/JDBC, но и (начиная с версии 9) вызывать процедуры, написанные на языке PROGRESS 4GL, через интерфейсы ActiveX и Java RMI (технология Open AppServer), что позволяет легко интегрировать базы данных и приложения PROGRESS в существующие гетерогенные информационные системы, а также комбинировать различные технологии при разработке новых приложений.

Среда визуального программирования ProVISION

Набор средств визуального программирования ProVISION позволяет создавать сложные многооконные PROGRESS-приложения, не снимая руки с мыши и не имея никакого представления о языке PROGRESS 4GL. Основной компонент ProVISION - AppBuilder - позволяет как создавать новые бизнес-компоненты SmartObjects, так и собирать из них готовые приложения. Построение приложений осуществляется путем выбора компонентов из "палитры" и размещения их в рабочем поле AppBuilder. Эти компоненты представляют собой не просто экранные примитивы, но и наборы триггеров и методов, связанных с ними, что позволяет строить не просто красивые интерфейсы, а полнофункциональные приложения.

Отличительными особенностями AppBuilder являются прежде всего то, что он сам полностью написан на языке PROGRESS 4GL, что является наглядной иллюстрацией мощности и гибкости языка, а также то, что он в результате своей работы генерирует код на PROGRESS 4GL, что гарантирует переносимость разрабатываемых приложений. Это позволяет, например, использовать AppBuilder в среде Windows для разработки текстового приложения, ориентированного на эксплуатацию в среде UNIX, с возможностью запуска разрабатываемого приложения в консольном окне и пошаговой его отладки с помощью графического отладчика PROGRESS Debugger.

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

WebSpeed

Наряду со средствами разработки приложений "клиент-сервер", PROGRESS SOFTWARE предлагает также средство разработки Internet-приложений WebSpeed. WebSpeed позволяет использовать Web-браузер в качестве пользовательского интерфейса к приложениям онлайновой обработки транзакций. Бизнес-логика приложений пишется на языке SpeedScript, являющемся "диалектом" PROGRESS 4GL, пользовательский интерфейс строится в виде HTML-страниц, либо создаваемых с помощью любого HTML-редактора, либо динамически генерируемых SpeedScript-процедурами, а собственно обработку Web-транзакций осуществляет WebSpeed Transaction Server, подключаемый к любому стандартному HTTP-серверу. WebSpeed с успехом используется разработчиками как для создания Web-приложений "с нуля", так и для быстрого обеспечения Web-интерфейса к существующим PROGRESS-приложениям.

Начиная с версии 9, средства разработки приложений "клиент-сервер" (ProVISION) и Internet-приложений (WebSpeed WorkShop) интегрированы в единую среду разработки ProVISION Plus, а AppServer и WebSpeed Transaction Server объединены в универсальный Open AppServer.

Поддержка национальных языков

Возможности создания гетерогенных информационных систем, объединяющих разнообразные операционные среды, нельзя считать полностью реализованными, если не решена проблема символьных кодировок. Как известно, в различных операционных средах традиционно используются различные способы кодирования символов кириллицы, несовместимые между собой: так, в DOS это кодировка 866 (также известная как альтернативная), в Windows - 1251, а в UNIX могут использоваться и КОИ-8, и ISO 8859-5 и та же 866.

Работа PROGRESS с кодировками строится следующим образом: существует файл кодировок, содержащий таблицы сортировки, преобразования регистров, атрибутов (буква, цифра и т. д.) и преобразования между кодировками для нескольких десятков используемых в мире кодировок, включая четыре вышеупомянутых для русского языка. Поддерживаются даже двухбайтовые кодировки для восточных иероглифических языков. Если Вы используете кодировку, не включенную в стандартный список (например, БЕСТА), Вы можете сами добавить к файлу кодировок необходимые таблицы и перекомпилировать его.

При создании базы данных таблицы сортировки, соответствующие указанной кодировке, загружаются прямо в нее. Сервер работает в кодировке, указанной в базе данных, которую он обслуживает. Кодировки для клиента (отдельно для дисплея, принтера, файлов ОС) задаются параметрами при его запуске. Клиент автоматически преобразует символьные данные, получаемые от серверов, в так называемую "внутреннюю" кодировку, соответствующую кодировке дисплея, и наоборот. Язык PROGRESS 4GL также предоставляет средства работы с кодировками - можно указать кодировку при открытии текстового файла/устройства ОС, а также преобразовать строку символов из одной кодировки в другую.

Таким образом, с базой данных, расположенной на UNIX-машине и использующей кодировку КОИ-8, могут одновременно работать и терминалы в кодировке ISO 8859-5, и удаленные DOS- и Windows-клиенты в своих родных кодировках. Справедливо и обратное: любой клиент может без проблем интегрировать данные из нескольких разнородных баз с разными кодировками.

Начиная с версии 9, СУБД PROGRESS поддерживает также стандарт UNICODE, позволяющий хранить в одной базе данных текстовую информацию, содержащую символы любых алфавитов, ранее несовместимых между собой.

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

PROGRESS идет еще дальше, предоставляя разработчикам средство Translation Manager, позволяющее максимально автоматизировать процесс ручного перевода готового приложения на различные национальные языки, а также создавать приложения, способные общаться с пользователями на нескольких языках одновременно. Разработчик создает и отлаживает приложение, не задумываясь о проблемах его интернационализации. Затем за дело берется профессиональный переводчик, который с помощью Translation Manager переводит все метки, подсказки, сообщения об ошибках, другими словами - все литералы в приложении на другой национальный язык. Переведенные литералы сохраняются в отдельном сегменте объектного кода приложения, соответствующем выбранному языку. Таких сегментов может быть сколько угодно, и при исполнении приложения каждый пользователь может выбрать язык по своему вкусу.

Другие информационные ресурсы, посвященные PROGRESS

Кроме сервера фирмы PROGRESS SOFTWARE CORPORATION, в Internet существует множество независимых информационных ресурсов, содержащих полезную информацию для пользователей PROGRESS. Краткий список таких ресурсов находится здесь.

Как купить PROGRESS

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