Морфо — это фреймворк для разработки и каркас приложений на Java EE
Процесс значительных обновлений проекта
- С октября 2015 года на этой основе было разработано несколько проектов. После внутреннего использования были выделены общие части каркаса и обновлены зависимости.
- Обновление от 4 августа 2017 года: добавлен генератор кода. См. https://gitee.com/max256/morpho-code-help. Устарело, не рекомендуется использовать.
- Обновление от 8 августа 2017 года: добавлены новые функции в Excel-отчёты. Рекомендуется использовать EasyPoi для интеграции. Также добавлено использование UReport2 для отчётов. Обновлены зависимости и исправлены известные ошибки.
- Обновление от 21 августа 2017 года: добавлена поддержка рабочих процессов, включая дизайнер процессов. Для ассоциации таблиц рекомендуется выполнить настройку самостоятельно. Используйте Uflo2 для реализации рабочего процесса и пользовательских таблиц. Документация доступна по адресу: https://wiki.bsdn.org/display/UFLO/UFLO+Home. Обратите внимание, что при первом использовании необходимо изменить конфигурацию config.properties для автоматического создания таблиц модулей процесса HBM2DDL. Другие структуры таблиц используют соответствующие файлы SQL для создания таблиц.
- Обновление от 4 сентября 2017 года: обновлены jar-файлы до последних версий. Добавлены два стиля онлайн-форм для генерации. Доступны администратору после входа в систему. Можно использовать дополнительные генераторы.
- Обновление от 12 сентября 2017 года: исправлены ошибки. Создан новый проект на основе Morpho-Springboot, который синхронизируется с текущим проектом. Springboot-Morpho находится в разработке и не рекомендуется для использования в производственной среде. Официальное объявление о выпуске будет сделано здесь. Следует отметить, что Springboot-Morpho больше не будет поддерживать Hibernate, поскольку он лучше соответствует особенностям интернет-бизнеса.
- Обновление от 18 сентября 2017 года: добавлено упаковывание списков в JSON-данные страниц. Новые пользовательские поля могут быть добавлены в данные словаря перевода. Springboot-Morpho доступен для предварительного использования. Приглашаем попробовать.
- Обновление от 20 ноября 2017 года: обновлено до последних версий зависимостей. Исправлены уязвимости в Uflo, Ureport и Uruler. Добавлена поддержка JTA для распределённых транзакций, но по умолчанию она не включена. Предоставлены инструкции по использованию.
- Обновление от 23 ноября 2017 года: добавлена функция управления задачами на основе базы данных Quartz. Не рекомендуется использовать Jasperreport, который был удалён. В будущих обновлениях будут поддерживаться MySQL и Oracle. Поддержка других баз данных требует усилий со стороны пользователей. Пожалуйста, ознакомьтесь с другими базами данных. Отправьте PR, чтобы внести свой вклад. Запустите скрипт MySQL заново. Это скрипт инициализации. Если вы обновляете, выполните часть SQL для соответствующих таблиц. Кроме того, генератор кода будет переписан в ближайшее время.
- Обновление от 28 декабря 2017 года: улучшена система отчётов. Видеоинструкция по использованию проекта доступна по ссылке: https://pan.baidu.com/s/1hrBlpXi. Пароль: xnuk.
- Обновление от 24 августа 2018 года: обновлены зависимости Maven и Frontend до последних версий. Настоятельно рекомендуется обновить. Исправлены ошибки, которые могли возникнуть из-за проблем с зависимостями фреймворков. Подробности см. в описании изменений.
История названия проекта
Проект назван в честь бабочки Морфо, которая является представителем семейства чешуекрылых. Название выбрано из-за того, что проект прошёл через множество изменений и обновлений, превратившись в новое поколение Morpho.
Концепция дизайна
- Простота: проект должен быть простым в использовании.
- Готовность к работе: проект готов к использованию сразу после установки.
- Использование популярных технологий: выбор наиболее распространённых технологий для уменьшения рисков обучения и избегания редких шаблонов языков, ORM и фреймворков.
- Современность: поддержка современных браузеров и Java версии 1.8. Отсутствие технических долгов.
- Подробные комментарии: все важные аспекты проекта должны быть прокомментированы.
- Лёгкость: проект не разделён на модули, чтобы упростить его использование. Разделение на модули может повлиять на структуру собственного проекта.
- Безопасность: встроенные компоненты для шифрования, аутентификации, авторизации и фильтрации запросов.
Визуализация
Изображения демонстрируют различные аспекты проекта, такие как дизайн отчётов, инструменты проектирования процессов и страницы управления.
Требования системы
Для работы с проектом требуется следующее:
- JDK 1.8 или выше (JDK 1.7 также поддерживается, но требует адаптации).
- Tomcat 8.0 или выше, поддерживающий версии 8.0.x, 8.5.x и 9.0.x. Тестирование проводилось с версиями 8.0.43, 8.5.33 и 9.0.11.
- MySQL 5.6 или выше. Требуется поддержка XA-транзакций для распределённой обработки транзакций.
- Oracle 11g или выше. Версии 11g, 12c прошли тестирование, а 10g теоретически должна работать без проблем.
- Linux, Windows, x86, 32-битные и 64-битные системы поддерживаются.
- Контейнер должен соответствовать спецификации Servlet 3.1 или выше.
- Скрипт для SQL Server является неполным и предназначен для предыдущих версий. При необходимости использования SQL Server рекомендуется преобразовать скрипт из MySQL. Проект ориентирован на MySQL, предоставляя скрипты для преобразования из MySQL в Oracle. Преобразование скрипта для SQL Server требует ручной работы.
Выбор технологий
Серверная часть:
- Core framework: Spring Framework 4.3.18.
- Database access: MyBatis 3.4.6 + Hibernate 5.1.15 (поддержка Hibernate необязательна).
- View framework: Spring MVC.
- Page view: JSP.
- Log component: Log4j2.
- Reports: POI, EasyPOI, UReport2.
- Cache: Ehcache, Redis (необязательный).
- Scheduled tasks: Quartz, встроенный в Spring.
- Permissions: Shiro 1.4.0.
- Security: ESAPI.
- Другие компоненты: Apache Commons, Joda, Spring, Druid, FastJSON, Jackson, Springfox, Guava, TK.MyBatis.Mapper3.4.
- Databases: MySQL, Oracle (по умолчанию используется MySQL).
- Workflow: UFLO2.
- Rule engine: URule2.
Клиентская часть:
- JS framework: jQuery.
- CSS framework: Bootstrap 3.X.
- Rich text editor: UE.
- Tree component: zTree.
- Date picker: My97DatePicker, laydate.
- Table component: Bootstrap-table, jqGrid, EasyUI datagrid (последние два имеют проблемы с авторскими правами и не используются по умолчанию).
- MVVC: Vue.js.
Опубликовать ( 0 )