2.3.Структура АРМ мониторинга Структура графического интерфейса пользователя приложения АРМ мониторинга должна удовлетворять описанным ниже требованиям.
Приложение АРМ мониторинга настольное. Окно приложения должно состоять из трех частей:
Окно дерева автоматов;
Окно состояния автомата;
Окно узлов автомата.
Окно дерева автоматов отображает соответственно графический элемент «дерево», ветками которого являются линии и станции метрополитена. Листьями этого дерева являются непосредственно сами автоматы. При выборе автомата из этого дерева, информация о нем отображается в окне состояния автомата.
Окно состояния автомата отображает состояние и параметры выбранных автоматов. Окно состояния содержит вкладки, на каждой из которых отображается информация об одном конкретном автомате. При открытии вкладки в окне узлов автомата отображаются узлы, а также их состояние в окне узлов автомата.
В окне узлов автомата отображается таблица с узлами конкретного автомата. При выборе узла, в этом же окне отображается информация о нём (например, производитель, модель, версия драйвера и т.п.).
Окно приложения АРМ мониторинга должно также содержать строку меню и панель инструментов.
Общий вид структуры приложения можно посмотреть на рисунке 11
Рисунок 11. Структура окна приложения АРМ мониторинга
3.Разработка АРМ мониторинга и сервера мониторинга 3.1.Обоснование выбора средств разработки Для реализации выдвинутых к системе требований, можно выбрать такие средства реализации как Java, Eclipse, Microsoft SQL Server Express, Apache Tomcat.
Основной особенностью разработки системы мониторинга является то, что приложение АРМ мониторинга является так называемым RCP (Rich Client Platform) приложением.
Rich Client Platform – набор модулей для разработки программного обеспечения. RCP состоит из:
Ядра.
Фреймворка для разработки.
Набора виджетов.
Средства для работы с файлами.
Интегрированной рабочей среды.
RCP является основой для настольных приложений. Большинство настольных приложений имеют схожие элементы, такие как меню, панели инструментов, панели прогресса, панели статуса, визуализация данных, настройки приложений, сохранения и загрузка данных и конфигураций пользователя, разбиение экрана, локализация, системы помощи и тому подобные. Для этих и иных типичных для клиентских приложений элементов, RCP предоставляет фреймворк, с которым все эти элементы и функции могут быть просто и быстро уложены вместе.
Широкие возможности конфигурируемости и расширяемости приложений занимает центральное значение во фреймворках такого типа.
Rich Client Platform предоставляет разработчику множество интерфейсов прикладного программирования (API). Например, эти интерфейсы могут быть использованы разработчиками для управления окнами и меню или для поддержки отображения настроек. Таким образом, благодаря возможности использовать множество раз эти предопределенные компоненты, программист может сконцентрироваться над реализацией бизнес-логики, не тратя время на программирование компонент.
Java – объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems.
Одиннадцать основных особенностей Java. Java это простой, объектно-ориентированный, распределенный, надежный, безопасный, не зависит от архитектуры компьютера, переносимый, интерпретируемый, высокопроизводительный, многопотоковый и динамичный язык.
Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.
Достоинством подобного способа выполнения программ является полная независимость байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.
Часто к недостаткам концепции виртуальной машины относят то, что исполнение байт-кода виртуальной машиной может снижать производительность программ и алгоритмов, реализованных на языке Java.
Eclipse – свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation.
Eclipse в первую очередь служит как платформа для разработки расширений. Любой разработчик может расширить её своими модулями. Благодаря этому Eclipse идеально подходит для разработки RCP приложений. Модульность, кроссплатформенность, поддержка мультиязычности, бесплатность, огромное количество существующих плагинов, библиотек и фреймворков. Все это позволяет создавать приложения коммерческого уровня.
Рисунок 12. Архитектура Eclipse
Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо стандартной для Java библиотеки Swing.
Microsoft SQL Server Express – это платформа баз данных, основанная на Microsoft SQL Server. SQL Server Express облегчает разработку управляемых данными приложений с широкими возможностями, обеспечивает улучшенную безопасность хранилищ и быстрое развертывание. Основной используемый язык запросов – Transact-SQL.
Microsoft SQL Server Express можно бесплатно загружать и распространять. Если необходимы дополнительные функции базы данных, выпуск SQL Server Express можно легко обновить до расширенных версий SQL Server.
Apache Tomcat – контейнер сервлетов с открытым исходным кодом, разрабатываемый Apache Software Foundation. Реализует спецификацию сервлетов и спецификацию JavaServer Pages (JSP). Написан на языке Java.
Tomcat позволяет запускать веб-приложения, содержит ряд программ для самоконфигурирования.
Tomcat используется в качестве самостоятельного веб-сервера, в качестве сервера контента в сочетании с веб-сервером Apache HTTP Server, а также в качестве контейнера сервлетов в серверах приложений JBoss и GlassFish.
|