Архитектурные шаблоны в ROA
Agenda
Agenda
Представление бизнес логики
Представление бизнес логики
Представление бизнес логики
Представление бизнес логики
Представление бизнес логики
Типовые решения источников данных
Типовые решения источников данных
Типовые решения источников данных
Типовые объектно-реляционные решения для моделирования поведения
Объектно-реляционные решения, предназначенные для моделирования структуры
Объектно-реляционные решения, предназначенные для моделирования структуры
Объектно-реляционные решения, предназначенные для моделирования структуры
Объектно-реляционные решения, предназначенные для моделирования структуры
Объектно-реляционные решения, предназначенные для моделирования структуры
Объектно-реляционные решения с использованием метаданных
Типовые решения Web
Типовые решения Web
Типовые решения Web
72.95K
Категория: ПрограммированиеПрограммирование

Архитектурные шаблоны в ROA

1. Архитектурные шаблоны в ROA

2. Agenda

Представление бизнес логики;
Типовые решения источников данных;
Типовые объектно-реляционные решения для моделирования поведения;
Объектно-реляционные решения, предназначенные для моделирования
структуры;
Объектно-реляционные решения с использованием метаданных;
Типовые решения Web;
Типовые решения распределённой обработки данных;
Типовые решения автономного параллелизма;

3. Agenda

Типовые решения сохранения состояния сеанса;
Базовые решения.

4. Представление бизнес логики

Domain
model
паттерн, который при помощи объектной
модели описывает бизнес-логику. Создаёт
сеть объектов, каждый из которых
представляет некую осмысленную
сущность.
модель должна охватывать поведения и
свойства.

5. Представление бизнес логики

Domain
model в ROA
используется вырожденный вид данного
паттерна. Пример: ManuscriptMetadata,
Manuscript, Transaction, Payment,…

6. Представление бизнес логики

Service
инкапсулирует бизнес-логику приложения,
управляет транзакциями и координирует
реакции на действия.
Service
Layer
Layer в ROA
бизнес-логика объектов содержится в
сервисах: TransactionService,
ManuscriptService,…

7. Представление бизнес логики

Table
Module
объект, охватывающий логику обработки всех
записей хранимой в виртуальной таблице или
БД.
предусматривает создание по одному классу на
каждую таблицу БД и это класс содержит всю
логику обработки данных таблицы.

8. Представление бизнес логики

Table
Module в ROA
DataSets в admin приложении:
DeploymentDataSet, PublicationDataSet,…
DataSet оперирует набором данных таблицы.

9. Типовые решения источников данных

Table
Data Geteway
Содержит все SQL команды, необходимые для
извлечения, вставки, обновления и удаления данных
из таблицы или представления. Шлюз к таблице базы
данных.
Данное решение обычно применяется с типовым
решением модуля таблицы.

10. Типовые решения источников данных

Table
Data Geteway в ROA

11. Типовые решения источников данных

Data
Mapper
Слой преобразователь, который осуществляет
передачу данных между объектами и БД,
сохраняя их независимыми друг от друга и от
самого преобразователя.
Data Mapper в ROA
- Представлен преобразованием MyBatis, которое
преобразовывает данные из столбца таблицы в поле
объекта.

12. Типовые объектно-реляционные решения для моделирования поведения

Identity
Map
Гарантирует, что каждый объект будет загружен
из источника данных только один раз, сохраняя
загруженный объект в специальной коллекции.
Identity Map в ROA
- В ROA присутствует данное решение в
модифицированном виде: в виде кэшей.

13. Объектно-реляционные решения, предназначенные для моделирования структуры

Identity
field
Сохраняет индификатор записи БД для поддержки
соответствия между объектом приложения и строкой
БД.
Индификаторы бывают: значащие и незначащие;
простые и составные; уникальные в пределах
таблицы или в пределах все БД.

14. Объектно-реляционные решения, предназначенные для моделирования структуры

Identity
field в ROA
Примеры значащих ключей: apc_publisher_uid,
apc_journal_uid.
Пример простых незначащих ключей:
apc_manuscript_uid, apc_transaction_uid,…
Пример составного ключа: таблица apc_journals –
{apc_publisher_uid, apc_journal_uid}.
Все ключи уникальны в пределах БД.

15. Объектно-реляционные решения, предназначенные для моделирования структуры

Foreign
Key Mapping
Отображает ассоциации между объектами на
ссылки внешнего ключа между таблицами БД.
Foreign Key Mapping в ROA
- В основном внешние ключи используются для
нахождения ассоциированных объектов в БД. Пример:

16. Объектно-реляционные решения, предназначенные для моделирования структуры

Association
Сохраняет множество ассоциаций в виде таблицы,
содержащей внешние ключи таблиц, связанных
ассоциациями.
Association
Table Mapping
Table Mapping в ROA
Примером является таблица …

17. Объектно-реляционные решения, предназначенные для моделирования структуры

Serialized
Сохраняет граф объектов путём их сериализации
в единый крупный объект и помещает его в БД.
Serialized
LOB (Large Object)
LOB (Large Object)
Примером является manuscript metadata
объект хранящийся в apc_manuscript
таблице.

18. Объектно-реляционные решения с использованием метаданных

Query
Объект, представляющий запрос к БД.
Query
Object
Object в ROA
Используется для построения запросов в qa-apc
в автоматизированных тестах для админки.
Пример: SqlBuilder.

19. Типовые решения Web

MVC
Распределяет обработку взаимодействия с
пользовательским интерфейсом между тремя
участниками: моделью, контроллером и
представлением.
MVC
в ROA
Представлен Spring MVC.

20. Типовые решения Web

Front
контроллер, который обрабатывает все запросы
к Web сайту.
Front
Controller
Controller в ROA
представлен DispatcherServlet сервлетом из
Spring MVC.

21. Типовые решения Web

Template
Преобразует результаты выполнения запроса в
HTML путём внедрения маркеров в HTML
страницу.
Template
View
View в ROA
Ярким примером данного подходя является
использование JSP страниц. Также сюда можно
отнести notification templates для отсылки
emails.
English     Русский Правила