граммного обеспечения - Capability Maturity Model for Software (CMM) / Пер. с англ. - М.: Интерфейс-Пресс, 2002. - 256 с.
3. Домарацкий А.Н. Управление улучшением стандартного процесса и качеством программных изделий. // Программные продукты и системы. - №4. - 1998. - С.20-24.
4. Боэм Б.У. Инженерное проектирование программного обеспечения: / Пер. с англ. - М.: Радио и связь, 1985. - 512 с.
5. Бек К. Экстремальное программирование: / Пер. с англ. - СПб.: Питер, 2002. - 224 с.
6. Морозов В.П., Пунтиков Н.И. Настройка стандартного процесса организации на реальный проект разработки программного изделия // Тр. СПИИРАН. - Вып. 2.- СПб.: СПИИРАН, 2004. (В печати).
7. Пунтиков Н.И. Процедура настройки стандартного процесса разработки программного изделия на реальный проект// IX Междунар. конф.: "Региональная информатика-2004" (СПб, 22-24 июня 2004 г.) // Тр. конф. - СПб., 2004. (В печати).
ПРОГРАММНО-ТЕХНОЛОГИЧЕСКИЙ КОМПЛЕКС ЕДИНОЙ ИНФОРМАЦИОННО-АНАЛИТИЧЕСКОЙ СИСТЕМЫ «МИНЕРАЛЬНО-СЫРЬЕВЫЕ РЕСУРСЫ РОССИИ»
В.А. Дубенецкий, С.И. Красоткин, Н.Г. Мустафин, С.М. Перадзе, А.В. Пономарев, С.В. Савосин, М.М. Трегубов, С.А. Угрик, В.В. Шатов
В статье рассматриваются общие архитектурные, проектные и программные решения, использованные при разработке программно-технологического комплекса единой информационно-аналитической системы (ЕИАС) «Минерально-сырьевые ресурсы России» с картографическим сопровождением. Комплекс должен позволять подразделениям Министерства природных ресурсов РФ в едином информационном пространстве принимать управленческие решения по текущему и долгосрочному планированию геологоразведочных работ по воспроизводству минерально-сырьевой базы России.
Основные требования к системе:
• сбор первичной информации о перспективных объектах, обладающих прогнозными ресурсами, включающей в себя блок фактографических и картографических данных, непосредственно на местах геологических изысканий - в регионах, областях, геологических партиях;
• обеспечение удаленной работы с системой в режиме on-line и передачи информации от территориально распределенных источников по надежным и защищенным каналам;
• централизованный сбор и хранение информации в единых универсальных структурах данных;
• обеспечение повышенной надежности работы системы и хранения данных как особо важной информации о стратегических ресурсах страны;
• предоставление информации заинтересованным структурам с учетом территориальной удаленности потребителей и в соответствии с порядком и правами доступа к данным;
• обеспечение защищенности и секретности информации как при определении прав доступа к ней, так и в процессе передачи между узлами распределенной системы и работы с данными;
• накопление информации об оценках прогнозных ресурсов от различных источников, обеспечение процесса мониторинга состояния минерально-сырьевой базы России;
• обеспечение возможности проведения экспертизы оценок полезных ископаемых и геологических объектов экспертами соответствующих организаций в удаленном режиме в распределенной среде как основы поэтапного утверждения данных на федеральном уровне;
• обеспечение средств многокритериального анализа накапливаемых данных как механизма поддержки принятия решений на уровне Министерства природных ресурсов России и подчиненных ему структур.
Бизнес-процесс стадии мониторинга
Общая схема мониторинга соответствует принятой для Российской Федерации системе движения прогнозных оценок перспективных объектов и включает три уровня формирования информации о прогнозных ресурсах.
1. Получение и накопление первичных (авторских) прогнозных оценок. В общем случае поставщиками этой информации являются территориальные агентства по недропользованию, выступающие для единой системы мониторинга как авторы. При получении первичной информации возможно также использование и других независимых источников данных.
2. Создание апробированных оценок прогнозных ресурсов. В формировании информации этого уровня участвуют НТС головных отраслевых институтов, обеспечивающие экспертизу и апробацию первичных (авторских) оценок. Поставщики данного вида информации рассматриваются как эксперты уровня апробации.
3. Создание утвержденных оценок прогнозных ресурсов. В формировании информации этого уровня участвует НТС Федерального агентства по недропользованию, обеспечивающие утверждение апробированных оценок прогнозных ресурсов. Поставщики данного вида информации рассматриваются как эксперты уровня утверждения.
На этапе анализа были определены основные понятия предметной области и области решения и описаны автоматизируемые бизнес-процессы, основным из которых является бизнес-процесс стадии мониторинга оценок прогнозных ресурсов (рис. 1).
Цикл стадии мониторинга ограничен так называемым периодом актуальности и состоит из этапов мониторинга, каждый из которых завершается созданием на основе базовой новой группы оценок объекта недропользования с повышенной категорией достоверности, присвоенной этой группе экспертами соответствующего уровня.
Геологический объект - сущность области решения, которая включает в свое многомерное пространство описания объекта недропользования оценки с сохранением их авторства, истории и с отношениями наследования.
Стадия мониторинга завершается созданием утвержденной на высшем экспертном уровне оценки в данном периоде актуальности.
Общая трехзвенная архитектура системы
Для решения сформулированных задач в территориально распределенной многопользовательской среде было принято решение об использовании технологии DataSnap с многозвеннной архитектурой распределенных приложений.
Уровень служб данных представлен сервером базы данных (БД), который использует систему управления реляционными БД (СУРБД) для хранения и обработки данных. Он реализован на основе СУРБД InterBase, что обусловлено ее функциональными возможностями, высокой надежностью
и архитектурой MGA, обеспечивающей надежный и эффективный параллельный доступ.
Для взаимодействия сервера приложений с сервером БД используется библиотека dbExpress, что обусловлено ее универсальностью и механизмом работы с однонаправленными курсорами, удобным для локального кэширования данных на клиентских подсистемах.
Сервер приложений представляет уровень бизнес-служб и обеспечивает бизнес-логику, реализуемую системой. Взаимодействие с сервером БД осуществляется только под управлением сервера приложений, который выполняет идентификацию и авторизацию клиентов, обеспечивает передачу данных и управляет критическими ресурсами.
На уровне представительских служб функционирование системы обеспечивается клиентскими подсистемами, предоставляющими пользовательский интерфейс для взаимодействия пользователей с системой. Представительский уровень системы не содержит бизнес-логики, что соответствует концепции тонкого клиента. Однако в системе реализованы механизмы динамического конфигурирования клиентской подсистемы на основе метаданных, что делает клиента системы «интеллектуальным», а клиентскую часть еще более независимой от остальной части системы.
При большом количестве предполагаемых к использованию клиентских подсистем, их территориальной распределенности на больших расстояниях, сложности и масштабе систем подобного класса данное свойство системы позволяет достичь высокого качества и существенно снизить стоимость работ на всех этапах ее жизненного цикла.
• Адаптируемость и расширяемость. Динамическая настройка поведения системы обеспечивается использованием концепции метаданных, описывающих структуру, атрибуты, отношения и внешнее представление фактографических и картографических данных.
Концепция метаданных обеспечивает высокую степень независимости программной реализации от структуры данных, хранящихся в БД, а также возможность расширения функциональности системы, модифицирования на этапах отладки, внедрения и сопровождения, то есть на всех этапах ее жизненного цикла.
• Доступность системы обеспечивает использование протокола TCP/IP для удаленного
: Геологический Объект
1: Создать первИчную оценку
: Эксперт ПИ уровня : Эксперт уровня : Эксперт ПИ уровня : Эксперт уровня апробирования апробирования утверждения утверждения
2: Создать авторскую оценку
3: Назначить эксперИзу ПИ уровня апробирования
4: Зарегистрировать завершение экспертизы ПИ уровня апробирования
5: Создать апробированную оценку 6: Назначить эксперизу ПИ уровня утвер)
7: Зарегистрировать завершение экспертизы ПИ уровня утверж
8: Создать утвержденную оценку
Рис. 1. Бизнес-процесс стадии мониторинга
соединения между узлами; наличие доступа в Internet и установленной на компьютере пользователя клиентской подсистемы достаточно для подключения к ней из любой точки страны.
• Защищенность данных на уровне программной реализации обеспечивается предусмотренными механизмами предоставления интерфейса для подключения модуля шифрования данных. Также предусмотрены механизмы идентификации и авторизации подключающихся к системе клиентов, определения их прав доступа к данным.
• Масштабируемость. Уровень служб данных (бизнес-служб) может располагаться на нескольких узлах, что обеспечит необходимую эффективность работы при масштабировании.
• Модифицируемость и устойчивость. Реализация системы основана на принципах компонентной архитектуры, что позволило организовать ее как кооперацию относительно независимых и заменяемых компонентов с соблюдением принципов низкой связанности (low coupling) и высокого функционального зацепления (high cohesion). Это делает архитектуру системы не только более легко модифицируемой и адаптируемой, но и более устойчивой, так как позволяет заменять отдельные компоненты, сохраняя интерфейсы и не затрагивая остального.
• Интегрируемость. Концепция метаданных и технология COM позволят в дальнейшем обеспечить универсальный программный интерфейс для взаимодействия с другими системами.
Таким образом, рассматриваемые стратегические проектные решения и реализованные программные механизмы, формирующие архитектуру системы, обеспечивают адаптируемость, расширяемость, масштабируемость, модифицируемость, доступность, защищенность, устойчивость и интегрируемость системы, что в совокупности делает архитектуру системы стройной, целостной и открытой.
Многослойная компонентная архитектура системы
Схематичное представление многослойной компонентной архитектуры системы, реализующей концептуальную модель, представлено на рисунке 2.
На верхнем уровне находится пользовательский интерфейс, обеспечивающий взаимодействие пользователя с подсистемами фактографических и картографических данных, представляемых пользователю как взаимосвязанные части одного целого.
Контур управляющих компонентов клиента обеспечивает динамическое конфигурирование, требуемое поведение и взаимодействие с сервером приложений через изолирующий слой адаптера «Клиент - сервер приложений».
Удаленное соединение через socket connection обеспечивает Borland socket server - это «транспортный» уровень архитектуры.
Взаимодействие между клиентом и сервером приложений осуществляется с использованием технологии DCOM.
Удаленный модуль данных сервера приложений управляет передачей данных и разрешает конфликты в многопользовательской распределенной среде. Он экспонирует COM-интерфей-сы, через которые клиент обращается с запросами сервисов к серверу приложений.
Контур управляющих компонентов сервера приложений создается на основе метаданных и управляет логикой работы с данными, а также предоставляет клиенту метаданные для динамического конфигурирования последнего во время выполнения.
Адаптер «Сервер приложений - сервер БД»
представляет собой изолирующий слой, обеспечивающий доступ посредством SQL Connection через dbExpress к СУРБД InterBase, где хранятся данные и метаданные.
Программным ядром системы является контур управляющих компонентов, представляющий собой службу объектно-реляционного преобразования и службу взаимодействия объектов как внутри подсистем, так и между ними, динамически конфигурируемую на основе метаданных с использованием технологии COM/DCOM.
Взаимодействие этих объектов обеспечивает создание иерархических структур управляющих компонентов (контроллеров) на основе метаданных посредством использования адаптеров -
Рис. 2. Компонентная многослойная архитектура системы
объектов, обеспечивающих соединение с внешним источником метаданных и передачу метаданных через дескрипторы - объекты описания управляемых контроллерами элементов.
За создание контроллеров отвечают экземпляры класса фабрики контроллеров, реализованного на основе паттернов проектирования abstract factory и factory method, которые в рекурсивном вызове полиморфной операции создания дочерних узлов иерархии строят деревья управляющих компонентов для управления блоком и фактографических, и картографических данных.
Концептуальная модель данных
На этапе проектирования БД были созданы как концептуальная модель данных (рис. 3), так и логическая и физическая модели. Схема данных содержит более 50 сущностей с достаточно сложными связями между ними.
Ядро схемы данных представляет собой реализацию на уровне БД бизнес-процесса многофакторного мониторинга поэтапной авторской оценки перспективных объектов, обладающих прогнозными ресурсами.
Бизнес-логика мониторинга была обобщена до уровня универсального шаблона - «мониторинг оценок», описывающего общий случай, что позволяет применять разработанный шаблон для широкого круга систем, предназначенных для автоматизации задач, связанных с поэтапным мониторингом данных об объектах произвольной природы с сохранением их истории.
Метаданные описывают структуру, связи и внешнее представление предметных данных.
Сущности, входящие в блок «Полезные ископаемые», содержат качественные и количественные характеристики авторских оценок полезных ископаемых.
Отдельно выделен блок управления доступом к данным, так как вопросы разграничения прав доступа являются весьма важными для системы.
Блок справочников содержит настраиваемые статические справочники, а также динамические справочники, которые предоставляют пользователю содержание, зависящее от текущего контекста.
Картографические данные, то есть пространственное описание объектов, также хранятся в БД, и на их основе подсистема картографического сопровождения (ПКС) динамически создает объекты ПКС.
Создание ПКС, «бесшовно» интегрированной в систему, являлось одной из основных задач проекта. На основе шаблона проектирования Facade был разработан модуль, предоставляющий через класс диспетчера карт интерфейс для внешних клиентов, взаимодействующих с ПКС как с единым целым.
Возможности ПКС:
- динамическое создание карты и ее сайтов на основе метаданных и файлов-классификаторов;
- визуализация объектов, данные о которых предоставляются по запросу;
- интерактивное изменение масштаба изображения и скроллирование карты;
- управление видимостью карты в целом, ее сайтов, слоев и типов объектов;
- создание и удаление объектов на карте в интерактивном режиме;
Ядро схемы данных: многофакторный мониторинг поэтапной авторской оценки прогнозных ресурсов
Ключевые сущности:
• Геологические объекты
• Группы оценок по категории достоверности
• Авторские оценки объектов
• Авторские оценки полезных ископаемых
Ключевые характеристики оценок:
• Ранг геологического объекта
• Категория достоверности оценки
• Период актуальности
• Регион
• Автор - источник данных
Справочники: N
настраиваемые списки возможных значений атрибутов _перечислимого типа_
• Настраиваемые статические справочники
• Динамические справочники допустимых в текущем контексте значений
"" Метаданные: ^
описание структуры, атрибутов, отношений и внешнего представления фактографических и картографических данных
• Описание сущностей и структурных связей
• Описание атрибутов и ассоциативных связей
• Описание связей с системой картографического сопровождения
• Описание типов сущностей, типов атрибутов и их характеристик
Полезные ископаемые:
Качественные и количественные характеристики авторских оценок
Качественные характеристики:
• Масштаб оруденения
• Рудная формация, рудно-формационный тип, геолого-промышленный тип, тип руды
• Этапы, приоритет работ
• Способ отработки
• Значимость
Количественные характеристики:
• С2, Р1, Р2, Р3, их содержание
• Глубина прогноза
• Количество месторождений и проявлений
Управление доступомТкХ данным
• Клиенты - удалённые источники и потребители данных
• Группы клиентов - категории клиентов с равными правами доступа
• Пользователи - физические лица, работающие с ситемой
• Статусы пользователей - роли пользователей в бизнес-процессах
• Иерархические списки регионов, недоступных для различных категорий клиентов
• Динамические иерархические списки объектов, недоступных для различных групп клиентов
• Условия ограничений доступа для различных категорий клиентов
Картографические данные
• Пространственное описание объектов
Рис. 3. Концептуальная модель данных
- синхронизация навигации и манипулирования визуализирующимися объектами карты и объектами записей в визуальных компонентах отображения фактографических данных.
Пользовательский интерфейс клиентской подсистемы представляет собой мультидокумент-ный интерфейс (MDI, multiple document interface): каждая дочерняя MDI-форма является формой представления результатов запроса. Соответствующие элементы пользовательского интерфейса создаются динамически в результате конфигурирования клиента во время выполнения.
Конфигурирование рабочей поверхности формы производится пользователем с использованием плавающих панелей, для перемещения и встраивания которых используется технология Drag&Dock. Панели могут перемещаться как в пределах одной формы, так и между формами, что
дает пользователю возможность гибко изменять форму представления карт и таблиц данных различных запросов в одном и том же сеансе соединения. Предусмотрена возможность представления данных в виде иерархически вложенных таблиц, «перестраиваемых на лету» по любым условиям вложенности, задаваемым пользователем простым перетаскиванием заголовков столбцов мышкой на нужный уровень.
К сожалению, в рамках статьи невозможно затронуть все аспекты архитектуры системы, проектные и программные решения. Мы представили общее описание некоторых базовых архитектурных решений с примерами моделей этапов проектирования и реализации системы. В результате работ по проекту создан прототип системы, отвечающий функциональным и иным требованиям, сформулированным при постановке задачи.
ВЫБОР JAVA СЕРВЕРА ПРИЛОЖЕНИЙ ДЛЯ ИНФОРМАЦИОННЫХ СИСТЕМ УРОВНЯ ПРЕДПРИЯТИЯ
М.В. Князев
При разработке информационных систем уровня предприятия (ИСУП) использование созданного ранее третьими фирмами программного сервера приложений (ПСП) обеспечивает построение качественной системы в более сжатые сроки, чем при построении инфраструктуры поддержки качества ИСУП с нуля. Таким образом, важным шагом при создании многих ИСУП является выбор конкретного ПСП. Следует учитывать, что при использовании «открытых» (open source) ПСП стоимость желаемой ИСУП оказывается существенно меньшей.
В статье рассматриваются особенности выбора Java ПСП, поскольку именно такие ПСП традиционно используются при создании кроссплат-форменных ИСУП (то есть ИСУП, имеющих возможность развертываться на более чем одной операционной системе), что актуально в связи с темпом развития Unix ОС.
На рисунке 1 приведена UML диаграмма развертывания типичной ИСУП, использующей Java ПСП.
Выбор категории Java ПСП
Java ПСП можно классифицировать по нескольким категориям верхнего уровня.
1. Серверы начального уровня, поддерживающие сервлеты и JSP (Java server pages) -apache tomcat.
2. Серверы начального уровня, поддерживающие большинство возможностей J2EE - JBoss.
3. Серверы среднего уровня, поддерживающие большинство возможностей J2EE и имеющие серьезную коммерческую поддержку - caucho resin.
4. Продвинутые J2EE серверы - полная поддержка J2EE, необходимые лицензии и сертификаты, интеграция со средствами разработки приложений и информационного наполнения, надеж-
Рис. 1. Типичная ИСУП, использующая Java ПСП