Трехзвенная клиент-серверная информационная система по конфигурированию баз данных

Достоинства технологии "клиент-сервер" для баз данных: высокая степень безопасности, возможность работы с мультимедийными и нестандартными данными. Реализация клиент-серверной информационной системы по конфигурированию баз данных на основе плагинов.

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 20.05.2017
Размер файла 25,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

ТРЕХЗВЕННАЯ КЛИЕНТ-СЕРВЕРНАЯ ИНФОРМАЦИОННАЯ СИСТЕМА ПО КОНФИГУРИРОВАНИЮ БАЗ ДАННЫХ

Нестеров Геннадий Дмитриевич

к.т.н., профессор

В настоящее время актуальна задача использования технологии «клиент-сервер» для баз данных. К ее достоинствам относятся высокая степень безопасности, возможность работы с мультимедийными и нестандартными данными, нетребовательность к аппаратной мощности клиентских станций, территориальная независимость, работа как в локальных, так и в глобальных сетях. В статье дана концепция и описана реализация клиент-серверной информационной системы по конфигурированию баз данных на основе плагинов, позволяющих гибко, быстро и эффективно вносить изменения в существующее приложение по работе с базами данных. Именно этот подход решает проблему использований подключения одной программы к нескольким СУБД

Ключевые слова: «КЛИЕНТ-СЕРВЕР», ПЛАГИН, КОНФИГУРИРОВАНИЕ, ПРОЦЕДУРЫ, ИНТЕРФЕЙС, КЛАСС, МОДУЛЬ

В настоящее время в силу ряда преимуществ получила распространение технология построения баз данных - «клиент-сервер» [1]. К ее достоинствам относятся высокая степень безопасности, возможность работы с мультимедийными и нестандартными данными, нетребовательность к аппаратной мощности клиентских станций, территориальная независимость, работа как в локальных, так и в глобальных сетях.

В связи с этим многие организации ведут работы в направлении переноса всех программ, использующих технологию предыдущего поколения «файл-сервер», на технологию «клиент-сервер».

Поэтому возникла задача написания клиент-серверной информационной системы по конфигурированию баз данных.

Для ее реализации применена система конфигурирования на основе плагинов, позволяющих гибко, быстро и эффективно вносить изменения в существующее приложение по работе с базами данных. Именно этот подход решает проблему использований подключения одной программы к нескольким СУБД.

Определены следующие технологии подключения к базам данных:

dbExpress, представляющая собой архитектуру создания драйверов данных ( разработка Embarcadero) и заменяющая устаревший BDE . Ее применение позволяет:

· уменьшить затрачиваемые ресурсы;

· обеспечить наибольшую скорость работы;

· реализовать кросс-платформенность;

· достаточно просто разрабатывать драйверы;

· пользоваться расширенными возможностями управления трафиком и памятью.

Отличительной чертой драйверов dbExpress являются высокая скорость работы и маленький размер, поскольку они обеспечивают небольшую функциональность.

Для доступа к данным используется ADO -- интерфейс программирования приложений, который основан на технологии компонентов ActiveX. Следует отметить, что ADO разрешает представлять данные из разнообразных источников (в объектно-ориентированном виде).

На основе этих технологий реализованы расширения. Каждое расширение снабжено специализированным сервером приложений, реализующим бизнес-логику и определяющим изоляцию транзакций.

В каждом плагине реализовано промежуточное (третье звено) подключение к базе данных. При работе приложения применяется протокол передачи данных - DCOM, который использует технологию COM. Технология COM (Component Object Technology) представляет собой объектно-ориентированную программную спецификацию, предназначенную для повышения надежности взаимодействия компьютерных программ между собой. COM-объекты прозрачно друг для друга модифицируются, поскольку через GUID обеспечивается доступ к объектам. В COM технологию включены библиотека с набором стандартных интерфейсов, определяющих ядро функциональности COM и некоторый набор API функций, для создания COM-объектов и управления ими. Так как COM является стандартным средством операционной системы Windows, на фазе разработки не понадобится формирование специализированных алгоритмов для ее реализации

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

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

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

