ماهو الـ API ؟
وماهي انواعه ؟ ماهو الويب سيرفس WEB SERVICE ؟
وطريقة عمله وخصائصه ؟
وما الفرق بين API و الـ WEB SERVICE ؟
الـ API هو واجهة برمجة التطبيقات أو Application Programming Interface
وبعيد عن المصطلحات التقنية هو غلاف لتغليف شئ صعب من الداخل وجعله سهل من الخارج ويطلق على كل ما يتم تحويله من أوامر معقدة إلى أوامر بسيطة يستطيع أي شخص استخدامها بـ (API) وهوليس لغة برمجه
لنفرض أنني أملك موقع لخدمة رسائل الجوال sms و هذا الموقع يوفر (API)
و أنت لديك موقع او تطبيق تريد استخدام خدمة التحقق من التسجيل من خلال رسائل الجوال في هذه الحالة ستستعمل (API) التي يوفرها موقعي للحصول عليها
&
خرائط قوقل توفر (API) يمكن بناء نظامك الخاص بالاستفادة من خرائط قوقل
أنواع الـ API
هناك نوعان من واجهات برمجة التطبيقات (API)
1-نوع يعتمد على لغة البرمجة بمعنى أنه تم تجميع مجموعة من الأوامر والوظائف بصيغة اللغة نفسها في كود معين وجميعها تندرج تحت اسم أو هيكل ثابت يمكن استخدامه بمجرد كتابة جملة كودية دون الحاجة للإهتمام بالأوامر والوظائف الداخلية
2- نوع مستقل عن لغة البرمجة لا يحتاج أن يكتب بصيغة لغة برمجة معينة وإنما يكتب بشكل تستطيع فهمه معظم لغات البرمجة نعلم أن جميع لغات البرمجة يتم ترجمتها في النهاية إلى لغة التجميع (ASSEMBLY LANGUAGE)
ومن هذا المبدأ يتم تصميم هذا النوع من الـ ( APIs ) بلغة التجميع Assembly
يتبع ..
ويستخدم هذا النوع في خدمات الويب ( WEB SERVICES ) التي تسمح لأكثر من نظام بالتواصل مع بعض بغض النظر عن لغة البرمجة المستخدمة.
اخيراً
لو انك قمت بتطوير نظام يقدم خدمات معينة ثم طرحت هذا النظام في السوق
وقدمت واجهة برمجية ( API ) فهذا يعني انك تتيح (للمطورين) الاستفادة من خدماتك
ماهو الويب سيرفس WEB SERVICE ؟
الويب سيرفس WEB SERVICE هي وسيلة اتصال بين تطبيق وتطبيق
والموقع الكتروني Web Site هو وسيلة اتصال بين شخص وتطبيق
ويمكن تعريف خدمات الويب WEB SERVICE على أنها وسيلة للتواصل بين الأنظمة وليكن مثل :
نظام أندرويد وموقع إلكتروني
آي أو إس وموقع الكتروني
موقع إلكتروني وموقع إلكتروني آخر
ويمكن تعريفها على أنها خدمة تسمح لبرنامج بالتواصل مع التطبيق للحصول على إضافة المعلومات دون الحاجة لفتح التطبيق
عمل خدمات الويب يقوم التطبيق بالاتصال وطلب الخدمة (Service Request) من خدمة الويب التي يوفرها تطبيق آخر عبر واجهته البرمجية وهي ما تعرف بواجهة برمجة التطبيقات (API) و ليست واجهة المستخدم
ومن ثم ترسل خدمة الويب نتيجة الطلب للتطبيق مرة أخرى على هيئة لغة الترميز القابلة للامتداد XML
أي أن خدمات الويب تستخدم مبدأ واجهة برمجة التطبيقات API للتواصل بين التطبيقات ويجب أن نعلم أن كل ( WEB SERVICE ) هي (API)
وليس كل ( API ) هو ( WEB SERVICE )
ومع ذلك هناك تشابه بينهما ولكن أيضاً هناك فرق بين خدمة الويب وواجهة برمجة التطبيقات
تستطيع جميع التطبيقات التواصل مع بعضها بدون مشاكل لأنها جميعاً تقوم بتخزين معلوماتها بأحد الطرق الموحدة المعروفة وهي :
SOAP
UDDI
REST
WSDL
ثم ترجمة المعلومات في النهاية إلى أحد الصيغ المعروفة مثل ( XML ) أو ( JASON ) وهي صيغ تستطيع جميع التطبيقات التعامل معها
تتلخص الفكرة العامة لعمل خدمات الويب كالتالي :
1- يقوم البرنامج العميل (البرنامج الذي يريد الخدمة) بإرسال طلب من البرنامج المزود للخدمة باستخدام إحدى تقنيات خدمات الويب ولتكن ( SOAP ) على هيئة طلب باستخدام طريقة ( HTTP POST )
2- تقوم خدمة الويب بفك الرسالة وتحويلها لأوامر يستطيع البرنامج المزود للخدمة فهمها
3- يقوم البرنامج المزود بجمع المعلومات المطلوبة وتحويل المعلومات الى رسالة ( SOAP ) ثم إرسالها للبرنامج العميل
وبالتالي كما ذكرنا سابقاً يتضح أن خدمات الويب هي وسيط بين تطبيق وتطبيق آخر.
الخلاصة
طريقة عمل الموقع الإلكتروني يتم عن طريق إرسال طلبات Requests من المستخدم إلى قاعدة البيانات ( DATABASE ) ثم يتم الرد Response بهذه المعلومات وعرضها من خلال المتصفح
ولكن للحصول على أي معلومات من قاعدة البيانات لابد من معرفة اسم المستخدم والباسورد لقاعدة البيانات
لو اردنا خدمة الطقس التي يقدمها الموقع الشهير Yahoo وانت تقوم بعمل تطبيق يريد الاستفادة من هذه الخدمة فمن الطبيعي أن التطبيق يحتاج للدخول إلى قاعدة بيانات موقع Yahoo للحصول على المعلومات لعرضها ولكن هل معقول أن يعرف أي شخص طريقة الاتصال بقاعدة البيانات ؟
بالطبع غير منطقي !!
هنا يأتي دور خدمة الويب ( WEB SERVICES ) , بحيث يقوم موقع ياهو بعمل خدمة تقوم بعرض جزء من المعلومات الخاصة بالطقس من قاعدة البيانات وصياغتها بصيغة ( XML ) أو ( JASON ) ثم السماح لأي تطبيق باستخدام هذه الصيغ دون السماح للتطبيق بالوصول لقاعدة البيانات..
تعليقات
إرسال تعليق