بنية موجهة نحو الموارد
في هندسة البرمجيات ، تُعدّ بنية البرمجيات الموجهة نحو الموارد ( ROA ) نمطًا من أنماط هندسة البرمجيات ونموذجًا برمجيًا يدعم تصميم وتطوير البرمجيات من خلال ربط الموارد بواجهات RESTful . هذه الموارد عبارة عن مكونات برمجية ( أجزاء منفصلة من التعليمات البرمجية و/أو هياكل البيانات ) قابلة لإعادة الاستخدام لأغراض مختلفة. تُستخدم مبادئ وإرشادات تصميم ROA خلال مراحل تطوير البرمجيات وتكامل الأنظمة .
يصف REST، أو نقل الحالة التمثيلية، سلسلة من القيود المعمارية التي تُجسّد كيفية نشأة تصميم الويب. [ 1 ] وقد تم ابتكار تطبيقات عملية متنوعة لهذه الأفكار على مرّ الزمن، ولكن كان من الصعب مناقشة أسلوب REST المعماري دون الخلط بين البرمجيات الفعلية والمبادئ المعمارية التي تقوم عليها.
في الفصل الخامس من أطروحته، يوثق روي فيلدينغ كيف صُممت شبكة الويب العالمية لتكون مقيدة بسلسلة قيود REST. لا تزال هذه القيود مجردة إلى حد ما، وقد فُسرت بطرق مختلفة في تصميم أطر عمل وأنظمة ومواقع ويب جديدة. في الماضي، دارت نقاشات حادة حول ما إذا كانت بنى REST من نمط RPC متوافقة مع مبادئ REST. [ 1 ] [ 2 ]
إرشادات للتوضيح
تُقدّم بنية البرمجيات الموجهة نحو الموارد، كما وثّقها ليونارد ريتشاردسون وسام روبي في كتابهما الصادر عام 2007 بعنوان " خدمات الويب RESTful" ، [ 3 ] نصائح عملية حول تفاصيل تقنية محددة. وقد يُتيح تسمية هذه المجموعة من الإرشادات بـ"بنية البرمجيات الموجهة نحو الموارد" للمطورين مناقشة فوائد هذه البنية في سياقها.
توجد بعض الإرشادات الشائعة بالفعل في مجتمعات REST الأوسع، مثل: أن التطبيق يجب أن يعرض العديد من عناوين URI، واحد لكل مورد؛ وأن معالجة ملفات تعريف الارتباط التي تمثل المعرفات في جلسة من جانب الخادم لا تتوافق مع مبادئ REST.
الأطر الحالية
يتناول ريتشاردسون وروبي أيضًا العديد من أطر البرمجيات التي توفر بعضًا أو العديد من ميزات ROA. وتشمل هذه الأطر: /db، [ 4 ] Django ، TurboGears ، Flask ، EverRest، [ 5 ] JBoss RESTEasy، [ 6 ] JBoss Seam ، Spring ، [ 7 ] Apache Wink، [ 8 ] Jersey ، NetKernel ، Recess، [ 9 ] Ruby on Rails ، Symfony ، Yii2، [ 10 ] Play Framework ، [ 11 ] و API Platform . [ 12 ]
البنية التحتية للويب
بينما تُعدّ REST مجموعة من الإرشادات المعمارية القابلة للتطبيق على أنواع مختلفة من البنى التحتية الحاسوبية، فإنّ بنية الموارد الموجهة (ROA) مرتبطة فقط بالويب. ولذلك، تُفيد هذه البنية في الغالب الشركات التي تعتبر الويب منصة الحوسبة/النشر المُفضّلة لديها.
تكمن قوة الإنترنت في قدرته على تذليل العقبات أمام المستخدمين الذين قد لا يمتلكون خبرة واسعة في استخدام أجهزة الحاسوب. وبذلك، يُوسّع الإنترنت نطاق الوصول إلى السوق لأي شركة تُقرر نشر بعض محتواها إلكترونيًا. ويُعتبر هذا المحتوى المنشور على الإنترنت موردًا إلكترونيًا .
مراجع
- 1 2 الفصل الخامس من أطروحة فيلدينغ هو "نقل الحالة التمثيلية (REST)" .
- ↑ فيلدينغ، روي تي؛ تايلور، ريتشارد إن (مايو 2002)، "التصميم المبدئي لبنية الويب الحديثة" (ملف PDF) ، معاملات ACM في تكنولوجيا الإنترنت ، 2 (2): 115-150 ، doi : 10.1145/514183.514185 ، ISSN 1533-5399
- ↑ ريتشاردسون وروبي 2007 .
- ↑ "API on the Fly™ - أضف واجهة برمجة تطبيقات REST تلقائيًا إلى قواعد بياناتك" . SlashDB .
- ↑ "أرشيف كود جوجل - تخزين طويل الأمد لاستضافة مشاريع كود جوجل" . code.google.com .
- ^ "RESTEasy - مجتمع JBoss" . Resteasy.github.io .
- ↑ "برنامج تعليمي حول Spring REST" .
- ↑ "Index" . wink.apache.org .
- ↑ "recessframework.org" . ww12.recessframework.org . مؤرشف من الأصل بتاريخ 16-06-2019 . تم الاطلاع عليه بتاريخ 26-11-2019 .
- ^ "إطار عمل يي" . إطار يي .
- ↑ " إطار عمل بلاي - بناء تطبيقات ويب حديثة وقابلة للتوسع باستخدام جافا وسكالا" . www.playframework.com
- ↑ "منصة API - إطار عمل REST و GraphQL لبناء مشاريع حديثة تعتمد على واجهات برمجة التطبيقات في PHP" . api-platform.com .
فهرس
- ريتشاردسون، ليونارد؛ روبي، سام (مايو 2007). خدمات الويب RESTful . دار نشر أورايلي ميديا . رقم ISBN 978-0-596-52926-0.
- لوتشي، ر.؛ ميلو، م.؛ إلفيرز، س. (2008). بنية الموارد الموجهة وREST (ملف PDF) . البحوث العلمية والتقنية. لوكسمبورغ: مكتب المنشورات الرسمية للجماعات الأوروبية . doi : 10.2788/80035 . ISBN 978-92-79-09320-3ISSN 1018-5593
- هندسة البرمجيات
