Naumen Inventory
Система учёта сервисов, логических и физических ресурсов для телекоммуникационных компаний

Naumen Inventory: архитектура

Продуманная архитектура является определяющим фактором при длительном использовании информационной системы, поскольку архитектурой определяются:

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

  • Масштабируемость системы. Производительность системы во многом определяется использованием передовых и проверенных технологий.

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

  • Стоимость поддержки и внедрения, напрямую зависящая от модульности системы.

Компания Naumen осознаёт важность архитектуры системы и следит за её качеством в различных аспектах: технологическом, методологическом, функциональном.

Данный документ описывает архитектуру системы Naumen Inventory и ориентирован на IT-специалистов.

Функциональная архитектура

Модули системы

Функциональные возможности Naumen Inventory в конкретной инсталляции определяются набором модулей приложения. Модули, относящиеся к платформе Naumen Kernel, являются обязательными. Технологические модули, такие как SDH, ISDN и другие, устанавливаются опционально. Между модулями есть определённые зависимости. Например, для установки модуля «Склад» требуется модуль «Библиотека ресурсов».


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

На рисунке показаны зависимости модулей верхних модулей от нижних (в действительности связь между модулями более сложная).

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

Модель SID

Компания Naumen широко использует наработки TMF (www.tmforum.org, Telemanagement Forum) при разработке и внедрении своих продуктов.


Для Naumen Inventory в качестве методологической основы выбрана SID (Shared Information Data), модель данных оператора связи, позволяющая оперировать огромным количеством сущностей.

На рисунке ниже отображено соответствие модели SID и функциональности системы Naumen Inventory: показано, какие блоки модели Inventory «закрывает» непосредственно, а какие в интеграции с другими системами.

Администрирование системы

Система Naumen Inventory администрируется на двух уровнях:

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

Информационное наполнение обеспечивают пользователи системы.

В задачи системного администратора входит:

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

Администратору системы Naumen Inventory необходимы следующие навыки:

  • опыт администрирования операционной системы, на которой развёрнуто приложение и СУБД;
  • знание XML, поскольку часть конфигурационных файлов написана на XML.

Полезны также навыки администрирования приложений, написанных на языке Java, опыт работы с SQL, знание Java, навыки администрирования Apache и работы с сервером приложений Tomcat.

Технолог системы (внутренний администратор) выполняет следующие настройки:

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


Технологу системы необходим опыт построения диаграмм ERD и диаграмм процессов.

Полезны также общие навыки программирования и знание основ языка Java для редактирования через интерфейс системы серверных сценариев на Java. Для понимания работы генератора отчётов и аналитической подсистемы в целом желательно знание SQL.

Архитектура платформы Naumen Kernel

Система Naumen Inventory построена на базе платформы Naumen Kernel. Исходя из архитектуры платформы, на системном уровне система создана на основе клиент-серверной технологии и состоит из следующих компонентов:

  • сервер баз данных,
  • сервер приложений и Web-сервер,
  • клиентские рабочие места.

Сервер баз данных и сервер приложений (Tomcat) находятся в одной локальной сети. Сервер приложений и веб-сервер (Apache) физически расположены на одном компьютере и связаны между собой на уровне программного обеспечения с помощью Servlet API. Клиентские рабочие места связаны с веб-сервером через Интернет или локальную сеть посредством протокола HTTP или организации защищенного соединения (протокол HTTPS).


Платформа Naumen Kernel является средой создания бизнес-приложений. Она представляет собой инструмент с базовым набором функций, которые выступают ядром в системах автоматизации предприятий.

В состав платформы Naumen Kernel входят следующие логические подсистемы, предназначенные для поддержки прикладных функций системы:

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

Взаимодействие приложений, построенных на базе платформы Naumen Kernel, обеспечивает интеграционная среда, объединяющая модули бизнес-приложения в единую информационную систему. Связь с внешними приложениями осуществляется на уровне платформы посредством коммуникационного протокола SOAP, что позволяет выстраивать гетерогенные распределенные системы по стандартам мирового уровня.

Используемые технологии

Операционные системы

В качестве серверной операционной системы возможно использовать:

  • серверную UNIX-подобную операционную систему:

    • Red Hat Linux Enterprise 4.0 или выше,
    • Debian GNU/Linux 5.0,
    • SUSE Linux Enterprise Server 9 (10),
    • Solaris 10 Operating System;
  • серверную операционную систему семейства Windows:

    • MS Windows Server 2003,
    • MS Windows Server 2008.

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

JAVA

Платформа Naumen Kernel создана на основе технологии J2EE (Java 2 Enterprise Edition) с использованием Tomcat и Hibernate и без использования нестандартных функций и приложений.

Платформа Naumen Kernel может работать, как в составе общепринятых коммерческих платформ J2EE, например, Oracle Application Server, так и на бесплатной платформе Apache Tomcat

Hibernate

Для всех компонентов системы используется единое средство хранения данных, представляющее собой часть базового ядра Naumen Kernel. Организация хранения объектов учета реализована в виде контейнеров и конечных объектов, иерархия которых задается при настройке системы и может быть изменена в ходе эксплуатации системы.

Хранилище объектов реализуется с помощью открытого инструмента перевода объектной модели в реляционную (Hibernate, вошедший в последний стандарт J2EE) на любой реляционной базе данных, для которой есть поддержка Hibernate (PostgreSQL, Oracle, MS SQL). Такой способ организации хранилища позволяет учитывать в системе любые типы объектов с произвольными реквизитами и произвольными жизненными циклами.


HTML и AJAX

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

Интеграция

Предпочитаемым средством интеграции для Naumen Inventory является использование веб-сервисов. Для работы с веб-сервисами в Naumen Inventory используется библиотека Apache Axis.

Также возможно использование других средств интеграции, в частности:

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

СУБД

Все учётные данные и метаданные система Naumen Inventory хранит в базе данных. Рекомендуется использовать следующие СУБД:

  • PostgreSQL,
  • Oracle,
  • MS SQL.

Для сохранности данных рекомендуется настроить резервное копирование базы данных сразу после инсталляции системы.