E-mail:
Пароль:
Забыли пароль?

ПК НЕВОД и СУБД ЛИНТЕР как базовые программные продукты для создания АС СН

ПК НЕВОД и СУБД ЛИНТЕР как базовые программные продукты для создания АС СН

Конференция «Информационные технологии в автоматизированных системах управления специального назначения»

В.Л. Борисов

Введение

Большинство автоматизированных систем специального назначения (АС СН) оперируют понятиями объектной, а не реляционной модели представления данных. Например, объект ВОЕНОСЛУЖАЩИЙ имеет атрибуты ФАМИЛИЯ, ЗВАНИЕ, и т.д., а также содержит ссылки на другие объекты, например, АДРЕС. Несмотря на объектный подход, данные традиционно хранятся в реляционной СУБД.

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

Кроме того, можно предвидеть, что типичной ситуацией является обеспечение интегрируемости, масштабируемости, надежности АС СН.

Рассмотрим требования к программному обеспечению (ПО), которое поможет унифицировать разработку большинства АС СН.

Требования

Типовой набор программных модулей, необходимых для создания большинства АС СН должен обладать следующими характеристиками:

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

Все эти характеристики в целом означают доступность АС СН в виде сервиса и построение АС СН по принципам сервисно-ориентированной архитектуры (СОА).

Практика показывает, что при внедрении новой информационной системы, затраты на ее интеграцию с существующими приложениями в 2-3 раза превышают стоимость самого программного обеспечения. Поэтому любая АС СН должна уметь интегрироваться в единое информационное пространство, т.е. предоставлять свои функции в виде сервисов. Одновременно с этим, каждая АС СН может представлять собой композицию сервисов или услуг по требованию, оказываемых участниками процесса. В широком смысле слова сервисы, предоставляемые отдельными АС СН, – это задачи, выполнение которых повторяется в ходе процесса управления. Например, введение нового военнослужащего или получение остатка боеприпасов в распоряжении подразделения.

Повторяться может как вызов целой АС СН, так и отдельных ее функций. Поэтому чтобы определиться с тем, что именно выделять в виде сервиса, нужно руководствоваться здравым смыслом и спецификой задачи. Это означает, что нужно не только углублять декомпозицию процесса до некоего атомарного уровня, но и делать сервис понятным пользователям единой системы управления Вооруженными силами (ЕСУ ВС). Например, сервис добавления записей в реляционные структуры будет непонятным и ненужным. Он лежит на атомарном уровне, но только с точки зрения программиста. Более рациональным будет предоставление сервиса по созданию объекта с некоторым набором атрибутов.

Такой типовой набор программных модулей для разработки большинства АС СН создан и называется ПК НЕВОД.

Описание предлагаемого решения

ПК НЕВОД является защищенным многоплатформенным сервером приложений со специальным набором серверных компонентов, ориентированных на создание большинства АС СН.

При использовании ПК НЕВОД в АС СН можно выделить следующие составные части:

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

ПК НЕВОД обладает открытой архитектурой, поэтому разработчики АС СН могут создавать свои серверные компоненты, необходимые конкретной АС СН.

Серверные компоненты могут быть различного уровня. Например, один компонент ("А") может отвечать за доступ к реляционным структурам базы данных, а другой (высокоуровневый) компонент ("Б") может предоставлять доступ к объектам и их атрибутам, используя для хранения данных реляционные структуры посредством первого компонента.

Также в виде серверных компонентов реализуются сервисы, протоколы и другие программные компоненты. Продолжая рассмотренный пример, серверный компонент "В" может предоставлять SOAP-сервис к компоненту "Б".

Для АС СН важно наличие компонентов, отвечающих за управление пользователями и безопасностью, управление исключительными ситуациями и журнализацией их. Это все входит в типовой набор серверных компонентов ПК НЕВОД.

Комплекс средств защиты информации ПК НЕВОД, соответствует второму классу, согласно Руководящему документу Государственной технической комиссии при Президенте РФ "Средства вычислительной техники. Защита от несанкционированного доступа к информации".

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

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

Помимо SOAP-сервисов в системе поддержаны удаленные вызовы по минимизированному протоколу IIOP (технология CORBA, развиваемая консорциумом OMG). Под минимизацией здесь понимается выполнение только необходимых для удаленного вызова действий (синхронный и асинхронный режим передачи сообщений, вызов методов объектов серверных компонентов, независимое от аппаратной платформы представление базовых типов, управление перенаправлением запроса). Использование CORBA для взаимодействия клиентского приложения и сервера приложений связано с тем, что обмен сообщениями в формате XML (протокол SOAP) требует дополнительных затрат вычислительных ресурсов на разбор текста в формате XML, который выполняется специальным компонентом – парсером ( parcer ). В тех случаях, когда важна скорость выполнения какой-либо функции и не подразумевается предоставлять возможность использования этой функции другим приложениям, можно использовать удаленные вызовы по технологии CORBA.

Для описания интерфейсов, методы которых реализованы на сервере и могут быть вызваны клиентскими приложениями, использован язык OMG IDL. Трансляция входных данных с языка IDL в выходные исходные тексты на языке C++, предназначенные для последующей генерации библиотек сервера приложений и клиентской части, осуществляется специально разработанным компилятором IDL. Также компилятор IDL создает описание интерфейса на языке WSDL , поэтому после реализации интерфейса он сразу становится доступным в виде сервиса.

