Е. З. Зиндер

Корпорация LVS, тел.(095)330-15-37, Российская Ассоциация пользователей ORACLE , ez@lvs.msk.su


Важность заявленной темы номера - "системы проектирования баз данных и средства быстрой разработки приложений" - трудно переоценить.

На поверхностном уровне оценки это подтверждается тем фактом, что разработка типичных приложений для современных Информационных Систем (ИС) ведется не на языке Pascal, C, а на так называемых языках четвертого поколения, или 4GL, которые изобретались именно для ускорения разработки. Признано также, что во многих случаях сложные ИС просто немыслимо строить без применения инструмента класса CASE.

Если следовать истории развития инструментов, то в начале CASE расшифровывалось только как Computer Aided Software Engineering, т.е. "автоматизированная разработка программного обеспечения". А системы проектирования БД назывались именами собственными, например, DBDA фирмы IBM. Относительно недавно широкое распространение получил вариант "Computer Aided System Engineering". В этом варианте предполагается автоматизированное построение моделей всей системы: модели базы данных, модели функций, потоков данных и т.д.. Примечательно, что первый вариант продолжает широко использоваться в общей литературе по разработке ИС, тогда как второй чаще используется в более узкой области применения СУБД.

Следуя принципам описания "сверху вниз", рассмотрим первыми вопросы, связанные с CASE-системами.

В номере представлены три CASE-системы. Интегрированные системы представляет новая версия Oracle CASE, выпущенная в свет под именем Designer/2000. "Интегрированная" здесь означает ее непосредственную связь с конкретной СУБД и инструментами 4GL для этой СУБД. Такие CASE-системы часто получают расшифровку "Computer Aided System/Software Engineering", поскольку ориентированы и на концептуальное моделирование, и на получение работающих модулей приложений. Интеграция воплощается в том, что Designer/2000 строит исходные описания модулей приложений, которые предназначены для непосредственной генерации этих модулей с помощью средств 4GL ORACLE7.

Новую версию Oracle CASE в номере представляет статья О.Горчинской "DESIGNER/2000 - новое поколение CASE-продуктов фирмы Oracle" Может быть, самым интересным в этой версии является появление инструмента для построения моделей еще одного класса - моделей так называемых бизнес-процессов, или моделей организационно-технологической деятельности. Наиболее важным может оказаться возможность динамического имитационного моделирования процессов с учетом использования различных числовых параметров отдельных действий и анализом критических участков. Такая модель могла бы быть подспорьем в BPR - Business Process Reengineering. Остальные компоненты DESIGNER/2000 - классические средства построения моделей данных, функциональных моделей, средства отображения их в описания баз данных и программных модулей. Кроме того, имеются средства реверсного инжиниринга баз данных и модулей, то есть получение моделей по существующему приложению.

В отличие от подобных интегрированных систем системы класса так называемых Upper-CASE позволяют строить модели концептуального уровня, а программы приложений строятся с помощью других инструментов: тех или иных инструментов класса 4GL. Одной из важных особенностей таких систем является принципиальное решение об отказе их привязки к одной СУБД, но, наоборот, возможность совместного использования со многими СУБД и 4GL.

Статья С.Горина и А.Тандоева "Применение CASE-средства ERwin 2.0 для информационного моделирования в системах обработки данных" достаточно подробно представляет этот инструмент, который получил значительное развитие в своей новой версии. Статья отличается последовательным вводом читателя в проблематику проектирования, начиная с неформального введения в реляционные БД. Казалось бы, она носит характер, близкий к учебному. Вместе с тем, описание будет интересно профессионалам показом ряда важных технических деталей, таких, как реализация процедур баз данных для некоторой конкретной СУБД. К новым функциям ERwin отнесены: реверс-инжиниринг существующих БД; управление параметрами физической организации БД для таких СУБД, как Oracle и Sybase; скрытое от пользователя порождение процедур базы данных с помощью "макроязыка шаблонов". Представляется, что с учетом предоставления пользователю возможности создавать свои шаблоны имеется весьма мощный аппарат нагрузки сервера и традиционным контролем целостности данных, и процедурами поддержки произвольных бизнес-правил. Интересны также возможность управлять приписыванием либо к серверу, либо к клиенту правил (проверок допустимости значений) и действий по установке начальных значений, и представление возможностей управления отображением данных при интеграции ERwin с PowerBuilder. Использование слова "интеграция" не случайно. Если вспомнить про наличие компонента PBwin, с помощью которого описывается функциональная модель предприятия, можно предполагать, что наличествует хотя и не полный технологически, но развитый комплекс для моделирования и разработки приложений в среде "клиент-сервер".

