Использование графической информации в хранилищах данных

вую страницу, на предыдущую страницу, на следующую, на последнюю страницу, а также на две ближайшие (соседствующие) к текущей страницы фотогалереи.

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

Пример файла "images_and_groups.xml" и XSLT-трансформация доступны по адресу: www.mologatur.ru/examples/.

Как уже было сказано, данная задача сама по себе тривиальна. Ее можно было решить другими средствами, например, с помощью базы данных и языка PHP. Однако использование XML обеспечило некоторые неоспоримые преимущества. Во-первых, замена БД на XML-файл значительно сократила время и трудоемкость построения абстрактного уровня хранения данных. Во-вторых, из-за того, что PHP 5 (как и многие другие популярные языки) предоставляет готовые функции для работы с DOM2 API, сократилась и трудоемкость разработки модуля администрирования фотогалереи. А также была обеспечена возможность альтернативного администрирования фотогалереи (редактирование XML-документа фотогалереи с помощью текстового редактора, InfoPath и других средств). Функции автоматической генерации контента фотогалереи удалось полностью инкапсулировать в одной XSLT-трансформации. Если вспомнить, что XSLT-документ является валидным XML-документом, то нетрудно понять, какие плюсы это дает. Во-первых, это дает возможность перехода с одной платформы на другую (от Windows, например, к Linux). Более того, XSLT-

трансформации, DOM API и другие полезные функции имеются во многих популярных языках программирования. А это значит, что данный модуль фотогалерей можно с небольшими доработками легко перенести с PHP 5 на J2EE.

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

Итак, подведем итоги. XML-технологии -универсальный инструмент. Нельзя однозначно определять им место в сфере информационных технологий. Пример, приведенный в данной статье, наглядно демонстрирует, что XML-техноло-гии можно и нужно использовать во многих случаях, на разных уровнях абстракции, в качестве всевозможных функциональных модулей в разных задачах. Использование XML за счет своих преимуществ (гибкость, платформонезависимость, понятность человеку и программе) позволит разработчику сделать приложение более простым и универсальным с меньшими затратами. Однако важно отметить и тот факт, что, живо внедряясь, проникая во все новые и новые области сферы информационных технологий, XML-технологии не замещают ни одну из уже имеющихся технологий, инструментов разработки. XML лишь предоставляет новые возможности. А новые возможности влекут за собой и новые потребности, возникновение новых задач, новых проблем, новых перспектив.

Список литературы

1. Аргерих Л.И. др. Профессиональное PHP программирование. 2 изд. - СПб.: Символ-Плюс, 2003.

2. Грофф Дж., Вайнберг П. Энциклопедия SQL. 3 изд. -СПб.: Питер, 2003.

3. Старыгин А.А. XML: разработка web-приложений. -СПб.: БХВ-Петербург, 2003.

ИСПОЛЬЗОВАНИЕ ГРАФИЧЕСКОЙ ИНФОРМАЦИИ В ХРАНИЛИЩАХ ДАННЫХ

С.В. Семенов, С.А. Степанов

Чертежи, по своей сути, являются языками описания будущего изделия. При проектировании конструктор передает информацию об изделии при помощи графических образов: размеры, взаимное расположение, геометрия деталей и т. п. Основная масса информации об изделии закладывается конструктором, так как именно он с помощью графических средств делает невидимое изделие (функциональную модель) видимым (создает структурную модель) в виде чертежей.

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

Можно сказать, что чертежи - это БД о проектируемом и изготавливаемом изделии.

С развитием современных информационных технологий чертеж становится частью электронного хранилища данных о проектируемом изделии. Но в электронном виде чертеж (как часть хранилища данных) приобретает новое содержание. Отметим, что функция чертежа как картинки изделия сильно изменилась. Целесообразно говорить о совокупности выразительных средств, с помощью которых конструктор может передать информацию об изделии: плоские чертежи; трехмерные каркасные, плоскостные и твердотельные статичные модели; трехмерные интерактивные модели; анимационные и видеоролики; звуковое сопровождение и т. п.

Но не только арсенал выразительных средств изменил роль чертежа в хранилищах данных. Современные хранилища данных основываются на ХМЬ-технологии, которая позволяет строить объектную информационную модель изделия. Изделие проектируется как иерархия объектов, соответственно, строится и иерархическая информационная модель в хранилище данных. При этом объект может быть описан как текстом, так и любыми выразительными средствами. Между объектами и выразительными средствами могут быть семантические связи любой сложности. Структура информации и содержимое (контент) могут формироваться в общем случае раздельно. Объекты могут изначально появляться в виде имен, затем к ним может добавляться метаинформация, и после этого (или вместе с этим) могут появляться сами описания объектов (с помощью различных выразительных средств).

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

