Similar presentations:
Архитектурные шаблоны в ROA
1. Архитектурные шаблоны в ROA
2. Agenda
Представление бизнес логики;Типовые решения источников данных;
Типовые объектно-реляционные решения для моделирования поведения;
Объектно-реляционные решения, предназначенные для моделирования
структуры;
Объектно-реляционные решения с использованием метаданных;
Типовые решения Web;
Типовые решения распределённой обработки данных;
Типовые решения автономного параллелизма;
3. Agenda
Типовые решения сохранения состояния сеанса;Базовые решения.
4. Представление бизнес логики
Domainmodel
паттерн, который при помощи объектной
модели описывает бизнес-логику. Создаёт
сеть объектов, каждый из которых
представляет некую осмысленную
сущность.
модель должна охватывать поведения и
свойства.
5. Представление бизнес логики
Domainmodel в ROA
используется вырожденный вид данного
паттерна. Пример: ManuscriptMetadata,
Manuscript, Transaction, Payment,…
6. Представление бизнес логики
Serviceинкапсулирует бизнес-логику приложения,
управляет транзакциями и координирует
реакции на действия.
Service
Layer
Layer в ROA
бизнес-логика объектов содержится в
сервисах: TransactionService,
ManuscriptService,…
7. Представление бизнес логики
TableModule
объект, охватывающий логику обработки всех
записей хранимой в виртуальной таблице или
БД.
предусматривает создание по одному классу на
каждую таблицу БД и это класс содержит всю
логику обработки данных таблицы.
8. Представление бизнес логики
TableModule в ROA
DataSets в admin приложении:
DeploymentDataSet, PublicationDataSet,…
DataSet оперирует набором данных таблицы.
9. Типовые решения источников данных
TableData Geteway
Содержит все SQL команды, необходимые для
извлечения, вставки, обновления и удаления данных
из таблицы или представления. Шлюз к таблице базы
данных.
Данное решение обычно применяется с типовым
решением модуля таблицы.
10. Типовые решения источников данных
TableData Geteway в ROA
11. Типовые решения источников данных
DataMapper
Слой преобразователь, который осуществляет
передачу данных между объектами и БД,
сохраняя их независимыми друг от друга и от
самого преобразователя.
Data Mapper в ROA
- Представлен преобразованием MyBatis, которое
преобразовывает данные из столбца таблицы в поле
объекта.
12. Типовые объектно-реляционные решения для моделирования поведения
IdentityMap
Гарантирует, что каждый объект будет загружен
из источника данных только один раз, сохраняя
загруженный объект в специальной коллекции.
Identity Map в ROA
- В ROA присутствует данное решение в
модифицированном виде: в виде кэшей.
13. Объектно-реляционные решения, предназначенные для моделирования структуры
Identityfield
Сохраняет индификатор записи БД для поддержки
соответствия между объектом приложения и строкой
БД.
Индификаторы бывают: значащие и незначащие;
простые и составные; уникальные в пределах
таблицы или в пределах все БД.
14. Объектно-реляционные решения, предназначенные для моделирования структуры
Identityfield в ROA
Примеры значащих ключей: apc_publisher_uid,
apc_journal_uid.
Пример простых незначащих ключей:
apc_manuscript_uid, apc_transaction_uid,…
Пример составного ключа: таблица apc_journals –
{apc_publisher_uid, apc_journal_uid}.
Все ключи уникальны в пределах БД.
15. Объектно-реляционные решения, предназначенные для моделирования структуры
ForeignKey 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.