Функциональные требования связаны с указанными двумя первыми, вследствие чего были созданы:

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

· динамически компонуемые библиотеки, используемые в качестве расширений.

Модули-контейнеры представляют собой совокупность модулей, При их компиляции создается обычный файл с расширением EXE, в котором заложен базовый функционал информационной системы, а также определен механизм загрузки и подготовка к выполнению расширений. Следует заметить, что именно в этих модулях заложен механизм взаимодействия информационной системы с пользователем.

Разработка выполнена в два основных этапа:

· создание непосредственно программной оболочки и ее расширений для взаимодействия с базой данных;

· создание конфигурационных процедур и функций в базе данных объекта обслуживания.

На втором этапе определены необходимые хранимые процедуры и триггеры базы данных для вызова их из модулей расширений.

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

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

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

Реализационное представление включает в себя подготовку приемочного тестирования на стороне заказчика, а также формирование тест-карты. клиент сервер база данные

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

Интерфейсы выполняют следующие функции:

· обработка переданного текста (в плагине);

· отображение статуса выполнения плагина (приложение);

· отображение хода выполнения соответствующего плагина (приложения).

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

Ядро плагинной системы состоит из двух классов. Первый - представляет собой объект, хранящий информацию о плагине, методах его реализации и реализующий интерфейсные методы, которые будут переданы плагину в момент его инициализации. Второй класс является некоторым хранилищем классов плагина, загружая их из переданной директории для доступа к ним из основного приложения.

Выполнение плагинов осуществлено следующим образом:

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

· передача интерфейсному методу плагина в качестве параметра текста конфигурации;

· вызов интерфейсного метода плагина;

· вызов плагином интерфейсных методов приложения для информирования пользователя о ходе своей работы.

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

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

Основное неудобство данного метода заключается в объявлении экспортируемой процедуры. Об этом должны «знать» как приложение, так и плагин. Решение этой проблемы было определено как создание директивы описания в общем интерфейсном модуле, где разработчик плагина сможет посмотреть объявление данной функции и включить ее реализацию в программный код плагина. Гуид плагина - это некоторый уникальный идентификатор, созданный, чтобы определить индексации в ядре плагинной системы, в которой доступ к выполнению плагина будет осуществляться непосредственно по переданному гуиду. Вызов на выполнение некоторого плагина реализован в методе класса хранилища плагинов, который в качестве входного параметра будет получать имя плагина и его гуид. Далее реализуется поиск в массиве указателей на класс плагинов. При нахождении необходимого вызывается соответствующий метод класса плагина на его выполнение.

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

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

Указанные модули удовлетворяют условиям:

1. Размеры модуля не должны быть слишком маленькими или большими.

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

2. Модуль должен быть функционально прочным.

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

3. Модуль должен быть информационно прочным.

Информационно прочный модуль выполняет несколько операций (функций) над одной и той же структурой данных, неизвестной вне его. Такой модуль содержит вход и форму обращения к нему для каждой из этих операций.

Разработанная программа использует следующие стандартные модули. Windows - работа со стандартными библиотеками Windows; Messages - обработка сообщения Windows; SysUtils - отвечает за шрифты и математические операции; Classes - поддержка классов; Graphics - графические фильтры; Controls - элементы управления; Forms - работа с формами; Shellapi - модуль для работы с api-функциями; System - системные процедуры и функции; Dialogs - вывод диалогов пользователей; Variants - работа с вариантными типами данных.

Были разработаны модули:

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

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

ConfigFormUnit - модуль формы конфигурации программы. Реализует функционал редактирования директорий загрузки плагинов и шаблонов, позволяет назначать горячие клавиши к основным функциям программы.

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

ShablonUnit - модуль формирования шаблонов. Определяет механизмы отображения списка шаблонов, переименования, удаления и сортировки.

