OrangeAdmin Orange Single Medium Low code generator version 1.4 supports multi-tenancy and tenant operation management. We will only detail the more interesting multi-tenant technical features here.

Tenant Features

  • The generated project will include tenant operation management services and tenant operation platform services (microservice architecture).
  • The tenant operation platform system supports logical isolation, physical isolation, and mixed isolation of tenant data.
  • Tenant operation management service manages user permission data and global dictionary data of tenant systems in a unified manner and synchronizes the data to multiple tenant systems in real time.
  • A separate RocketMQ-based real-time synchronization consumer service provides a separate consumer group for each tenant database. In the event of a failure of one database, the synchronization of the rest of the database is not affected and the failed database is automatically compensated immediately after recovery.
  • After real-time synchronization, a copy of tenant permission data is stored in each tenant database.
  • In the tenant management service, tenant roles are provided. The relationship between tenant roles and tenant menus is many-to-many, which maximizes the flexibility of tenant rights management.
  • Tenant Users can modify the name, icon, and location of the tenant menu.
  • The basic permission data, such as the permission resource URL, is shared by tenants in the same database. In this way, the system performance can be kept in the optimal state when the amount of basic data is greatly reduced while the personalized requirements of tenants are ensured.

Other Modifications

  • Continuously optimize the code and SQL execution performance of the permission management module.
  • Added data filtering configuration options, including tenant filtering and data permission filtering.
  • The addTablenamePrefix configuration parameter is added to support automatic assembly of Oracle paging query data.
  • Fix a bug in the configuration process of orange single generator.
  • Added more configuration errors to the Orange single generator.

Multi-tenant function online documentation

  • Operation, a www.orangeforms.com/development…
  • Technology, a www.orangeforms.com/development…

Orange single online resource

  • Open source project gitee.com/orangeform/…
  • Develop document www.orangeforms.com/development…
  • Teaching video www.bilibili.com/video/bv1Wg…

Orange single profile

Orange single low code generator is developed by zhishi Science and technology team. After years of precipitation of large enterprises in Taiwan transformation project, the team continues to sum up experience and lessons, constantly strive to improve production capacity, and constantly actively respond to the on-off and off-again in the process of micro-service transformation. After countless days and nights of continuous iteration and optimization, it was finally possible to generate 70% of the high-quality canonical engineering level code suitable for microservices architecture. Since then, we rarely work overtime, love work, and become comrade-in-arms with leaders, and become friends with customers.

Our advantages

  • At the top of the list are professional, detailed, synchronously updated and eye-darkening instructions, development documents and instructional videos of more than 160,000 words.
  • A true Chinese code generator, rather than a scaffold, generates relatively complex business code that embraces the constant breaking and breaking of Chinese services.
  • Very easy to understand high-quality post-generation engineering code, rigorously scanned by SonarQube and Alibaba code specifications.

Basis function

  • Front-end framework: single page, multi-label, multi-column, sub-routing and multiple sets of high appearance level style, a variety of modes to choose from.
  • Front-end capabilities: multi-table linkage, upload and download, data export, customized printing templates, rich text, grouped statistics charts, and detailed data drilling.
  • Page layout: Supports flexible layout based on fragments and blocks. Diversified form pages can be generated after configuration. Supports page preview in full engineering mode.
  • Background architecture: distributed lock, distributed Id generator, distributed cache, distributed transaction, distributed storage and distributed gray distribution, on-demand integration.
  • Multi-tenant: Tenant data is logically isolated, physically isolated, and mixed isolated. Tenant rights management data is synchronized in the background in real time, facilitating tenant database splitting.
  • Cache synchronization: Supports multi-instance distributed data synchronization based on Canal, which synchronizes changing data to Redis cluster in real time.
  • Operation permission: accurate button – level operation and label – level display, and provides multi-dimensional permission allocation path query capability.
  • Data rights: Based on the implementation of Mybatis interceptor + JSqlParser, more flexible configuration, less intrusive code.
  • Multiple data sources: Can be dynamically generated based on configuration, and routing policies are flexible and extensible.
  • Data assembly: Java annotated data for multiple relational and computational relationships between multiple databases and services.
  • Scheduled task: Supports multiple types of code templates for scheduled tasks, which are flexible, highly optimized, and easy to develop twice.
  • Log monitoring: Kafka + ELK service log tracking, PinPoint/SkyWalking service link tracking.
  • Indicators monitoring: Indicators monitoring for Grafana + Prometheus and Spring Boot Admin.
  • Interface documentation: Knife4j is now integrated with support for Postman interface exports based on 0 annotations.

Technology selection

  • The front-end framework is Element (Vue)/Ant Design (React)/ECharts/AntV/Axios/Webpack.
  • The back-end framework is Spring Boot/Spring Cloud/Spring Cloud Alibaba + Mybatis (universal Mapper) + Jwt.
  • Java tools library Apache Commons + Hutool + Guava + Caffeine + Lombok + MapStruct + Knife4j + QDOX
  • Main middleware Redis + Zookeeper + Apollo + XXl-job + Quartz + Seata + Canal + RocketMQ + Kafka + Consul + Minio + ELK + Sentinel + PinPoint/SkyWalking + Prometheus + Grafana + Spring Boot Admin

The code quality

  • Without any secondary wrapping, only the code you know best is generated.
  • Follow the Code specification of Alibaba standard, no warning after scanning.
  • SonarQube is based on code scanning with the strictest detection rules.
  • Product-level code quality, clear hierarchy, watertight.
  • Code repetition rate near zero, comment coverage above 35%.
  • Over 15 years of experience in front and back end architects to optimize every detail.
  • Leading-edge single table combination design makes it EASY to split and recombine business services.
  • The principle of code first, SQL later makes the horizontal expansion of microservices more flexible.
  • Standardized invocation interfaces between services make business service compositions more orthogonal.
  • The front and back end of the agreement based on their respective roles, tacit cooperation, so that the system to fly up