מדריך ל- jBPM עם Java

1. הקדמה

במדריך זה נדון במערכת ניהול תהליכים עסקיים (BPM) ויישומה ב- Java כ- jBPM System.

2. מערכת ניהול תהליכים עסקיים

אנו יכולים להגדיר ניהול תהליכים עסקיים כאחד מאותם תחומים שהיקפם נרחב מעבר לפיתוח לכל היבטי החברה.

BPM מספק נראות כלפי התהליכים הפונקציונליים של החברה. זה מאפשר לנו למצוא זרימה אופטימלית, המתוארת על ידי תרשים זרימה, באמצעות שיפור איטרטיבי. הזרימה המשופרת מגדילה את הרווחים ומפחיתה עלויות.

BPM מגדירה מטרות משלה, מחזור חיים, פרקטיקות ושפה משותפת בין כל משתתפיה, כלומר תהליכים עסקיים.

3. ה jBPM מערכת

jBPM הוא יישום של מערכת BPM בג'אווה. זה מאפשר לנו ליצור זרימת תהליכים עסקיים, לבצע אותה ולפקח על מחזור החיים שלה. הליבה של jBPM היא מנוע זרימת עבודה, כתוב בג'אווה, המספק לנו כלי ליצירת וביצוע של זרימת תהליכים באמצעות המפרט העדכני ביותר של Business Process Modelling Notation (BPMN) 2.0.

jBPM מתמקדת בעיקר בתהליך העסקי ההפעלה. לתהליכים אלה יש מספיק פרטים כדי שניתן יהיה לבצע אותם במנוע זרימת העבודה.

הנה דוגמה של תרשימי זרימה גרפיים של סדר הביצוע של מודל התהליך BPMN שלנו כדי לסייע בהבנתנו:

  1. אנו מתחילים לבצע את הזרימה באמצעות ההקשר הראשוני, המסומן על ידי צומת ההתחלה הירוקה
  2. ראשית, משימה 1 תבוצע
  3. בסיום משימה 1, נמשיך למשימה 2
  4. הביצוע מפסיק עם המפגש עם צומת הקצה האדום

4. IDE תוספים עבור jBPM פּרוֹיֶקט

בואו נראה כיצד להתקין תוספים ליצירת פרויקט jBPM ותהליך BPMN 2.0 ב- Eclipse ו- IntelliJ IDEA.

4.1. תוסף ליקוי חמה

נצטרך להתקין תוסף ליצירת פרויקטים של jBPM. בואו בצע את השלבים הבאים:

  1. בתוך ה עֶזרָה לחץ על התקן תוכנה חדשה
  2. הוסף את אתר העדכונים דרולים ו- jBPM
  3. קבל את תנאי הסכם הרישיון והשלם את התקנת התוסף
  4. הפעל מחדש את הליקוי

ברגע שאקליפס יופעל מחדש, נצטרך ללכת אל חלונות -> העדפות -> דרולים -> צמתי זרימת דרולים:

לאחר בחירת כל האפשרויות, נוכל ללחוץ על "החל וסגור". עכשיו, אנחנו מוכנים ליצור את הראשון שלנו פרויקט jBPM.

4.2. תוסף IntelliJ IDEA

ל- IntelliJ IDEA מותקן כברירת מחדל תוסף jBPM, אך זה קיים רק באופציה האולטימטיבית ולא בקהילה.

עלינו רק לאפשר זאת על ידי לחיצה הגדר -> הגדרות -> תוספים -> מותקן -> JBoss jBPM:

נכון לעכשיו, אין מעצב תהליך BPMN 2.0 עבור IDE זה, אם כי אנו יכולים לייבא את ה- * .bpmn קבצים מכל מעצב אחר והפעל אותם.

5. שלום עולם דוגמה

בואו נלכלך את הידיים ביצירת פרויקט פשוט של Hello World.

5.1. ליצור jBPM פּרוֹיֶקט

כדי ליצור פרויקט jBPM חדש באקליפס, נלך אל קובץ -> חדש -> אחר -> פרויקט jBPM (Maven). לאחר שסיפקנו את שם הפרויקט שלנו נוכל להגיע לסיום. Eclipse יעשה את כל העבודה הקשה עבורנו ויריד את התלות הנדרשת של Maven כדי ליצור עבורנו פרויקט jBPM לדוגמא.