Результат работы конструктора или программы помещается в соответствующий узел информационной модели (имя объекта) общего хранилища данных. В этом хранилище данных каждый элемент постепенно обрастает различной информацией: технологической, экономической, эксплуатационной и др. Делая выборку информации из хранилища по какому-либо критерию, можно получать множество документов (публикаций) различного назначения, причем с чертежами, с текстом и другими выразительными средствами.

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

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

Построенная таким образом информационная модель изделия может иметь любую степень сложности, включая описания мельчайших составляющих. Каждый объект может иметь описания в различных аспектах: с точки зрения материалов, устройства, способов сборки, обслуживания и т.п. Такое описание в сочетании с выразительными средствами позволяет получать публикации по запросу с разными критериями выборки. Например, вывод чертежей с заданной степенью детализации, вывод объектов, видимых в заданном сечении, выборка объектов с заданными свойствами и т. п.

Это подход сейчас уже находит отражение в разработках всех ведущих поставщиков программного обеспечения. В частности, поставщиками САПР (CAD/CAM) признано, что для передачи данных в другие системы только графических (геометрических) данных недостаточно. Необходима возможность связывания графических объектов с другими данными. Для этой цели используется формат SVG (основанный на XML-языке), позволяющий не только описывать графические данные, но и связывать их с другими типами данных. При этом поисковые машины производят поиск информации в чертежах так же, как и в обычных текстовых файлах.

Что представляют собой чертежи в XML (SWG)-представлении?

Любой документ в XML-технологии может состоять (в основном) из 4 частей: XML-контент; XML-схемы; стилевые таблицы; таблицы преобразований.

XML-контент это содержимое чертежа. С одной стороны, это аналог DXF-формата, когда в текстовом виде передается информация о самом чертеже (линии, блоки, имена, слои и т.п.). А с другой - более богатое представление, включающее и структурные, и семантические связи между элементами.

XML-схемы - это описание типов данных чертежа и их взаимные связи (то есть некий аналог оглавления).

Стилевые таблицы - это способы вывода данных на различные внешние устройства (плоттер, принтер, экран).

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

в запросе. Например, вывод только одного слоя чертежа или всех указанных объектов, или всех объектов, связанных с данным объектом.

Такой подход (представление) обеспечивает чертежу: независимость представления от программы, в которой он был создан; независимость вывода на внешние устройства; постоянное развитие информации во времени.

А самое главное, такой подход обеспечивает раздельную работу над контентом (содержимым чертежа), структурой чертежа, способами вывода на внешние устройства и запросами к структуре и контенту чертежа. Каждая часть может создаваться и развиваться отдельно. Например, еще до начала черчения может быть уже указана (разработана) структура чертежа.

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

Причем если вспомнить, что это все же не чертеж, а именно информационная модель, то вместе с графическим куском, могут выводиться и другие типы данных, относящиеся к настоящему элементу (экономические данные, данные о материалах и т.п.).

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

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

ОБЩЕЕ ИНФОРМАЦИОННОЕ ПРОСТРАНСТВО ЗАДАЧ

КОРАБЛЕСТРОЕНИЯ. КОНЦЕПЦИЯ ПОСТРОЕНИЯ ИНФОРМАЦИОННОЙ МОДЕЛИ

И.А. Конюхов, К.В. Орехов

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

Стратегические задачи современных средств информатизации:

- значительное расширение круга задач Военно-морского флота (ВМФ), подлежащих автоматизации;

- существенное повышение производительности труда разработчиков программного и информационного обеспечения;

- повышение эффективности средств информатизации за счет длительной сохраняемости и повторного использования результатов.

Ключевым вопросом в решении этих задач является создание общего информационного пространства в области кораблестроения, реализованного в виде распределенных хранилищ данных.

Длительная сохраняемость и непрерывное развитие информации могут быть обеспечены только использованием средств на основе международных стандартов на представление и использование информации. В данной статье рассматривается один из таких стандартов - спецификация Common warehouse metamodl (общая метамодель хранилища данных, далее CWM).

Спецификация CWM - это стандарт, который описывает обмен метаданными при использовании технологий хранилищ данных, knowledge management (управление знаниями). Опираясь на базовую метамодель, стандарт добавляет метамо-дели для реляционных, многомерных данных и данных таблиц, а также для преобразования, функций OLAP, data mining и хранилища данных, включая процессы и операции.

В определенной степени появление спецификации CWM можно считать реакцией корпорации "Oracle" на продвигаемый Microsoft стандарт Open information model (открытая информационная модель, далее OIM). Осенью 1999 года Microsoft передал указанную спецификацию на рассмотрение