تحديد خيارات التقنية

مكتمل

لا يتوفر لديك الكثير من الوقت للحصول على عمليات الأعمال المتكاملة بشكل صحيح بين نظام تأجير الدراجات الحالي لديك والنظام المعمول به في الحرم الجامعي الثاني. وترغب في تحقيق أقصى استفادة من خبرة Azure الحالية المتوفرة لديك، وكنت قد قرأت أن Azure يشتمل على العديد من التقنيات المختلفة التي يمكنك استخدامها في حل مثل هذه المشاكل.

في هذه الوحدة، سنستكشف خيارات تقنية Azure المتوفرة لأتمتة عمليات الأعمال ودمجها.

مشاكل تجارية شائعة

في مجال الأعمال، تتمثل إحدى الطرق لضمان تقديم منتجات وخدمات عالية الجودة للعملاء في وضع إجراءات أعمال صارمة وتنفيذها. قد تشتمل هذه الإجراءات على خطوات متعددة، وأشخاص عدة، وحزم برامج كثيرة. قد يتم تشغيل كل عملية في سطر بسيط من الأنشطة التي يؤديها العاملون واحداً تلو الآخر، أو قد تتفرع أو تتكرر. قد يتم تشغيل كل عملية بسرعة، أو تستغرق أياماً أو أسابيع لإكمالها.

غالبا ما تواجه الشركة مشكلات عند دمجها مع شركة ثانية أو تتكامل مع مؤسسة شريكة. كيف يمكن للمسؤولين تكامل العمليات المنفصلة المستخدمة في كلتا المؤسستين، والتي ربما تم تنفيذها باستخدام برامج مختلفة؟

غالباً ما يطلق على عمليات الأعمال المصممة على غرار البرامج اسم مهام سير العمل. يشتمل Azure على أربع تقنيات مختلفة يمكنك استخدامها لإنشاء وتنفيذ مهام سير العمل التي تتكامل مع أنظمة متعددة:

  • Logic Apps
  • Microsoft Power Automate
  • WebJobs
  • دالات Azure

تتشارك هذه التقنيات الأربع بعض أوجه التشابه. على سبيل المثال:

  • تقبل جميعها الإدخالات. يشير الإدخال إلى جزء من البيانات أو ملف يتم توفيره إلى سير العمل.
  • يمكنها تشغيل جميع الإجراءات. الإجراء هو عملية بسيطة يقوم سير العمل بتشغيلها وقد يقوم غالبا بتعديل البيانات أو التسبب في تنفيذ إجراء آخر.
  • يمكن أن تشمل جميعها الشروط. الشرط هو اختبار، غالبا ما يتم تشغيله مقابل إدخال، والذي قد يقرر الإجراء الذي سيتم تشغيله بعد ذلك.
  • يمكن أن تنتج جميعها المخرجات. يمثل الإخراج جزءاً من البيانات أو ملف يتم إنشاؤه بواسطة سير العمل.

بالإضافة إلى ذلك، يمكن أن تبدأ مهام سير العمل التي تم إنشاؤها باستخدام هذه التقنيات استناداً إلى جدول زمني، أو يمكن تشغيلها بواسطة بعض الأحداث الخارجية.

تقنيات التصميم أولاً

عندما يقوم محللو الأعمال بالنقاش بشأن عملية تجارية ويخططون لها، فقد يرسمون رسماً تخطيطياً لسير العمل على الورق. باستخدام Logic Apps و Microsoft Power Automate، يمكنك اتباع نهج مماثل لتصميم سير العمل. يتضمن كلاهما واجهات المستخدم حيث يمكنك رسم سير العمل. ونطلق على هذا النهج اسم نهج التصميم أولاً.

Logic Apps

