لماذا SWF؟
تساعد خدمة سير الأعمال البسيطة في Amazon (Amazon SWF) المطورين في البناء والتشغيل والتوسعة للمهام في الخلفية التي تتألف من خطوات متوازية أو تسلسلية. يمكنك النظر إلى خدمة سير الأعمال البسيطة في Amazon (Amazon SWF) باعتبارها أداة تعقب حالة مُدارة بالكامل وأداة تنسيق للمهام في السحابة.
إذا كانت خطوات تطبيقك تستغرق أكثر من 500 مللي ثانية حتى تكتمل، فأنت بحاجة إلى تتبع حالة المعالجة، وتحتاج إلى التعافي أو إعادة المحاولة إذا فشل أحد التطبيقات، ويستطيع Amazon SWF أن يساعدك في ذلك.
إذا كنت تبحث عن خدمة لتدفق العمليات مرئية ومنخفضة التعليمات البرمجية لتنظيم خدمات AWS وأتمتة عمليات الأعمال، أو بناء تطبيقات بلا خوادم، فيمكنك معرفة المزيد حول AWS Step Functions.
الفوائد
تفاصيل منتج Amazon SWF
يعد استخدام Amazon SWF لإدارة عمليات سير العمل داخل تطبيقك أمرًا سهلاً.
وظيفة Amazon SWF
تعمل Amazon SWF كمركز تنسيق لجميع المكونات المختلفة لتطبيقك:
- الحفاظ على حالة التطبيق
- تتبع عمليات تنفيذ سير العمل وتسجيل تقدمها
- مهام الاحتفاظ والإرسال
- التحكم في المهام التي سيتم تعيين كل مضيف من مضيفي التطبيق لتنفيذها
لاستخدام Amazon SWF، يمكنك ببساطة:
- استخدم وحدة تحكم إدارة AWS أو واجهات برمجة تطبيقات Amazon SWF APIs لتحديد أسماء عمليات سير العمل.
- استخدم واجهات برمجة تطبيقات Amazon SWF APIs «لبدء» سير عمل جديد، مما يؤدي إلى بدء تنفيذ سلسلة معينة من مهام سير العمل، تسمى «تنفيذ سير العمل».
- استخدم واجهات برمجة تطبيقات Amazon SWF APIs من أجهزتك العاملة («العامل» هو أحد مكونات التطبيق الذي يتعامل مع مهام محددة) لإنشاء ترتيب المهام وإدارة التدفقات الشرطية وتنفيذ الحلقات لتنفيذ سير العمل.
- استخدم واجهات برمجة تطبيقات Amazon SWF APIs من أجهزة العمال لطلب مهام سير العمل وتنفيذها في السحابة أو في أماكن العمل.
- راقب حالة عمليات تنفيذ سير العمل والمهام المرتبطة بها وتقدمها في وحدة تحكم إدارة AWS.
يرشدك النموذج التفصيلي في وحدة تحكم إدارة AWS إلى خطوات تسجيل نموذج التطبيق وتشغيله. لمزيد من المعلومات، يرجى الرجوع إلى الوثائق.
وصف مفصل
Amazon SWF هي خدمة سير عمل مُدارة بالكامل لإنشاء تطبيقات مرنة وقابلة للتطوير. توفر Amazon SWF استدعاءات API بسيطة يمكن تنفيذها من الأكواد المكتوبة بأي لغة وتشغيلها على مثيلات EC2، أو أي من أجهزتك الموجودة في أي مكان في العالم والتي يمكنها الوصول إلى الإنترنت.
تعمل Amazon SWF كمحور تنسيق يتفاعل معه مضيفو التطبيق. يمكنك إنشاء عمليات سير العمل المطلوبة مع المهام المرتبطة بها وأي منطق شرطي ترغب في تطبيقه وتخزينها مع Amazon SWF. في كل مرة تقوم فيها بتنفيذ سير عمل، يتم اعتباره تنفيذًا مميزًا لسير العمل. تقوم ببرمجة مكونات التطبيق لطلب تنفيذ مهام متنوعة في تنفيذ سير العمل وتقوم Amazon SWF بتنسيق المهام التي يتم إنجازها، بالترتيب الذي حددته، على مضيفيك (سواء كان المضيفون موجودين في السحابة أو في أماكن العمل). تتواصل التطبيقات مع Amazon SWF باستخدام واجهات برمجة التطبيقات (APIs) لتسجيل نجاح المهام أو فشلها. تقوم Amazon SWF بعد ذلك إما بمواصلة تسلسل المهام عن طريق تعيين مهمة سير العمل التالية لمضيف التطبيق، أو عن طريق إعادة تشغيل مهمة فاشلة وفقًا لمنطق عملك.
سجِّل الدخول إلى وحدة تحكم إدارة AWS لبدء تنفيذ سير عمل Amazon SWF. بدلاً من ذلك، يمكنك بدء تنفيذ سير العمل عبر واجهات برمجة تطبيقات Amazon SWF APIs. تستخدم Amazon SWF واجهة خدمة ويب بسيطة سهلة الاستخدام ومرنة للغاية:
- StartWorkflowExecution: يبدأ سلسلة من مهام سير العمل ويجعل المهمة الأولى متاحة لأحد مضيفي التطبيق.
- DescribeWorkflowExecution: يوفر حالة عمليات تنفيذ سير العمل والمهام.
- PollForActivityTask: يقوم مضيفو تطبيقك (في السحابة أو في مكان العمل) بطلب مهام سير العمل وتنفيذها في حلقة مستمرة.
- RespondActivityTaskCompleted: يقوم مضيف التطبيق بإخبار Amazon SWF أنه أكمل المهمة بنجاح. ستقوم Amazon SWF بعد ذلك بمتابعة تنفيذ سير العمل من خلال إتاحة المهمة التالية لمضيف التطبيق.
- TerminateWorkflowExecution: توقف عن دفع تنفيذ سير عمل معين إلى الأمام. لن تقوم Amazon SWF بتعيين أي مهام أخرى لتنفيذ سير العمل هذا لمضيف التطبيق.
الاستخدام المقصود والقيود
يخضع استخدامك لهذه الخدمة إلى اتفاقية عميل Amazon Web Services.
حالات الاستخدام
AWS Flow Framework
إن AWS Flow Framework عبارة عن مجموعة من المكتبات الملائمة التي تُسهِّل وتُسرِّع إنشاء التطبيقات باستخدام Amazon Simple Workflow.
كيفية العمل
يحتوي AWS Flow Framework على نموذج برمجة مباشر يُسهِّل إنشاء تطبيقات تؤدي العمل عبر العديد من الأجهزة. باستخدام الإطار، يمكنك إنشاء المهام بسرعة وتنسيقها والتعبير عن كيفية اعتماد هذه المهام على بعضها البعض - كما تفعل في برنامج نموذجي. على سبيل المثال، يمكنك تشغيل طريقة في تطبيق على كمبيوتر «بعيد» ببساطة عن طريق استدعاء طريقة في منطق التطبيق تتم استضافتها على كمبيوتر «محلي» منفصل. يعتني AWS Flow Framework بالأمور المعقدة اللازمة لتنفيذ الطريقة البعيدة وإرجاع نتيجتها إلى التطبيق المحلي باستخدام المعلومات التي تُخزِّنها خدمة Amazon Simple Workflow. يمكن استخدام مخرجات أي طريقة منفذة لتوصيل أجزاء منفصلة من المنطق تعتمد على بعضها البعض. يتيح لك إطار العمل استخدام صيغة مباشرة للتعبير عن التبعيات بين الطرق باستخدام النهج البسيط «الحظر وانتظار رد الاتصال». يتيح لك الإطار أيضًا معالجة الفشل على جهاز بعيد كما لو كان خطأ محليًا ويمنحك طرقًا سهلة لتحديد الطريقة التي تريد بها إعادة تجربة الطرق المهمة في تطبيقك إذا فشلت.
- احصل عليه في AWS SDK for Java
- شاهد الندوة عبر الويب الخاصة بإصدار Java
- قراءة دليل المطورين
- راجع مرجع واجهة برمجة التطبيقات (API)
ملاحظة
لم يعد إطار 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، يمكنك كتابة أكواد بسيطة والسماح للعناصر والفئات التي تم إنشاؤها مسبقًا في إطار العمل بمعالجة تفاصيل واجهات برمجة تطبيقات Amazon Simple Workflow APIs. يعتني AWS Flow Framework بإنشاء خطوات التطبيق وتنفيذها، ويتتبع تقدمها، ويتيح لك تحديد قواعد إعادة المحاولة عندما تفشل الخطوات، وأكثر من ذلك بكثير. وفي الوقت نفسه، تحافظ خدمة Amazon Simple Workflow Service على حالة تنفيذ التطبيق، وتوزع المهام على العمال المتاحين، وتحتفظ بسجل تدقيق لجميع مهامك.
إطار AWS Flow Framework يُعتبر Java مفتوح المصدر، وقد طورته AWS وتعمل على إدارته. يمكنك استخدام الروابط أدناه للحصول على المكتبات وكود المصدر والوثائق والعينات والمزيد.