Материал: Разработка программного комплекса для анализа состояния системы хранения данных EMC Centera

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Ограничения на реализацию серверного компонента

Серверная библиотека

Серверный компонент для взаимодействия с компонентами ПО СХД Centera должен использовать серверную библиотеку, которая предоставляет программный интерфейс для получения информации о состоянии СХД Centera.

Необходимость создания отдельной реализации такого программного интерфейса продиктована двумя причинами:

Стремлением произвести структурную декомпозицию серверного компонента с целью уменьшения количества зависимостей между его модулями. В случае изменения (расширения) возможностей серверного компонента по анализу состояния СХД Centera или же при изменении протокола взаимодействия между серверным компонентом и компонентами ПО СХД Centera потребуется только адаптировать реализацию серверной библиотеки.

Требованием скрыть пути к системным директориям и файлам СХД Centera, а также протоколы взаимодействия с ПО СХД Centera; чтобы не влиять тем самым на защищённость СХД Centera.

Окружение среды исполнения

Серверный компонент должен исполнятся в среде исполнения Java Runtime Environment 6.0 под управлением ОС EMC Centera Linux. Образец данной системы предоставляется для осуществления разработки и тестирования серверного модуля.

Потребление ресурсов ОС

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

Хранение временных и служебных файлов, «рабочая директория»

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

Хранение результатов работы

Результаты выполнения задач пользователя следует хранить в соответствующей поддиректории «рабочей директории».

2.3 Графический интерфейс пользователя

Графический интерфейс пользователя выполнен с использованием библиотеки графических компонентов Java Swing, входящих в состав среды исполнения Java Runtime Environment 6.0.

Общий вид графического интерфейса

Графический интерфейс является многооконным, построенным по принципу Multiple Document Interface (MDI), когда пользователю доступны для просмотра и изменения сразу несколько разных типов окон (документов). Названия окон, описание их содержимого и пунктов меню клиентского компонента содержится в данном подразделе.

Запуск клиентского приложения начинается с появления диалогового окна «Choose connection» для выбора параметров соединения с СХД Centera, после чего при успешном установлении соединения пользователю показывается главное окно программы.

Основное окно программы имеет командное меню, из которого пользователю доступны все возможные функции программного комплекса, а также справка о пользовании программным комплексом.

Состав меню

Командное меню графического интерфейса состоит из четырёх пунктов, каждый из которых включает в себя подпункты:

Clusterin logs…logging…dumping……encode/decode…decodecompress/decompress’s manual page

About

Каждый подпункт меню инициирует какое-либо действие, описание которых приведены ниже:

«Cluster - Reconnect»

Производит попытку восстановления прерванного ранее соединения с СХД Centera, используя введённые ранее пользователем параметры соединения.

Подпункт меню недоступен, если соединение не было установлено до этого с момента запуска клиентского компонента; или же оно установлено до сих пор.

«Cluster - Sessions…»

Отображает окно со списком ранее устанавливаемых и не удалённых сессий, найденных на СХД Centera.

Подпункт меню недоступен, если соединение в настоящий момент не установлено.

«Cluster - Exit…»

Отображает диалоговое окно с опциями окончания текущей сессии и завершения работы клиентского компонента.

«Logging - Search in logs…»

Отображает диалоговое окно задания параметров поиска сообщений в журналах СХД Centera.

Подпункт недоступен, если соединение с СХД в настоящий момент не установлено.

«Logging - Custom logging…»

Отображает окно со списком текущих генерируемых отладочных журналов.

Подпункт недоступен, если соединение с СХД в настоящий момент не установлено.

Отображает окно со списком текущих генерируемых журналов сетевого трафика.

Подпункт недоступен, если соединение с СХД в настоящий момент не установлено.

«Logging - Download…»

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

Подпункт недоступен, если соединение с СХД в настоящий момент не установлено.

«Analysis - Base64 encode/decode…»