Logic Apps هي خدمة داخل Azure الغرض منها هو أتمتة مكونات مختلفة للتطبيق الموزع وتنسيقها ودمجها. من خلال استخدام نهج التصميم أولاً في Logic Apps، يمكنك استخلاص مهام سير العمل المعقدة التي تُصمم عمليات الأعمال المعقدة. تعرض لقطة الشاشة التالية Logic Apps Designer ولوحة التصميم التي يمكنك استخدامها لتحديد سير العمل لديك.

Screenshot of the Logic Apps workflow designer in the Azure portal.

بدلاً من ذلك، إذا كنت تفضل العمل باستخدام التعليمات البرمجية، يمكنك إنشاء أو تحرير سير عمل بواسطة رمز JSON باستخدام طريقة عرض التعليمات البرمجية، كما هو موضح في لقطة الشاشة التالية.

Screenshot of the Logic Apps code editor in the Azure portal.

يرجع أحد الأسباب التي تجعل Logic Apps جيدة للغاية في التكامل إلى تضمين ما يزيد عن 200 موصل. يشير الموصل إلى مكون Logic Apps الذي يوفر واجهة إلى خدمة خارجية. على سبيل المثال، يسمح لك موصل X بإرسال منشورات قصيرة واستردادها، بينما يتيح لك موصل Office 365 Outlook إدارة البريد الإلكتروني والتقويم وجهات الاتصال. توفر Logic Apps مئات الروابط التي أنشئت مسبقًا والتي يمكنك استخدامها لإنشاء تطبيقاتك. إذا كان لديك نظام فريد أو غير عادي تريد الاتصال به من Logic Apps، فيمكنك إنشاء موصل خاص بك إذا كان نظامك يعرض واجهة برمجة تطبيقات REST.

Microsoft Power Automate

يعبر Microsoft Power Automate عن خدمة الغرض منها إنشاء مهام سير العمل حتى عندما لا تتوفر لديك أي خبرة تطوير أو خبرة احترافية في مجال تكنولوجيا المعلومات. يمكنك إنشاء مهام سير عمل تقوم بدمج العديد من المكونات المختلفة وتنسيقها باستخدام موقع الويب أو تطبيق Microsoft Power Automate للأجهزة المحمولة.

هناك أربعة أنواع مختلفة من سير العمل الذي يمكنك إنشاءه:

  • Automated: يتم البدء من قِبَل مشغّل من أحد الأحداث. على سبيل المثال، قد يكون الحدث هو وصول منشور قصير جديد أو ملف جديد يتم تحميله.
  • Button: لتشغيل مهمة متكررة بنقرة واحدة من جهازك المحمول.
  • مجدول: يتم تشغيله بانتظام. على سبيل المثال، مرة واحدة في الأسبوع، أو في تاريخ محدد، أو بعد 10 ساعات.
  • Business process: للتعبير عن إجراتء عمل مثل عملية طلب المخزون أو إجراء الشكاوى. يمكن أن تحتوي عملية التدفق على: إعلامات للأشخاص المطلوبين؛ مع تسجيل موافقتهم؛ وتواريخ التقويم للخطوات؛ والوقت المسجل لخطوات التدفق.

يوفر Microsoft Power Automate سطح تصميم سهل الاستخدام لإنشاء هذه الأنواع من التدفقات. كما توضح لقطة الشاشة التالية، يسهل مصمم التدفق تصميم العملية وتخطيطها.

Screenshot of the Microsoft Power Automate designer showing a workflow with a file trigger, an Office action to get a user's profile and an Outlook action to send an email.

في الخلفية، تعتمد Microsoft Power Automate في إنشائها على Logic Apps. تعني هذه الحقيقة أن Power Automate يدعم نفس نطاق الموصلات والإجراءات مثل Logic Apps. يمكنك أيضاً استخدام الموصلات المخصصة في Microsoft Power Automate.

مقارنة لتقنيات التصميم أولاً

كما يتضح من الجدول التالي، تعد Microsoft Power Automate خدمة أكثر ملاءمة للاستخدام من قبل الموظفين غير الفنيين. إذا كان مصممو تدفقات سير العمل لديك من متخصصي تكنولوجيا المعلومات أو المطورين أو ممارسي DevOps، فإن Logic Apps عادةً ما يكون مناسباً بشكل أفضل:

