This is a viewer only at the moment see the article on how this works.
To update the preview hit Ctrl-Alt-R (or ⌘-Alt-R on Mac) or Enter to refresh. The Save icon lets you save the markdown file to disk
This is a preview from the server running through my markdig pipeline
بناء نظام لتدفق العمل مع HTMX وASP.net الأساسية - الجزء 1: مقدمة
Wednesday, 15 January 2025
أولاً
وتوجد نظم تدفق العمل في كل مكان في التطبيقات الحديثة - من عمليات الموافقة البسيطة إلى عمليات التشغيل الآلي المعقدة المتعددة الخطوات.
وفي حين ان هنالك حلولا تجارية ممتازة مثل الحل الزمني ، الحلّين الجويين ، و n8n ، تحتاج احيانا الى شيء مصمَّم حسب حاجاتك الخاصة .
- في هذه السلسلة، سأسير معكم من خلال بناء نظام كامل لتدفق العمل من الصفر باستخدام ASP.NET eor, HTMX, Alpin.js, and Thangfire.
- بحلول نهاية هذه السلسلة، سيكون لديك نظام وظيفي كامل لتدفق العمل مع:
- محرِّر يستند إلى العقدة البصرية لسير أعمال البناء
- عُدَدَّات لسير العمل مع المدخلات والنواتج والظروف المحددة حسب خط الاتصال المشترك
- (محرك تنفيذ لسير العمل حسب الطلب)
- تجهيز المعلومات الأساسية عن العمل مع شركة Thangfire للاقتراع عن بعد
إدارة الدولة واستمرارها
أداة متابعة لرصد التنفيذ
لماذا تبني نظام تدفق العمل الخاص بك؟
- قبل الغوص في، دعونا نعالج الفيل في الغرفة: لماذا لا نستخدم حلاً قائماً؟
- متى إلى بناء ملكك:
- تحتاج إلى تكامل عميق مع تطبيقك الحالي
- لديك منطق عمل تجاري محدد لا يتناسب مع أدوات تدفق العمل العام
- تريد السيطرة الكاملة على نموذج التنفيذ والتدرج
تحتاج إلى التقليل من الاعتمادات الخارجية
- تريد أن تتعلم كيف تعمل أنظمة سير العمل تحت غطاء المحرك
- تاريخ استخدام الأدوات الموجودة:
- تحتاج إلى حلّ مُثبّت ومُثبّت ومُجرّب على الفور
تحتاج لمميزات مثل توزيع التنفيذ عبر العديد من الآلات
ليس لديك الوقت لبناء وصيانة البنية التحتية
بالنسبة لهذه السلسلة، نحن نختار بناء أنفسنا لأنها تمنحنا مرونة كاملة وهي فرصة تعليمية ممتازة.
ما نحن نبنيه
وسيدعم نظام سير العمل لدينا عدة مفاهيم رئيسية:
- ١ -العقد
- **العقد هي اللبنات الأساسية لتدفقات العمل.**ويمثل كل عقدة نقطة عمل أو قرار منفصلة.
- **أمثلة:**عقدة طلب HTTP
- : تُصنِّع المكالمات الهاتفية إلى الخدمات الخارجيةمُرسِل الوضع المُوض
- 1 - تقييم أشكال التعبير والفروع: التنفيذنقل
بيانات العمليات: (التلاعب، الترشيح، وما إلى ذلك)
تاريخ العقد التأخر
: يُنتظر لمدّة محدّدة
مُسْرِج
- : يبدأ تدفقاً للعمل استناداً إلى أحداث أو جداول
- )٢( A.
- وتدفق العمل هو رسم بياني موجه للعُقد المترابطة.
- وتتدفق البيانات من عقدة إلى أخرى عن طريق الوصلات، مع قيام كل عقدة بتجهيز البيانات وتحويلها حسب الحاجة.
أولاً -
- المحرك الذي يفسر تعريف تدفق العمل وينفذ العقد بالترتيب الصحيح، المناولة:
- التنفيذ المتوازي (عندما لا تعتمد العُقَد على بعضها البعض)
- الفرع المشروطي
- خطأ مساعد جاري المناولة و & &
الدولة استمرار الدولة
أولاً -
- & ما دعم دعم ما ما
- أداة UI على شبكة الإنترنت حيث يمكن للمستعملين:
- دَرْج وإسقاط العُقَد في القمام
- نقاط اتصال بالربط بين الحواف بينها
حالات سير العمل الاختباري
- 5 - مكتب الأمم المتحدة في نيويوركالمعلومات الأساسية
- **"باستخدام "هايفاير سننفذ ما يلي:**تنفيذ التنفيذ في سير سير العمل
- APEP إقتراع البيانات الخارجيةإعادة تسمية منطق الإعدامات الفاشلة
- لوحة بيانات رصد الوظائفتكن تكن تكن تكن تكن تكن تكن تكن تكن تكن تكن تكن تكن تكن تكن تكن تكن تكن تكن
- **هذا ما سنستخدمه:**الأمر
المصدر الأساسي 9.0
- - إطار شبكتناإطار عمل الأمم المتحدة
- بالنسبة لثبات البياناتالمرشّسSQL
- :قاعدة بيانات لتعاريف تدفق العمل ودولة التنفيذ
- : تجهيز المعلومات الأساسية(أ) النظام.
فيما يتعلق بتدفق العمل:
- الموضوعHTMXS
- لـ ديناميكية خادم UI تحديثات بدون كتابة جافاسكربتالألابين
- **: إطار مخطوطات للمكونات التفاعلية:**TailwindCSS + DESUI
مكونات اللصف والتوليد:
لم يُلِس
Mostlylucid.Workflow/
├── Mostlylucid.Workflow.Engine/ # Core workflow execution engine
│ ├── Models/ # Node, Workflow, Connection models
│ ├── Execution/ # Workflow executor and runtime
│ └── Nodes/ # Built-in node implementations
├── Mostlylucid.Workflow.Shared/ # Shared models and DTOs
├── Mostlylucid.Workflow.DbContext/ # Entity Framework context
└── Mostlylucid/ # Main web app (existing)
├── Controllers/WorkflowController.cs
├── Services/WorkflowService.cs
└── Views/Workflow/ # Workflow UI views
فيما يتعلق بالربط بين العقد (سنستكشف البدائل)
الهياكل الأساسية مُصد مُصد مُصد مُكر
{
"id": "node-1",
"type": "HttpRequest",
"name": "Fetch User Data",
"inputs": {
"url": "https://api.example.com/users/{{userId}}",
"method": "GET",
"headers": {
"Authorization": "Bearer {{apiToken}}"
}
},
"outputs": {
"response": "{{result.body}}",
"statusCode": "{{result.statusCode}}"
},
"conditions": {
"onSuccess": "next-node-id",
"onError": "error-handler-node-id"
}
}
بالنسبة للحاوية: التكسس
- : من أجل قطع الأشجار المُنَسَّب
- ثالثاً - الاجتماع الأول +
- الرصد: الرصد
أولاً - لمحة عامة وسينظم نظامنا في عدة مشاريع:
- & رئيسي
- ١ -
- أولاً - تعاريف العقد
- سيتم تعريف العقد في JOSON، مما يجعل من السهل ترتيبها، ونسخها، وتقاسمها:
)٢( A. دال - التنفيذ عن طريق
- وتدفقات العمل هي رسوم بيانية دراجية موجهة.
- سيقوم محرك التنفيذ بما يلي:
- الفرز الطوبولوجي لتحديد أمر التنفيذ
يُنفّذ العقدات المتوازية حيثما كان ممكناً
فرعة مشروطة على أساس نواتج العقدة
- أولاً -
- الدولة: تلم الدولة
- وسيجري تتبع كل عملية من عمليات التنفيذ على النحو التالي:
- حالة حالة سير العمل (Running، مكتمل، فشل)
نتائج التنفيذ
- حالات الاستدثار لتدفقات العمل المقررة
- تاريخ التنفيذ و لوث
- أولاً -
- الميج
- سيكون نظام النفعية مستنداً على الملحق:
تركيب معدسات للعمليات المشتركة
- يمكن تسجيل الأنواع
- التصديق على العقدة والإنفاذ في إطار
- ما الذي يحدث في هذه السلسلة
- الجزء 2: المحركات المعمارية وتدفق العمل الأساسي
- إنشاء هيكل المشروع
بناء النماذج الأساسية لتدفق العمل (النود، والعمل، والتدفق، والاتصال)
- تنفيذ محرك التنفيذ
- تصنـف الـعلم الجيني وركـل المتوسـل إليهـا وركـل المتوسـل إليهـا وركـل المتوسـل إليهـا
- الجزء 3: بناء المحرر البصري
- إنشاء واجهة سير العمل مع HTMX و Albin.js
- وضع عقدة النقل والتسريب
الوصلة المرئية
إنشاء المعيض
- مُهِلَة
- الجزء 4: الإدماج في تبادل إطلاق النار وإدارة الدولة
- إعداد تجميع المعلومات الأساسية لمعالجة المعلومات الأساسية
- عدد مراكز الاقتراع المنفذة في إطار الرقم
- إدارة الدولة المُطرج
إعادة اختبار و مناولة الخطأ
سند
الجزء 5: الميزات المتقدمة والنشر
مُنَدَدَدَس مُعَظَف
إصدارات
مُتَجِزات الاختبار
الإنجاز عند الأداء