Jrabbits: платформа для быстрой разработки корпоративных информационных систем
Платформа Jrabbits
Jrabbits — это основанная на нескольких выдающихся открытых проектах высокопроизводительная и безопасная платформа быстрой разработки на Java EE. Она предлагает эффективное решение для быстрого завершения проектов, а также является отличным инструментом для изучения Java-платформы и помощником в работе с проектами.
Jrabbits построена на Spring Framework и включает в себя такие компоненты, как Spring MVC, MyBatis, Apache Shiro, Ehcache и Activiti. Это обеспечивает оптимальную интеграцию в мире Java EE.
Платформа ориентирована на корпоративную информатизацию и предоставляет встроенные функции корпоративных информационных систем и эффективные инструменты генерации кода.
Основные функции
- Система управления (SYS) — включает функции для организации корпоративной структуры (управление пользователями, организациями и регионами), управления меню, ролями и правами доступа, а также управление словарями.
- Управление контентом (CMS) — предоставляет инструменты для управления контентом, включая статьи, ссылки, управление категориями, сайтами и общими комментариями, а также инструменты для управления файлами и отображения веб-сайтов.
- Онлайн-офис (OA) — предлагает упрощённый процесс оформления отпусков.
- Генерация кода (GEN) — автоматизирует повторяющиеся задачи.
Кроме того, Jrabbits предоставляет набор инструментов для работы с данными, включая инструменты для ведения журналов, кэширования, проверки данных, управления словарями и другими полезными функциями. Также предлагается мощный инструмент для генерации кода, который позволяет создавать простые однотабличные, многотабличные и древовидные структуры.
Встроенные функции
- Управление пользователями — настройка пользователей системы.
- Управление организациями — создание и управление организационной структурой компании.
- Управление регионами — поддержка модели городов, стран, провинций и районов.
- Управление меню — настройка меню и прав доступа к системе.
- Управление ролями — распределение ролей и настройка прав доступа для каждой роли.
- Управление словарями — ведение часто используемых данных в системе.
- Ведение журнала операций — запись и поиск информации о нормальных операциях системы.
- Мониторинг пула соединений — отслеживание состояния пулов соединений с базами данных.
- Рабочий поток — реализация бизнес-процессов и онлайн-инструментов для проектирования рабочих процессов.
Почему стоит выбрать Jrabbits?
- Открытый исходный код под лицензией Apache License 2.0.
- Использование популярных фреймворков Java EE для простоты изучения и низкой стоимости обучения.
- Поддержка различных баз данных, таких как MySQL, Oracle, SQL Server, PostgreSQL и H2.
- Модульная архитектура и чёткая структура уровней. Встроенные функции управления корпоративной информацией.
- Точное и детальное управление операционными правами. Контроль над всеми управляющими ссылками и кнопками.
- Точное и детальное управление правами доступа к данным. Семь видов прав доступа на выбор.
- Инструмент для генерации функционального кода, повышающий эффективность и качество разработки.
- Набор инструментов для работы с данными, включающий журналы, кэширование, проверку, словари и данные об организациях.
- Совместимость с популярными браузерами, включая IE7+, Chrome и Firefox.
Выбор технологий
-
Серверная часть:
- Core framework: Spring Framework 4.1.
- Security framework: Apache Shiro 1.2.
- View framework: Spring MVC 4.1.
- Server-side validation: Hibernate Validator 5.2.
- Layout framework: SiteMesh 2.4.
- Workflow engine: Activiti 5.21.
- Task scheduling: Spring Task 4.1.
- Persistence layer framework: MyBatis 3.2.
- Database connection pool: Alibaba Druid 1.0.
- Caching framework: Ehcache 2.6, Redis.
- Logging management: SLF4J 1.7, Log4j.
- Tool classes: Apache Commons, Jackson 2.2, Xstream 1.4, Dozer 5.3, POI 3.9.
-
Клиентская часть:
- JS framework: jQuery 1.9.
- CSS framework: Twitter Bootstrap 2.3.1 (стабильный бэкенд, UI можно обновить по мере необходимости).
- Client-side validation: JQuery Validation Plugin 1.11.
- Online file management: CKEditor.
- Dynamic tab: Jerichotab.
- Mobile framework: Jingle.
- Data table: jqGrid.
- Dialog box: jQuery jBox.
- Drop-down selection box: jQuery Select2.
- Tree structure control: jQuery zTree.
- Date picker: My97DatePicker.
-
Платформа:
- Серверные промежуточные программы: разработаны в соответствии со стандартами Java EE 5 (Servlet 2.5, JSP 2.1) и поддерживают серверные приложения Tomcat 6+, Jboss 7+, WebLogic 10+ и WebSphere 8+.
- База данных: поддержка MySQL и Oracle, но не ограничивается только этими базами данных, платформа имеет интерфейсы для других баз данных, таких как SQLServer 2008, MySql 5.5 и H2.
- Среда разработки: Java, Eclipse Java EE 4.3, Maven 3.1, Git.
-
Третьи стороны: zookeeper, redis.
Безопасность
- Язык разработки: система использует Java для обеспечения превосходства в универсальности, эффективности, переносимости платформы и безопасности.
- Слоистая архитектура: (база данных, доступ к данным, бизнес-логика, представление) обеспечивает чёткое разделение, низкую связанность и необходимость прохождения через интерфейс для доступа и проверки параметров (например, невозможность прямого манипулирования базой данных из представления).
- Двойная проверка: проверка на стороне клиента и сервера для предотвращения изменения формы пользователем через браузер (например, запрет на запись в текстовые поля, скрытие переменных, загрузка незаконных файлов).
- Безопасное кодирование: все данные, отправленные формами, кодируются на сервере для защиты от несанкционированного доступа и внедрения SQL-кода.
- Шифрование паролей: пароли пользователей хэшируются с использованием алгоритма SHA1, что делает их необратимыми.
- Принудительный доступ: доступ ко всем управляющим ссылкам защищён аутентификацией пользователя, предотвращая прямой доступ через URL.
Демонстрация
Пока недоступна.
Часто задаваемые вопросы
- Продолжительное время ожидания приводит к ошибке нехватки памяти, рекомендуется изменить параметры JVM: -Xmx512m -XX:MaxPermSize=256m.
- Иногда возникает проблема с отображением символов: измените файл server.xml в Tomcat, добавив URIEncoding="UTF-8".
- Почему новые меню не отображаются после создания? Это связано с проблемами авторизации, только администраторы могут управлять меню.
Как связаться и внести свой вклад?
Один человек не может сравниться с командой, поэтому мы надеемся на поддержку сообщества, чтобы каждый мог внести свой код и помочь в развитии платформы.
Комментарии ( 0 )