Перед вами текст, переведённый с китайского языка на русский.
«Руководство по разработке» — это результат опыта, накопленного командой разработчиков технологической платформы в процессе непрерывной практики и постоянного совершенствования.
Основная цель этой бизнес-платформы — создать стабильную, эффективную и удобную основу для разработки программного обеспечения на основе сервис-ориентированной компонентной концепции. Платформа призвана обеспечить стандартизацию, стабильность, удобство и эффективность разработки ПО на основе сценариев предметной области и моделей предметной области.
Дата | Версия | Описание цели изменения | Раздел изменений | Автор | Проверка |
---|---|---|---|---|---|
2018/02/05 | 1.0 | Создание документа | Раздел изменений | Лю Яньлун | |
2019/01/05 | 1.1 | Обновление документа | Раздел изменений | Лю Яньлун |
AMS — это финансовая эволюционная структура разработки на основе модели предметной области, которая представляет собой расширяемую облегчённую архитектуру приложений.
Принципы:
Концепция бизнес-основы платформы: бизнес-логическая прикладная платформа и базовая архитектурная платформа находятся между ними как промежуточный слой, решая проблемы взаимодействия и управления между «бизнес-описанием и операционной системой прикладного программного обеспечения, а также базовой архитектурой программного обеспечения». Операционная система решает проблемы взаимодействия и управления между прикладным программным обеспечением и аппаратным обеспечением, в то время как базовая архитектура программного обеспечения решает проблемы взаимодействия и управления между прикладной программной системой и операционной системой. Бизнес-основная платформа решает проблемы взаимодействия и управления между бизнес-описанием прикладного программного обеспечения и операционной системой, базовой архитектурой программного обеспечения. Как показано на рисунке ниже:
Цель бизнес-основной платформы состоит в том, чтобы построить управляемую, основанную на транзакциях, компонентную платформу разработки, способную эффективно внедрять архитектуру внутри компании, стандартизировать внутренние стандарты компании, повышать способность поддержки бизнеса и ускорять разработку. Создать подходящую модель разработки, повысить возможность повторного использования и управляемость программного обеспечения, достичь системной архитектуры и стандартов, улучшить способность поддержки бизнеса и снизить стоимость разработки.
Техническая структура: основной уровень платформы использует технологию Spring Container в качестве ядра, управляя всем жизненным циклом объектов Java и создавая основные механизмы обработки платформы вокруг контейнера (такие как управление транзакциями, обработка исключений, механизм выполнения транзакций, механизм расширения модуля, многоуровневая разработка и поддержка модели домена). Уровень поддержки платформы строится на основном уровне и предоставляет базовые компоненты разработки для поддержки приложений (например, компоненты разбиения на страницы, компоненты безопасности, компоненты вызова транзакций и т. д.). Уровень расширения модулей основан на основном уровне, предоставляя решение проблем различных областей через модули расширения, которые могут быть интегрированы в прикладные системы в виде подключаемых модулей. Прикладные системы выбирают соответствующие модули в соответствии с потребностями решения конкретных проблем в области.
Системная архитектура бизнес-основной платформы:
Необходимо определить английские аббревиатуры для каждой подсистемы, поскольку разрешения контроля аннотаций, идентификаторы меню, имена баз данных и имена выпусков проекта используются в аннотациях. См. таблицу ниже:
Название подсистемы | Аббревиатура подсистемы |
---|---|
Основная подсистема | ams-core |
Система рабочего процесса | ams-bpm |
Система безопасности | ams-security |
Базовая веб-подсистема | ams-web |
Разработка проекта должна строго следовать требованиям веб-фреймворка.
├── pom.xml maven проект объект модель файл
src/main/java Исходный код
├── cn.trythis.ams
│ ├── bootconfig Инициализация руководства конфигурации
│ ├── assembler Данные объекта преобразования
│ ├── event Библиотека событий
│ ├── factory Услуги заводской
│ ├── application Транзакционные услуги слой
│ ├── repository
│ │ ├── dao Доступ к данным объект
│ │ └── entity Данные сущности
│ ├── pojo
│ │ ├── dto Передача данных объект
│ │ ├── vo Демонстрация объект
│ │ └── eo Перечисление код значение объект
│ ├── portal Проект входа конфигурация
│ ├── service Бизнес-услуги слой
│ ├── store Бизнес модуль компонент
│ │ ├── authcode Проверка код реализация
│ │ ├── esbmodule ESB компонент
│ │ └── stable Транзакция контроль компонент
│ ├── support Базовая поддержка функция
│ │ ├── annotation Аннотация объект
│ │ ├── beanprocessor Анализ объект
│ │ └── exception Исключение инструмент пакет
│ ├── web Web услуги
│ │ ├── controller MVC контроллер
│ │ └── service Web услуга реализация
│ └── util Инструмент пакет
src/main/resource Ресурсный файл
│ ├── static Статический ресурс
│ │ ├── css Стиль файл
│ │ ├── js Js файл
│ │ └── html Html файл
│ ├── template Шаблон файл папка
│ ├── application.yml Springboot конфигурация файл
│ ├── application-dev.yml Разработка среда конфигурация файл
│ ├── application-prod.yml Генерация среда конфигурация файл
│ └── logback.xml Журнал конфигурация
src/test/java
├── cn.trythis.ams
│ ├── junit
│ ├── orm.dao
│ ├── Другое
*Примечание: в тексте перевода могут встречаться неточности или ошибки.* **Перевод текста на русский язык:**
src/main/webapp
├── WEB-INF
│ ├── web.xml
└── 其他
Проект строится на основе сервис-ориентированной архитектуры (SOA) и бизнес-компонентов (BC). Цель разработки платформы:
Бэкенд использует традиционную трёхуровневую архитектуру, которая была расширена до четырёхуровневой. Всё приложение разделено на следующие слои:
Четырёхуровневая архитектура лучше отражает концепцию «высокой связности и низкой связанности», что способствует стандартизации и делает структуру программного обеспечения более понятной. Это распространённая архитектура бэкенда.
Доступ к данным (orm пакет) отвечает за доступ к базе данных, создание сопоставления между сущностями и таблицами базы данных, а также за сохранение объектов сущностей.
Бизнес-логика (service пакет) реализует бизнес-логику и является ключевым компонентом системы.
Взаимодействие с транзакциями (interaction пакет) определяет функции взаимодействия с пользователем, интегрирует управление транзакциями, журналы потоков и услуги управления потоками. Этот слой не обрабатывает бизнес-логику, он является прямым вызывающим и интеграционным слоем для сервисного слоя.
Представление (web пакет) отвечает за отображение и получение пользовательских данных и предоставляет интерактивный интерфейс пользователю.
В стандартной модели MVC на основе J2EE в коде можно выделить следующие типы объектов: BO, DAO, POJO и другие Java классы, такие как JSP и Servlet.
PO — постоянный объект (Persistant Object, PO), также называемый объектом данных, соответствует записи в базе данных. PO не содержит операций над базой данных. В платформе разработки находится в пакете cn.trythis.ams.orm.entity, создан с помощью плагина mybatis.
VO — объект представления (View Object, VO), соответствующий данным, отображаемым на экране. Для веб-страницы или интерфейса SWT или Swing используется один объект VO для всего экрана. В зависимости от потребностей бизнеса может соответствовать таблице или нет. В платформе разработки находится в пакете cn.trythis.ams.vo.
DTO — объект передачи данных (Data Transfer Object, DTO), используемый для удалённых вызовов и других случаев, требующих передачи большого количества объектов. Объект не должен содержать бизнес-логику, только необходимые атрибуты. В платформе разработки находится в пакете cn.trythis.ams.dto, при необходимости наследуется от базового класса DTO.
DAO — объект доступа к данным (Data Access Object, DAO), используемый для доступа к базе данных. Через него PO сохраняется в DB. Используется для доступа к БД и сохранения PO в виде POJO. В платформе разработки находится в пакете cn.trythis.ams.orm.dao, создан с использованием плагина mybatis.
Платформа предоставляет поддержку контекста приложения через фабричный класс AmsContextHolder. Контекст можно получить через фабрику. Доступны следующие контексты:
На платформе используется подход, основанный на транзакциях, для ограничения функциональности разработки. Трейдер используется для пометки транзакции, и платформа управляет транзакцией (например, событиями, дневными итогами, управлением сервисами).
Модуль ams-core реализует механизм безопасности на основе springsecurity и обеспечивает соответствующую упрощённую и инкапсулированную обработку. Он не включает систему управления пользователями, но предоставляет интерфейс AmsSecurityConfiguration для реализации базовой информации о пользователях и ролях.
ams-web модуль наследует ams-core и расширяет решение для авторизации на основе модели RBAC.
RBAC (Role Based Access Control) — это контроль доступа на основе ролей. Включает три сущности: пользователи (user), роли (role) и ресурсы/разрешения (resource). Между ролями и ресурсами/разрешениями существует отношение «многие ко многим». Между пользователями и ролями также существует отношение «многие ко многим». Пользователи и ресурсы/разрешения не имеют прямого отношения, роль выступает посредником для получения ресурсов, доступных пользователю.
Для соответствия требованиям банковского контроля доступа в RBAC добавлена организационная составляющая контроля доступа. Добавлены сущности организации (org), отношения «многие ко многим» между организацией и ресурсами/разрешениями, атрибут принадлежности пользователя к организации.
Окончательно получается пересечение разрешений, соответствующих роли пользователя, и разрешений, соответствующих организации пользователя.
Взаимодействие основано на концепции RESTful, протокол взаимодействия — http/https, формат данных взаимодействия — json.
Зависит от механизма сканирования кода spring контейнера, обеспечивает независимое объединение модулей. Платформа выполняет инициализацию ресурсов унаследованных модулей, восстановление ресурсов, ограничение API модулей и обеспечивает механизм расширяемого объединения платформы.
Предоставляет минимальный работоспособный базовый модуль, который предоставляет только компоненты разработки и поддержку соответствующей бизнес-функциональности.
Основываясь на основном модуле, наследуя функцию безопасности, предоставляя интерфейс конфигурации безопасности AmsSecurityConfiguration, обеспечивая базовое управление безопасностью пользователей.
Построение базового модуля веб на платформе ядра, предоставление адаптивных базовых функций, таких как управление организацией, управление ролями, управление пользователями, управление разрешениями, настройка системы, мониторинг системы и т. д.
Инкапсуляция реализации кварца, поддержка параметров конфигурации базы данных для задач, запуск и остановка в реальном времени и другие операции, реализация внутренних задач системы, таких как периодические задачи опроса.
Базовый модуль платформы предоставляет расширяемый модуль механизма процессов, этот модуль интегрирован с открытым исходным кодом Activity. Приложение может интегрировать этот модуль через зависимости и реализовать управление процессами системы.
Базовый модуль платформы предоставляет расширяемый модуль механизма процессов. Этот модуль интегрирован с... Приложение может интегрировать этот модуль через зависимости и реализовать пакетную обработку системы.
Использование механизма spring boot starter для создания компонентов платформы разработки, компоненты упакованы отдельно и построены отдельно.
Модуль | Описание |
---|---|
Сервис транзакций | Ограничение функциональности на основе транзакций |
Доступ к данным (ORM) | Настраиваемый ORM на основе mybatis |
Управление журналами | Система журналов |
Аутентификация пользователя | Компонент безопасности |
Контроль разрешений | Встроенная система управления разрешениями |
Системное администрирование | Базовая система управления |
Контракт на обслуживание | Управление контрактами на обслуживание |
Мониторинг системы | Системный мониторинг |
Проект разрабатывается на Windows7 64-битной системе и развёртывается на Linux. Чтобы избежать некоторых проблем совместимости, рекомендуется использовать предоставленный нами пакет программного обеспечения.
Используемые компоненты и версии:
Компонент | Версия |
---|---|
JDK | 1.8 + |
Spring | 5.2.15.RELEASE |
Spring boot | 2.3.12.RELEASE |
Spring cloud | Hoxton.SR12 |
sofa boot | 3.11.1 |
Mybatis | 3.4.6 |
Activiti | 5.21.0 |
CXF | 3.2.9 |
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )