The original business process platform approval sheet uses the idea of horizontal table vertical storage, where the data for the business forms used by all processes exists in a physical table, and each data record in the table contains the field information for the column definition and value,column, defined by the definition table. This approach is implemented, it is necessary to use code for data assembly, more cumbersome. When the form is large, the interface shows a slow performance. This scenario query statistics support is limited.
In order to meet the requirements of configurable dynamic forms and to address the deficiencies of these scenarios, NoSQL technology is used to optimize the design because NoSQL does not have to create fields for the data to be stored in advance and can store custom data formats at any time. By NoSQL, the schema Structure (column definition) can be modified flexibly, and in theory it should be able to support the persistence of these dynamic forms.
Based on the above ideas, the adoption of the Approval list (form) template, and the NoSQL and relational database combination of the scheme, the design objectives are as follows:
(1) The use of the user-tool design approval of the single template;
(2) Configuration management tool, configure the approval order key data items, such as: Title, Department, key values (such as statistics, process flow rules required), time, etc.
(3) Approval of the single template version needs to be versioned management;
(4) Approval single data storage is divided into two parts: first, the key field content, stored in the relational database; the entire form (including HTML, CSS, JavaScript, icons, etc.), together with the data content, is stored in the NoSQL database as a whole document object;
(5) The approval of the list of CSS, JS, icons and other resource files, the need for version management (in the database only to save their URLs);
(6) The History form query is saved as it is;
(7) Retain the form data content modification traces (stored in the circulation of multiple versions of the form), provide regular cleaning function;
(8) Ensure the high performance of reading and writing, and stability.
The above objectives also apply to information column content.
In addition, there is a set of compromises, but also in the approval of the single template, based on the form of non-critical data, combined into a string to save (for example: JSON format), in the data preservation and extraction display, according to the configuration data to display data adaptation.
The above plan needs the technical verification, welcome the reader feedback, the suggestion.
Resources:
Development process Approval Framework interface design scheme based on PAAs platform (draft)
Problems using the Approval Flow form configuration feature from the principle analysis
Design ideas of general process application Approval list (i)
Database structure design of dynamic forms
Using the NoSQL technology feasibility analysis in the BPM dynamic configurable form--the design idea of general process application approval list (II.)