Question
My first process (document borrowing and approval process) is over. It takes nine days from Requirement Analysis to coding implementation. Although this process is not complete, however, I have a general understanding of the process design in filenet, from WORKSTEP to workflow, which is a qualitative change.
Requirement Analysis
The document lending approval process is a representative process I have selected among many processes. 1. Document borrowing is a frequent event stream in large enterprises; 2. There are multiple nodes of different concepts involved in document borrowing; 3, this process is a process that I have not handled before. For the above reasons, taking into account the company's business requirements, I designed the following flowchart:
Flowchart analysis
This process contains two types of nodes: component and activity. These two types of nodes are the two most commonly used nodes in the process design. The component node is document permission, and the activity node includes inner dept manager and other dept manager.
The component node mainly uses the previously developed program jar package to verify the node. Here, document permission is used to check whether the document has the borrowing permission. If so, proceed to the next step. Otherwise, the process ends.
The difference between an activity node and a component node is that the program processed by the activity is not processed using compiled jar, but independently written to implement corresponding functions. Second, the activity node needs to expose the corresponding fields during the processing process so that the system has the permission to automatically process them. You also need to specify a participant for the activity node. Only users with relevant permissions can process the task after assigning the corresponding task.
In this flowchart, the inner dept manager specifies that the work queue is responsible for processing the node. After the task is initiated, anyone in the work queue can process the task, who gets the task first and who handles it, that is, what we usually call "ticket grabbing ".
Other dept manager, which is specified by the participant. This process is officially completed only when all the items in the partcipant are approved. The difference between this process and the work queue is that everyone is required to participate in the process, the work queue only needs one of them for processing.
Philosophy in code
In the process of filenet development, we should consider the three characteristics of object-oriented, and develop the reusability, maintainability and flexibility of the system to the extreme. Here, the CE and PE operation steps are determined, and we do not need to create an implementation method by ourselves.
However, we should encapsulate common modules to improve program reusability. For example, we should write a separate module for processing sessions in filenet to package them. For object processing, we can wrap it in the existing map, instead of writing the Set Method in one row, enhancing the readability of the program.
Map encapsulated object
private static Map<String,Object>getDataFieldMap(DocumentBorrowserVO documentBorrowser){ Map<String,Object>map = new HashMap<String,Object>(); map.put("documentName", documentBorrowser.documentName); map.put("documentExplain", documentBorrowser.documentExplain); map.put("documentType", documentBorrowser.documentType); map.put("applicant", documentBorrowser.applicant); map.put("dept", documentBorrowser.dept); map.put("stepName", documentBorrowser.stepName); return map; }
Conclusion
Workflow concatenates my recently learned knowledge into a line from the flex interface design, through the cairgorm architecture, with the help of blazeds, to Java, and to filenet. This line is only the first in the business pattern. I still need to traverse until the entire business becomes a complete pattern.