CorePlugin - модуль ядра плагинной системы. Реализует два класса плагинной системы.

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

· интерфейс обратного вызова для ведения лога и процента выполнения плагина;

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

· описание формата экспортируемой функции, возвращающее имя, тип, гуид и ссылку на интерфейс выполнения плагина;

· интерфейс выполнения плагина.

На основе описанных программных модулей созданы соответствующие элементы интерфейсов.

Основные элементы главного окна: главное меню, панель инструментов, рабочая область, панель плагинов, панель лога работы плагинов.

Окно настроек программы имеет две вкладки. Первая содержит элементы, отображающие общие настройки приложения. Вторая служит для конфигурирования горячих клавиш.

Окно конфигурирования лексхем разделено на следующие структурные элементы:

· Лексхема - содержит выпадающий список, отображающий ее название.

· Параметры - включает в себя несколько областей, сгруппированных по смысловому значению, а именно: идентификаторы - задает настройку прорисовки ключевых слов; комментарии - задает настройку прорисовки комментариев; символы - задает настройку прорисовки символов; строки - задает настройку прорисовки строковых выражений; настройки редактора - определяет параметры редактора, в который загружается файл конфигурирования базы данных; разделители - определяет разделители при множественном выделении; операторы вложений - позволяет создавать массив операторов, которые будут определены как вложения.

· Окно конфигурирования шаблонов реализует функционал модуля конфигурирования шаблонов. Служит для создания шаблонов типовых конфигураций баз данных. Содержит элементы интерфейса для отображения списка зарегистрированных ранее шаблонов в базе данных (список), а также выполнения команд открытия, удаления, переименования, сортировки, удаления шаблонов и поиска шаблонов.

· Дочернее окно программы реализует MDI интерфейс приложения. Содержит многострочные поля ввода для отображения файла конфигурации, а также экспорта текста в формат RTF.

Было проведено тестирование разработанного программного продукта.

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

Список литературы

Шибанов С.В. Основы разработки баз данных в клиент-серверных приложениях. - Пенза: Пензенский государственный университет, 2010 [ Электронный ресурс] Режим доступа: http://www.twirpx.com/file/456348/

Размещено на Allbest.ru

...

