Distributed Dubbo+zookeeper+springmvc+mybatis+shiro+restful+activemq+redis

Source: Internet
Author: User
Tags nginx load balancing

1. Project Core Code structure

650) this.width=650; "src=" Http://static.oschina.net/uploads/space/2016/0305/105152_ePjH_2661627.png "alt=" 105152 _epjh_2661627.png "/>

<modules>
<!--Jeesz tool jar --
<module>jeesz-utils</module>
<!--jeesz public configuration jar --
<module>jeesz-config</module>
<!--Jeesz Core Framework jar --
<module>jeesz-framework</module>
<!--jeesz CMS business jar --
<module>jeesz-core-cms</module>
<!--Jeesz code automatically generate business jar --
<module>jeesz-core-gen</module>
<!--Jeesz My favorite business jar--
<module>jeesz-core-bookmark</module>
<!--Jeesz e-flow service jar --
<module>jeesz-core-act</module>
<!--jeesz OA business jar --
<module>jeesz-core-oa</module>
<!--jeesz testing business jar --
<module>jeesz-core-test</module>
<!--jeesz Timer scheduling service jar --
<module>jeesz-core-scheduler</module>
<!--jeesz my Tasks Business jar--
<module>jeesz-core-task</module>
<!--Jeesz Admin Background Management system --
<module>jeesz-web-admin</module>
<!--Jeesz RESTful service Management system --
<module>jeesz-web-service</module>
<!--Jeesz Timing Dispatch Management system --
<module>jeesz-web-scheduler</module>
<!--Jeesz My mission Dubbo service consumer--
<module>jeesz-web-task</module>
<!--Jeesz My collection Dubbo Service consumers- -
<module>jeesz-web-bookmark</module>
<!--Jeesz My collection Dubbo Service Interface--
<module>jeesz-facade-bookmark</module>
<!--Jeesz My collection Dubbo service producer- -
<module>jeesz-service-bookmark</module>
<!--Jeesz my task Dubbo Service Interface--
<module>jeesz-facade-task</module>
<!--Jeesz my task Dubbo Service producer--
<module>jeesz-service-task</module>
<!--JMS messages --
<module>jeesz-web-mq-task</module>
</modules>

Special Reminder: Developers can service or Dubbo their business rest when developing


2. Project Dependency Introduction

2.1 Backend Management system, rest service system, Scheculer timing dispatch system depend on such as:


650) this.width=650; "src=" Http://static.oschina.net/uploads/space/2016/0305/105441_ywG5_2661627.png "alt=" 105441 _ywg5_2661627.png "/>

2.2 Dubbo Independent service projects depend on such as:

650) this.width=650; "src=" Http://static.oschina.net/uploads/space/2016/0305/105442_SK8E_2661627.png "alt=" 105442 _sk8e_2661627.png "/>


3. Introduction to the Platform
Jeesz is a distributed framework that provides modular, service-based, hot-swappable ideas for project-based Java EE Rapid development platforms with high package security.

Jeesz itself integrates Dubbo service control, zookeeper Registration Center, Redis distributed cache technology, FASTDFS Distributed File system, ACTIVEMQ asynchronous message middleware, Nginx load balancing and other distributed technologies

Project management using MAVEN, Project modularity, improve project accessibility, extensibility

With the spring framework as the core container, Spring MVC is the Model View controller, MyBatis is the data access layer, Apache Shiro is the permission authorization layer, Ehcahe caches the common data, Activit is the workflow engine and so on.

Front-end integrated BOOTSTRAP4 metronic frame, UI responsive, flat layout, adaptable to all PCs, pads, anroid, iOS mobile devices, and more.

Jeesz is mainly located in the Internet Enterprise architecture, has built-in enterprise information system basic functions and efficient code generation tools, including: System permissions components, data rights components, data dictionary components, core tool components, view operations components, workflow components, code generation and so on. Adopt layered design, double authentication, submit data security code, password encryption, access authentication, data permission verification.

Jeesz currently includes the following module projects, backend system Management System ,restful independent service system ,Scheduler Timing scheduling system , Content Management (CMS) system , Online Office (OA) system , my todo (Task Service), My Favorites (bookmark service).

Background management system includes enterprise organization structure (user management, organization management, regional management), menu management, role Rights Management, dictionary management and other functions;

RESTful standalone provides standard rest service APIs that enable you to quickly implement your business and provide the services you need;

Quartz timing Scheduling System can dynamically configure your task rules, and so on;

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

An online office (OA) system that provides a simple process example.

Jeesz provides a common tool for encapsulation, including log tools, caching tools, server-side validation, data dictionaries, current organization data (users, organizations, regions), and other commonly used gadgets. There is also a powerful online code generation tool that provides a simple single-table, one-to-many, tree-structured feature generation that can be used if the appearance requirements are not high. The Jeesz infrastructure is used to improve the efficiency of rapid development.


4. Built-in function (only part of the function is listed)
1. User management: The user is the system operator, this function mainly completes the system User Configuration.
2. Organization Management: Configuration system Organization (company, Department, Group), tree structure display, can adjust the subordinate.
3. Regional management: System Urban regional model, such as: national, provincial, municipal, county and county maintenance.
4. Menu Management: Configure the System menu, Operation permissions, button permission identification and so on.
5. Role Management: Role Menu permission assignment, set role to divide data range permissions by agency.
6. Dictionary management: Maintenance of some of the more fixed data commonly used in the system, such as: whether, gender, category, level, etc.
7. Operation log: System normal operation log record and query, system exception information log record and query.
8. Connection Pooling monitoring: monitor the status of the current system database connection pool to analyze SQL to identify system performance bottlenecks.
9. Workflow Engine: Implement business order flow, online process designer.


5. Development tools
1.Eclipse IDE: Using MAVEN project management, modular.
2. Code generation: Through the interface mode simple configuration, automatically generate the corresponding code, currently includes three ways to generate (add and revise): Single table, one-to-many, tree structure. After the generated code, if you do not need to pay attention to the degree of beauty, after the build can be used.


6. Technology selection (only part of the technology is listed)
1, back-end
Service Framework: Dubbo, Zookeeper, rest services
Cache: Redis, Ehcache
Message middleware: ActiveMQ
Load balancing: Nginx
Distributed files: Fastdfs
Database connection pool: Alibaba Druid 1.0
Core Framework: Spring framework
Security framework: Apache Shiro 1.2
View Frame: Spring MVC 4.0
Server-side validation: Hibernate Validator 5.1
Layout frame: Sitemesh 2.4
Workflow Engine: Activiti 5.15
Task Scheduler: Quartz 1.8.5
Persistence Layer Framework: MyBatis 3.2
Log management: slf4j 1.7, log4j
Tool classes: Apache Commons, Jackson 2.2, Xstream 1.4, dozer 5.3, POI
2. Front-end
JS Frame: 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 box: JQuery jbox
Tree structure controls: JQuery Ztree
Other components: Bootstrap 4 metronic
3. Support
Server middleware: Tomcat 6, 7, Jboss 7, WebLogic 10, WebSphere 8
Database support: Currently only support MySQL database, but not limited to the database, the next version of the upgrade multi-data source switching and database read and write separation: Oracle, SQL Server, H2, etc.
Support development environment: Eclipse, MyEclipse, Ras, idea, etc.


Welcome to come to learn to understand Jeesz large-scale distributed enterprise Architecture source code, specific inquiries please add Q:2137028325



This article from "11376618" blog, declined reprint!

Distributed Dubbo+zookeeper+springmvc+mybatis+shiro+restful+activemq+redis

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.