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.
Для сохранности данных рекомендуется настроить резервное копирование базы данных сразу после инсталляции системы.