Отображает диалоговое окно кодирования/декодирования данных с использование метода Base64.

«Analysis - SmartPacket decode…»

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

Подпункт недоступен, если соединение с СХД в настоящий момент не установлено.

«Analysis - ZLIB compress/decompress…»

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

«Help - User’s manual page»

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

«Help - About»

Открывается диалоговое окно с кратким описанием программного комплекса и его выполняемой версией.

«Windows»

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

Требования к окнам графического интерфейса

Окно «Choose connection»

Модальное диалоговое окно, предназначенное для выбора адреса узла СХД Centera, а также имени профиля, используя которые нужно установить соединение с кластером.

Окно должно содержать:

поле ввода адреса узла СХД;

поле ввода имени профиля;

кнопку «Ok», при нажатии данное окно пропадает и перед началом установки соединения с кластером выводится окно «Enter password» для ввода пароля (см пп 3);

кнопку «Cancel», при нажатии которой завершается выполнение клиентского компонента;

список ранее введённых параметров соединений (имя соединения, адрес узла СХД Centera, имя профиля); при выборе элемента списка соединение с кластером будет производиться, используя параметры элемента списка;

кнопки «Add…», «Edit…» и «Remove» для соответственно добавления, редактирования и удаления элемента списка; при нажатии кнопок «Add…» и «Edit…» открывается окно «Edit cluster connection» (см пп 2) для редактирования параметров соединения.

Изменение размера окна пользователем не допускается.

Окно «Edit cluster connection»

Модальное диалоговое окно, предназначенное для редактирования параметров соединения с узлом СХД Centera.

Окно должно содержать:

поле ввода названия соединения;

поле ввода адреса узла СХД;

поле ввода имени профиля;

кнопку «Ok», при нажатии которой изменения параметров указанного соединения сохраняются;

кнопку «Cancel», при нажатии которой отменяется редактирование параметров соединения;

Изменение размера окна пользователем не допускается.

Окно «Enter password»

Модальное диалоговое окно, предназначенное для скрытого ввода пароля, используемого для установки соединения с кластером.

Окно должно содержать:

поле ввода пароля, скрывающее символы, вводимые пользователем;

кнопку «Ok», при нажатии которой окно пропадает и начинается установка соединения с кластером, используя параметры соединения и пароль, указанные пользователем; при успешной установке соединения отображается окно «Main frame» (см пп 4), в противном случае выводится информационное сообщение «Can’t establish connection with specified address» и снова отображается окно «Choose connection» (см пп 1);

кнопку «Cancel», при нажатии которой отменяется попытка установить соединение, окно пропадает и снова отображается окно «Choose connection» (см пп 1);

Изменение размера окна пользователем не допускается.

Окно «Main window»

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

Окно должно содержать:

кнопки в заголовке окна для развёртывания до полного размера рабочего стола, а также свёртывания в панель задач;

меню команд, размещённое в верхней части рабочей области окна; состав меню и описание действий пунктов меню приводится в п 2.3.2;

строку состояния в нижней части рабочий области, в которой отображается статус соединения с кластером и параметры этого соединения;

Допускается изменение размеров окна пользователем, при этом высота командного меню и строки состояния не изменяется.

Окно «Exit»

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

Окно должно содержать:

текст подтверждения желания пользователя завершить работу с клиентским компонентом;

триггер остановки серверного компонента при выходе из клиентского компонента (по умолчанию выключен);

триггер удаления содержимого сессии на стороне серверного компонента (по умолчанию выключен);

кнопку «Yes», при нажатии которой окно пропадает и завершается работа клиентского компонента с закрытием всех его окон;

кнопку «No», при нажатии которой окно пропадает, но работа программы продолжается без изменений;

Изменение размера окна пользователем не допускается.

Окно «Sessions»

Немодальное окно программы, предназначенное для отображения ранее созданных сессий работы с серверным компонентом, которые в настоящий момент имеются на СХД Centera.

