
View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Digital Library of the Czech Technical University in Prague Bachelor’s Thesis Czech Technical University in Prague Faculty of Electrical Engineering F3 Department of Computer Graphics and Interaction The usage of BPMN library to define workflow Evgeniya Brichkova Study program: Software Technologies and Management Branch: Web and Multimedia January 2017 Supervisor: Ing. Jiří Šebek Acknowledgement / Declaration I thank Ing. Jiří Šebek for the guid- I declare, that i have done assigned ance of my bachelor thesis, help and the bachelor thesis alone led by supervi- valuable advices. sor. I used only literature, that is list- ed in work. Furthermore i declare, that i have no objections against lending or making public of my bachelor thesis or it’s part with agreement of department. In Prague 3.1.2017 ........................................ iii Abstrakt / Abstract Bakalářská práce se zabývá proble- The bachelor thesis deals with the matikou návrhu a modelování workflow issue of the definition and modelling procesu a jejich integrace do logiky apli- workflow processes and their integra- kace. Workflow procesy jsou vytvořeny tion into the application logics. Work- v souladu s Business Process Model flow processes are created according and Notation (BPMN) 2.0 standar- to the Business Process And Modelling dem a representované ve formě BPMN Notation (BPMN) 2.0 standard and rep- diagramu. Aplikace představuje dvě resented in the form of BPMN diagram. horní vrstvy systému, který se zabývá The application represents two upper problematikou přiřazení rolí uživate- layers of the system, which deals with lům a umožňuje správu účtů uživatelů, the problem of user role assignments oprávnění a úpravu organizační struk- and allows managing users’ accounts, turu firmy. Diagramy, representujici permissions and modifying organiza- workflow procesy, mají více specifický tional structure of the company. The formát, než standardní BPMN dia- diagrams, which represent the workflow gramy. Nový formát diagramů vychází processes, have more specific format, z vlastních pravidlech modelování, than standard BPMN diagrams have. které vyhovují cílovému systému. První New format of diagrams is based on vrstva představuje BPMN modelář, the custom modelling rules, which suit který podporuje vlastní pravidla mode- the aims of the target system. The lování. Druhá vrstva zajišťuje validátor first layer is represented by the BPMN a parser BPMN diagramu, který jej modeler, which supports custom rules. převede do stromů Plain Old Jáva ob- The second layer provides the validator jektů (POJO). Tím pádem, správcům and parser of BPMN diagram, which roli je poskytován pohodlný způsob, jak converts it to the tree of Plain Old vyřešit problémy správy role s velkými Java Objects (POJO) objects and saves úspory času. the diagram to the database. Thereby, Klíčová slova: BPMN, definice work- role administrators are provided with flow, řízení uživatelských rolí, vnitřní re- a convenient way to solve the role prezentace XML management issues with big savings of time. Keywords: BPMN, workflow defi- nition, user role management, internal representation of XML iv Contents / 1 Introduction ........................1 4.2.2 Palette and Con- 1.1 Motivation .......................1 textPad modules 1.2 Purposes..........................1 customization diagram .. 16 1.2.1 Modeler ....................2 4.2.3 The whole customiza- 1.2.2 XML Parser ................2 tion package diagram .... 17 2 Background .........................3 4.2.4 BpmnRenderer cus- 2.1 Business process .................3 tomization diagram ...... 19 2.2 Business process manage- 4.3 Sequence diagram .............. 20 ment and modeling ..............3 4.3.1 Unsuccessful valida- 2.3 Business modeling lifecycle ......3 tion by java functions.... 20 2.4 Modeling techniques overview ...4 4.3.2 Unsuccessful valida- 2.5 BPMN 2.0 standard .............6 tion by XSD.............. 22 2.5.1 Types of BPMN pro- 4.3.3 Successful validation cesses .......................6 by XSD and java func- 2.6 BPMN 2.0 core structure ........6 tions ...................... 22 2.6.1 Infrastructure package .....7 4.4 Use case diagram .............. 24 2.6.2 Foundation package........7 5 Implementation................... 26 2.6.3 Common package ..........8 5.1 The project structure .......... 26 2.6.4 Service package ............8 5.1.1 Server side packages ..... 26 2.7 XML to POJO converting 5.1.2 Client side packages ..... 27 with JAXB .......................8 5.2 BPMN-js customizations ...... 27 2.8 Used technologies ................8 5.2.1 Adding custom modules . 27 2.8.1 Node Package Manag- 5.2.2 DirectEditing module er(NPM) ...................8 customization ............ 28 2.8.2 Node.js .....................9 5.2.3 BpmnRenderer cus- 2.8.3 Grunt .......................9 tomization ................ 29 3 Related work...................... 10 5.2.4 ContextPadProvider 3.0.1 TIBCO Business Studio . 10 customization ............ 29 3.0.2 Aris Express.............. 10 5.2.5 PaletteProvider cus- 3.0.3 Yaoqiang BPMN Editor . 10 tomization ................ 30 3.0.4 Bizagi..................... 11 5.3 Server side implementation .... 31 4 Analysis and design of the 5.3.1 Configuration ............ 31 application ........................ 12 5.3.2 Processing request ....... 32 4.1 BPMN-js overview ............. 12 5.3.3 XSD validation........... 32 4.1.1 Diagram-js core classes 5.3.4 Validation by Java overview .................. 12 functions ................. 33 4.1.2 Dependency injection 5.3.5 Saving diagram to the in Diagram-js ............ 14 database .................. 34 4.1.3 Other customized com- 6 Evaluation......................... 36 ponents ................... 14 6.1 Error handling ................. 36 4.1.4 Custom rules ............. 14 6.1.1 Error example: ele- 4.2 Class diagrams of the Mod- ment misses description . 37 eler part ........................ 15 6.1.2 Error example: dia- 4.2.1 DirectEditing module gram contains isolated customization diagram .. 15 elements .................. 37 v 6.1.3 Error example: dia- gram is not complete .... 38 6.1.4 Error example: wrong order of elements in the diagram .................. 38 6.1.5 Error example: dia- gram contains loops...... 38 7 Installation ........................ 40 8 Conclusion ........................ 41 A Specification ..................... 43 B Symbols .......................... 45 C Code examples .................. 46 D References ....................... 47 E Content of the practical part ... 49 vi Tables / Figures 2.1. Techniques comparison ..........5 2.1. Modeling life cycle ...............4 2.2. Example of a private Busi- ness Process ......................6 2.3. Example of a public Business Process ...........................6 2.4. Class diagram showing the core packages .....................7 4.1. bpmn-js architecture: parts and responsibilities ............. 12 4.2. DirectEditing customization ... 16 4.3. Palette and ContextPad cus- tomization ...................... 17 4.4. Customization package dia- gram ............................ 18 4.5. BpmnRenderer customization . 19 4.6. Unsuccessful java validation ... 21 4.7. Unsuccessful XSD validation .. 22 4.8. Successful validation ........... 23 4.9. Use case ........................ 25 5.1. Server side package structure .. 26 5.2. Client side package structure .. 27 5.3. Element editing customiza- tion ............................. 28 5.4. IntermediateCatchEvent types............................ 29 5.5. IntermediateCatchEvent transformation ................. 29 5.6. ContextPad transformation.... 30 5.7. Palette transformation ......... 30 5.8. Target directory ................ 31 5.9. Schema directory content ...... 32 5.10. Diagram before converting..... 34 5.11. Diagram after converting ...... 34 6.1. Correct diagram ................ 36 6.2. Server response: success ....... 36 6.3. Not fully described diagram ... 37 6.4. Server response: missing de- scription ........................ 37 6.5. Diagram contains isolated elements ........................ 37 6.6. Server response: isolated ele- ments ........................... 37 6.7. Diagram is not complete ....... 38 6.8. Server response: incomplete diagram ......................... 38 6.9. Wrong order of elements ....... 38 vii 6.10. Server response: wrong ele- ments order..................... 38 6.11. Diagram contains loops ........ 39 6.12. Server response: diagram contains loops .................. 39 viii Chapter 1 Introduction Web applications are usually accessed by a large number of users, so the role manage- ment is a significant aspect of each application. A set of permissions for an authorised user is defined by the role, which the user owns. It needs to make sure, that all the important business informations can only be accessed by selected users, who dispose it in a correct way. 1.1 Motivation The management of user roles might be a tiresome process, especially in large compa- nies. In many cases, such companies have a huge amount of user roles and a difficult hierarchy of them. Thereby, the process of user role assignment might be long and inconvenient. Moreover, the user role administration might be time-consuming for the people, who own the particular roles in that hierarchy. The company might have thou- sands of different roles, thereby the role administrators are supposed to know those roles and the rights assigned to them. One of the solutions for this problem is an au- tomation, which performs
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages57 Page
-
File Size-