لماذا SWF؟

تساعد خدمة سير الأعمال البسيطة في HAQM (HAQM SWF) المطورين في البناء والتشغيل والتوسعة للمهام في الخلفية التي تتألف من خطوات متوازية أو تسلسلية. يمكنك النظر إلى خدمة سير الأعمال البسيطة في HAQM (HAQM SWF) باعتبارها أداة تعقب حالة مُدارة بالكامل وأداة تنسيق للمهام في السحابة.

إذا كانت خطوات تطبيقك تستغرق أكثر من 500 مللي ثانية حتى تكتمل، فأنت بحاجة إلى تتبع حالة المعالجة، وتحتاج إلى التعافي أو إعادة المحاولة إذا فشل أحد التطبيقات، ويستطيع HAQM SWF أن يساعدك في ذلك.

إذا كنت تبحث عن خدمة لتدفق العمليات مرئية ومنخفضة التعليمات البرمجية لتنظيم خدمات AWS وأتمتة عمليات الأعمال، أو بناء تطبيقات بلا خوادم، فيمكنك معرفة المزيد حول AWS Step Functions.

الفوائد

HAQM SWF يعزز الفصل بين مسار التحكم في منطق الخطوات ووحدات العمل الفعلية لمهمتك في الخلفية والتي تحتوي على منطق أعمالك المتفرد. يتيح لك هذا إمكانية الإدارة والصيانة والتوسع بشكل منفصل في «آليات الحالة» في تطبيقك من منطق الأعمال الأساسي الذي يميزه. مع التغير في متطلبات أعمالك، يمكنك تغيير منطق التطبيق بسهولة بدون الاضطرار إلى القلق بشأن آليات الحالة الأساسية وانطلاق المهمة والتحكم في المسار.

HAQM SWF يعمل داخل مراكز بيانات التوافر بدرجة عالية في HAQM، ولذلك فإن محرك معالجة تعقب الحالة والمهمة متاح عندما تحتاج التطبيقات إليه. HAQM SWF يخزّن المهام بشكل متكرر ويطلقها إلى مكونات التطبيق ويتتبع تطورها ويحافظ عليها في أحدث حالة.

يحل HAQM SWF تعقيد حلول تدفق العمليات ذات التعليمات البرمجية المخصصة وبرامج أتمتة العمليات مع خدمة ويب سحابية مُدارة بالكامل تختص بتدفق العمليات. يؤدي هذا إلى عدم الحاجة لأن يدير المطورون توصيل التشغيل الآلي للعملية عبر البنية التحتية كي يتمكنوا من تركيز طاقتهم على الوظائف المتفردة لتطبيقهم.

يتوسع HAQM SWF بسلاسة وفقًا لاستخدام تطبيقك. لا حاجة إلى الإدارة اليدوية لخدمة تدفق العمليات لأنك تضيف المزيد من تدفقات العمليات السحابية إلى تطبيقك أو تزيد من تعقيد تدفقات العمليات.

يتيح لك HAQM SWF إمكانية كتابة مكونات تطبيقك ومنطق تنسيقها بأي لغة برمجة وتشغيلها في السحابة أو من مكان العمل.

تفاصيل منتج HAQM SWF

يعد استخدام HAQM SWF لإدارة عمليات سير العمل داخل تطبيقك أمرًا سهلاً.

وظيفة HAQM SWF

تعمل HAQM SWF كمركز تنسيق لجميع المكونات المختلفة لتطبيقك:

  • الحفاظ على حالة التطبيق
  • تتبع عمليات تنفيذ سير العمل وتسجيل تقدمها
  • مهام الاحتفاظ والإرسال
  • التحكم في المهام التي سيتم تعيين كل مضيف من مضيفي التطبيق لتنفيذها

