A wf-based business process platform
After the Chinese New Year, I learned WF from all my friends who followed my blog and asked me how to publish a workflow platform I developed with WF for your reference.
This platform is suitable for the work environment that focuses on approval and can be used directly as a product (the platform is directly used by existing companies in projects ).
This platform is characterized by satisfactory support for sub-processes.
WF has poor support for sub-processes, and I am useless.
This platform supports static calling of multiple sub-flows and dynamic calling of multiple sub-flows,
Supports concurrent calls to different types of sub-flows
Support waiting for multiple concurrent sub-Processes
Data forms can be divided into sub-flows from the main process, sub-flows can be re-imported into sub-flows, and then back to the main process
Supports concurrent signatures for different branches
Allows you to link existing processes to other processes.
Supports recursive calls of the process itself
Let's talk about my code first.
I never add annotations to the code. The way I write the code is to write the document first, and then write the code according to the document.
So, do you have to open the document first?
(This is a captured image in the Document. [1.1], [1.2], and [1.3] are all methods with variable numbers. [√] indicates that the method has a unit test)
Open generation? You will see the number in the Code. All numbers have detailed purposes, implementation methods, calls, and algorithm descriptions in the document.
Database design and architecture design are all in the document
Service
The service runs as an EXE program.
Provides the permission, process operations, and report WCF interfaces,
The service write is very stable, and all the judgment can be made. Basically, try {} catch {} is not used. If the client does not operate properly, the service will return a description value, stress testing will not drag services down
System-level problems are written into system logs, business-level problems are written into business logs, and the flow accounts of all operations are recorded in the logo file.
The servers of the service are configured in the configfile. The main program of the service is [bpm.foundation.server.exe]
Time Engine
Timing, automatic processing, and workdays can be managed
Process designer (Professional Edition)
You can open the process directly from the database, save the process, export the process as a XOML file, or load the XOML file.
Open the process in the database
Publish the process to the database
You can use a tester to perform a quick test locally before release.
You can generate documents for the process and business flowcharts.
A wizard is available for workflow design.
Process designer (User simplified version)
Form Designer move the mouse to any layout,
You can specify permissions for any field (on the process designer)
Process Monitor
Client
Task area
All information pages in the system can be dynamically added.
Configurable functional modules
You can view the process graphically.
Personnel permission management
Process initiation Management
Start Process
Form field permission control, verification, version management, and printing
Process Management
Reports
Only the Reporting client control is used, and the Reporting Services Service is not required.
Final description
This platform was written in free time at the beginning of last year. It took one and a half months every five hours.
Generally, I wrote the service part in the middle of the night. The idea is still clear, so I can still write the service, and the documentation is also more efficient.
When I was tired in the middle of the night, I used WPF to write the client. At that time, I was basically in the semi-sleep state, so the implementation method was messy and the style was not uniform, and there was no document (pai_^)
Therefore, to directly use this platform, there is no problem in the service part. We recommend that you rewrite the front-end UI. You can use WPF, Winform, ASPNET, Silverlight,
If you use Silverlight to write data, you cannot directly access my WCF Service. There is a Silverlight cross-origin security problem. If you need this, I can provide you with an independent cross-origin authentication service, load to this platform
In the [process monitor] section, I am a little lazy. I used the UI of the previous project directly. Some places seem to have connection services or database code written to death. Pay attention to it when using it, just change it.
The platform uses Net 3.5
The database can be any version of SQL Server 2008. Windows XP, Windows 2003, and Windows 2008 are available for the operating system (I have not tried vista)
Some Pirated Windows xp/2003 products remove some services in the system, such as DTC. In this way, WF persistence during runtime reports an error because cross-database operations are required, but not database errors, it is a queue error. I have captured this error. If you see this error, pay attention to the system service. My queue is well handled and will not make any errors.
All database and network configurations are in the corresponding Config file. You can change the configuration according to your own situation. By default, all databases are running in this file.
For example, if the network is running, pay attention to the firewall
The Form Designer is generally used. Many people do not use my Form Designer, Infopath, and ASPNET dynamic pages.
Depressed, I must write a decent form designer for the next version.
The system has initialized an organizational structure for exercises and a set of processes for various business topics.
The idea of this platform is [Designing a business process platform based on WF], but some content is only used in the background on this platform and is not reflected in the front-end UI.
Okay. I will explain more in the [Designing a business process platform based on WF] series.
Download Code:
Http://cid-c36588978afc344a.skydrive.live.com/browse.aspx/WF (invalid)
(Changed)
Http://cid-c36588978afc344a.office.live.com/browse.aspx/BPM.Foundation%5E_%e5%bc%80%e5%8f%91%e7%89%88
BPM.Foundation.rar Service
BPM.Foundation.Designer.rar process designer (Professional Edition)
BPM.Foundation.WorkflowMonitor.rar Process Monitor
BPM.Client.rar client, flow designer (User simplified version), Form Designer report
DB.rar Database
Help.rar development documentation
Process Design (vs2008).rar use VS description of the design process
Process Design (description of the process design process used by the designer ).rar)