Microsoft Power Automate Logic Apps
المستخدمون المستهدفون الموظفون المكتبيون ومحللو الأعمال المطورون ومحترفو تكنولوجيا المعلومات
السيناريوهات المستهدفة إنشاء سير عمل ذاتي الخدمة مشاريع تكامل متقدمة
أدوات التصميم واجهة المستخدم الرسومية فقط. تطبيق مستعرض الويب والأجهزة المحمولة مصمم مستعرض الويب وVisual Studio. تحرير التعليمات البرمجية ممكن
إدارة دورة حياة التطبيق تشمل Power Automate بيئات الاختبار والإنتاج يمكن تضمين التعليمات البرمجية المصدر لـ Logic Apps في أنظمة إدارة التعليمات البرمجية المصدر وAzure DevOps

تقنيات التعليمات البرمجية أولاً

من المحتمل أن يفضل المطورون في فريقك كتابة التعليمات البرمجية عندما يريدون تنسيق تطبيقات الأعمال المختلفة ودمجها في سير عمل واحد. هذا هو الحال عندما تحتاج إلى مزيد من التحكم في أداء سير عملك، أو تحتاج إلى كتابة تعليمات برمجية مخصصة كجزء من عملية الأعمال. بالنسبة لمثل هؤلاء الأشخاص، يشتمل Azure على WebJobs وFunctions.

WebJobs وWebJobs SDK

تمثل Azure App Service خدمة استضافة مستندة إلى السحابة لتطبيقات الويب والمجموعات الخلفية للأجهزة المحمولة وواجهات برمجة تطبيقات REST. تحتاج هذه التطبيقات غالباً إلى تنفيذ نوع من التطبيق في الخلفية. على سبيل المثال، في نظام تأجير الدراجات، عندما يقوم مستخدم بتحميل صورة لدراجة، قد تحتاج إلى إنشاء صورة مصغرة أصغر.

تعبر WebJobs عن جزء من Azure App Service التي يمكنك استخدامها لتشغيل برنامج أو برنامج نصي تلقائياً. هناك نوعان من WebJob:

  • مستمرة. يبدأ فوراً عند إنشاء WebJob وتشغيله في حلقة مستمرة. على سبيل المثال، يمكنك استخدام WebJob مستمرة للتحقق من مجلد مشترك بحثاً عن صورة جديدة.
  • مشغِّلة. يبدأ بناءً على حدث ملزم، أو وفقاً لجدول زمني، أو عند تشغيله يدوياً (عند الطلب).

لتحديد الإجراءات التي يتخذها WebJob الخاص بك، يمكنك كتابة التعليمات البرمجية بعدة لغات مختلفة. على سبيل المثال، يمكنك كتابة WebJob بشكل نصي عن طريق كتابة التعليمة البرمجية في البرنامج النصي Shell (نظام Windows، وPowerShell، وBash). بدلاً من ذلك، يمكنك كتابة برنامج بلغة PHP أو Python أو Java أو JavaScript.

يمكنك أيضا برمجة WebJob باستخدام .NET ولغة .NET مثل C# أو VB.NET. في هذه الحالة، يمكنك أيضاً استخدام WebJobs SDK لجعل المهمة أسهل. يتضمن SDK نطاقاً من الفئات، مثل JobHostConfiguration وHostBuilder، واللتان تقللان من مقدار التعليمات البرمجية المطلوبة للتفاعل مع Azure App Service.

يدعم WebJobs SDK فقط C#‎ وإدارة حزمة NuGet.

دالات Azure

