Dynamics CRM Workflows
אחת היכולות המובנים ב - Dynamics CRM היא מנוע workflow, באח, הפגישות נשאלתי האם ניתן לבנות פתרון load balancing לתהליכי WF במקרה וקיימים יותר מ platform role בודד.
אז על מנת לענות על השאלה בוא נבין איך המנוע WF עובד לפחות ברמת על
אז מה קורה שמגדירים WF:
1. נוצרת רשומה בטבלת WorkflowBase בבסיס הנתונים ORG_MSCRM
2. הגדרת שלבים שונים ב - WF גורם לעדכון עמודות ברשומה.
לאחר הגדרות יש לבצע publish :
1. WF עובר תהליך קומפילציה.
2. DLL נשמר ב- PluginAssemblyBase.
3. Plug in מיוחד נרשם עבור פעולה שתריץ אתה WF במערכת.
טוב, אז מה קורה שפעולה הקשורה ל - WF ספציפי מתבצעת:
1. Plug in מיוחד הרשום עבור פעולה זו תהפוך את ה - WF הרלוונטי לרשומה בטבלה AsyncOperationBase
2. AsyncService שולף מספר WF-ים ומריץ אותם במקביל.
AsyncService מוגדר להריץ מספר של WF ב - Pool במקביל , כלומר אם בזמן נתון רצים פחות WF-ים ממה שמוגדר,AsyncService תשלוף רשומות נוספות על מנת להגיע "לתפוסה" המקסימאלית.
טוב, זה ברמת על,אבל מתאור זה ניתן להבין שב - Dynamics CRM קיימת יכולת מובנת להריץ תהליכי WF במקביל על מספר שרתים בהם מותקן AsyncService ו - Load Balancing מתבצע על בסיס "תפוסה" של Pool , כלומר בשרת העמוס יותר, Pool יתרוקן לאט יותר והשרת פנוי יותר ישלוף WF הבאים.
שירותי MCS רלוונטיים