In business process, data control includes data flow, state control, trigger, time control and various influencing events involved. Aiming at the complexity and variability of control, the concept of process control engine is put forward in the technical platform. Through the definition of nodes and paths in process control, users are allowed to create and adjust process definitions, specify event handling in the process, and link the whole business processing process through the process.
Support complex logic
Based on comprehensive consideration of various realistic models, the platform abstracts the basic elements of control events. When developing a system, the basic elements are built to meet various business needs.
Based on the basic definitions provided, users can freely construct their own control events. Users can realize: different triggers turn to different States, timeout judgment and control logic combination; Taking the approval event as an example, you can define multi-user hierarchical approval, define permission roles, and customize the trigger of approval.
It can describe each state reached by the control process, pass parameters, and set conditional control for each state transition. The judgment conditions can be: the amount of form data, monitoring, waiting for the occurrence of specified system events, waiting for timeout, etc.
Flexible change support
Because of the difference and randomness of business rules, the process of enterprise informatization is very difficult. If the event control process adopts the method of system customization, it will be helpless in the face of the potential crisis of business change and change.
Because in the platform, control is model-driven, and control events are self-built according to business requirements, when business changes, only the control logic needs to be adjusted accordingly. Moreover, the visual control flow chart of the platform and the building unit based on the real model make the control logic change very intuitive and convenient.
In the face of changes, the control mode of process control engine has its incomparable advantages, which can efficiently and flexibly assist enterprises to cope with the rapidly changing market and prevent potential conflicts between a change and other operating modules.
Control the management and inquiry of the process.
Various control events in business information flow can be the nerve nodes of the whole business system, and also the characteristics and key points of various information systems. This technology platform provides good support for the management and query of "control events". A state description of each control event can be obtained.
In a business system, each control event can correspond to each business event. This description leaves a lot of room for designing business systems, which can be used as the unified management and scheduling of business events in information systems.
Data access layer
In order to effectively use data model definitions in business modeling, an independent data access layer is added to the platform as an isolation layer between user business operations and the underlying database, which completes complex processing flows such as data source binding, data relationship maintenance, and data operation authority determination, thus fundamentally eliminating the data security risks of the system. The data access layer provides unified interfaces to the outside world, and developers only need to call these interfaces according to the data model definition to realize the data maintenance function in the business system.
Encapsulation of data operations
Through the data access layer, the implementer of a specific business system can directly process the data model without considering the underlying operation of database and security, which reduces the technical background requirements for business system developers, greatly reduces the intensity of secondary development, and makes the development of business systems focus on the design and implementation of business logic.
Support multiple databases.
Through the data access layer, the platform shields the differences between different database products, so that the business system no longer depends on specific database products, and it is convenient for users to choose the appropriate database according to actual needs.
At present, the platform supports mainstream database products such as Oracle, SQL Server and DB2, and can be extended to any database that supports JDBC.
The platform supports a variety of databases, provides users with flexible and diverse solutions, facilitates users to expand, upgrade and maintain the system, and fully protects users' investment.
Data migration support
The technical platform supports a variety of databases, which not only shows that different database platforms can be selected, but also provides strong support for the conversion between different databases. The platform provides data filtering function during database backup and recovery, that is, conditions can be set to operate data within a specified range. You can import and export data with different requirements through simple operations.
The encapsulation of data migration enables end users to complete the migration of database platform when they lack talents who are proficient in multi-databases. When information system expansion or other data migration requirements arise, it is not necessary to build a business system from scratch, and the transition can be realized more efficiently and smoothly. At the same time, it enriches the data sources. When building a new business system, it can be integrated from the original system without having to build it from scratch.
Automatic generation of business documents
According to the data model, the system can automatically generate a form that meets the requirements at a specific node of the business process according to predetermined rules, and there is no need to operate the underlying database in the business process, thus supporting the self-running of the business process.
At the same time, the system provides a unified business form management mechanism, which can also be viewed and maintained through the console when the system is running.
Data dimension
The platform puts forward the concept of "data dimension", which is used to manage the data attributes of tree-like hierarchical structures such as time, region, account and organization, and provides more flexible support for data access control, data summary and multidimensional analysis.
Different permissions can be given to all levels and nodes at the same level, which well supports multi-granularity data access permission control;
Data can be summarized and analyzed from different dimensions or different levels of a dimension to realize all-round data analysis.
Data-centric MVC architecture
According to the concept of SOA, in order to reasonably divide the application program structure, clarify the work focus of each component, and ensure the operating efficiency of the system, the platform puts forward a program interaction and communication mode based on MVC architecture: for a specific business function, first determine the data involved in business processing and establish a data model;
The user interface (View) of the client is responsible for displaying the business processing result (i.e. data model), and responding to the business processing command of the user, submitting the data model modified by the user to the server for business processing;
Based on this data model, data processing controllers corresponding to different business processing commands can be defined. The data processing behavior runs on the server side, which can combine and call multiple background services to finally complete the business logic, and update the data model according to the running results, thus affecting the user interface and causing the display content to be automatically updated.
The above program architecture is called data-centric MVC architecture. By further standardizing the development process of the application system in this way, the development efficiency and program quality can be better guaranteed:
Reasonably divide the system boundary, simplify the development of each part of the application, promote the division of labor and cooperation of developers, and improve the development efficiency;
By combining a series of service calls on the server side into an independent service call, the shortcomings of low efficiency of SOA-based applications are avoided, and the data consistency in the running process is also ensured.
Simplifies the processing logic of the client, can improve the speed of user interface development and reduce the workload of interface testing;
The specific business logic control runs on the server side, which can further improve the processing efficiency and ensure the security of the business system.
RIA client framework
RIA client framework, the desktop client of Himalayan platform, is a Windows client component designed and implemented by the platform to meet the requirements of Internet-based deployment and provide a stable, fast and efficient operation interface for users' core business.
RIA client combines the advantages of desktop program and browser, which can provide better user experience for operators. Its characteristics are as follows:
Desktop applications are based on. Net framework can run on various versions of Windows platform, which can well meet the operating habits of ordinary users.
Web service is used to interact with the server, so the requirements for server deployment are exactly the same as those for general web programs, which is convenient for system deployment and implementation.
It has the function of automatic installation and upgrade, and can automatically complete the function update at runtime without the user's participation, which facilitates the system upgrade and version management and greatly reduces the workload of system maintenance;
Support client local cache and data compression mechanism, effectively reduce server pressure, reduce system bandwidth occupation, and improve program interface response speed;
You can use more client resources, quickly respond to user operations, and complete tasks that you can't do well when using a browser, such as reading and writing the registry, operating offline, and directly accessing external devices.
Reports and inquiries
Reports and queries are an indispensable part of business systems. In the functional design of reports and queries, the platform adopts the existing mature technology through the sub-modules of "query engine", "template design" and "multi-format output" to realize powerful and easy-to-expand reports and queries, and also provides convenient and easy-to-use report and query design functions to facilitate users to improve and adjust the reports and queries of business systems.
be versatile in performance
The query engine built into the platform can simplify the process for users to obtain the required data:
Graphical query design interface, users can use design tools to establish, modify and view the data acquisition process;
In the process of data collection, the concept of process data processing is adopted to simplify the complexity of query implementation through step-by-step processing;
Reusable data processing node components facilitate the standardization of business realization and ensure the accumulation of business knowledge;
By integrating a mature report output engine, the platform has the following characteristics in report output:
Supports multi-layer nested grouping, embedded graphics and charts, multi-column reports, sub-reports, TOC (table of contents) and other reports, and can easily realize a variety of typical reports: tables, cards, master and slave, grouping, charts, typesetting, columns;
Support user-defined paper, which can easily realize document printing and other functions;
It has powerful grouping summary function, which can not only realize complex multi-layer nested grouping reports, but also support cross reports;
Powerful data processing function: you can define different types of report fields, support the conditional style of fields, customize formulas, and take the results of formulas as the output of reports;
Support typical statistical charts such as histogram, line chart and pie chart;
Support to display report results in various formats at runtime. Including Excel, PDF, HTML and other common display formats;
Convenient design process
In order to meet the needs of users to design and adjust reports and queries during the implementation and operation of business systems, the platform provides convenient and easy-to-use query and report design tools, including:
Based on the query design tool of flow chart, users can get the query process by selecting different types of query nodes, and only need to set the familiarity of nodes to realize the definition of data query; These defined queries can be directly used for interface display and report;
The platform provides a WYSIWYG report design tool, in which users can complete all the work of report definition, adjustment, preview and publication.
Report Designer provides functions such as format setting, automatic table alignment and intelligent position adjustment, which is convenient for users to design reports. Through Report Designer, users can not only design reports with general format, but also design special report contents such as cross reports, charts and barcodes.
Highly flexible
In order to meet the needs of business systems for highly customized reports, the platform not only provides the above functions, but also reserves room for deepening and expanding the functions of reports and queries. Business systems can further enrich the functions of reports and queries through scripts and formulas. In order to realize the special needs of users.
User authentication and system security
On the Internet, the security problems in data transmission and processing mainly focus on the following aspects:
User authentication: if the authenticity of both parties of data transmission is confirmed;
Data security: how to ensure that the data sent and received are not eavesdropped and tampered with by third parties?
At present, the most common solution is to use electronic signature and digital certificate mechanism to confirm the identity of both parties through their certificate signatures; At the same time, based on the digital certificate, the data is encrypted and transmitted through SSL protocol, thus ensuring that the data will not be eavesdropped and tampered with during transmission.
With the support of security measures such as SSL and digital certificate, the platform can solve the security problems in business processing:
First of all, the platform supports user authentication by user name/password, and supports various authentication mechanisms, including user name/password matching based on database, and user authentication by integrating Windows Active Directory.
On the basis of user authentication by user name/password, the platform supports client digital certificate whether using desktop client or browser, and can verify the certificate information of login client on the server, further ensuring the accuracy of user authentication;
Regardless of whether the client certificate is used or not, the platform has built-in support for SSL protocol. Therefore, only when the server is configured to run in HTTPS mode can the security of data sending and receiving be guaranteed through SSL protocol.
In the case of using desktop client, the platform can also easily integrate security authentication schemes such as client network card address binding and USB Key to further ensure the security of the system.
Perfect authority management
The platform provides a perfect authority management mechanism for the application system, and provides unified access authority management and control at the system level:
With role-based access control, you can easily publish and revoke permissions:
Roles are given multiple different permissions, and users get corresponding permissions because they have a role;
Users can have multiple roles at the same time. In this case, the user's permissions are equal to the sum of the role permissions they have.
Multiple users can be aggregated into a group, so that they can have certain roles as an independent unit. At this point, all users in the group will have these roles.
Provides five categories and multiple levels of access control:
Menu permissions:
For menu items with different functions, users with different permissions, such as menus provided to system administrators and ordinary operators, should be different.
Function permissions:
Permission control of different business functions is different from menu permissions, and functional permissions are controlled at the server side.
Data Entity Permission (Form Permission):
Define the access rights of different users to data entities such as dictionaries and documents in the data model.
Field permissions:
Access to each field in a data entity deepens the authority of the above data entity.
Permission for data recording:
For the same data entity, the data records that different users can access also need permission control. By introducing the concept of "dimension", the platform realizes the hierarchical and inheritance control of data records.
Multi-granularity coverage, supporting flexible configuration
You can flexibly set access rights of different categories and granularity through simple configuration items. In the process of implementation and use, the business system can control all aspects of business functions and business data as needed, and can be managed and adjusted by the system administrator.
Multi-level data permissions to meet various needs.
The configuration of user data permissions is refined from the isolation degree to the levels of visibility, addition, modification and deletion, which fully considers the different needs of business systems:
As long as you choose invisible permissions, you can completely isolate this kind of data from specific user groups;
On the basis of user visibility, you can also set different levels of user access to data;
Perfect logic system
The platform sets up a perfect logical system based on "role", "user" and "group" for the management and distribution of rights. Permission is allocated to each role according to the function level; When the same login has different roles, the concept of "user" can be used to realize the superposition of multiple roles; The complex user system constructed according to the actual organizational system can be clearly expressed and managed through multi-level tree-like "groups".
Convenient configuration tool
Whether it is the setting of permission logic or different permissions, it is very intuitive and convenient. With the help of the user management tools provided by the platform, it is very convenient to configure the above set of rights management.
Extensibility and Customizability
Originated from the design concept of the platform, from the initial version, the core function of the platform is to support system functions. At present, the platform has achieved good support for multi-level and multi-mode scalability and customization, and can adapt to the dynamic business needs of each stage of the project life cycle.
stage of development
In the development stage of products and projects, the service object of the platform is business developers. At this level, the platform is mainly convenient for developers to expand and customize the system by developing related functions integrated in design tools:
Through data model design, business process design and visual interface design, it is convenient for business developers to realize business requirements and improve development efficiency;
The platform also provides support for the development of scripts, formulas and extension components. When necessary, business developers can also choose to extend the existing functions of the platform in these ways.
The platform provides a perfect unit test framework for testing complex business logic, and provides corresponding support in many aspects such as test data preparation, running environment simulation, test result verification and so on. , which is convenient for business developers to carry out unit testing and ensure software quality.
implementation phase
The platform also prepares corresponding configuration tools for system implementers, which will further face the business, shield the realization of the underlying technology, and facilitate the implementers to customize and adjust the system during the project:
Provide the function of modifying and adjusting the business-oriented data model and user interface, including the function of adding and hiding document fields, so that business personnel can adjust the user interface of the application as needed;
Provide a tool for quickly generating user interface, which is convenient for system implementers to quickly generate operation interface to meet the needs of actual projects;
Implementers can adjust the application logic through built-in formulas.
run phase
After the formal operation of the project, the platform mainly ensures that users can adjust and expand the system in real time in the following two ways:
Many configurable items are reserved for the application system in the platform, which can be adjusted by IT administrators according to actual needs to meet the needs of business system development and adjustment.
The functions provided by the platform, such as interface definition, process definition and report definition, can be embedded in the application program to form the functions of interface adjustment, process adjustment and user-defined report for the end users, which can be used by IT administrators and business personnel.