Flowable文檔提供全面的工作流、BPMN流程引擎和當前IT領域最先進的DMN(決策模型和表示法)引擎。它提供了許多控制流程的功能,如流程示圖、任務列表、流程定義和實例狀態等,同時它也支持REST API、Spring/Spring Boot集成以及各種插件等。此外,Flowable文檔還提供了詳細的流程提交指南、模塊化指南和API文檔以及示例。
一、BPMN引擎
Flowable文檔最通用的功能是其開源的BPMN引擎,它遵循了BPMN 2.0流程標準。它的主要功能包括支持常規的流程,如加簽、並行分支、條件分支和子流程。同時,它還支持事件驅動、超時控制、多實例和動態指派任務,使其簡單易用。
1、如何創建和管理流程定義
首先,我們需要創建一個流程定義。根據Flowable的要求,在創建定義過程之前,必須完成流程設計,並在BPMN模型中定義了所有任務和連接。在此之後,我們就可以從這個模型創建到部署,也就是將模型編譯成XML文件(以.bpmn20.xml結尾),最終在流程引擎中啟動。 Flowable提供了各種方法來管理流程定義,例如列表、查詢和啟動。可以使用REST API、JPA、Hibernate、Mybatis、 Spring和Spring boot等各種技術對定義進行管理。
2、如何創建和管理流程實例
定義完成後,就可以通過流程實例來處理流程。流程實例表示實際流程的一個特定運行。 每個流程實例都有一個唯一的ID和一個定義ID,這些都是用來標識和參照每個實例的。Flowable提供了各種方法來管理流程實例,例如列表、查詢和掛起。還可以使用REST API、JPA、Hibernate、Mybatis、Spring和Spring boot等各種技術對實例進行管理。
二、DMN引擎
Flowable文檔還提供了當前IT領域最先進的DMN引擎,它使用DRD(決策需求圖)打包DRG(決策需求圖),並且支持出色的先進函數、密集類型和純DRL(規則語言)休眠時的決策表。Flowable的DMN遵循最新的DMN1.1規範,它和BPMN引擎集成完美無縫,使流程和決策無縫銜接。
1、如何創建和管理決策表
Flowable提供了各種方法來創建和管理DMN規則,例如通過配置文件、REST API、XML和Java代碼文件等。無論使用哪種方式,都可以方便地將規則表編輯器中定義的規則映射到XML形式,並從中創建規則實例。還可以使用Flowable提供的DMN解釋器來支持決策表的自動推斷。在創建決策表前,必須按照決策需求圖(DRD)的要求對要處理的數據進行建模和分解,才能將設定的規則與之匹配。
2、如何評價和實行決策表
在創建和管理完決策表後,可以評價它們並根據結果來實行決策。 每個規則都有自己的條件語句和行為語句。每次評估決策表時,規則都會按照先前的信息執行相應的行為。Flowable提供了各種用於評估決策表的方法,例如基於規則的評估、基於事件的評估和基於狀態的評估。各種方法都具有各自的優缺點。
三、插件和集成
Flowable文檔還提供了各種插件和集成,可以擴展其功能或將其與其他技術集成。最常見的插件包括表單插件、Spring Security插件、AWS插件和LDAP插件。同時,Flowable還支持REST API、JPA、Hibernate、Mybatis、Spring Security和Camunda BPM/Spring框架等各種技術的集成。它還可以通過使用Eclipse插件或IntelliJ IDEA插件等來簡化流程定義和調試過程。
1、如何使用表單插件
// 表單配置類 @Bean public FormHandlerRegistry formHandlerRegistry() { FormHandlerRegistry formHandlerRegistry = new FormHandlerRegistry(); formHandlerRegistry.addFormHandler(myFormHandler()); return formHandlerRegistry; } //自定義表單處理器 @Bean public MyFormHandler myFormHandler() { return new MyFormHandler(); }
通過創建自定義的表單處理程序,並將其與Spring、Spring Boot或其他技術進行集成,可以在Flowable中使用表單插件。Flowable文檔還提供了各種內置的表單widget和表單控件,以及各種基於反應式編程的表單API,具有很高的靈活性和擴展性。
2、如何使用Spring Security插件
// Security配置類 @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests().antMatchers("/flowable/**").authenticated().and().formLogin(); } @Override protected void configure(AuthenticationManagerBuilder auth) { try { auth.inMemoryAuthentication().withUser("admin").password(passwordEncoder().encode("admin")).roles("ACTIVITI_USER"); } catch (Exception e) { e.printStackTrace(); } } @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } }
通過創建自定義的Security配置類,並將其與Spring、Spring Boot或其他技術進行集成,可以在Flowable中使用Spring Security插件。該插件使得安全管理變得非常容易,Flowable用戶可以像以前一樣管理用戶角色和權限,而無需擔心安全問題。
3、如何使用AWS插件
通過使用Flowable提供的AWS插件,IT團隊可以輕鬆將Flowable安裝在AWS環境中。因為AWS已經成為雲計算行業的領導者,它可以為流程引擎提供最優化的性能和可伸縮性。使用Flowable與AWS集成時,可以在沒有任何長期承諾的情況下,支付按需使用,並基於IT資源的實際使用量進行計費,這使得成本更加高效、廉價。
4、如何使用LDAP插件
// LDAP配置類 @Configuration public class LdapConfiguration { @Bean public LdapContextSource contextSource() { LdapContextSource contextSource = new LdapContextSource(); contextSource.setUrl("ldap://localhost:389"); contextSource.setBase("dc=example,dc=com"); return contextSource; } @Bean public LdapTemplate ldapTemplate() { return new LdapTemplate(contextSource()); } }
通過創建自定義的LDAP配置類,並將其與Spring、Spring Boot或其他技術進行集成,可以在Flowable中使用LDAP插件。該插件可以鑒定並驗證用戶身份,確保正確的權限被分配給每個用戶角色。Flowable提供了各種內置的LDAP接口和API,以及各種集成服務,可以輕鬆實現與其他技術之間的集成。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/286694.html