تمثل Azure Function طريقة بسيطة لتشغيل أجزاء صغيرة من التعليمات البرمجية في السحابة، دون الحاجة إلى القلق بشأن البنية الأساسية المطلوبة لاستضافة تلك التعليمة البرمجية. يمكنك كتابة الدالة بلغة C#‎ أو Java أو JavaScript أو PowerShell أو Python أو أي من اللغات المدرجة في المقالة اللغات المعتمدة في Azure Functions. بالإضافة إلى ذلك، مع خيار خطة الاستهلاك، يمكنك الدفع فقط مقابل الوقت الذي يتم فيه تشغيل التعليمات البرمجية. يعمل Azure تلقائياً على توسيع نطاق الدالات لديك استجابة للطلب الوارد من المستخدمين.

عند قيامك بإنشاء Azure Function، يمكنك البدء بكتابة تعليماتها البرمجية في المدخل. بدلاً من ذلك، إذا كنت بحاجة إلى إدارة التعليمات البرمجية المصدر، يمكنك استخدام GitHub أو Azure DevOps Services.

لإنشاء Azure Function، اختر من بين نطاق القوالب. تعد القائمة التالية نموذجًا على بعض القوالب المتوفرة من أجلك:

  • مشغل HTTP. عندما تريد تنفيذ التعليمات البرمجية استجابةً لطلب تم إرساله عبر بروتوكول HTTP.
  • مشغّل Timer. عندما تريد تنفيذ التعليمات البرمجية وفقاً لجدول زمني.
  • مشغل تخزين Blob. عندما تريد تنفيذ التعليمات البرمجية عند إضافة كائن ثنائي كبير الحجم جديد إلى حساب Azure Storage.
  • مشغل Cosmos DB. استخدم هذا القالب عندما تريد تنفيذ التعليمات البرمجية استجابة للمستندات الجديدة أو المحدثة في قاعدة بيانات NoSQL.

يمكن أن تتكامل Azure Functions مع العديد من الخدمات المختلفة سواء داخل Azure ومن جهات أخرى. يمكن لهذه الخدمات تشغيل الدالة لديك، أو إرسال إدخال البيانات إلى دالتك، أو تلقي البيانات الناتجة عن دالتك.

مقارنة لتقنيات التعليمات البرمجية أولاً

في معظم الحالات، قد تقودك الإدارة البسيطة ونموذج التعليمات البرمجية الأكثر مرونة اللذان يتم توفيرهما من خلال Azure Functions إلى اختيارها تفضيلاً على WebJobs. ومع ذلك، قد تختار WebJobs للأسباب التالية:

  • تريد أن تكون التعليمات البرمجية جزءاً من تطبيق App Service الحالي، وأن تتم إدارته كجزء من هذا التطبيق، على سبيل المثال في نفس بيئة Azure DevOps.
  • وتحتاج إلى التحكم عن قرب في العنصر الذي ينصت للأحداث التي تقوم بتشغيل التعليمات البرمجية. هذا العنصر محل الحديث هو فئة JobHost، وستتمتع بمرونة أكثر لتعديل سلوكه في WebJobs.
Azure WebJobs دالات Azure
اللغات المدعومة والكتابة بلغة C# إذا كنت تستخدم WebJobs SDK C# وJava وJavaScript وPowerShell والمزيد
التحجيم التلقائي لا ‏‏نعم‬
التطوير والاختبار في مستعرض لا ‏‏نعم‬
تسعير الدفع لكل استخدام لا ‏‏نعم‬
التكامل مع Logic Apps لا ‏‏نعم‬
مديرو الحزم والكتابة بلغة NuGet # إذا كنت تستخدم WebJobs SDK NuGet وNPM
يمكن أن يكون جزءا من تطبيق App Service ‏‏نعم‬ نعم (مستضاف ضمن خطة App Service)
يوفر تحكماً وثيقاً في JobHost ‏‏نعم‬ لا

الآن بعد أن تعرفت على ماهية تقنيات التصميم أولاً والتعليمات البرمجية أولاً، كيف يمكنك تضييق نطاق خياراتك؟ سنتناول هذا السؤال في الوحدة التالية.