אפליקציית Kickstart של Activiti ו- Webapp של Activiti Rest

1. סקירה כללית

במאמרים הקודמים שלנו (המבוססים על Activiti API עם Java ו- Spring) ראינו כיצד לנהל תהליכים באופן פרוגרמטי. אם אנו רוצים להקים הדגמה, יחד עם ממשק המשתמש של Activiti, יש לנו שני אפליקציות רשת שיאפשרו לנו לעשות זאת תוך מספר דקות בלבד.

אפליקציית פעילויות מציע ממשק משתמש באמצעותו יכול המשתמש לבצע כל ניהול זהויות ופעולות הקשורות לניהול משימות, צור משתמשים וקבוצות.

בדומה לכך, פעילויות מנוחה הוא יישום אינטרנט המספק את ה- REST API לביצוע כל פעולה בתהליך, משימה, תהליך, וכו.

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

2. הורדות

אנחנו יכולים להוריד את מִלחָמָה קבצים לשני אפליקציות האינטרנט מאתר Activiti עצמו.

עבור v6.0.0, אנחנו יכולים פשוט להוריד את activiti-6.0.0.zip, לחלץ אותו, ואת מִלחָמָה ניתן למצוא קבצים ב activiti-6.0.0 / מלחמות מַדרִיך.

3. אפליקציית Kickstart של Activiti

נצטרך זמן ריצה של Java והתקנת Apache Tomcat כדי לפרוס את האפליקציה. כל מיכל אינטרנט יעבוד, אך Activiti נבדקת בעיקר על Tomcat.

כעת, עלינו רק לפרוס את המלחמה בטומקט ולגשת אליה באמצעות // localhost: 8080 / activiti-app.

דף הבית צריך להיראות כך:

3.1. מאגר מידע

כברירת מחדל, הוא משתמש במסד הנתונים H2 בזיכרון. אם אנו רוצים לשנות את תצורת ה- DB, אנו יכולים לבדוק את הקוד ולשנות את הקובץ activiti-app.properties.

לאחר שעשינו זאת, עלינו ליצור מחדש את קובץ המלחמה, שניתן לעשות זאת על ידי הפעלת סקריפט start.sh. זה יבנה את אפליקציית פעילויות יחד עם התלות הנדרשת.

3.2. אפליקציית Kickstart

כאשר אנו לוחצים על אפליקציית Kickstart, אנו מקבלים את האפשרויות לעבודה עם a תהליך. אנו יכולים ליצור / לייבא תהליכים ולהפעיל אותם מכאן.

בואו ניצור תהליך קטן שיש בו יחיד משימת משתמש, שמקבל הודעה ממשתמש. פעם אחת באפליקציית Kickstart, כדי ליצור תהליך בחר את תהליכים לחץ על הכרטיסייה ולחץ על צור תהליך:

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

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

לשם פשטות, נקצה את המשימה ליוזם התהליך:

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

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

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

שימו לב שתקתקנו את נדרש, שמשמעותו ה מִשׁתַמֵשׁ המשימה לא יכולה להסתיים מבלי להזין את הוֹדָעָה.

לאחר שתסיים, נשמור אותו ונלך אל אפליקציות הכרטיסייה. כדי שנוכל להריץ את התהליך שיצרנו, עלינו ליצור אפליקציית תהליכים.

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

3.3. אפליקציית משימות

באפליקציית המשימות יש שתי כרטיסיות: משימות - עבור משימות המופעלות כעת תהליכים - לרוץ כרגע תהליכים.

ברגע שאנחנו לוחצים על ה- התחל תהליך ב תהליכים הכרטיסייה, אנו מקבלים את רשימת התהליכים הזמינים שאנו יכולים להריץ. מרשימה זו, אנו נבחר את התהליך שלנו ונלחץ על הַתחָלָה לַחְצָן:

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

אם נלחץ הצג תרשים, זה לא רק יראה לנו את תהליך תרשים אלא גם הדגיש את המשימות שהושלמו ואת המשיכה שעומדת בהמתנה. במקרה שלנו, משימת משתמש עדיין ממתין, וזה מודגש:

להשלמת משימה זו, נוכל ללחוץ על ה- לְהַשְׁלִים buttoנ. כאמור קודם נצטרך להזין את ה- הוֹדָעָה, כפי ששמרנו את זה חובה. לפיכך, לאחר שנכנסתי ל הוֹדָעָה, אנחנו יכולים לְהַשְׁלִים המשימה.

3.4. אפליקציית ניהול זהויות

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

4. Activiti REST

Activiti מספקת REST API עבור Activiti Engine שניתן להתקין על ידי פריסת ה- activiti-rest.war קובץ למיכל סרוולט כמו Apache Tomcat.

