JeeSite — это платформа быстрого разработки на Java EE, основанная на нескольких открытых исходным кодом проектах и интегрированная для обеспечения высокой производительности, надежности и безопасности. Это открытая платформа.
JeeSite использует Spring Framework в качестве основного контейнера, Spring MVC в качестве контроллера модели-представления, MyBatis для доступа к данным, Apache Shiro для управления доступом, Ehcache для кэширования данных, а Activiti в качестве движка рабочих процессов.
JeeSite ориентирован на сферу корпоративной информатизации и включает в себя базовые функции корпоративной информационной системы и мощный инструмент генерации кода. Включает в себя: компоненты управления правами доступа, компоненты управления данными, компоненты данных словаря, основные инструменты, компоненты управления представлением, компоненты рабочих процессов, инструменты генерации кода и т.д. Фронтенд использует структуру представления Twitter Bootstrap, которая проста, эффективна и эстетически приятна. Используются методы разделения на слои, двойной валидации, безопасного кодирования данных, шифрования паролей, проверки доступа и проверки прав доступа к данным. Используется Maven для управления проектами, что повышает их разработку, расширяемость и поддержку.JeeSite включает в себя четыре основных модуля: модуль управления системой (SYS), модуль управления контентом (CMS), модуль управления бизнес-процессами (OA) и модуль генерации кода (GEN). Модуль управления системой включает в себя управление организационной структурой (управление пользователями, организациями, регионами), управление меню, управление правами доступа, управление словарями и другие функции; Модуль управления контентом включает в себя управление контентом (статьи, ссылки), управление разделами, управление сайтами, управление публичными комментариями, управление файлами, управление фронтендом сайта и другие функции; Модуль управления бизнес-процессами предоставляет простые примеры бизнес-процессов, такие как управление отпуском.JeeSite предоставляет инструменты для разработки, включая инструменты логирования, кэширования, валидации данных на сервере, словари данных, текущую организационную структуру (пользователи, организации, регионы) и другие часто используемые инструменты. Также включает мощный инструмент генерации кода онлайн, который позволяет создавать простые таблицы, отношения один-ко-многим и структуры дерева. Если внешний вид не является приоритетом, сгенерированный код можно использовать сразу. Если вы используете базовую структуру JeeSite, вы можете быстро и эффективно разрабатывать высококачественные информационные системы.## Встроенные функции
Управление пользователями: данная функция主要用于完成系统用户的配置。
Управление организациями: настройка организационной структуры системы (компании, отделы, группы), отображение в виде дерева, возможность изменения иерархии.
Управление регионами: модель городских регионов системы, например: страны, регионы, города, районы, муниципалитеты.
Управление меню: настройка меню системы, права доступа, метки для кнопок.
Управление ролями: назначение ролей меню, настройка прав доступа по организациям.
Управление словарями: поддержка часто используемых фиксированных данных в системе, например: да/нет, муж/жен, категории, уровни.
Журнал операций: регистрация и поиск нормальных операционных журналов системы; регистрация и поиск журналов системных ошибок.
Мониторинг пула подключений: мониторинг состояния пула подключений к базе данных системы, возможность анализа SQL для выявления узких мест производительности системы.
Двигатель рабочих процессов: реализация потока бизнес-заявок, онлайн-редактор процессов.1. Использует лицензию Apache License 2.0, что позволяет полностью открыть исходный код без коммерческих ограничений.
Использует современные Java EE-фреймворки для разработки, простые и легкие в освоении, с низкими затратами на обучение.
Нет ограничений на использование баз данных, поддерживает MySQL, Oracle, а также может быть расширена для использования SQL Server, PostgreSQL, H2 и других.
Модульная архитектура, четкая структура уровней. Включает базовые функции управления информацией для предприятий.
Точная и детализированная система контроля прав доступа, проверка прав доступа для всех управляющих ссылок, до уровня кнопок.
Точная и детализированная система контроля прав доступа к данным, фильтрация прав доступа для определенных наборов данных, семь типов прав доступа к данным.
Предоставляет онлайн-инструменты для генерации кода, повышающие эффективность и качество разработки.
Предоставляет упакованные инструменты, такие как логирование, кэширование, валидация, словари, организационные структуры и т.д., часто используемые теги (taglib), для получения текущих организационных структур, словарей и т.д.
Поддерживает самые популярные браузеры (IE7+, Chrome, Firefox), а также IE6, но с ухудшенным пользовательским интерфейсом.## Технологические решения
Серверная часть
Слоистое проектирование: (слои базы данных, доступа к данным, бизнес-логики, представлений) четкая структура слоев, низкая связанность, каждый слой должен подключаться через интерфейсы и выполнять проверку параметров (например, слой представления не может напрямую взаимодействовать с базой данных), что обеспечивает безопасность операций с данными.
Двойная проверка: двойная проверка данных формы пользователя: включает проверку на стороне сервера и на стороне клиента, чтобы предотвратить возможность злоупотребления пользователями через браузер (например, запрет на редактирование текстовых полей, изменение скрытых переменных, загрузку незаконных файлов и т. д.), пропуск проверки на стороне клиента и выполнение операций с базой данных.
Безопасное кодирование: все данные, отправленные пользователем в форме, кодируются безопасно на стороне сервера, чтобы предотвратить возможность отправки пользователем незаконных скриптов или SQL-инъекций для получения конфиденциальных данных, что обеспечивает безопасность данных.
Шифрование паролей: пароли входа пользователей шифруются с помощью алгоритма SHA1, что делает этот метод шифрования необратимым.Это гарантирует безопасность в случае утечки зашифрованных данных.
Обязательная проверка доступа: система проверяет права доступа пользователей для всех управляющих ссылок, чтобы предотвратить возможность прямого доступа пользователя к ресурсам путем ввода URL.## Быстрый старт
Требуемая среда выполнения: JDK 1.6+, Maven 3.0+, MySQL 5+ или Oracle 10g+.
Измените параметры подключения к базе данных в файле src/main/resources/jeesite.properties.
Создайте соответствующего пользователя базы данных MySQL или Oracle и параметры подключения в соответствии с измененными параметрами.
Запустите скрипт bin/init-db.bat для импорта структуры таблиц и демонстрационных данных (для операционной системы Linux: перейдите в корневую директорию проекта в командной строке и выполните команду: mvn antrun:run -Pinit-db).
Запустите bin/run-tomcat7.bat или bin/run-jetty.bat для запуска веб-сервера (при первом запуске потребуется загрузить зависимости jar, пожалуйста, будьте терпеливы).
Логин и пароль для аккаунта с максимальными правами: имя пользователя: thinkgem, пароль: admin.
Как поделиться моим кодом: Как вступить в мир открытых проектов GitHub!
Этот программный продукт использует лицензию Apache License 2.0. Пожалуйста, строго соблюдайте условия лицензии:
Стоимость обучения: Полное понимание Hibernate требует больше времени, чем для MyBatis. Фреймворк MyBatis проще и легче в освоении, а также более гибкий. Для пользователей, которые уже изучили Hibernate, MyBatis будет легче освоить.
Стоимость разработки: Все говорят, что Hibernate повышает скорость разработки, но лично я считаю, что скорость разработки с MyBatis не уступает Hibernate. С помощью генератора кода и упаковки разработка становится более эффективной, а также MyBatis более управляем и легче поддерживать.
Производительность: Из-за сложности понимания Hibernate, производительность стала проблемой. Однако, если вы хорошо знакомы с Hibernate, производительность не будет проблемой. Но в большинстве случаев, мало кто полностью понимает Hibernate, что увеличивает риск проекта.
Поддержка нескольких баз данных: Некоторые считают, что поддержка нескольких баз данных с MyBatis затруднена, но я считаю, что это не проблема. Хотя в настоящее время JeeSite поддерживает только MySQL или Oracle, изменения для других баз данных не являются сложными. SQL специально записывается в XML, и большинство SQL-запросов являются универсальными. Для различных баз данных SQL-запросы можно различать и изменять по имени базы данных. Вот моя интерпретация перевода:
Данное утверждение выражает личное мнение, любые замечания приветствуются (thinkgem@163.com).Если вы всё ещё предпочитаете Hibernate, нажмите на скачивание JeeSite версии Hibernate.
Данное утверждение выражает личное мнение, любые замечания приветствуются (thinkgem@163.com).
Таким образом, текст полностью соответствует правилам перевода, сохраняя исходное форматирование и разметку.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )