1.1 Расширение возможностей браузера плагинами
.2 Проксирование вызовов через теневую службу
.3 Создание собственного веб-клиента
.4 Анализ требований и выбор варианта решений
2.1 Основная идея модульного деления
.2 Межмодульное взаимодействие
.3 Проектирование ядра системы
.4 Проектирование главного окна системы
.5 Проектирования модуля печати
.6 Допущения и ограничения
.7 Структурная схема системы
.8 Функциональная схема системы
3.1 Среда разработки Qt Creator
.2 Разработка ядра системы
.3 Разработка модуля главного окна системы и модуля печати
. ТЕСТИРОВАНИЕ СИСТЕМЫ
4.1 Инсталяция программы
.2 Тестирование функциональной части программы
.3 Тестирование модульной расширяемости
Актуальность темы.
В эпоху бурного развития информационных технологий начался тот этап, который подразумевает не только информатизацию процессов производств, но и организацию защищенного доступа к ним из глобальной сети. Основным средством организации такого доступа являются веб-технологии. Самым популярным их воплощением является web-браузер. Такой подход позволяет создать не только интерактивный интерфейс пользователя, но и реализовать красивое оформление.
На рынке информационных технологий появилось много решений прикладных задач, таких как редакторы графических и текстовых файлов, web-браузеры, IP-телефония и другие. Для создания конкурентно способного приложения необходимо использовать эти технологии, иначе оно будет проигрывать как в функциональном плане, так и в интерфейсном. В данный момент на рынке нет подобных современных решений, где собраны различные части таких технологий.
Цель данной работы:
Целью данной работы является разработка идеи объединения сторонних решений и реализация многофункционального, легко масштабируемого приложения, в рамках проекта «Interin Promis».
Задачи работы:
1. Аналитический обзор предметной области и выбор средств разработки.
. Разработка функциональной и структурной схемы программного средства.
. Реализация основного модуля программы (Модуля отображения веб-страниц).
. Реализация модуля печати и модуля обновлений. Создание инсталлятора приложения.
. Изучение взаимодействия информационных технологий, методов их интеграции и обмена данными.
Научная новизна работы:
Новизна работы заключается в разработке технологии интеграции различных информационных решений. Данная идея заключается в объединении готовых сторонних разработок для получения многофункциональной системы, позволяющей динамически наращивать функционал.
Практическая значимость работы:
Практическая значимость работы заключается в универсальности предложенного решения.
Такой подход позволяет полностью изменить функционал приложения заменой всего одной библиотеки. Так же есть возможность легкой масштабируемости системы, путем добавления новых функциональных библиотек. Такое решение позволит получить кроссплатформенного клиента различных корпоративных web-систем, путем небольших доработок.
Апробация работы.
Результаты работы используются в тестовом режиме в медицинском центре ООО «Клиника Говорово».
Публикации. Основные результаты диссертационного исследования изложены в статье «Кроссплатформенный клиент корпоративной информационной системы», опубликованной в выпуске №67 научного журнала «NovaInfo».
Выпускная квалификационная работа состоит из пяти разделов.
В первом разделе представлен аналитический обзор существующих методов реализации клиента информационной веб-системы и выбран способ его разработки.
Во втором разделе автором производится проектирование системы, предлагается модульный способ ее реализации, а так же представлены функциональная и структурная схемы программной системы.
В третьем разделе представлена реализация основных модулей системы, а так же дано описание среды разработки QtCreator.
В четвертом разделе представлены материалы функционального тестирования системы с представлением материала их выполнения.
В пятом разделе описывается процесс внедрения программной системы в рамках проекта «InterinPromis».
В эпоху бурного развития информационных технологий начался тот этап, который подразумевает не только информатизацию процессов производств, но и организацию защищенного доступа к ним из глобальной сети. Основным средством организации такого доступа являются веб-технологии. Самым популярным их воплощением является веб-браузер. Такой подход позволяет создать не только интерактивный интерфейс пользователя, но и красивое оформление.
Корпоративная веб-система - это совокупность технических и программных средств, позволяющая автоматизировать рабочие процессы предприятий, в основе которой лежит веб-архитектура.
Для организации работы МИС Интерин PROMIS одним из ключевых моментов является взаимодействие клиента (веб-браузера) с периферийными устройствами и операционной системы. Такое двухстороннее взаимодействие невозможно, используя стандартный браузер. Далее будут представлены возможные варианты организации двухстороннего взаимодействия веб-клиента и операционной системы, а так же подставлены достоинства и недостатки таких подходов.
1.1 Расширение возможностей браузера плагинами
Неоспоримым достоинством данного подхода является наличие уже отлаженного, хорошо работающего, обновляемого, поддерживающего все современные веб-технологии интернет-браузера, который разрабатывает и поддерживает команда профессиональных разработчиков. Однако нет никакого единообразия в написании плагинов, а количества интернет-браузеров достаточно велико, следовательно, поддержка такого решения будет очень трудоемка и дорога. Однако можно ограничить клиента в выборе браузера, что не является приемлемым решением для большой корпоративной системы. Используя данный подход, появляется прямая зависимость от разработчиков браузера, так как после его обновления могут отказать разработанные плагины.
Перечисленных выше недостатков достаточно, что бы говорить о невозможности использования браузера, расширенного плагинами, в качестве клиента большой корпоративной системы.
1.2 Проксирование вызовов через теневую службу
Прокси-сервер представляет собой «промежуточный» сервер, который выступает в роле своеобразного посредника между сайтом и браузером. Название этого сервера произошло от английского слова «proxy» - «уполномоченный, представитель» [1].
Прокси-серверы различаются в зависимости от конфигурации. Бывают открытые и закрытые прокси-серверы.
Открытым прокси-сервером может воспользоваться любой желающий. Такие промежуточные серверы помогают оказаться на сайтах, доступ к которым с конкретного IP-адреса может быть запрещенным по той или иной причине. Чтобы начать использовать данный сервер, пользователь должен сначала подключиться к нему (либо же зайти на определенный сайт), а после этого послать запрос, содержащий адрес необходимого ресурса. Получив необходимую команду от пользователя, прокси-сервер начинает подключаться к необходимому серверу, а затем он выдает результат запроса.
Закрытые прокси-серверы могут использоваться отдельными организациями. Они предназначены для того, чтобы обслуживать работников конкретного офиса и, например, запрещать доступ для этого офиса к каким-либо ресурсам.
Обрабатывая запросы пользователей, прокси-сервер или подключается к серверу, где находится искомый ресурс, или же ищет сайт в своем кеше, если такой имеется.
Добавление прокси-сервера позволит системе абсолютно не зависеть от вида интернет-браузера, а так же от его обновлений. Однако браузер должен поддерживать работу в веб-соккетом, что накладывает на него некоторые ограничения. Проксирование клиентских запросов позволит из java-скрипта выполнить любой метод любого класса, который объявлен внутри этого прокси-сервера. Для реализации такой цепочки нужно будет во все веб-страницы, в которых будет необходимо взаимодействие с операционной системой, добавлять специальный java-скрипт. Это ограничение не очень серьезное, поэтому особых проблем не вызывает, но написание этих скриптов становится более трудоемким, так-как разработчик должен расписывать то, что классическому java-скрипту не свойственно.
Поддержка оптимальная, только одно приложение. Однако стоит отметить недостаток - прокси-сервер должен работать как служба. В таком случае он будет не визуален, а следовательно будет невозможно взаимодействовать с пользователем напрямую, а только через скрипты на веб-странице.
Из недостатков, так же стоит отметить сложность изменения содержания веб-страниц, так как для этого придется делать дополнительный запрос к прокси-серверу и ждать его ответа.
Добавление прокси-сервера в систему целесообразно тогда, когда, нужно только прозрачно напечатать документ на принтере, однако если же нужно многофункциональное взаимодействие с операционной системой, например, подключение кассового оборудования и других устройств, то эта проксирующая служба становится «тяжелой». Из-за особенностей взаимодействия с пользователем, поддержка такого решения становится очень трудоемкой, и, если нужно будет добавить функционала, то придется переписывать все веб-страницы.
Таким образом, получается, что добавление прокси-сервера является
оптимальным решением проблемы взаимодействия браузера и операционной системы,
но только для простых систем, имеющих ограниченное количество функциональных
возможностей.
1.3 Создание собственного веб-клиента
Web-браузер - это прикладное программное обеспечение для просмотра веб-страниц; содержания веб-документов, компьютерных файлов и их каталогов; управления веб-приложениями; а также для решения других задач [2].
В глобальной сети браузеры используют для запроса, обработки, манипулирования и отображения содержания веб-сайтов. Многие современные браузеры также могут использоваться для обмена файлами с серверами ftp, а также для непосредственного просмотра содержания файлов многих графических форматов, аудио-видео форматов, текстовых форматов и других файлов.
Функциональные возможности браузеров постоянно расширяются и улучшаются благодаря конкуренции между их разработчиками и высоким темпом развития и внедрения информационных технологий. Несмотря на то, что браузеры разных изготовителей базируются на разных технологических решениях, большинство современных браузеров придерживается международных стандартов и рекомендаций в области обработки и отображения данных. Стандартизация позволяет добиться предсказуемости в визуальном представлении информации конечному пользователю независимо от технологии, которая использована для её отображения в браузере.
При создании собственного веб-клиента (браузера) приходится работать с активно развивающимися мультимедийными технологиями, и, если получившийся браузер должен поддерживать все современные веб-технологии, то необходимо отслеживать все изменения в них. Такая поддержка значительно удорожит разработку, ведь даже создание простого клиента, который будет что-то отображать - это большая предварительная работа. Стоит отметить то, что поддержка приложения - это не цель, а всего лишь средство, на которое придется тратить много средств. Получается настолько дорогой инструмент, что он даже сопоставим с ценой самого продукта.
1.4 Анализ требований и выбор варианта решений
Разрабатываемая система предназначена для реализации клиентской части МИС (медицинской информационной системы) и обеспечивать взаимодействие МИС с операционной системой АРМа.
Целью разработки системы является обеспечение взаимодействия веб-приложений с операционной системой АРМ, сторонними программными продуктами и оборудованием.
Требования к структуре и функционированию системы:
. Система должна функционировать под управлением ОС Windows, Linux, MacOS.
. Система должна обрабатывать запросы пользователя и визуализировать результат (диалоговый режим).
. Система должна обеспечивать защиту передаваемых по сети данных.
. Система должны обеспечивать API для отображаемых веб-страниц по взаимодействию с клиенской ОС.