JEESZ distributed framework--technical introduction document

Abstract: Jeesz is mainly positioned in the Internet enterprise architecture. It has built-in basic functions of enterprise information systems and efficient code generation tools, including: system permission components, data permission components, data dictionary components, core tool components, view operation components, and workflow. components, code generation, etc. Adopt layered design, double verification, submit data security code, password encryption, access verification, data permission verification. Jeesz currently includes the following module projects, background system management system, RestFul independent service system, Scheduler timing scheduling system, content management (CMS) system, online office (OA) system, my to-do (Task service), my collection (Bookmark) Serve).

1. Screenshot of the project core code structure

jeesz-utils

jeesz-config

jeesz-framework

jeesz-core-cms

jeesz-core-gen

jeesz-core-bookmark

jeesz-core-act

jeesz-core-oa

jeesz-core-test

jeesz-core-scheduler

jeesz-core-task

jeesz-web-admin

jeesz-web-service

jeesz-web-scheduler

jeesz-web-task

jeesz-web-bookmark

jeesz-facade-bookmark

jeesz-service-bookmark

jeesz-facade-task

jeesz-service-task

jeesz-web-mq-task

Special reminder: developers can use their own business REST service or Dubbo service when developing

2. Introduction to project dependencies

2.1 The background management system, Rest service system, and Scheculer timing scheduling system depend on the following figure:

2.2 Dubbo independent service project dependencies are as follows:

3. Introduction to the platform

Jeesz is a distributed framework that provides project modularization, service-oriented, hot-swappable ideas, and a Java EE rapid development platform with high encapsulation and security.

Jeesz itself integrates distributed technologies such as Dubbo service management and control, Zookeeper registry, Redis distributed cache technology, FastDFS distributed file system, ActiveMQ asynchronous message middleware, and Nginx load balancing.

Use Maven for project management, project modularization, and improve the ease of development and scalability of the project

With Spring Framework as the core container, Spring MVC as the model view controller, MyBatis as the data access layer, Apache Shiro as the authority authorization layer, Ehcahe for the cache of common data, Activit as the workflow engine, etc.

Front-end integrated Bootstrap4 metronic framework, UI responsive, flat layout, suitable for all PC, Pad, Anroid, ios mobile devices, etc.

Jeesz is mainly positioned in the Internet enterprise architecture. It has built-in basic functions of enterprise information systems and efficient code generation tools, including: system permission components, data permission components, data dictionary components, core tool components, view operation components, workflow components, code generation etc. Adopt layered design, double verification, submit data security code, password encryption, access verification, data permission verification.

Jeesz currently includes the following module projects, background system management system, RestFul independent service system, Scheduler timing scheduling system, content management (CMS) system, online office (OA) system, my to-do (Task service), my collection (Bookmark) Serve).

The background management system includes enterprise organizational structure (user management, organization management, regional management), menu management, role authority management, dictionary management and other functions;

RestFul independently provides standard Rest service APIs, so you can quickly implement your own business and provide the services you need;

The Quartz timing scheduling system can dynamically configure your task rules, etc.;

Content management (CMS) system, including content management, column management, site management, public message, file management, front-end website display and other functions;

The online office (OA) system mainly provides simple process examples.

Jeesz provides common tools for encapsulation, including logging tools, caching tools, server-side validation, data dictionary, current organization data (users, organizations, regions), and other commonly used gadgets. In addition, a powerful online code generation tool is provided. This tool provides simple generation of single table, one-to-many, and tree structure functions. If the appearance requirements are not very high, the generated functions can be used. Using the Jeesz basic framework can improve the efficiency of rapid development.

4. Built-in functions (only some functions are listed)

1. User management: The user is the system operator, and this function mainly completes the system user configuration.

2. Organization management: configure the system organization (company, department, group), display the tree structure, and adjust the upper and lower levels at will.

3. Regional management: systematic urban regional model, such as: maintenance of countries, provinces, cities, districts and counties.

4. Menu management: configure system menu, operation authority, button authority identification, etc.

5. Role management: Assign role menu permissions, set roles, and divide data scope permissions according to institutions.

6. Dictionary management: maintain some relatively fixed data often used in the system, such as: whether, male or female, category, level, etc.

7. Operation log: record and query the normal operation log of the system; record and query the system abnormal information.

8. Connection pool monitoring: Monitor the current system database connection pool status, and analyze SQL to find out system performance bottlenecks.

9. Workflow engine: Realize business work order flow and online process designer.

5. Development tools

1.Eclipse IDE: Maven project management, modularization.

2. Code generation: Simple configuration through the interface, and the corresponding code is automatically generated. Currently, there are three generation methods (addition, deletion, modification and search): single table, one-to-many, and tree structure. If the generated code does not need to pay attention to the aesthetics, it can be used after it is generated.

6. Technology selection (only part of the technology is listed)

1. Backend

Service framework: Dubbo, zookeeper, Rest service

Cache: Redis, ehcache

Messaging middleware: ActiveMQ

Load Balancer: Nginx

Distributed files: FastDFS

Database connection pool: Alibaba Druid 1.0

Core framework: Spring framework

Security Framework: Apache Shiro 1.2

View Framework: Spring MVC 4.0

Server-side validation: Hibernate Validator 5.1

Layout Framework: SiteMesh 2.4

Workflow Engine: Activiti 5.15

Task scheduling: quartz 1.8.5

Persistence layer framework: MyBatis 3.2

Log management: SLF4J 1.7, Log4j

Tools: Apache Commons, Jackson 2.2, Xstream 1.4, Dozer 5.3, POI

2. Front end

JS framework: JQuery 1.9.

CSS framework: Bootstrap 4 metronic

Client-side validation: JQuery Validation Plugin.

Rich Text: CKEcitor

File management: CKFinder

Dynamic Tab: Jerichotab

Data table: jqGrid

Dialog: jQuery jBox

Tree structure control: jQuery zTree

Other components: Bootstrap 4 metronic

3. Support

Server Middleware: Tomcat 6, 7, Jboss 7, WebLogic 10, WebSphere 8

Database support: Currently only mysql database support is provided, but not limited to databases. The next version upgrades multiple data source switching and database read-write separation: such as Oracle, SqlServer, H2, etc.

Support development environment: Eclipse, MyEclipse, Ras, Idea, etc.

Welcome to study and research related technologies together

Friends who are willing to understand framework technology or source code directly ask for it: 2042849237

More detailed source code reference sources

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326780689&siteId=291194637