← يتطلب: محرك التكامل التكامل متوسط ⏱ 6 ساعات الدورة 12

تصميم عمليات الأعمال

Business Operations & Services

🎯 أهداف التعلم

1تصميم Operations فعالة
2إنشاء Services متقدمة
3إدارة سياق العمليات
4معالجة الأخطاء

01 تصميم Operations

Operations مسؤولة عن إرسال الرسائل إلى الأنظمة الخارجية.

Class MyApp.Operation.HTTP Extends Ens.BusinessOperation {
  Parameter ADAPTER = "EnsLib.HTTP.OutboundAdapter";
  Method SendRequest(pRequest, Output pResponse) As %Status {
    Set http = ##class(%Net.HttpRequest).%New()
    Do http.EntityBody.Write(pRequest.ToJSON())
    Set sc = ..Adapter.SendFormDataArray(.resp, "POST", http)
    Set pResponse = ##class(MyApp.Response).%New()
    Set pResponse.Status = resp.StatusCode
    Return sc
  }
}

02 إدارة الأخطاء

معالجة الأخطاء بشكل صحيح أمر حاسم.

Method OnRetry(pRequest, pResponse, pError) As %Status {
  Set delay = $Case(..RetryCount, 0:1, 1:5, 2:15, :60)
  Hang delay
  Return $$$OK
}

03 Business Process المتقدمة

Business Processes تتيح تصميم منطق معالجة معقد.

// Business Process مع شروط
Class MyApp.Process.OrderProcess Extends Ens.BusinessProcess {
  Property MinAmount As %Numeric [ InitialExpression = 1000 ];
  
  Method OnRequest(request As MyApp.OrderRequest, Output response As MyApp.OrderResponse) {
    // التحقق من المبلغ
    If request.Amount > ..MinAmount {
      // موافقة تلقائية
      Set response = ##class(MyApp.OrderResponse).%New()
      Set response.Status = "Approved"
      Set response.Approver = "Auto"
    } Else {
      // إرسال للموافقة اليدوية
      Set sc = ..SendRequestSync("MyApp.Operation.Approval", request, .approvalResponse)
      Set response = approvalResponse
    }
    
    // تسجيل الحدث
    Do ..LogEvent("Order " _ request.OrderId _ ": " _ response.Status)
  }
}

📝 اختبار التحقق

1. ما هو دور Business Operation؟

Operations ترسل الرسائل إلى الأنظمة الخارجية

ما هو دور Business Process في محرك التكامل؟

Business Process يحتوي على منطق الأعمال ويتخذ القرارات بناءً على البيانات

ما هو Adapter في IRIS Interoperability؟
💡 الشرح

Adapter هو مكون يتعامل مع بروتوكولات الاتصال المختلفة (HTTP, TCP, File, etc)

💡 النقاط الرئيسية

  • Adapters توفر واجهات اتصال مع الأنظمة الخارجية
  • يمكنك إنشاء Services لاستقبال البيانات عبر بروتوكولات مختلفة
  • Operations المتقدمة تتضمن معالجة الأخطاء وإعادة المحاولة
  • مراقبة Production عبر Management Portal أو برمجياً
  • Exponential Backoff هو أفضل أسلوب لإعادة المحاولة