واجهات برمجة تطبيقات الشبكة (APIs)

تتيح واجهة برمجة التطبيقات (API) لمبرمجي الكمبيوتر الوصول إلى وظائف وحدات البرامج والخدمات المنشورة. تقوم واجهة برمجة التطبيقات بتعريف بنية البيانات والمكالمات الفرعية التي يمكن استخدامها لتوسيع التطبيقات الموجودة بميزات جديدة ، وبناء تطبيقات جديدة تمامًا فوق مكونات البرامج الأخرى. تدعم بعض واجهات برمجة التطبيقات هذه برمجة الشبكة على وجه التحديد.

برمجة الشبكة هي نوع من تطوير البرامج للتطبيقات التي تتصل وتتواصل عبر شبكات الكمبيوتر بما في ذلك الإنترنت. توفر واجهات برمجة تطبيقات الشبكة نقاط دخول للبروتوكولات ومكتبات البرامج التي يمكن إعادة استخدامها. تدعم واجهات برمجة تطبيقات الشبكة مستعرضات الويب وقواعد بيانات الويب والعديد من تطبيقات الجوال. وهي مدعومة على نطاق واسع عبر العديد من لغات البرمجة وأنظمة التشغيل المختلفة.

برمجة مقبس

اتبعت برمجة الشبكة التقليدية نموذج خادم العميل . تم تنفيذ واجهات برمجة التطبيقات (APIs) الأساسية المستخدمة لشبكات العميل والخادم في مكتبات مقابس مدمجة في أنظمة التشغيل. مقابس Berkeley واجهات برمجة التطبيقات Windows Sockets (Winsock) كانت المعايير الأساسية اثنين من أجل برمجة مأخذ التوصيل لسنوات عديدة.

إجراء المكالمات عن بعد

توسع واجهات برمجة التطبيقات ( RPC) تقنيات برمجة الشبكة الأساسية عن طريق إضافة إمكانية التطبيقات لاستدعاء الوظائف على الأجهزة البعيدة بدلاً من إرسال الرسائل إليها فقط. مع انفجار النمو على الشبكة العنكبوتية العالمية (WWW) ، ظهرت XML-RPC كآلية شعبية واحدة لـ RPC.

بروتوكول الوصول إلى كائن بسيط (SOAP)

تم تطوير SOAP في أواخر التسعينيات كبروتوكول شبكي يستخدم لغة الترميز القابلة للامتداد (XML) كصيغة الرسالة الخاصة به و HyperText Transfer Protocol (HTTP) كنقله. أنتج SOAP موالين مخلصين لمبرمجي خدمات الويب وأصبح يستخدم على نطاق واسع لتطبيقات المؤسسات.

نقل الدولة التمثيلي (REST)

REST هو نموذج برمجة آخر يدعم أيضًا خدمات الويب التي وصلت إلى المشهد مؤخرًا. مثل SOAP ، تستخدم واجهات برمجة التطبيقات REST HTTP ، ولكن بدلاً من XML ، غالبًا ما تختار تطبيقات REST استخدام ترميز كائن Javascript (JSON) بدلاً من ذلك. يختلف كل من REST و SOAP اختلافاً كبيراً في مناهجهما لإدارة الدولة وأمنها ، وهما من الاعتبارات الرئيسية لمبرمجي الشبكة. قد تستخدم تطبيقات الجوال أو لا تستخدم واجهات برمجة تطبيقات الشبكة ، ولكنها تستخدم أحيانًا REST.

مستقبل واجهات برمجة التطبيقات

يستمر استخدام كل من SOAP و REST بشكل نشط لتطوير خدمات الويب الجديدة. وكونه تقنية أحدث بكثير من SOAP ، فإن REST هي الأكثر احتمالاً أن تتطور وتنتج فروعًا أخرى لتطوير API.

تطورت أنظمة التشغيل أيضًا لدعم العديد من تقنيات API الجديدة للشبكات. في أنظمة التشغيل الحديثة مثل Windows 10 ، على سبيل المثال ، تظل مآخذ التوصيل واجهة برمجة تطبيقات أساسية ، مع وضع دعم HTTP والدعم الإضافي في أعلى لبرمجة شبكة نمط RESTful.

وكما هو الحال غالباً في مجالات الكمبيوتر ، تميل التقنيات الحديثة إلى الانطلاق بسرعة أكبر من تلك القديمة. ابحث عن التطورات الجديدة المثيرة للاهتمام لواجهة برمجة التطبيقات (API) التي تحدث خاصة في مجالات الحوسبة السحابية وإنترنت الأشياء (IoT) ، حيث تختلف خصائص الأجهزة ونماذج استخدامها اختلافًا تامًا عن بيئات برمجة الشبكات التقليدية.