لاستخدام HAQM SWF، يمكنك ببساطة:

  • استخدم وحدة تحكم إدارة AWS أو واجهات برمجة تطبيقات HAQM SWF APIs لتحديد أسماء عمليات سير العمل.
  • استخدم واجهات برمجة تطبيقات HAQM SWF APIs «لبدء» سير عمل جديد، مما يؤدي إلى بدء تنفيذ سلسلة معينة من مهام سير العمل، تسمى «تنفيذ سير العمل».
  • استخدم واجهات برمجة تطبيقات HAQM SWF APIs من أجهزتك العاملة («العامل» هو أحد مكونات التطبيق الذي يتعامل مع مهام محددة) لإنشاء ترتيب المهام وإدارة التدفقات الشرطية وتنفيذ الحلقات لتنفيذ سير العمل.
  • استخدم واجهات برمجة تطبيقات HAQM SWF APIs من أجهزة العمال لطلب مهام سير العمل وتنفيذها في السحابة أو في أماكن العمل.
  • راقب حالة عمليات تنفيذ سير العمل والمهام المرتبطة بها وتقدمها في وحدة تحكم إدارة AWS.

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

وصف مفصل

HAQM SWF هي خدمة سير عمل مُدارة بالكامل لإنشاء تطبيقات مرنة وقابلة للتطوير. توفر HAQM SWF استدعاءات API بسيطة يمكن تنفيذها من الأكواد المكتوبة بأي لغة وتشغيلها على مثيلات EC2، أو أي من أجهزتك الموجودة في أي مكان في العالم والتي يمكنها الوصول إلى الإنترنت.

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

سجِّل الدخول إلى وحدة تحكم إدارة AWS لبدء تنفيذ سير عمل HAQM SWF. بدلاً من ذلك، يمكنك بدء تنفيذ سير العمل عبر واجهات برمجة تطبيقات HAQM SWF APIs. تستخدم HAQM SWF واجهة خدمة ويب بسيطة سهلة الاستخدام ومرنة للغاية:

  • StartWorkflowExecution: يبدأ سلسلة من مهام سير العمل ويجعل المهمة الأولى متاحة لأحد مضيفي التطبيق.
  • DescribeWorkflowExecution: يوفر حالة عمليات تنفيذ سير العمل والمهام.
  • PollForActivityTask: يقوم مضيفو تطبيقك (في السحابة أو في مكان العمل) بطلب مهام سير العمل وتنفيذها في حلقة مستمرة.
  • RespondActivityTaskCompleted: يقوم مضيف التطبيق بإخبار HAQM SWF أنه أكمل المهمة بنجاح. ستقوم HAQM SWF بعد ذلك بمتابعة تنفيذ سير العمل من خلال إتاحة المهمة التالية لمضيف التطبيق.
  • TerminateWorkflowExecution: توقف عن دفع تنفيذ سير عمل معين إلى الأمام. لن تقوم HAQM SWF بتعيين أي مهام أخرى لتنفيذ سير العمل هذا لمضيف التطبيق.

الاستخدام المقصود والقيود

يخضع استخدامك لهذه الخدمة إلى اتفاقية عميل HAQM Web Services.

حالات الاستخدام

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

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

معالجة كتالوجات منتجات كبيرة باستخدام HAQM Mechanical Turk. أثناء التحقق من البيانات في الكتالوجات الكبيرة، تجري معالجة المنتجات في الكتالوجات على دفعات. يمكن معالجة دفعات مختلفة بشكل متزامن. لكل دفعة، يتم استخراج بيانات المنتج من الخوادم في مركز البيانات وتحويلها إلى ملفات CSV (قيم مفصولة بفاصلة) مطلوبة من واجهة مستخدم الطالب (RUI) في HAQM Mechanical Turk. يتم تحميل ملف CSV لنشر وتشغيل مهام HIT (مهام الذكاء البشري). عندما تكتمل مهام HIT، يتم تحويل ملف CSV الناتج عكسيًا لإعادة البيانات إلى التنسيق الأصلي. ثم يتم تقييم النتائج ويحصل عمال HAQM Mechanical Turk على أجر مقابل النتائج المقبولة. يتم استبعاد الأعطال وإعادة معالجتها بينما يتم استخدام نتائج HIT المقبولة لتحديث الكتالوج. مع معالجة الدفعات، يحتاج النظام إلى تتبع جودة عمال HAQM Mechanical Turk وتعديل المدفوعات وفقًا لذلك. يُعاد تجميع مهام الذكاء البشري (HIT) الفاشلة وإرسالها عبر المسار مرةً أخرى.

