BPwin! ERwin! ModelMart???
Специалисты, чья работа связана с бизнес-анализом, проектированием баз данных, по заголовку сразу могут догадаться, о чем пойдет речь в данной статье.
И BPwin, и ERwin снискали себе определенную популярность у экспертов в области информационных технологий. Существуют разные точки зрения на возможности названных CASE-средств производства Computer Associates, однако с достаточно большой уверенностью можно сказать, что вниманием они не обделены — как со стороны специалистов, так и в компьютерной прессе. Но в данной статье речь пойдет не о BPwin и ERwin, хотя не затронуть их, конечно же, не удастся. Говорить мы будем еще об одном продукте компании Computer Associates — о ModelMart. Уверен, что многие слышали о нем, хотя наверняка далеко не всем, кто использует в своей повседневной работе BPwin и ERwin, приходилось с этим продуктом работать.
Что же такое ModelMart? В рамках современного подхода к разработке информационных систем практически не осталось места профессионалам-одиночкам (хотя таковые еще встречаются). Сейчас все решает правильная организация коллективной работы, в которой задействованы десятки, сотни специалистов различных направлений, в том числе бизнес-аналитики и проектировщики баз данных. Говорить обо всех аспектах организации коллективной работы в данной статье я не буду. Об этом уже немало рассказано на страницах различных компьютерных изданий. Моя задача — дать основное представление о том, какую нишу в этом вопросе занимает ModelMart.
BPwin и ERwin, при всех их достоинствах, являются индивидуальными средствами разработки моделей. Трудно представить себе коллективную работу, где в качестве источника информации выступает файл (в данном контексте имеется в виду одновременный доступ к файлу с возможностью его изменения). Я думаю, что проектировщики баз данных, часто использующие в своей работе ERwin, сталкивались со следующей ситуацией: когда при работе с моделью, загруженной из файла, произошло аварийное закрытие программы, при попытке снова открыть этот файл (или открыть файл, уже открытый другим пользователем) — выдается сообщение, что данный файл имеет статус «только для чтения». Эта ситуация как нельзя лучше свидетельствует об однопользовательской сути ERwin, так как при открытии файл получает этот статус для защиты от возможных его изменений со стороны других пользователей. Для разрешения подобных проблем и служит ModelMart, который относится к программным продуктам группы Model management system (система управления моделями). Он позволяет организовать коллективную работу с моделями BPwin и ERwin, поскольку только они имеют возможность сохранять свои модели в репозитарии ModelMart1. Принцип работы с ModelMart состоит в том, что модель сохраняется не в файл, а в репозитарий ModelMart. Использованный мною термин «репозитарий» означает хранилище информации. Сразу же возникает вопрос: каким образом организовано хранилище в ModelMart? Ответ на него очень прост: в базе данных (какие базы данных поддерживает ModelMart, мы расскажем ниже).
Итак, кратко рассмотрим каждую часть ModelMart (подробнее об этом будет рассказано в статье, описывающей работу ModelMart с ERwin).
- Клиентская часть — интегрирована непосредственно в ERwin и BPwin и доступна пользователю через пункт меню ModelMart или специальную панель инструментов. Функциональность данного пункта меню становится доступной лишь после соединения с репозитарием ModelMart.
- Серверная часть (репозитарий) — хранилище моделей, организованное в базе
данных. Поддерживает работы со следующими серверами баз данных:
- Oracle;
- Microsoft SQL Server;
- Sybase;
- Informix.
Если рассматривать состав серверной части репозитария на примере сервера БД ORACLE, то она состоит из таблиц, процедур и последовательностей. Интересной особенностью является полное отсутствие ссылочной целостности, что характерно для многих хранилищ. В качестве еще одного примера приведем известный продукт ClearQuest фирмы Rational Software. Также здесь можно упомянуть хранилище для коллективной работу в Microsoft Project.
- Утилита администрирования предназначена для организации прав доступа пользователей к ModelMart.
- Утилита синхронизации моделей BPwin и ERwin. О ее назначении говорит само название.
Но, конечно же, самый большой интерес представляет та функциональность, которая заложена в ModelMart. Рассмотрим этот вопрос подробнее. Как уже отмечалось выше, ModelMart является средой многопользовательской разработки моделей и, следовательно, должен удовлетворять требованиям, предъявляемым к инструментам для групповой работы. К ним относятся:
- одновременная работа нескольких пользователей;
- разрешение конфликтных ситуаций;
- разграничение прав доступа.
Все это, безусловно, поддерживается в ModelMart, для чего в нем существуют соответствующие системы. Перечислю их с кратким указанием назначения.
- Управление библиотеками (Library Manager). В ModelMart принята трехуровневая иерархия хранения моделей, на первой ступени которой находятся библиотеки. Модели хранятся в библиотеке. Третий уровень иерархии — это производные от модели: версии, архивы, «мгновенные снимки» (о них речь пойдет дальше). Следует отметить, что это исключительно логическая структура, не имеющая ничего общего со структурой репозитария. Разделение информации на библиотеки позволяет осуществить некоторую группировку моделей по определенным условиям, особенно с учетом того, что часть объектов модели (домены, ограничения и т.п.) относятся не к модели, а к библиотеке. Редактор библиотек позволяет создавать и удалять библиотеки, а также производить некоторые другие операции. При создании новой модели необходимо указать, в какой библиотеке она будет создана.
- Управление моделями. Включает в себя несколько подсистем (некоторые доступны только для ERwin):
- Создание модели.
- Загрузка модели. Допускается загрузка не всей модели, а только конкретной подмодели. При загрузке требуется определить параметр блокировки открываемой модели: Unlocked, Locked, Read-only. По умолчанию всегда предлагается режим Unlocked. Следует отметить, что при открытии подмодели в режиме Locked блокируется не только данная подмодель, но и вся модель, которой она принадлежит.
- Сохранение модели. При сохранении модели можно получить весь список изменений, которые будут сохраняться. Имеется возможность отменить сохранение некоторых изменений. При сохранении изменений, которые пользователь не имел право делать, выдается сообщение о нарушении прав доступа. При осуществлении попытки сохранения заблокированной модели выдается соответствующее сообщение. На момент сохранения модели на нее автоматически устанавливается статус Locked, позволяющий избежать одновременного сохранения модели несколькими пользователями. После сохранения статус Locked снимается.
- Управление подмоделями (Subject Area Library). Дает возможность создавать, изменять и удалять подмодели, а также менять их состав. Представляет собой ограниченный по функциональности редактор моделей из ERwin.
- Управление изменениями (Change Control Manager). Позволяет в процессе работы с моделью отменить некоторые изменения. В этом случае информация восстанавливается из репозитария.
- Обновление изменений (Refresh Manager). Позволяет контролировать и подгружать в свою модель изменения, сохраненные другими пользователями после открытия пользователем модели.
- Объединение моделей (Merge Manager). Представляет возможность объединить две модели. Результат может быть помещен в целевую либо в новую модель.
- Управление версиями (Version Manager). ModelMart поддерживает возможность создания версий моделей. Версии являются третьим уровнем иерархии, принадлежат модели, имеют статус «только для чтения» и не могут быть изменены. Если требуется создать на основе версии новую ветвь проектирования модели, версия должна быть сохранена как отдельная независимая модель. Кроме того, данный редактор позволяет производить сравнение версий и моделей, с возможностью восстановления в рабочей модели информации из версии. Помимо версий существуют понятия архивов и «моментальных снимков». Их отличие от версий заключается только в принципе создания: архивы могут создаваться автоматически при сохранении измененной модели, если установлен соответствующий флаг на библиотеку. «Моментальные снимки» создаются при сохранении модели в файл или для сохранения изменений заблокированной (Locked) модели.
- Управление сессиями (Session Manager). Дает возможность контролировать работу пользователей и отключить любого из активных пользователей от репозитария. Если отключаемый пользователь имел на этот момент заблокированную модель, блокировка снимается.
- Управление правами доступа (Security Manager). Предназначен для создания пользователей и определения их права доступа. Чтобы создать пользователя в ModelMart, он должен быть создан как пользователь базы данных, в которой сформирован репозитарий. Таким образом, первым уровнем доступа являются ввод имени пользователя и его пароль. Права доступа определяются через принадлежность пользователя определенной группе. Права группы могут быть заданы администратором. Смысл прав доступа заключается в разрешении или запрещении выполнения операций (создание, изменение, удаление) по работе с определенными объектами модели. Ограничить доступ пользователя можно любым уровнем иерархии (подмодель, модель, библиотека, весь репозитарий). Помимо этого имеется возможность приписать пользователя к разным моделям с разными полномочиями.
КомпьютерПресс 3'2001