Self-developed workflow engine and workflow engine

Source: Internet
Author: User

Self-developed workflow engine and workflow engine

I quit my job and haven't written any articles for a long time. My workflow project is broken, and my team is broken. Now I want to post this set of things. I hope you can give me some advice!

Android is not completed yet, and ios is not developed yet

Workflow engine design tool I am a client program using wpf and can visually design the process l;

The operation of the entire process is implemented by asp.net and corresponding interfaces are provided to facilitate mobile calls!

First, let's take a look at the entire project:

1) process design tools, user authentication, obtain a process template that the user can operate on based on the login user, and request the wcf for identity verification;

2) This is a workflow template that obtains permissions for users after verification. (1) it is classified as a process template to facilitate design and actual runtime management. (2) It is a template list, and some basic information, status, name, and other information; double-click to edit it; (3) create a workflow in the upper left corner +;

 

3) create a workflow. By default, the program adds the start and end stages. A workflow must start and end;

Toolbar

(1): Add a general link. A general link can design access permissions, edit permissions, and process actions for this link.

(2): Add a shunting link. What is shunting? That is, one thing requires two or more roles to agree at the same time to enter the next link.

(3) Add a reasonable link. points must be combined. This is used together with the shunting link, because one hill is not a problem, and the boss has only one.

(4) Add a connection line. What is the connection line? There must be a path from building a to Building B, so it cannot fly in the past, even if flying has to have a path. Then this connection line acts as this path, and you can set the conditions to meet your needs before you can enter the next stage. Just like Shenzhen Metro security check, there are dangerous items in your bag. Security comrades will certainly not allow you to take the subway;

(5) delete selected objects: I can delete any object (connection line, link) on the design panel.

(6) html template editor. You have to edit the content and format of the process on the web.

(7) Save and edit: Save the entire template structure to the server database;

 

4) create a leave process:

First, I may add the fields used in this process, the types of input controls on the browser, the Data Types in the library, and the default values, whether or not you need to bind information from the dictionary table by default, so you can make full use of it;

5) after doing this, you have to set the application information;

1) Basic information: Set, name, and processing time limit of the basic information. If the time limit is exceeded, do you want to skip this step?

2) personnel settings: Set permissions for roles, departments, and individuals who can access this link.

3) processing action: Which operations, such as submission and recall, are involved in this step (this works with the connection line)

4) information item settings: which fields are visible in this link and can be edited

5) special permissions: not implemented yet

 

Personnel settings:

Processing action

Information item settings:

 

How is the page displayed? The html editor is coming;

Complete a template:

 

 

Now that the template is complete, can you run it according to the design? After logging on to the management system, we can see that two non-Super Users who can initiate an application:

Sure enough, it is it. Let's initiate one and see if Yang ran it?

 

Hey, that's right. It's a table I wrote. That's right;

 

After the submission is completed, the next step should be handled by a Super User;

Go in and check

 

 

The simple process is finished;

 


Workflow is useful for development?

I also put it simply in my own words: 1. A workflow is an abstraction of a workflow in a work. It abstracts a process into two sections: link and route, internal segments include the starting, ending, and intermediate links. routes include descriptions of dynamic operation rules in the business process, such as dynamic routing and Static Routing selection, distribution, and merging; it abstracts the business running processes in the work into a process definition model, which contains a set of data structures. This is the definition data, which is generally drawn by a custom tool, storage is the required configuration data. During the runtime, the current processing action is determined based on the business data and configuration data, and the route is selected to the next step based on the processing result, until there is an end; there will be no mention of merging sub-processes and processes. 2. What is a workflow used? It improves work efficiency, Process flexibility, development speed, and BUG reduction. Because workflows are further abstracted from processes, many internal business processes in the factory are strange, if each line is hard-coded if else, it will consume a lot of manpower and material resources, while the workflow only needs to run the first flow smoothly, followed by almost drawing; improved flexibility is reflected in the fact that you can follow the new process at any time in principle and use a graphical interface, so that you can confirm the process problem multiple times before going online, without modifying the program; the development speed is mainly for a relatively complete workflow, after the first program passes debugging, there is almost no need to write code later, or very little to write some very personalized code; to reduce bugs, most of the Code is shared. You only need to change one BUG. The same type of BUG in the entire system is locked in one or two places, instead of the same BUG in each place, from the beginning to the end. 3. enterprise-level internal application development is essential. Without it, it can be said that software development and maintenance costs are very high, especially for enterprises with frequent business changes, this is very obvious in China, because most enterprises in China are in a very chaotic state of management, and there is no way to standardize the policy at any time, for example, an enterprise may use different processes to control the same type of business according to the requirements of the region and department. In this case, you should know the requirement analysis, regional and some dimensions should be set up at the workflow template level for control, or at the link level for control, which is relatively confusing. 4. To put it bluntly, a workflow is just a concept. The workflow engine is used to realize its value. The workflow is not fully adapted to every enterprise and has some scalability requirements, these scalability requirements determine the general method of building the data structure. The workflow engine runs based on the configuration data and business data. The workflow definition tool is used to define the data.
 
Under what circumstances is the applicable workflow engine?

The purpose of introducing a workflow during system development is to separate the business logic and process logic, so that business developers can focus on core business development and process logic processing is handed over to the workflow engine, the changes in process logic do not affect or affect core business logic.
Whether a workflow engine is introduced depends on the complexity of the system's business and the variability of the process logic. If the process logic is complex or the process logic changes frequently, it is best to introduce the workflow and separate the business logic and process logic. On the contrary, if the business is simple and the changes in the future are very small, there is no need to introduce the workflow. After a workflow is introduced, the system layers increase. The more layers, the more complicated the communication and coordination between different layers. Therefore, a PM should be considered.
 

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.