Наконец, статья С. Панащука "Разработка информационных систем с использованием CASE-системы SILVERRUN" Автор с первых слов обращает внимание на то, что SILVERRUN, в отличие от интегрированных продуктов является открытой системой, предполагающей использование совместно с продуктами разных фирм. Значительную часть этой небольшой по объему статьи автор посвятил практически полезным в проектах разной величины направлениям комплексирования SILVERRUN с программными системами многих других видов: средствами управления проектами, эмуляторами распределенной обработки, средствами управления разработкой приложений, мониторами транзакций и др. К сожалению, отсутствуют ссылки на примеры комплексирования с конкретными системами большинства указанных типов. Отметим некоторые интересные особенности SILVERRUN, описанные в этой статье: отношение семантического тождества реализуемое приписыванием различных элементов к одному "common item" - так называемому общему элементу. Такой способ фиксации синонимии может использоваться при интеграции различных представлений проектной информации. Отметим, что и в SILVERRUN появились средства поддержки BPR, например: можно определять значения удельной стоимости ресурсов, используемых в каждом простом подпроцессе, и автоматически получать стоимость каждого процесса и общие затраты ресурса каждого вида в системе. Отличительной возможностью SILVERRUN является поддержка ER-модели с n-арными связями и множественными свойствами (к сожалению, это почти не описано в статье). Такая модель, наиболее близкая к классическому прототипу, позволяет строить концептуальные модели с минимальными оглядками на плоскую реляционную модель. В то же время, есть средства автоматизированного перехода к реляционной модели. Наконец, можно приветствовать достаточно четкое определение автором области назначения SILVERRUN: это - "CASE-система верхнего уровня, предназначенная для инструментальной поддержки структурных методологий создания информационных систем бизнес-класса".

Перейдем к средствам собственно разработки приложений, а конкретней - к языкам и системам, которые относят к классу 4GL. Первоначально языки и системы программирования, бывшие прототипами современных 4GL, предназначались для уменьшения трудозатрат при программировании прикладных программ обработки данных достаточно типового вида. Такие системы, как ORACLE Forms v.1 или NATURAL Software AG предлагали разные идеологии способа разработки и разные архитектуры создаваемых приложений, но между ними было и общее: за считанные часы можно было создать диалоговое приложение средней - невысокой - по современным меркам - сложности для ввода, корректировки и поиска данных.

В настоящее время 4GL приобрели и другие свойства помимо свойств RAD - Rapid Application Development, средств быстрой разработки приложений. Важнейшие свойства - это создание приложений для архитектуры "клиент - сервер"; высокая степень открытости как обеспечение переносимости на многие платформы (и ОС, и СУБД!) при весьма низких затратах на перенос; использование методов объектно-ориентированного программирования c большим набором классов-заготовок; предложение разработчику интерактивного интерфейса, включая средства "drag and drop", и др.

Однако этими свойствами инструменты 4GL/RAD не ограничиваются. И в каждой из трех публикуемых в этом номере статей про 4GL описывается набор особенных возможностей, предоставляемых конкретной системой. Ниже мы отметим эти возможности, укажем здесь, что во многом они близки для разных систем.

Статья Н. Вьюковой названа предельно просто: "PowerBuilder" Это оправдано значительной популярностью продукта. Указывается, что предлагается объектно-ориентированная среда разработки интерактивных приложений. Рассмотрены свойства объектов в системе, методика создания приложений, интерфейсы с СУБД, возможность создания локальной базы данных при использовании Watcom SQL. Описаны возможности поддержки процесса разработки: ведение библиотек классов (объектов, функций, запросов, структур), поддержка версий, интерфейс OLE 2.0 для интеграции с настольными системами.