Разработчикам клиентских приложений ПК НЕВОД предоставляет (рис. 1):

  • сервер приложений, управляющий созданием компонентов, реализующих функциональную часть приложений;
  • ядро НЕВОД, в котором сосредоточены механизмы работы с базой данных и управления типами данных;
  • инструменты НЕВОД, представляющие собой набор высокоуровневых средств обработки информации;
  • компилятор языка IDL.

Рис. 1. Схема взаимодействия модулей ПК НЕВОД

Ядро НЕВОД содержит компоненты, которые непосредственно работают с БД через соответствующие интерфейсы и выполняют следующие функции:

  • управление подключением к БД;
  • управление подключением к ХД;
  • управление исключительными ситуациями и их журналом;
  • управление типами данных;
  • управление предметной областью;
  • управление пользователями и безопасностью;
  • управление запросами;
  • управление вводом/выводом данных.

Инструменты НЕВОД содержат компоненты, представленные на стороне клиента визуальным объектом и обращающиеся к метаданным системы и к хранимым данным через ядро НЕВОД. Для хранения собственных данных эти компоненты могут самостоятельно создавать ресурсы БД (таблицы и индексы). Список реализованных инструментов:

  • импорт/экспорт описания предметной области в XML;
  • импорт/экспорт данных в XML;
  • транслятор XML-запросов;
  • репозиторий XML схем для конвертации и обмена данными;
  • идентификация и объединение объектов;
  • протоколы;
  • сервисы.

Благодаря архитектуре системы и компилятору языка IDL разработчики могут реализовывать собственные инструменты и даже изменять ядро НЕВОД, адаптируя его к конкретной задаче.

Для создания нового сервиса необходимо:

  • создать описание интерфейса сервиса на языке IDL;
  • откомпилировать IDL файл с помощью компилятора IDL;
  • написать на языке C++ реализацию объекта, предоставляющего указанный интерфейс;
  • зарегистрировать полученную библиотеку динамической компоновки в реестре сервера приложений НЕВОД;
  • в настройках сервера приложений НЕВОД указать все необходимые параметры нового сервиса, а именно:
  • номер TCP/IP порта
  • идентификатор класса
  • идентификатор интерфейса
  • расположение wsdl-файла
  • способ передачи данных (HTTP).

В качестве системы управления базами данных использована защищенная СУБД ЛИНТЕР.

Порядок разработки АС СН на базе ПК НЕВОД

При использовании ПК НЕВОД программист, перед которым стоит задача создать новую АС СН или представить существующую АС ВН в виде сервиса, описывает программный интерфейс обращения к необходимым функциям (методам классов, если это язык программирования C ++) на языке IDL . Это описание названий классов и их методов, реализующих необходимую функциональность, с входными и выходными параметрами. Далее, запускается компилятор IDL , которому на вход передается файл с созданным описанием интерфейсов вызовов. После работы данного компилятора (на выходе) программист получает набор файлов для клиентской и серверной частей приложения. В файлах . cpp и . h серверной части программист должен дописать реализацию заявленных методов. Файлы клиентской части просто подключаются к проекту клиентского приложения и представляют собой объекты-представители. Программист, пишущий клиентское приложение, обращается к методам объектов-представителей и получает результаты, не подозревая о фактическом размещении самой реализации логики функционирования.

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

Для того чтобы пользователи информационной системы оперировали понятными им терминами, описывающими сущности реального мира (для АС СН это могут быть приказы, военнослужащие, средства вооружения и военной техники и т.д.), программисты приводят данные, хранящиеся в реляционных структурах СУБД, в объектное представление. Под объектным представлением здесь понимается представление, имеющее название сущности реального мира и обладающее набором характеристик этой сущности. Разные виды сущностей описываются разными типами объектов. Характеристика сущности (экземпляра объекта) описывается атрибутом объекта. Каждый объект содержит набор атрибутов определенного типа.

Для того чтобы освободить программистов от постоянного преобразования информации и позволить им работать с объектами и их атрибутами, в ПК НЕВОД созданы серверные компоненты, предоставляющие объектный интерфейс и автоматически обращающиеся к нужным реляционным структурам. Данные компоненты обеспечивают ввод объектных данных в хранилище и вывод объектных данных по поисковому запросу. Запросы строятся в виде дерева объектов и их атрибутов, которые необходимо выбрать из хранилища, с возможностью указания условий для каждого из узлов дерева запроса. Условия также представляются в виде дерева элементарных условий, объединенных логическими операциями «и», «или», «не».

Поддержаны следующие типы атрибутов: текст длиной до 2000 символов, словарь (текст длиной до 1000, выбираемый из справочника), целое число, вещественное число, дата, группа атрибутов, ссылка на объект (типизированная связь), большой двоичный объект (двоичные данные до 2 Гб).

Для построения нетипизированных связей (связи между объектами произвольного типа) нужно использовать специальный тип объекта «связь», имеющий две ссылки на объекты произвольного типа и произвольный набор атрибутов, характеризующих данную связь.

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

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

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

Заключение

Защищенные ПК НЕВОД и СУБД ЛИНТЕР обеспечивают унифицированный подход разработчиков АС СН к организации вычислительного процесса, что сокращает время разработки, ускоряет как сам вычислительный процесс, так и его модификацию.

ПК НЕВОД отвечает всем требованиям, предъявляемым при построении АС СН: защищенность, надежность, масштабируемость, сервисная ориентированность.

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

Кроме того, ПК НЕВОД предоставляет широкие возможности по интеграции уже существующих АС СН в единое информационное пространство.

На наш взгляд, ПК НЕВОД и СУБД ЛИНТЕР по праву можно рассматривать в качестве базовых программных продуктов для создания большинства АС СН.


Возврат к списку

ѕрокрутить вверх