إيجابيات ال REST:
1- أتت REST بداعي أن تكون عملية، فالتصاقها بما يعرف بHTTP Verbs بسط استعماله في الويب. فبدلا من اختراع بروتوكول جديد أو استخدام بروتوكولات غير مألوفة، استخدمت HTTP كمعيار الويب الأساسي.
1- أتت REST بداعي أن تكون عملية، فالتصاقها بما يعرف بHTTP Verbs بسط استعماله في الويب. فبدلا من اختراع بروتوكول جديد أو استخدام بروتوكولات غير مألوفة، استخدمت HTTP كمعيار الويب الأساسي.
وكما أن دعمه ل JSON عرض ميزة لم تكن مألوفة في المعايير التي سبقته، مما يجعله المعيار السائد في الويب في الوقت الراهن.
2- يأتيRESTبمعمارية مبسطة فهو مناسب جدا للويب بسبب أن استخدامه يولد سرعة في الأداء لاتكون موجودة في النظراء. فأستخدام عرض حزمة أقل وموارد متصفح الإنترنت بشكل عام أيضا تكون أقل أثناء استخدامه. وهذه الميزة أيضا تدعمه في بناء تطبيقات الهواتف التي تتطلب أداءَ مع استهلاك أقل للموارد
3- أيضا الميزات لا تنتهي عند المستخدم، لدى REST ميزة تعتبر مساعدة للمطورين هي تقسيم الطبقات. تنص مبادئ REST على أنه "نظام ذو طبقات، وكل مكون لا يمكنه أن يرى الطبقة التي يتفاعل معها بل فقط الطبقة الوسيطة بينهما"،
وهذا بدوره يوفر للمبرمج استقلالية المكونات. بحيث يمكنك استبدال كل مكون أو توسيع وظيفته بدون التأثير على باقي المكونات أو الطبقات.
4- ال REST سريع كما ذكرت، ليس لأنه خفيف فقط بل ولأنه يدعم نظام التخزين المؤقت Caching مما يضاعف ميزة السرعة لديه، وكل هذه السرعة تكون على مستوى ال API فقط.
كل تلك الأسباب جعلت REST معياراً سائدا في الإنترنت، فعلى سبيل المثال شبكات التواصل الاجتماعي تستخدمه في منصاتها كخيار أساسي بل أحيان وحيداً في الواجهات البرمجية العامة Public API. لكنREST ليس مثاليا لكل الاستخدامات، ومعنى اسمهREST الذي يمكن ترجمته إلى "استرح"لا يكون صحيحا دائما
سلبيات ال REST:
1- يعتمد المركزية في عمله وغير مناسب للأنظمة الموزعة واللامركزية، لأنه يتطلب اتصال من نوع P TO P الذي يمليه عليه كونه من نوع "مخدم عميل"، ولا يمكنه لذلك أن يخدم الاستخدامات السابقة.
1- يعتمد المركزية في عمله وغير مناسب للأنظمة الموزعة واللامركزية، لأنه يتطلب اتصال من نوع P TO P الذي يمليه عليه كونه من نوع "مخدم عميل"، ولا يمكنه لذلك أن يخدم الاستخدامات السابقة.
2- يعتبر أمن REST صغير نسبيا، لا أحد يقول أنه غير آمن فبالإمكان استخدام Https معه وعدة تقنيات تضيف له بعض الأمان، لكن يجب الاعتراف أنه لا يحوي تشفيرا عدا التقنية السابقة التي توفرها ال Http او...
أو تقنيات للاستيثاق. عدا عن أنه لا ينص على طريقة لمعالجة الأخطاء. وتلك الأسباب تجعله متدني المستوى في الأمن ولا يمكنك استخدامه هكذا وبدون احتياطات.
3- كما أن عدمية الحالة Stateless التي ينص عليها REST لا تلائم كل الاستخدامات، خصيصا الاستخدامات المصرفية والبنوك. ولا يخفى على أحد أن REST معيار حديث الانتشار في عالم الإنترنت ولا تدعمه كل البرامج، مما يعطي أفضلية توافقية لمعايير أخرى.
لهذه الأسباب عدد لا بأس به من المنصات لا تعتمد REST مثل PayPal وأخرى توفر بروتوكولات أخرى إضافة له مثل منصة شركة Saleforce.
ملخص الإيجابيات:
١- بسيط، ليس أكثر من عدة مبادئ يمكنك تطبيقها وتصبح واجهتك البرمجية RESTful مما يعطيك مرونة عظيمة.
٢- خفيف ومناسب لمتصفحات الويب
وتطبيقات الجوال.
٣- متكامل بشدة مع Http باستخدام أوامره وتوفير وظائفه كمصادر Resources.
١- بسيط، ليس أكثر من عدة مبادئ يمكنك تطبيقها وتصبح واجهتك البرمجية RESTful مما يعطيك مرونة عظيمة.
٢- خفيف ومناسب لمتصفحات الويب
وتطبيقات الجوال.
٣- متكامل بشدة مع Http باستخدام أوامره وتوفير وظائفه كمصادر Resources.
٤- سريع، لخفته يستخدام التخزين المؤقت Caching.
٥- يدعم عدة صيغ لتبادل البيانات، بينها JSON الشائعة.
٦- مثالي لمواقع الويب، مناسب جدا لتطبيقات الهواتف.
٥- يدعم عدة صيغ لتبادل البيانات، بينها JSON الشائعة.
٦- مثالي لمواقع الويب، مناسب جدا لتطبيقات الهواتف.
ملخص السلبيات:
١- ليس له معايير قياسية Standard، فمن الممكن أن تطبقه ولا تستفيد منه كونك لم تطبقه بالطريقة المثلى في الواجهة البرمجية.
٢- يفرض عليك عدمية الحالة Stateless، وهذا القيد لا يضمن لك عمومية الإستخدام الكاملة.
١- ليس له معايير قياسية Standard، فمن الممكن أن تطبقه ولا تستفيد منه كونك لم تطبقه بالطريقة المثلى في الواجهة البرمجية.
٢- يفرض عليك عدمية الحالة Stateless، وهذا القيد لا يضمن لك عمومية الإستخدام الكاملة.
٣- يعتبر أمنه قليل نسبيا، فلا يدعم سوى تشفير SSL و Https.
٤- حصري لبروتوكول Http ولا يدعم غيره من البروتوكولات.
٥- بالرغم من كونه مثاليا لخدمات الويب والهواتف، إلى أنه قاصر في تطبيقات المؤسسات والتطبيقات الموزعة.
٤- حصري لبروتوكول Http ولا يدعم غيره من البروتوكولات.
٥- بالرغم من كونه مثاليا لخدمات الويب والهواتف، إلى أنه قاصر في تطبيقات المؤسسات والتطبيقات الموزعة.
جاري تحميل الاقتراحات...