مبدأ تفصيل الخدمة
في سياق هندسة البرمجيات وهندسة البرمجيات ، تعد حبيبات الخدمة من الأمور الرئيسية في التصميم عند تطبيق نموذج التوجه نحو الخدمة على سبيل المثال أثناء النمذجة الموجهة نحو الخدمة . تحدد حبيبات الخدمة نطاق وظائف العمل وبنية حمولة الرسالة في عملية الخدمة المقدمة ضمن بنية موجهة نحو الخدمة (SOA) .
تعريف
تعد حبيبات الخدمة من الأمور التي تشغل مجال التطبيق ( حبيبات الأعمال )، فضلاً عن كونها مشكلة تتعلق بتصميم واجهة البرنامج ( الحبيبات الفنية )؛ وهي خاصية من خصائص عقد الخدمة التي يعرضها مزود الخدمة. وهي تتعلق بدلالات وقواعد بناء محتوى رسالة الدخول (الطلب) والخروج (الاستجابة)، والتي يمكن اعتبارها حالات من نمطين عامين للتكامل المؤسسي ، رسالة الأوامر ورسالة المستندات. بحكم التعريف، فإن عملية الخدمة ذات الحبيبات الخشنة لها نطاق أوسع من الخدمة ذات الحبيبات الدقيقة، على الرغم من أن المصطلحين نسبيان. تتطلب الأولى عادةً تعقيدًا متزايدًا في التصميم ولكنها يمكن أن تقلل من عدد المكالمات المطلوبة لإكمال مهمة. [1]
معايير
بسبب مغالطات الحوسبة الموزعة ، فإن العثور على حبيبات مناسبة أمر صعب. [2] لا توجد إجابة بسيطة واحدة ولكن يوجد عدد من المعايير (انظر أدناه). الهدف الأساسي لنمذجة الخدمة وتصميم الحبيبات هو تحقيق الاقتران الفضفاض والوحدات النمطية ، وهما اثنان من مبادئ SOA الأساسية، [3] ومعالجة المتطلبات الأخرى ذات الأهمية المعمارية .
تؤثر العديد من القوى على تفاصيل الخدمة؛ [4] هناك أربعة عوامل ذات صلة خاصة يجب مراعاتها عند التصميم لتفاصيل كافية وهي الأداء وحجم الرسالة والمعاملات ووظيفة العمل:
وظيفة الأعمال
من الناحية المثالية، يتم ربط كل عملية خدمة بوظيفة عمل واحدة، ولكن إذا كانت عملية واحدة قادرة على توفير وظائف متعددة دون إضافة تعقيد التصميم أو زيادة أحجام الرسائل، فإن هذا العموم يمكن أن يقلل من تكاليف التنفيذ والاستخدام.
أداء
يتم الوصول إلى خدمات الويب عن بُعد، وتؤدي المكالمات إلى تشغيل خدمة الويب إلى زيادة النفقات العامة للشبكة. يؤدي تقليل عدد طلبات الخدمة إلى تقليل هذه النفقات العامة.
حجم الرسالة
قد تمرر الخدمات ذات الحبيبات الخشنة بيانات أكثر من الخدمات ذات الحبيبات الدقيقة، بما في ذلك البيانات غير المطلوبة على وجه التحديد للمهمة. وهذا يعقد معالجة الرسائل في نقطة النهاية وقد يؤدي بدوره إلى الإضرار بالأداء. قد يتطلب تقليل حجم الرسالة إضافة عملية ذات حبيبات أكثر دقة.
خصائص جودة الخدمة بما في ذلك المعاملات
من أجل الوضوح المفاهيمي، يجب أن تقوم كل عملية خدمة بإجراء معاملة واحدة على مستوى النظام وتترك سلامة البيانات عبر حدود الخدمة لمنطق العمل في مستهلك الخدمة. وهذا يبسط أيضًا استرداد الأخطاء، ويسهل عادةً التصميم.
هناك العديد من معايير القرار الأخرى لإيجاد الحبيبات المناسبة؛ ولا يوجد حد أمثل عالمي. تم تجميع ستة عشر معيار اقتران من هذا القبيل من الأدبيات في. [5]
أنماط
نظرًا لأن مقاسًا واحدًا لا يناسب الجميع، فإن تصميم حبيبات الخدمة يمكن أن يستفيد من العديد من أعمال الأنماط الموجودة على أنواع مختلفة من الأنظمة الموزعة، وخاصة تلك المتعلقة بالخدمات، بالإضافة إلى أعمال الأنماط المتعلقة بتصميم واجهة برمجة التطبيقات (على سبيل المثال، تصميم واجهة برمجة التطبيقات في البرمجة الموجهة للكائنات) والتكامل المؤسسي. يتم تقديم نظرة عامة على هذه اللغات هنا.
مراجع
- ^ جوسوتيس ، ن. (2007). الخدمية في الممارسة العملية. سيفاستوبول، كاليفورنيا، الولايات المتحدة الأمريكية: أورايلي. ردمك 978-0-596-52955-0 .
- ^ F. Leymann، الاقتران الفضفاض والتداعيات المعمارية، الخطاب الرئيسي لمؤتمر ESOCC 2016
- ^ Krafzig, D., Banke, K., Slama, D. (2004). Enterprise SOA: Service-Oriented Architecture Best Practices 1st Edition. Prentics Hall. ISBN 978-0131465756 .
- ^ الصفحة 21 في Zimmermann, O., Guidance Models and Decision-Making Tooling for SOA, Cloud, and Outsourcing Solution Design, http://resources.sei.cmu.edu/asset_files/Presentation/2011_017_001_24654.pdf
- ^ Service Cutter: A Systematic Approach to Service Decomposition, M Gysel, L Kölbener, et al. المؤتمر الأوروبي حول الحوسبة الموجهة نحو الخدمة والحوسبة السحابية، 185-200، (PDF)
روابط خارجية
- إطار عمل تفصيلي للخدمة المفاهيمية
- إدخال تفاصيل الخدمة في مسرد الخدمات
- الطبخ EA - حبيبات الخدمة
- دراسة حالة IEEE حول دور تفصيل الخدمة في تحقيق SOA الناجح
- المعرفة المعمارية في البنية التحتية للهندسة المعمارية المرجعية لـ SOA (دراسة حالة SOA)
- يوفر كتاب الحصول على تفاصيل خدمة الويب الصحيحة معلومات حول مبدأ تفاصيل الخدمة ونصائح مفيدة حول كيفية الحصول عليها بشكل صحيح.
- دليل ممارس SOA
- حل تحدي تفصيل الخدمة
- واجهات ذات حبيبات خشنة
- إطار عمل للمقاييس لتقييم تفاصيل خدمة SOA
- كتالوج أداة Service Cutter ومعايير الربط على GitHub
