Модель исходной системы, Выбор методов для переноса - Система автоматизированного разделения кода прикладных программ
Данная методика рассчитана на приложения с трехуровневой архитектурой: клиент - сервер приложений - сервер базы данных. Так как программа нацелена на устранение излишних затрат на пересылку данных между 2 и 3 компонентом этой модели, то применять ее двухуровневой, будет нецелесообразно.
Способ взаимодействия между клиентом и сервером приложений значения не имеет, однако желательно отсутствие в сообщениях должен SQL кода или его частей, которые потом будут пересланы на сервер БД.
Несмотря на то, что для исследования выбраны приложения, работающие с БД PostgreSQL, конкретный вид используемой приложением СУБД не важен. На сервер приложений и сервер БД накладываются только следующее ограничение:
- Взаимодействие с БД происходит посредством использования JDBC и классов пакета Java. sql .
JDBC позволяет не привязываться к определенной специфике СУБД, а также при ее замене модификации кода минимальны, если вообще присутствуют
Выбор методов для переноса
Критерием для определения метода, как подходящего для переноса может являться использование в нем классов, объектов и методов из пакета Java. sql.
В качестве единицы переноса выбран метод. Для методов сделано следующее допущение: внутри метода изменяются только поля объекта, от которого вызывается метод.
При переносе функций, отвечающих этому критерию синхронизация копий становится достаточно простой задачей. После выполнения функции удаленно, необходимо подставить результат выполнения удаленной функции вместо результата выполнения обычной, а также объекту источнику присвоить значение объекта, на котором выполнялась функция удаленно.
Сигналом для добавления метода к подходящим для перемещения на другой сервер может быть: наличие объектов принадлежащих к типам Java. sql. Connection, java. sql. ResultSet, java. sql. Statement, наличие возвращаемого значения принадлежащего к этим же типам, а также выполнение методов: GetConnection, prepareStatement, createStatement, execute, executeQuery, executeUpdate.
Для выбранных методов необходимо запомнить единицу компиляции, в которой он располагается, название и поля класса и сигнатуру метода. Единица компиляции (Compilation Unit) является наиболее крупным объектом, с которым синтаксический анализатор языка может работать, представляет собой содержимое одного Java-файла.
Из единицы компиляции можно будет извлечь, какие классы необходимо импортировать, чтобы объявить удаленный аналог выбранного метода, а также пакет, в котором располагается данный класс.
Название класса может являться типом объекта, для которого вызывается метод, полям класса необходимо будет передать новые значения, если они изменились в процессе удаленного выполнения. Из сигнатуры метода необходимо выделить параметры, тип возвращаемого значения, наличие выбрасываемых исходным методом исключений.
С помощью всех этих данных можно определить метод-посредник таким образом, чтобы модификации кода рядом с точкой вызова, а также тела метода, были минимальны. Например, если не учесть какое-либо выбрасываемое исключение, то необходимо будет окружить код конструкцией Try/catch в точке вызова метода, методах посредниках как на клиенте, так и на сервере.
В данной системе удаленный вызов процедуры осуществляется не напрямую, а через классы-посредники, которые представляют собой клиент и сервер интерфейса удаленного доступа.
Под клиентом в данном случае подразумевается сервер приложений, а под сервером - сервер БД. Это обусловлено тем, что в RMI именно клиент инициирует удаленный вызов, что соответствует логике сервера приложений.
Похожие статьи
-
Обзор системы Основной задачей разрабатываемой системы является повышение производительности систем состоящий из сервера приложений и сервера баз данных,...
-
Qure Optimizer компании DB Sophic - Система автоматизированного разделения кода прикладных программ
Qure Optimizer является частью системы Qure управления производительностью БД и приложений работающих с БД. Данный программный продукт производит анализ...
-
Актуальность разработки - Система автоматизированного разделения кода прикладных программ
В большинстве современных систем, работающих с БД, набор параметров к запросам не фиксирован, а потенциально создаваемая избыточность негативно повлияет...
-
Данный программный продукт компании Dell собирает данные о выполняемых выражениях из Системной глобальной области в БД Oracle ( Англ. System Global Area,...
-
Введение - Система автоматизированного разделения кода прикладных программ
Множество современных приложений используют базы данных для накопления самых разных видов информации, которые могут включать пользовательскую статистику,...
-
Предпосылки: исходный код Основная идея, на которой строится данная система, заключается в том, что исходный код сервера приложений не оптимален и в нем...
-
Существует множество различных способов улучшения производительности систем работающих с базами данных и самих баз данных. Так как цель разрабатываемой...
-
Задание на разработку - Система автоматизированного разделения кода прикладных программ
Ознакомиться с технологией принципами построения системы разделения кода "Pyxis", разрабатываемой группой из MIT и университета Cornell. Провести...
-
Продукты компании Embarcadero - DB Optimizer и J Optimizer Есть категория приложений, в названии которых хоть и присутствуют слова "оптимизация" или...
-
Объектно-ориентированное программирование (ООП) является парадигмой программирования, которая представляет понятия, как "объекты", которые имеют поля...
-
Следующим этапом, когда документация найдена, источники изучены, а другие решения проанализированы, является реализация автоматизированной системы...
-
Секционирование [4] - Система автоматизированного разделения кода прикладных программ
Секционирование - это разделение хранящихся в БД объектов, например, таблиц на несколько меньших частей, с разным физическим расположением на диске....
-
Завершив выбор схемы работы системы и общего принципа работы ее частей и выбрав тип базы данных, следует перейти к выбору языка программирования....
-
При разработке Системы были использованы современные веб-технологии: AJAX, LAMP. Используемые программные средства, языки программирования, библиотеки:...
-
В данном разделе была разработана функциональная схема работы программного комплекса, которая в общем виде описывает состав комплекса, характер и виды...
-
Физическая модель базы данных определяет способ размещения данных в среде хранения и способ доступа к этим данным, которые поддерживаются на физическом...
-
Обзор протокола Multi-Touch технологий передачи данных TUIO [7] - основной кроссплатформенный протокол с открытым исходным кодом Multi-Touch передачи...
-
В качестве доступного инструментария были рассмотрены две открытые кроссплатформенные библиотеки для разработки C++ приложений WxWidgets и Boost ,...
-
Рассмотрим особенности программирования под Android. Класс Activity - самый важный класс, из которого строится приложение Android. Этот класс...
-
Можно выделить три основных метода разработки программного обеспечения: 1. Конструкторы программ (Аlgoritm2, Devel Studio, MnCreator, Game Maker и др.)....
-
По Р. Шеннону (Robert E . Shannon - профессор университета в Хантсвилле, штат Алабама, США ), "имитационное моделирование - Есть процесс конструирования...
-
Выбор системы управления базами данных является одним из важных этапов при разработке автоматизированной системы расписания занятий. Выбранный...
-
В связи с увеличением числа сотрудников, работающих в компании, а также с расширением рабочего проекта, возникла проблема, связанная с версионностью...
-
Разработка концептуальной модели АИС - Проектирование автоматизированной информационной системы
Любая деятельность компании отражается в документах, и, чтобы улучшить качество рабочих бизнес-процессов, необходимо улучшить документооборот, т. е....
-
Статический однофазный счетчик активной и реактивной электрической энергии ST 1000-6 Статические однофазные счетчики активной и реактивной электрической...
-
Разработка с "нуля", Выбор метода разработки - Различные виды программ для Multi-Touch столов
Разработка приложения на каком-либо языке с нуля достаточно трудоемкий процесс, так как в случае создания интерфейсов понадобиться множество времени для...
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
Метод Гаусса. Метод Гаусса решения систем линейных уравнений состоит в последовательном исключении неизвестных и описывается следующей процедурой. С...
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
Для чего нужны Базы Данных - База данных склада обоев
В настоящее время в современном мире электронных технологий практически невозможно представить компанию, в которой не требуется обработка некоторого...
-
Виды архитектур распределенных баз данных - Модели серверов баз данных
В рамках многоуровневого представления вычислительных систем можно выделить три группы функций, ориентированных на решение различных подзадач: 1 функции...
-
Серверная программа, Инструменты разработки - Визуализация графа цитирования
Серверная программа - это веб-сервер, необходимый для получения и хранения графов. Сервер может создавать графы цитрования из библиотеки IEEE Xplore...
-
Выбор средств реализации информационной системы Названные в параграфе 1.4. настоящей работы задачи могут быть решены тремя типами средств автоматизации:...
-
Разработка клиент-серверной части проекта, то есть связь между клиентским приложением и базой данных, реализуется при помощи специальной библиотеки MySQL...
-
Для того, чтобы использовать симметричные алгоритмы шифрования, необходимо безопасно обменяться ключами. Протокол Диффи - Хеллмана позволяет двум и более...
-
Доставка ОС и приложений, Облачные вычисления - Выбор оптимального решения для виртуализации
Доставка ОС и приложений является мощным третьим вариантом в области виртуализации. Хотя приложения в виртуальном представлении и клиентской...
-
Без установленных модулей приложение предоставляет следующие модели для работы с данными из базы данных: WorkspacesModel. Предоставляет данные о рабочих...
-
Графическое отображение нелокальной нейронной сети в системе "Эйдос" Математический метод СК-анализа в свете идей интервальной бутстрепной робастной...
-
Разработка концептуальной модели базы данных При проектировании программ выясняются запросы и пожелания клиента и определяется возможный подход к решению...
-
SAP HANA - это гибкий многоцелевой и независимый от источника данных программный комплекс на базе технологии "in-memory", который объединяет компоненты...
Модель исходной системы, Выбор методов для переноса - Система автоматизированного разделения кода прикладных программ