ماهو الـ web API
API : هو اختصار لعبارة Application Programing Interface وهي framework اي عبارة عن مجموعة من الـ Classes
والفائدة منها من اجل ان نقوم بعمل services تعتمد على http protocol بمعنى اذا اردت عمل هذه الخدمة او الـ Services لابد من استخدام هذه التقنية المسمى Web API
اذن اشهر استخدامات الـ Web API من اجل استخدام Restful Services. ويمكن ان نستفيد من هذه الـServicess من خلال مجموعة كبير من الـ Clients مثل المتصفحات و تطبيقات الموبايل ، وتطبيقات الحاسب الي وغيرها .
ماهو الـ Restful Services
Restful : هو اختصار لعبارة Representational State Transfer وهي عبارة عن architectural Pattern اسلوب بناء لانشاء API باستخدام Http كطريقة للتواصل
هذه الـ Architectural Pattern ستحدد بمجموعة من القيود او المتطلبات حتى انك تستخدمها
constraints (القيود ) الخاصة بـ API
- Client-server : اي ان الـ ( client) - بيرسل طلب (Request) والـ Server بيرد عليه كـ استجابة (Response) اي ان server side و client side منفصلين عن بعضهما وكل واحد بعمله مستقل عن الاخر .وبالتالي عندما تستخدم الـ Restful services لا بد ان تضرب بالحسان ان هناك نوعان للتعامل معهما وهما الـ Client , Server
- Stateless : يعني ان كل طلب سوف يتم التعامل معه بشكل مستقل عن اي طلب اخر من قبل السيرفر بمعنى ان الاتصال بين الـ Server , client لابد من التعامل معهما بشكل مستقل اي ليس هناك داعي لحفظ اي معلومات على السيرفر تتعلق بـ client ، وبشكل مختصر هنا الـ Client سوف يرسل كل المعلومات كطلب محدد الى الـ Server وسوف يقوم الـ Server بمعالجة كل المعلومات التي تتعلق بهذا الطلب
- Cacheable: بعض البيانات لا نحتاج في كل مرة اراسالها الى الـ ٍServer وهي فعليا لا تتغير وثابتة وحيانا يكون التغيير عليها قليل مثل الجداول المساعدة والتي معلوماتها ثابتة مثل بيانات الاقسام وبيانات الجنسية وغيرها لذلك فان السيرفر يقوم باعلام الـ Client مدى حاجته لهذه البيانات وبالتالي ليس هناك داعي في كل مرة الـ Client يطلب هذه البيانات من السيرفر . وبشكل متكرر
- Uniform Interface : اي انه يحدد الـ Interface بين الـ Server والـ Client وحتى يتم فهم الـ Uniform Interface نحن بحاجة ان نفهم ماهو الـ Resource وماهي الـ Http Verbs . الـ Resource وهي الـ Data Entities وقد تكون مثلا المنتجات او الموظفين او المجموعات اي الكلاسات التي تمثلها في النظام وايضا هي الدوام التي تستدعي هذه الكلاسات ، اما الـ Http Verbs ويتم ارسالها في طلب من اخل اخبار الـAPI مالذي يجب عليه القيام به على هذه الـ Rousses وايضا يتم تحدد هذه الـ Recourse عن طريق ما يسمى الـ URI وهي اختصارا لعبارة Uniform Resource Identifier ولكي نعرف ماهي الـ Http Verbs وهي كما هي موضح بالصورة التالية :
ونوضحها باختصار :
- Get: اي الحصول الى العلومات مثلا الحصول على معلومات الموظفين .
- Post : اذا اردنا الاضافة مثلا اردنا الاضافة موظف جديد
- Put : اذا اردنا التعديل مثلا اردنا التعديل على بيانات الموظفين
- Delete: مثلا اردنا حدف بيانات موظف
6. Layer System : قد يبنى ان الـ Web API على اساس طبقات برمجية تسمى Class libraries وهذه الطبقات تكون مبنية
7. Code in Demand يعني الحاجة عن الطلب ....
اذن تعرفنا على الفيود التي تسمح للـ API لعمل Restful service
الى هنا تنهي محاضرتنا لهذا اليوم