Введение - Система автоматизированного разделения кода прикладных программ
Множество современных приложений используют базы данных для накопления самых разных видов информации, которые могут включать пользовательскую статистику, информацию о счетах, введенные запросы и ключевые слова, - все то, что необходимо сохранить, получить, обработать для выполнения поставленных задач.
Хотя такие программы могут различаться по своей структуре, решаемым задачам, и визуальному представлению, все они сталкиваются с одинаковыми проблемами:
1. Высокая чувствительность ко времени выполнения.
В трехуровневой архитектуре, в рамках которой и будут проводиться исследования, запрос клиента проходит следующий цикл: отправка на сервер обработки клиентских запросов, преобразование в соответствующий запрос к базе данных, передача на сервер базы данных, обработка и получение результата, отправка результата на сервер приложений, обработка и преобразование результата в требуемый клиентом вид, отправка результата и отображение результата в клиентском приложении.
Такая структура позволяет сделать систему более безопасной и надежной, однако, на сервер приложений, сервер базы данных и канал связи между ними ложится высокая нагрузка. Реляционная база данных предполагает наличие блокировок, то есть пока с данной таблицей выполняется какая-то операция, она становится недоступной для ожидающего потока транзакций.
Клиенты, в свою, очередь, ожидают выполнения своих операций практически мгновенно, а в условиях конкуренции между схожими программными продуктами, скорость может стать ключевым фактором для выбора одной и отказа от других систем.
2. Изначальная неоптимальность кода и, как следствие, растрата ресурсов системы и снижение времени выполнения запросов.
Разработчики фокусируются в первую очередь на том языке, на котором программируется сервер приложений. Запросы к базе данных пишутся так, чтобы получить некоторую долю информации, и затем быстро (не в плане производительности, а в плане написания кода) обработать ее. Языки программирования имеют намного больше встроенных средств, чем, к примеру, SQL, и обработчики информации на них писать занимает значительно меньше времени.
Целью данного исследования является создание системы, которая будет уменьшать время выполнения клиентских запросов, за счет разделения исходного кода сервера приложений на 2 компоненты и переместить часть обработки данных ближе к месту их хранения.
Для достижения данной цели необходимо выполнить ряд задач:
- 1. Создать систему анализа исходного кода программы. Исходя из набора файлов с кодом сервера приложений, должны выявляться подходящие для преобразования фрагменты кода - получающие информацию из БД, обрабатывающие ее и имеющие конечный результат. 2. Создать систему разделения, которая по выбранным методам, создаст классы и методы для удаленного вызова и отредактирует первоначальный код их вызова. 3. Создать окружение для исходных программ, которое будет обеспечивать синхронизацию передаваемых данных и передачу результата, а также будет собирать статистические данные о времени выполнения для последующего анализа результатов. 4. Создать или выбрать одну из существующих баз данных и программу на которой будет проводиться тестирование системы. 5. Провести тестирование: программы до применения системы и после ее применения.
При успешных результата экспериментов, с помощью данной системы возможно будет уменьшить время выполнения клиентских запросов в сложных приложениях не прибегая при этом к услугам разработчиков.
В результате система пытается соединить достоинства двух - и трехуровневой архитектуры, приблизить данные к месту их обработки, распределить нагрузку между сервером БД и сервером приложений, сохранив при этом безопасность и надежность.
Несмотря на то, что используемые модели архитектуры, построение графа зависимостей, преобразование запросов в хранимые процедуры - применяются достаточно давно и хорошо известны, приложение этих знаний к программам работающим с БД является достаточно новым. На данную тематику вышло 2 публикации: первая - летом 2012 года в журнале, посвященном большим базам данных "The VLDB journal", и в начале 2013 года в MIT, обе написаны группой из студентов и профессоров MIT и университета Cornell [1,2]. Именно эти публикации и послужили основой для данной работы.
С учетом представленных в вышеуказанных работах результатов, данное направление оптимизации работы приложений вероятно будет активно развиваться, но на данный момент работы по данной тематике практически отсутствуют.
Похожие статьи
-
В связи с увеличением числа сотрудников, работающих в компании, а также с расширением рабочего проекта, возникла проблема, связанная с версионностью...
-
ВВЕДЕНИЕ - Автоматизированные системы обработки информации и управления на автомобильном транспорте
Автоматизированные системы управления нашли широкое применение во всех отраслях экономики. Создано и функционирует несколько тысяч АСУ различного класса...
-
Введение - Проектирование автоматизированной информационной системы
Информационный интерфейс программа С развитием информационных технологий компьютеры, с их расширенными функциональными возможностями, активно применяются...
-
Структура системы В ходе разработки выпускной квалификационной работы использовались базы данных, созданные в среде MySQL Workbench, и создано клиентское...
-
ВВЕДЕНИЕ - Понятие о системах автоматизированного проектирования
Все большее количество промышленных предприятий внедряют на производстве системы автоматизированного проектирования технологических процессов....
-
Физическая модель базы данных определяет способ размещения данных в среде хранения и способ доступа к этим данным, которые поддерживаются на физическом...
-
Математическое и программное обеспечение (МО, ПО)- совокупность математических методов, моделей, алгоритмов и программ для реализации целей и задач...
-
ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ База данных как основа информационного обеспечения В состав информационного, программного и математического обеспечения...
-
Если множество элементов объединено в систему по определенному признаку, то всегда можно ввести некоторые дополнительные признаки для разделения этого...
-
Введение - Разработка и тестирование автоматизированной системы контроля успеваемости студентов
Тема разработки автоматизированной системы контроля успеваемости и вычисления оценок слабо освещена в научной литературе со стороны вычислительной части...
-
Прогноз погоды - научно обоснованное предположение о будущем состоянии погоды в определенном пункте или регионе на определенный период. Составляется...
-
В основу успешного решения задач учета и управления автоперевозками положен комплексный подход к автоматизации предприятий, сочетающий в себе...
-
Система "Экспедитор" предназначена для автоматизации деятельности транспортно-экспедиционных предприятий, занимающихся обслуживанием...
-
Введение - Автоматизированная информационная система отеля
В данной работе будет представлен проект информационной системы "Автоматизированная информационная система отеля". Основное назначение АИС "Отель" -...
-
Информация с точки зрения информационной безопасности обладает следующими категориями: * конфиденциальность -- гарантия того, что конкретная информация...
-
Актуальность проблемы хранения и оперативного поиска данных привела к появлению такого понятия, как хранилище данных. Следует упомянуть о необходимости...
-
Введение - Автоматизированное рабочее место менеджера салона красоты ЧУП "Александрия"
Развитие современного общества вплотную связано с развитием вычислительной техники и широкой информатизацией всех сфер человеческой деятельности. В наше...
-
Выбор системы управления базами данных является одним из важных этапов при разработке автоматизированной системы расписания занятий. Выбранный...
-
Следующим этапом, когда документация найдена, источники изучены, а другие решения проанализированы, является реализация автоматизированной системы...
-
ПО развивается исходя из требований других подсистем. ПО при обработке данных является связующим звеном между комплексом технических средств и другими...
-
Введение, Медицинские информационные системы - Информационные медицинские системы
В медицине, как в фокусе, концентрируется множество различных проблем. В первую очередь это касается гетерогенных источников информации, где нет единства...
-
При создании или при классификации информационных систем неизбежно возникают проблемы, связанные с формальным - математическим и алгоритмическим...
-
Введение, Этапы разработки программы - Разработка программы "Будильник"
Внедрение электронно-вычислительных машин, современных средств переработки и передачи информации послужило началом нового процесса, называемым...
-
Введение - Система анализа и учета учебной документации
Актуальностью темы исследования является то, что управление информационными процессами любого учебного заведения - одна из современных тенденций в...
-
ППО - часть программного обеспечения, обеспечивающая решение прикладных задач. Выделяют: 1) пользовательское ППО (ПППО), предоставляющее пользователю...
-
Общие сведения о тестировании Данный раздел посвящен проведению тестирования клиентского приложения. Тестирование для серверной части системы не...
-
Введение - Составление программы для решения системы уравнений
А) Постановка задач Б) Решения поставленной задачи 4. Порядок выполнения работы А) Изучение литературы Б) Составление алгоритма. В) Составление программа...
-
1. НА 7 ПК ИСПОЛЬЗУЕТСЯ microsoft Windows xp sp2. 2. на 1 используется Altlinux 5 3. Программы офисного назначения: A) Microsoft Office Excel 2003 B)...
-
Введение - Автоматизированные системы управления и обработки информации
Информационный программирование алгоритм С появлением ЭВМ и использованием их для обработки информации появилась возможность автоматизировать решение...
-
Введение - Разработка автоматизированной системы расписания занятий учебного заведения
Одной из важнейших проблем качественной организации учебного процесса в высшем учебном заведении является задача создания автоматизированного учебного...
-
Прикладные программы предназначены для решения конкретных функциональных задач пользователя. Прикладное ПО общего назначения - совокупность программ для...
-
Информационная система крупной организации, как правило, представляет собой исторически сложившуюся совокупность отдельно работающих систем, которые...
-
Возрастающая сложность современных автоматизированных систем управления и повышение требовательности к ним обуславливает применение эффективных...
-
Способы обработки данных - Автоматизированные системы обработки экономической информации
Различаются следующие способы обработки данных: централизованная, децентрализованная, распределенная и интегрированная. Централизованная предполагает...
-
Информационно - измерительные системы: структура и состав Постоянное совершенствование и развитие средств измерений необходимо для промышленного...
-
Уже пакетный режим в своем развитом варианте требует разделения процессорного времени между выполнением нескольких программ. Необходимость в разделении...
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
Для многих компаний внутрифирменная система информации решает задачи организации технологического процесса: прежде всего, обеспечения предприятий...
-
Введение - Разработка справочной информационной системы "Рецепты"
Задание курсовой работы. Разработать и отладить информационную справочную систему "Рецепты", которая будет позволять хранить, выводить на экран,...
-
Основные средства администрирования системы 1С:Предприятие реализованы в составе конфигуратора. Однако есть ряд механизмов и утилит, которые не входят в...
Введение - Система автоматизированного разделения кода прикладных программ