Статья Ю.Петрова напротив, имеет очень длинное название: "JAM - инструментальное средство разработки приложений в информационных системах архитектуры "клиент-сервер", построенных на базе РСУБД" Особенность этой статьи в том, что в ней достаточно подробно проводится сравнение разработки с помощью JAM с разработкой по 3GL-технологии, благодаря чему она будет особенно интересна пишущим приложения на С, Pascal и т.п.. Автор выделяет черты JAM, которые могут быть отличительными: возможность разработки интерфейсной части приложения и для Windows, и для DOS, встроенный процедурный 3GL-язык и открытость по подключению внешних модулей на C или совместимых по вызовам языках, наличие встроенных функций для динамического изменения свойств объектов (принятый в JAM объектный подход также описывается), собственная встроенная СУБД, высокая степень переносимости приложений. В систему входит генератор отчетов, средства интеграции с UpperCASE и взаимодействия с внешними мониторами транзакций.

И третья статья о 4GL: Ю.Шафрин, "SQLWindows 5 - графическая среда разработки приложений в архитектуре клиент/сервер" Если судить только по названию, можно предположить, что эта статья ровно о том же, о чем предыдущая, но применительно к продукту фирмы Gupta. Это не так. Конечно, описаны характеристики общих типов возможностей: работа с другими РСУБД (SQL-серверами), включение в систему средства генерации отчетов и т.п. Однако, данная статья отличается наибольшим вниманием к изложению концепций и свойств объектного подхода, реализованного в системе. Описываются основополагающие понятия системы: Объект, Событие, Сообщение, Действие. Излагаются основы SAL - встроенного языка ООП. Приводятся примеры не только экранных окон, но и соответствующих операторов в текстовой форме, что повышает - потенциально - ценность материала для профессионалов-программистов. Интересно сообщение о возможности компиляции приложения в исполняемые модули Windows.

Короче говоря, вот если бы интеллигентность SQLWindows да соединить с переносимостью и инженерной основательностью JAM, да прибавить популярности PowerBuilder"a...

Шутка, конечно, но проблема выбора есть. Несколько слов о факторах, связанных с выбором. Во-первых, отметим преимущественную тенденцию, проявляющуюся в наличии растущего рынка СУБД-независимых продуктов - как 4GL, так и CASE-систем. Эту тенденцию можно признать оправданной и перспективной, а может быть, и неизбежной. За дополнительными аргументами в поддержку этой оценки отошлем к статье В. Меллинга во 2-м номере журнала.

Во-вторых, вслед за С. Панащуком обратим внимание на класс рассматриваемых CASE и 4GL. И SILVERRUN, и другие системы, описываемые в этом номере, также попадают в класс систем инструментальной поддержки структурных методологий создания информационных систем бизнес-класса. Таким образом, различия между ними могут лежать в других областях: интегрированность с небольшим числом поставщиков ПС либо максимальная открытость системы в смысле совместной работы с другими ПС; жестко заданный набор методов моделирования либо возможность настройки на большое число альтернативных; открытость системы в смысле переносимости на разные аппаратно-программные платформы; ресурсоемкость системы и др. Хочется отметить еще одно важное направление открытости: открытость репозитория CASE-системы. При явной тенденции к отрытому взаимодействию систем этот показатель становится очень важным и достойным самостоятельного рассмотрения.

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

В связи с этим интересна статья А. Вендрова "Один из подходов к выбору средств проектирования баз данных и приложений" посвященная основаниям практического выбора комплекса инструментальных средств для коллективной разработки больших информационных систем на всем проектном цикле и далее - цикле жизни системы. Автор предложил свой взгляд на приоритеты в таком выборе, и, может быть, это - самое ценное в данной работе. Выбор пал на сочетание двух инструментов: мощной и открытой CASE-системы с мощной и открытой системой разработки приложений (Westmount I-CASE + Uniface). В качестве одного из нетрадиционных, но практически важных критериев рассматривается возможность параллельной разработки проекта интегрированной базы данных и приложений, которые будут с ней работать. Любопытно, что выбранные в итоге системы не вошли в список тех, которым посвящены статьи номера по конкретным CASE и 4GL. Это свидетельствует об актуальности темы, и о том, что она далека от исчерпания.

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