כדי ליצור אותו ב- IntelliJ IDEA, נוכל ללכת אל קובץ -> חדש -> פרוייקט -> JBoss דרולים. IDE יוריד את כל התלות הנדרשת וימקם אותם בתוכנה lib תיקיית הפרויקט.

5.2. צור את מודל התהליך Hello World

בואו ניצור מודל תהליך BPM קטן שמדפיס את "שלום עולם" בקונסולה.

לשם כך, עלינו ליצור קובץ BPMN חדש תחת src / main / resources:

סיומת הקובץ היא .bpmn וזה נפתח במעצב BPMN:

החלונית השמאלית של המעצב מפרטת את הצמתים שבחרנו קודם בזמן הגדרת תוסף Eclipse. אנו נשתמש בצמתים אלה כדי ליצור את מודל התהליך שלנו. החלונית האמצעית היא שטח העבודה, שם ניצור את מודלי התהליך. הצד הימני הוא לשונית המאפיינים, בה אנו יכולים להגדיר את המאפיינים של תהליך או צומת.

בזה שלום עולם מודל, נשתמש ב:

  • התחל אירוע - נדרש להפעלת מופע התהליך
  • משימת סקריפט - מאפשרת קטעי Java
  • סיום אירוע - נדרש לסיום מופע התהליך

כאמור, ל- IntelliJ IDEA אין מעצב BPMN, אך אנו יכולים לייבא את ה- .bpmn קבצים שתוכננו ב- Eclipse או מעצב אתרים.

5.3. הכריז וצור את בסיס הידע (kbase)

כל קבצי BPMN נטענים פנימה kbase כתהליכים. עלינו לעבור את התהליך המתאים מזהים למנוע jBPM על מנת לבצע אותם.

אנו ניצור את kmodule.xml תחת משאבים / META-INF עם שלנו kbase והצהרת חבילת קבצים BPMN:

לאחר סיום ההכרזה, אנו יכולים להשתמש ב- מיכל KieContainer לטעון את kbase:

KieServices kService = KieServices.Factory.get (); KieContainer kContainer = kService.getKieClasspathContainer (); KieBase kbase = kContainer.getKieBase (kbaseId);

5.4. צור את jBPM מנהל זמן ריצה

נשתמש ב- JBPMHelper נוכח ב org.jbpm.test חבילה לבניית סביבת זמן ריצה לדוגמא.

אנו דורשים שני דברים כדי ליצור את הסביבה: ראשית, מקור נתונים ליצירת ה- EntityManagerFactoryושנית, שלנו kbase.

JBPMHelper יש שיטות להפעיל שרת H2 בזיכרון ולהגדיר את מקור הנתונים. באמצעות אותו, אנו יכולים ליצור את EntityManagerFactory:

JBPMHelper.startH2Server (); JBPMHelper.setupDataSource (); EntityManagerFactory emf = Persistence.createEntityManagerFactory (persistenceUnit);

לאחר שכולנו מוכנים הכל, נוכל ליצור את שלנו RuntimeEnvironment:

RuntimeEnvironmentBuilder runtimeEnvironmentBuilder = RuntimeEnvironmentBuilder.Factory.get (). NewDefaultBuilder (); RuntimeEnvironment runtimeEnvironment = runtimeEnvironmentBuilder. entityManagerFactory (emf) .knowledgeBase (kbase) .get ();

משתמש ב RuntimeEnvironment, אנו יכולים ליצור את מנהל זמן הריצה של jBPM שלנו:

RuntimeManager runtimeManager = RuntimeManagerFactory.Factory.get () .newSingletonRuntimeManager (runtimeEnvironment);

5.5. בצע מופע תהליך

לבסוף נשתמש ב- RuntimeManager להשיג את RuntimeEngine:

מנוע RuntimeEngine = manager.getRuntimeEngine (initialContext);

באמצעות זמן ריצה מנוע, ניצור מושב ידע ונתחיל בתהליך:

KieSession ksession = engine.getKieSession (); ksession.startProcess (processId);

התהליך יתחיל ויודפס שלום עולםבמסוף IDE.

6. מסקנה

במאמר זה הצגנו את מערכת BPM תוך שימוש ביישום Java שלה - jBPM.

זה היה מדריך מהיר להפעלת פרויקט jBPM. הדוגמה המוצגת כאן משתמשת בתהליך המינימלי על מנת לתת הבנה קצרה על ביצוע תהליך וניתן למצוא אותו ב- GitHub.

כדי לבצע את התהליך, עלינו פשוט להריץ את השיטה העיקרית ב- WorkflowProcessMain מעמד.