Д. В. ФОТИН

Научный руководитель – М. В. СЕРГИЕВСКИЙ, к. т.н., доцент
Национальный исследовательский ядерный университет «МИФИ»

МЕТОДЫ АВТОМАТИЗАЦИИ ПОСТРОЕНИЯ

РАСПРЕДЕЛЕННЫХ СИСТЕМ

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

В настоящее время существуют достаточно четкие понятия распределенной системы [1] и ее свойств, известны и типовые архитектуры распределенных систем. Основные задачи, решаемые с помощью распределенных систем, — облегчение пользователям доступа к удаленным ресурсам и обеспечить их совместное использование, четко регулируя этот процесс. Наиболее важными характеристиками распределенных систем являются:

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

2. Типовые способы взаимодействия пользователей и приложений, независимо от того, где и когда происходит это взаимодействие;

3. Расширяемость и масштабируемость.

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

НЕ нашли? Не то? Что вы ищете?

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

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

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

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

1. Э. Таненбаум, М. ван Стеен. Распределенные системы. Принципы и парадигмы. СПб.: Питер, 2003. — 877 с: ил. — (Серия «Классика computer science»).

2. Алан Шаллоуей, Тротт. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию. Вильямс, 2002. – 288 с.

3. Крэг Ларман. Применение UML 2.0 и шаблонов проектирования. Вильямс, 2002. – 288 с.