В течение последних нескольких лет информационные системы, основанные на архитектуре "клиент/сервер", приобрели заметную популярность. Причиной этого является давно назревшая необходимость автоматизации самых разнообразных сфер человеческой деятельности и, следовательно, значительное увеличение объемов и типов хранимых и обрабатываемых данных.
В отличие от информационной системы (ИС) эпохи FoxPro и dBase, обычно имеющих дело с несколькими таблицами, современная ИС оперирует десятками и сотнями связанных между собой таблиц, и, соответственно, не меньшим количеством индексов, триггеров и хранимых процедур. Наличие последних есть жизненная необходимость -- в системах с большим количеством таблиц очень сложно возложить на клиентскую часть контроль за бизнес-правилами, используемыми в ИС. При этом такая система должна быть спроектирована безошибочно, иначе в дальнейшем возникнет множество проблем с ее эксплуатацией и модернизацией.
Конечно, можно создать все таблицы и индексы вручную, а триггеры и хранимые процедуры написать на процедурном расширении SQL, характерном для данного сервера (скрипт, содержащий процедуры их создания, называется DDL-сценарием -- сокращение от Data Definition Language). Но, как показывает опыт автора и его коллег, для скромной ИС с десятком таблиц требуется почти 60 килобайт кода (например на PL/SQL). Еще одна проблема заключается в том, что нередко разработчик должен писать клиентскую часть в условиях, когда заранее неизвестно, с какой именно СУБД она будет иметь дело. Это обычно для групп программистов, создающих либо ИС для заказчиков, уже имеющих какой-нибудь сервер БД, либо ИС, которая в перспективе может быть перенесена на другую платформу. В этом случае переписывание серверных частей ИС может оказаться неизбежным.
Как избежать всех этих трудностей? К счастью, существуют мощные инструменты для графического проектирования информационных систем -- так называемые CASE-средства (CASE расшифровывается как Computer Aided System Engineering), например ERwin фирмы Logic Works. Работа с ERwin представляет собой рисование схемы базы данных (она называется ER-диаграммой или диаграммой "сущность-связь"). В ER-диаграмме таблицы изображаются в виде прямоугольников, в которых могут быть перечислены поля таблиц, а связи -- в виде линий, соединяющих прямоугольники между собой. При этом в процессе создания диаграммы можно не думать о ее конкретной реализации, а сосредоточиться на бизнес-логике работы ИС.
После создания диаграммы можно выбрать целевую платформу и сгенерировать либо саму базу данных, либо вручить DDL-сценарий администратору БД. При этом в сценарии будут содержаться все процедуры создания таблиц, индексов, триггеров, необходимых для успешного функционирования ИС, и сам сценарий будет создан автоматически из ER-диаграммы на процедурном расширении языка SQL, характерном для выбранного сервера. Таким образом, написание кода заменяется его автоматической генерацией на основе нарисованной схемы.
Наличие такого инструмента, как ERwin, существенно облегчает разработку ИС в условиях, когда сервер БД не определен или может быть заменен. Так как первоосновой серверной части ИС в этом случае является ER-диаграмма, при замене сервера требуется просто выбрать другую целевую платформу и сгенерировать для нее новый сценарий.
В последнее время значительную актуальность приобрели задачи, связанные с переносом уже имеющихся настольных ИС (обычно основанных на наборе таблиц dBase или Paradox) в архитектуру "клиент/сервер". В этом случае удобно воспользоваться предусмотренной в ERwin возможностью так называемого обратного проектирования, т. е. восстановления ER-диаграммы по имеющейся базе данных. При этом, в отличие от других CASE-средств, ERwin позволяет восстанавливать некоторые связи даже в наборах плоских таблиц, основываясь на имеющихся индексах.
Что еще полезного предлагает ERwin профессиональным разработчикам? Во-первых, возможность редактирования шаблонов триггеров. Во-вторых, разнообразные средства документирования, позволяющие включить в ER-диаграмму описание таблиц, образцы запросов, примеры данных и в дальнейшем генерировать разнообразные отчеты, которые могут послужить основой для документации созданной ИС.
Нельзя не отметить, что для ряда средств разработки приложений (Visual Basic, Power Builder, SQLWindows) созданы версии ERwin, позволяющие генерировать формы и прототипы приложений. Существуют также поставляющиеся с ERwin библиотеки (например MetaBASE) для создания форм Delphi, содержащих интерфейсные элементы, чувствительные к изменениям в модели данных.
Таким образом, ERwin позволяет с минимальными трудозатратами спроектировать структуру будущей базы данных с учетом бизнес-правил функционирования информационной системы, сгенерировать ее на разных целевых платформах без написания кода, перенести базу данных на другую платформу, в том числе из набора плоских таблиц на какой-либо сервер баз данных и в ряде случаев автоматически сгенерировать клиентское приложение.
Если у Вас возникли вопросы, ждем Вас в фирме Interface Ltd. -- крупнейшем в России дистрибьюторе продуктов Logic Works и авторизованном учебном центре Logic Works, Centura и Borland. У нас Вы можете получить ознакомительную версию ERwin, обучиться работе с этим средством, а также получить необходимые консультации по созданию проектов ИС, разработке приложений, генерации отчетов.