Подобные документы

  • Реляционные базы данных как часть корпоративных информационных систем, их построение по принципам клиент-серверной технологии. Основные характеристики СУБД Firebird. Проектирование базы данных для информационной системы "Компьютерные комплектующие".

    курсовая работа [1,9 M], добавлен 28.07.2013

  • Проектирование физической и логической моделей удаленной базы данных для АЗС. Разработка базы данных в СУБД Firebird с помощью утилиты IBExpert. Создание клиентского приложения для Windows с использованием клиент-серверной технологии в среде C++ Builder.

    курсовая работа [3,9 M], добавлен 18.01.2017

  • Архитектура "клиент-сервер". Системный анализ базы данных "Газета объявлений", ее инфологическое и физическое проектирование. Программирование на стороне SQL-сервера. Разработка клиентской части в Borland C++ Builder 6.0 и с помощью Web-технологий.

    курсовая работа [1,3 M], добавлен 07.07.2013

  • Система управление базами данных, реляционная модель. Принципы взаимодействия между клиентскими и серверными частями. Трехуровневая модель технологии "клиент-сервер". Фрактальные методы сжатия больших объемов данных. Анализ концепции хранилища данных.

    курс лекций [265,0 K], добавлен 05.06.2009

  • Изучение функций автоматизированных банков данных. Общие принципы описания, хранения и манипулирования данными. Анализ требований к базам данных. Файл-серверная и клиент-серверная архитектура БД. Преимущества введения системы управления базами данных.

    презентация [91,5 K], добавлен 13.08.2013

  • Проектирование и разработка базы данных в РСУБД Firebird. Последовательность создания приложения, основанного на клиент-серверной технологии и работающего в операционной системе Windows. Хранимые процедуры и триггеры. Доступ к сети и транзакции.

    курсовая работа [2,6 M], добавлен 27.07.2013

  • Реализация информационной системы "Стройгенплан" в архитектуре "клиент-сервер". Цели и задачи моделируемой информационной системы, ее функциональная и информационная модели. Описание программного обеспечения, разработанного в архитектуре "клиент-сервер".

    курсовая работа [1,9 M], добавлен 30.08.2010

  • Угрозы безопасности баз данных. Политика информационной безопасности предприятия в области использования сетевых ресурсов. Разработка и введение в эксплуатацию защищенного клиент-серверного приложения. Средства аутентификации объектов базы данных.

    дипломная работа [4,6 M], добавлен 21.02.2013

  • Основные понятия серверов. Модель клиент-сервер. Классификация стандартных серверов. Недостатки файл-серверной системы. Криптографические методы защиты информации. Серверы удаленного доступа. Методы и средства обеспечения безопасности информации.

    контрольная работа [36,3 K], добавлен 13.12.2010

  • Характеристика модели клиент-сервер как технологии взаимодействия в информационной сети. Разработка и описание алгоритмов работы приложений на платформе Win32 в среде Microsoft Visual Studio, использующих для межпроцессного взаимодействия сокеты.

    курсовая работа [544,6 K], добавлен 02.06.2014

  • Функциональная модель системы. Проектирование схемы базы данных. Проектирование архитектуры системы. Принцип технологии клиент-сервер. Построение схемы ресурсов. Выбор программных средств. Разработка базы данных с использованием Microsoft SQL Server.

    дипломная работа [1,1 M], добавлен 30.03.2015

  • Анализ архитектуры информационной системы, в структуру которой входят системы файл-сервер и клиент-сервер. Сравнение языков запросов SQL и QBE. Принципы разработки приложений архитектуры клиент-сервер при помощи структурированного языка запросов SQL.

    курсовая работа [88,9 K], добавлен 11.04.2010

  • Создание клиент-серверного приложения на основе технологии CORBA. Проектирование многоуровневой системы, в которой клиент при помощи банкомата выполняет необходимые операции. Способы реализации серверов в разных каналах для ускорения обработки данных.

    лабораторная работа [1,1 M], добавлен 08.06.2009

  • Методика и основные этапы разработки системы тестирования для оценки уровня знаний студентов с применением технологии "Клиент-сервер". Проектирование клиентской, серверной части данной системы тестирования, порядок составления финальных отчетов.

    дипломная работа [587,6 K], добавлен 08.11.2010

  • Модели баз данных. Локальная, файл-серверная, клиент-серверная и распределенная архитектуры. Технология BDE для доступа к данным. Драйверы баз данных. Создание таблицы, интерфейс программы, дерево объектов, инсталлятор. Системы визуальной разработки.

    курсовая работа [989,5 K], добавлен 04.06.2013

  • Архитектура "клиент-сервер". Параллельная обработка данных в многопроцессорных системах. Модернизация устаревших информационных систем. Характерные черты современных серверных СУБД. Наиболее популярные серверные СУБД. Распределенные запросы и транзакции.

    курсовая работа [309,2 K], добавлен 11.11.2011

  • Реализация прямого проектирования в архитектуре "файл-сервер". Процесс изменения структуры базы данных, реализация прямого проектирования в архитектуре "клиент-сервер", генерирование SQL-кода создания базы данных на основе физической модели данных.

    контрольная работа [697,8 K], добавлен 16.02.2015

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

    курсовая работа [3,4 M], добавлен 23.03.2013

  • Этапы проектирования сайта. Реализация двухкомпонентной системы голосования - клиент и датацентр. Создание безопасной системы передачи данных с использованием языков разметки HTML, программирования PHP, скриптов JavaScript, базы данных MySQL и Web-службы.

    дипломная работа [2,9 M], добавлен 12.12.2013

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

    курсовая работа [352,0 K], добавлен 24.08.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.