כברירת מחדל, מנוע Activiti יתחבר למסד נתונים H2 בזיכרון. בדיוק כמו שראינו אפליקציית פעילויות, כאן נוכל לשנות את הגדרות מסד הנתונים ב- db. נכסים קובץ ב- WEB-INF / שיעורים תיקיה וצור מחדש את קובץ המלחמה.

כשהאפליקציה פועלת, אנו יכולים להשתמש בכתובת URL בסיסית זו לכל הבקשות:

// localhost: 8080 / activiti-rest / service /

כברירת מחדל, כל משאבי ה- REST דורשים אימות של משתמש חוקי Activiti. יש להשתמש באימות גישה בסיסי של HTTP לכל שיחת REST.

4.1. יצירה והפעלה של תהליך

כדי ליצור תהליך, ראשית, אנו זקוקים לקובץ BPMN לצורך התהליך שלנו. אנו יכולים ליצור את הקובץ כמתואר במאמרים הקודמים שלנו המבוססים על Activiti עם Java, או שניתן להוריד אותו מקטע התהליך של אפליקציית Kickstart.

עלינו להגיש בקשת POST, יחד עם ה- contentType: נתונים מרובים / טפסים, שם נעלה את קובץ BPMN לתהליך החדש שלנו:

מאגר POST / פריסות

כשאנחנו מבצעים את השיחה הזו על ידי העברת קובץ BPMN לתהליך שיצרנו, זה ייתן את הפלט הבא:

{"id": "40", "name": "user_msg.bpmn20.xml", "deploymentTime": "2017-10-04T17: 28: 07.963 + 05: 30", "קטגוריה": null, "url" : "// localhost: 8080 / activiti-rest / service / repository / deployments / 40", "tenantId": ""}

כעת אנו יכולים לראות את הגדרת התהליך שלנו ברשימה, אם נקבל את כל הגדרות התהליך:

הגדרות מאגר / קבלת תהליכים

בשלב הבא נוכל להריץ את התהליך באמצעות processKey שהזכרנו בקובץ BPMN:

POST / זמן ריצה / מופעי תהליך 

עם גוף הבקשה הזה:

{"processDefinitionKey": "user_msg"} 

התגובה תהיה:

{"id": "44", "url": "// localhost: 8080 / activiti-rest / service / runtime / process-instances / 44", "businessKey": null, "suspended": false, "הסתיים" : false, "processDefinitionId": "user_msg: 1: 43", "processDefinitionUrl": "// localhost: 8080 / activiti-rest / service / repository / process-definitions / user_msg: 1: 43", "processDefinitionKey": " user_msg ", // פרטים נוספים ...} 

אנו יכולים לראות את התרשים של תהליך הריצה שלנו באמצעות ה- תְעוּדַת זֶהוּת של מופע התהליך שהוחזר עם התגובה הקודמת:

GET זמן ריצה / מופעי תהליך / 44 / תרשים 

כפי שצוין קודם לכן, התהליך ממתין לסיום משימת המשתמש, ולכן הוא מודגש בתרשים:

4.2. השלמת משימה

בואו נסתכל על המשימה המתנה שלנו באמצעות:

קבל זמן ריצה / משימות 

בתגובה תהיה רשימה של משימות ממתינות. נכון לעכשיו, יש רק משימה אחת - שלנו משימת משתמש:

{"data": [{"id": "49", "url": "// localhost: 8080 / activiti-rest / service / runtime / משימות / 49", "owner": null, "assignee": " $ INITIATOR "," delegationState ": null," name ":" הודעת קלט משתמש "," תיאור ":" משימת משתמש לקחת קלט משתמש "," createTime ":" 2017-10-04T17: 33: 07.205 + 05: 30 "," dueDate ": null, // פרטים נוספים ...}} 

לבסוף, בואו נשלים משימה זו באמצעות המשימה מזהה 49:

זמן ריצה / משימות POST / 49 

זו בקשת POST ועלינו לשלוח את פעולה שדה המציין מה אנו רוצים לעשות עם המשימה. אנו יכולים "לפתור", "להשלים" או "למחוק" משימה. כמו כן, אנו יכולים להעביר מערך של משתנים, הנדרשים על ידי המשימה להשלים.

במקרה שלנו, אנו צריכים להעביר שדה "הודעה", שהוא שדה הטקסט של הודעת משתמש. אז גוף הבקשה שלנו הוא:

{"action": "complete", "variables": [{"name": "message", "value": "זוהי הודעת קלט משתמש"}}} 

5. מסקנה

במאמר זה דנו כיצד נוכל להשתמש באפליקציית Activiti Kickstart וב- REST API המסופק.

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


$config[zx-auto] not found$config[zx-overlay] not found