Окно должно содержать:

список имеющихся на кластере сессий в виде таблицы со следующими колонками:

имя узла СХД, на которой находится содержимое сессии

является ли сессия активной

дата и время создания сессии

суммарный размер файлов, принадлежащих сессии

кнопку «Resume», при нажатии которой произойдёт подмена текущей установленной сессии выбранной сессией, а текущая сессия станет неактивной; кнопка должна быть активирована только для неактивных выбранных сессий, находящихся на узле СХД, с которым установлено соединение;

кнопку «Remove», при нажатии которой содержимое выбранной в списке сессии удаляется с кластера; кнопка должна быть активирована только для неактивных сессий;

кнопку «Cancel», при нажатии которой происходит закрытие окна.

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

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

Окно «Search in logs»

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

Окно должно содержать:

поля ввода «From date» и «To date», содержащие дату начала и соответственно конца временного диапазона в журналах, в котором будет производиться поиск сообщений;

поле ввода «Nodes», содержащее отделённые запятой имена узлов СХД Centera, на которых будет производиться поиск в журналах;

кнопку «Select nodes…», открывающую диалоговое окно для удобного выбора набора узлов СХД, на которых будет производиться поиск (см пп. 8);

триггеры «Business-logic», «Platform» и «OS», разрешающие поиск сообщения в журналах соответственно бизнес-логики, программной платформы и ОС EMC Centera Linux (по умолчанию все триггеры выключены);

поле ввода «Search pattern», содержащее шаблон сообщения, поиск которого будет производиться в журналах;

триггер «Regular expression», включение которого будет означать, что шаблон сообщения задан в виде регулярного выражения (по умолчанию выключен);

поле ввода пароля, скрывающее символы, вводимые пользователем;

кнопку «Search», при нажатии которой окно пропадает и открывается окно «Log» для вывода найденных в журналах сообщений (см пп 9) согласно заданным пользователем параметрам; кнопка активирована, если включено не менее одного триггера выбора типа журнала, в котором производится поиск;

кнопку «Cancel», при нажатии которой отменяется поиск сообщения в журналах и окно пропадает.

Изменение размера окна пользователем не допускается.

Окно «Select nodes»

Модальное диалоговое окно, предназначенное для удобного составления набора узлов СХД Centera, используемого для различных функций программного комплекса.

Окно должно содержать:

список узлов СХД Centera, с которой установлено соединение, допускающий множественное выделение элементов списка; выбранные в списке узлы будут включены в набор узлов, возвращаемый в качестве результата работы диалога;

выпадающий список с предустановленными наборами узлов, при выборе которых происходит автоматическое выделение подходящих узлов в списке узлов этого окна; минимальный перечень предустановленных наборов должен содержать: «All» (все узлы), «Access» (только узлы с ролью Access), «Replication» (только узлы с ролью Replication), «Storage» (только узлы с ролью Storage);

кнопку «Ok», при нажатии которой окно пропадает и выбранный пользователем набор узлов возвращается родительскому окну;

кнопку «Cancel», при нажатии которой отменяется выбор пользователя и родительское окно сохраняет предыдущий выбор узлов СХД Centera;

Изменение размера окна пользователем не допускается.

Окно «Log»

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

Окно должно содержать таблицу размером во всю рабочую область окна со следующими колонками:

время добавления сообщения в журнал

узел СХД, на котором произошло добавление

текст сообщения

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

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

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

Окно «Custom logging»

Немодальное окно программы, предназначенное для отображения текущих отладочных журналов, ранее запущенных на генерацию, но не завершённых.

Окно должно содержать:

список созданных в рамках текущей сессии отладочных журналов в виде таблицы со следующими колонками:

минимальный уровень сообщений, добавляемых в журнал

название модуля бизнес-логики, сообщения которого добавляются в журнал

набор узлов, на которых генерируется журнал

дата и время начала генерирования журнала

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