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

Презентация:



Advertisements
Похожие презентации
Мартин Фаулер « Архитектура корпоративных программных приложений » Подготовила Ст. ПС - 41 Лукиных Н. А.
Advertisements

Оценка знаний. 1. Изучение предметной области 2. Поиск и изучение существующих систем 3. Выявление сильных и слабых сторон аналогов 4. Формулирование.
Тема 2. Концептуальное проектирование. Лекция 1. Уровни моделей и этапы проектирования.
ООП Лекция 1. Основные понятия. Литература Шилдт Г. С#: полное руководтво.-М.:ООО Вильямс, с. Культин Н.Б. Microsoft Visual C# в задачах и.
Организация распределенных прикладных систем. Попытаемся ответить на вопросы Как устроены распределенные прикладные системы? Каковы наиболее важные их.
Базы данных Лекция 01 Информационные технологии баз данных.
Работу выполнила студентка гр. 9 Бд 111 Евженко Дарья.
Лекция 5 Способы конструирования программ. Основы доказательства правильности.
Лекция 22 Лекция 22 Локальные, сетевые и распределенные базы данных. Архитектура «файл- сервер». Двух и трехуровневая архитектура «клиент-сервер». Модель.
Лекция 1 MVC (Model-View-Controller) - это конструкционный шаблон, который описывает способ построения структуры приложения, сферы ответственности и взаимодействие.
Алексей Кирсанов ведущий разработчик «1С-Битрикс» Магазин – глобальная реструктуризация. D7 Партнерская конференция «1С-Битрикс»
The UML Тимофеев Никита
Выполнил : студент группы ПИ-14 Дибиров Ахмед Грозный 2017 г.
Разработка баз данных предприятий ЯОК Саровский физико-технический институт.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 1 Открытые системы. Клиент и сервер Лекции читает кандидат технических наук,
Классификация БД. СУБД и ее компоненты. Логическое и физическое описание данных.
Информационные системы Тема: «Классификация информационных систем» Е.Г. Лаврушина.
Программное обеспечение за полвека своего существования претерпело огромные изменения, пройдя путь от программ, способных выполнять только простейшие.
Программная инженерия Андрей Дмитриев ©2009.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
Транксрипт:

Трехслойная архитектура приложений, основанных на использовании баз данных

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

гибкое поддержание принципов распределения программных компонентов и данных (например, возможности быстрого перевода системы на модель функционирования «клиент-сервер», разработка параллельно нескольких интерфейсов к системе, в том числе, и Web-интерфейса); четкая структурированность бизнес-логики; Любая большая система, основанная на использовании БД, должна отвечать этим требованиям, а если быть точнее, то уровень качества проектирования этой системы во многом зависит от того, насколько система отвечает вышеперечисленным требованиям Любая большая система, основанная на использовании БД, должна отвечать этим требованиям, а если быть точнее, то уровень качества проектирования этой системы во многом зависит от того, насколько система отвечает вышеперечисленным требованиям

1.Трехуровневая архитектура. Определение. 1.Трехуровневая архитектура. Определение. Трехуровневая архитектура подразумевает под собой разделение всей системы на 3 слоя: Слой представления (или «вид», View Layer)-охватывает все, что имеет отношение к общению пользователя с системой; Слой источника данных(Data Source Layer)- предоставление интерфейса необходимых операций взаимодействия внешних систем(как правило слоя бизнес логики) с источником данных ; Слой логики домена (бизнес-логика или логика предметной области, Domain Layer)-описывает основные функции приложения, предназначенные для достижения поставленной перед ним цели;

Упрощенная схема приложения при использовании 3х-слойной архитектуры показана на рисунке View Layer Domain Layer Data Source Layer (Data Base)

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

Принципы организации Model Layer (бизнес - логики приложения) сценарий транзакции (Transaction script); модель предметной области (Domain Model); модуль таблицы (Table Module).

Сценарий транзакции (Transaction script) представляет собой удобную процедурную модель, легко воспринимаемую всеми разработчиками; удачно сочетается с простыми схемами организации взаимодействия со слоем источника данных(Data Source Layer); определяет четкие границы транзакции. Бизнес-логика в этом случае описывается набором процедур, по одной на каждую (составную) операцию, которую способно выполнять приложение Преимущества подхода:

Модель предметной области (Domain Model) Типовое решение модель предметной области предусматривает создание сети взаимосвязанных объектов, каждый из которых представляет некую осмысленную сущность предметной области. каждый объект наделяется только функциями, отвечающими его природе Недостаток подхода: Если прежде вы не пользовались моделью предметной области, процесс обучения может принести немало трудностей, когда в поис­ках нужных функций вам придется метаться от одного класса к другому. Преимущество подхода: освоившись с методом, разработчик получает в свое распоряжение множество приемов, позволяющих описывать возрастающую сложность бизнес-логики гибким путем с минимальными временными затратами

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

«Вычисление зачтенного договора» с помощью модели предметной области

Модуль таблицы (Table Module) Типовое решение модуль таблицы предусматривает создание по одному классу на каждую таблицу базы данных, и единственный экземпляр класса содержит всю логику обработки данных таблицы. Преимущество подхода: решение позволяет сочетать данные и функции для их обработки и в то же время эффективно использовать ресурсы реляционной базы данных. Недостаток подхода: модуль таблицы не позволяет использовать многие технологии (например, наследование, стратегии и другие объектно-ориенти­рованные типовые решения), которые применяются в модели предметной области для уточнения структуры логики

Схема взаимодействия слоев кода приложения с использованием модуля таблицы

Рекомендации по выбору метода организации бизнес-логики приложения Модель предметной области (Domain Model) Модуль таблицы (Table Module) Сценарий транзакции (Transaction Script) Сложность бизнес-логики СТОИМОСТЬРЕАЛИЗАЦИИСТОИМОСТЬРЕАЛИЗАЦИИ

Применение результатов Результаты работы будут применены при проектировании и реализации комплексной системы бухгалтерского учета с внедрением возможностей экономического моделирования и прогнозирования; Система будет работать в локальной сети с топологией «звезда», используя модель клиент-сервер. 1 сервер, ориентировочное число активных клиентов -70. Средняя активность клиентов – выше среднего. Система будет работать в локальной сети с топологией «звезда», используя модель клиент-сервер. 1 сервер, ориентировочное число активных клиентов -70. Средняя активность клиентов – выше среднего.

Литература Гамма Э., Хелм Р. и др. Приемы объектно- ориентированного проектирования. Паттерны проектирования. СПб.: Питер, – 378 с. Фаулер М. Архитектура корпоративных программных приложений.: -М.: Издательский дом «Вильямс», с. Г.Буч, Дж.Рамбо, А. Джекобсон Язык UML. Руководство пользователя. – М.:ДМК Пресс, с. БЛАГОДАРЮ ЗА ВНИМАНИЕ!