7 تغريدة 91 قراءة Feb 01, 2020
40 % من الصفحات الإلكترونيه في 2020 طورة على اساس إستخدام ال REST API لاكنها لم تطوره في صفحاتها بالشكل الصحيح.
لايمكن تسمية ال API انه REST API حتى يحتوي على قيود الهندسه المعماريه الخمسه. اذا خلى من احد هذه القيود فإنه لا يسمى REST API بل يسمى API فقظ.
ماهي هذه القيود؟...
Client-Server
هذا القيد يفصل الخادم والعميل عن بعضهم البعض, بمعنى عند تحديث ال Server لايتاثر ال Client وعند تحدث ال Client لا يتاثر ال Server. أيضآ لا يحتاج ال Client لمعرفة طريقة معالجة البيانات وجلبها من ال Server. بالإضافه الى عدم حاجة ال Server لمعرفة جميع تفاصيل ال UI
Stateless
هذا القيد يحتم على السيرفر عدم تخزين بيانات واوامر ال Client في ال Server بحيث تكون بداية العلاقه بين ال Server وال Client عند ارسال طلب من العميل وتنتهي عند إستقبال البيانات من الخادم.
بعد استقبال البيانات في ال Client يمكن تخزينها على شكل Session تستخدم عند الحاجه
Cache
في هذا القيد يتم تحديد ال REST API في ال Server Side على مدى اهليته وقابليته للتخزين المؤقت وماهي المده الزمنيه المحدده لتخزين ال REST API في ال Client side. عند عمل هذا القيد سيتم تحديد البيانات ومدة تخزينها في الخادم أضف إلى ذالك سرعة تحضيرها عند الحاجه لها.
Uniform Interface
هذا القيد يمثل نمط تحديد البيانات بشكل موحد ما إذا كان ال REST API مرسل من PC او Laptop او غيرها "على شكل URL"  فلابد ان تكون بيانات الطلب كامله لكي يتعرف عليها السيرفر جيدآ. وسوف يتم الرد على الطلب بنموذج تمثيل البيانات على شكل JSON او XML يتم ارسالها كاملة.
Layered system
هذا القيد يقسم النظام الى ثلاثة طبقات بحيث يكون كلا من ال Client و ال Server وال Database معزولين نهائيا عن بعضهم البعض. مثال على ذالك عند إستخدام تقنية ال MVC سيكون لدينا ثلاث طبقات كل طبقه مسوؤله عن مهام معينه وكل طبقه متصله فقط بالطبقه التي تليها بالترتيب.
لايمكن لطبقة ال Model ان تتصل بشكل مباشر مع ال Controller لابد من المرور عن طريق ال View. ميزة هذا القيد هو الأمن لعزله لكل طبقه على حده.

جاري تحميل الاقتراحات...