AWS Flow Framework

إن AWS Flow Framework عبارة عن مجموعة من المكتبات الملائمة التي تُسهِّل وتُسرِّع إنشاء التطبيقات باستخدام HAQM Simple Workflow.

كيفية العمل

يحتوي AWS Flow Framework على نموذج برمجة مباشر يُسهِّل إنشاء تطبيقات تؤدي العمل عبر العديد من الأجهزة. باستخدام الإطار، يمكنك إنشاء المهام بسرعة وتنسيقها والتعبير عن كيفية اعتماد هذه المهام على بعضها البعض - كما تفعل في برنامج نموذجي. على سبيل المثال، يمكنك تشغيل طريقة في تطبيق على كمبيوتر «بعيد» ببساطة عن طريق استدعاء طريقة في منطق التطبيق تتم استضافتها على كمبيوتر «محلي» منفصل. يعتني AWS Flow Framework بالأمور المعقدة اللازمة لتنفيذ الطريقة البعيدة وإرجاع نتيجتها إلى التطبيق المحلي باستخدام المعلومات التي تُخزِّنها خدمة HAQM Simple Workflow. يمكن استخدام مخرجات أي طريقة منفذة لتوصيل أجزاء منفصلة من المنطق تعتمد على بعضها البعض. يتيح لك إطار العمل استخدام صيغة مباشرة للتعبير عن التبعيات بين الطرق باستخدام النهج البسيط «الحظر وانتظار رد الاتصال». يتيح لك الإطار أيضًا معالجة الفشل على جهاز بعيد كما لو كان خطأ محليًا ويمنحك طرقًا سهلة لتحديد الطريقة التي تريد بها إعادة تجربة الطرق المهمة في تطبيقك إذا فشلت.

ملاحظة

لم يعد إطار AWS Flow Framework for Ruby قيد التطوير النشط. بينما ستستمر الأكواد الحالية في العمل إلى أجل غير مسمى، لن تكون هناك ميزات أو إصدارات جديدة. سيظل الكود المصدري لإطار Flow Framework for Ruby متاحًا على أرشيف AWS SWF GitHub. إذا كان تطبيق Simple Workflow المستند إلى Ruby يتطور ويتغير، فهناك خيارات قد ترغب في وضعها في الاعتبار، بما في ذلك الترحيل إلى AWS Step Functions أو استخدام واجهة برمجة تطبيقات Simple Workflow API الأصلية. لمزيد من التفاصيل، راجع دليل مطوري AWS Simple Workflow.

باستخدام AWS Flow Framework، يمكنك كتابة أكواد بسيطة والسماح للعناصر والفئات التي تم إنشاؤها مسبقًا في إطار العمل بمعالجة تفاصيل واجهات برمجة تطبيقات HAQM Simple Workflow APIs. يعتني AWS Flow Framework بإنشاء خطوات التطبيق وتنفيذها، ويتتبع تقدمها، ويتيح لك تحديد قواعد إعادة المحاولة عندما تفشل الخطوات، وأكثر من ذلك بكثير. وفي الوقت نفسه، تحافظ خدمة HAQM Simple Workflow Service على حالة تنفيذ التطبيق، وتوزع المهام على العمال المتاحين، وتحتفظ بسجل تدقيق لجميع مهامك.

إطار AWS Flow Framework يُعتبر Java مفتوح المصدر، وقد طورته AWS وتعمل على إدارته. يمكنك استخدام الروابط أدناه للحصول على المكتبات وكود المصدر والوثائق والعينات والمزيد.