سؤال

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

هل كانت مفيدة؟

المحلول

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

http://martinfowler.com/bliki/ServiceOrientedAmbiguity.html

قد يفسر ذلك صعوبة التوصل إلى تعريف محدد.

نصائح أخرى

ويكيبيديا:"SOA عبارة عن بنية برمجية تستخدم خدمات برمجية مقترنة بشكل غير محكم لدعم متطلبات العمليات التجارية ومستخدمي البرامج.يتم توفير الموارد الموجودة على الشبكة في بيئة SOA كخدمات مستقلة يمكن الوصول إليها دون معرفة تطبيق النظام الأساسي الخاص بها."

SOA ليست جديدة، ولكن لديها القدرة على تحقيق بعض الأشياء المدهشة.ولكن على المنظمة أن تكون مستعدة لذلك:يجب على الشركة أن تفكر في العمليات وهذه هي المشكلة الكبيرة

سأذهب مع:

تحديد سلسلة من العمليات التجارية غير المؤسسية العديدة للعميل التي تم إنشاؤها ليتم الاستفادة منها في تطبيقات متعددة.

يتضمن تصميم SOA مكونات (على سبيل المثال، خدمات) التي يمكن استخدامها بواسطة التعليمات البرمجية بغض النظر عن التنفيذ (أي أي نظام تشغيل أو لغة).يمكن أيضًا استخدام مثيل واحد للخدمة بواسطة تطبيقات متعددة، في حين أنه، على سبيل المثال، يجب تكرار ملف DLL لكل تطبيق ويتطلب نفس تقنية التنفيذ مثل تطبيق الربط.

عادةً ما يتم تنفيذ الخدمات في تصميم SOA كخدمات ويب قابلة للتشغيل المتبادل.

لا يوجد تعريف رسمي كما ذكر رايان في البداية.ومع ذلك، أجد وجهة نظر توماس إيرل حول التوجه العام للخدمة جيدة التنظيم وذات صلة.هنا هو تعريف SOA من كتابه مسرد الخدمية (أكثر):

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

توماس إيرل هو مؤلف العديد من عناوين SOA التي حصل معظمها على تأييد من بائعي SOA بما في ذلك IBM وOracle وMicrosoft.الشيء الجميل عنه كتبه هو أنهم بائعون SOA مستقلون قدر الإمكان.وهذا يعني أنك ستتعلم المزيد عن التوجه نحو الخدمة بحد ذاته وأقل عن البرامج الوسيطة لبعض البائعين التي تدعم SOA.

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

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

توضيح هنا - "الهندسة الموجهة نحو الخدمة هي أ تكامل النظم ونهج إعادة استخدام الكود حيث تعتمد التطبيقات عليه الاتصال بالخدمات التي تقدمها التطبيقات الأخرى قيد التشغيل عبر الشبكة."

لدي سيناريو حيث تم دمج تطبيقين j2ee باستخدام المراسلة المستندة إلى الأحداث.هنا العبارات المذكورة أعلاه تكامل النظم و الاتصال بالخدمات التي تقدمها التطبيقات الأخرى قيد التشغيل عبر الشبكة عقد جيد.هل يمكنني استدعاء هذا SOA؟

ستمسك المبادئ التالية هنا 1) عدم الجنسية 2) الموجهة نحو الرسائل - غير مقترنة بشكل فضفاض غير مقترن 3) قابلة للتمديد.

ومع ذلك ، فإن ما يلي لا ينطبق 1) استقلال النظام الأساسي - لم يتم تصميم أي من التطبيقات التي يتم دمجها للعمل في منصة مختلفة.2) التطبيقات عبارة عن تطبيقات j2ee بسيطة لم يتم تصميمها باستخدام جميع مفاهيم SOA.

حاولت تعريف SOA في واحدة من مشاركات مدونتي.هنا مقتطف...

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

من الناحية الوظيفية، لا تختلف SOA كثيرًا.الأهداف هي نفسها - إمكانية إعادة الاستخدام وسهولة الصيانة.يتمثل الاختلاف الأكبر - في حالة خدمة الويب SOA - في أن المكتبة المشتركة المضمنة في تطبيقك يتم استبدالها باستدعاء HTTP.

وهذا تعريف لك:

SOA - البرمجيات فوق الهندسة المعمارية.تضمين إطار واجهة وظيفية غير مجدية ومتضخمة للغاية تسمى بنية في موقع ويب جميل يحتوي على مجلد رسومي ثلاثي الأبعاد يطير من جانب إلى آخر حيث "dir /s > a.txt | ftp -s:upload.ftp" قام بالمهمة.

مكونات البرمجيات ليست مجرد قوالب، ولا يمكن تعميمها من خلال أنماط وظيفية مشتركة، والهندسة المعمارية تنشأ في المؤسسة من الممارسة الجيدة، وليس من التصميم الجيد.البرمجيات لم تتم هندستها، بل تمت هندستها.

سكروم على!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top