وعليكم السلام كلمة API عامة وهي تعني: دوال يقوم ببرمجتها المبرمج ليستفيد من البرنامج أو النظام مبرمجون أو مستخدمون آخرون. مثلا أنا قمت بعمل برنامج صغير تعطيه قيمة بالكيلو جرام، يخرجها لك بالباوند مثلا، وأريد أن أجعل مبرمج غيري يستدعي دالة التحويل بدون أن يعرف محتواها، ولكنه سيستفيد منها وسيرى مخرجات. الآن WebServices هي طريقة أو بروتوكول لاخراج هذه الدوال إلى المبرمجين الخارجيين، مع العلم أنه يمكن اخراج الدوال بدون WebServices مثلا في نظام تشغيل ويندوز، ويفر لك الويندوز دوال عامة يمكنك استدعاءها، مثلا دالة إفراغ سلة المحذوفات، يمكنك استدعاءها من كود برنامجك هذه الدالة يتم استدعاءها ليس عن طريق WebServices . الدالة مقصود بها دالة برمجية Function أو إجراء subroutine ، وقد ترسل لها وسيطة Parameter إما تكون متغير نصي أو عبارة عن Class أو واجهة ... إلخ. الويب سيرفس ، طريقة لنقل الدوال والاجراءات بين أجهزة مختلفة، وغالبا يكون عبر استخدام HTTP ، وله عدة صيغ وطرق للنقل أشهرها رسالة SOAP وبروتوكول WSDL وهنالك JSON و XML ... إلخ بمعنى أنت تقوم بعمل API ( دوال ) وتقوم بتصديرها للغيرك ( مبرمج خارجي ) على هيئة مبادئ وبروتوكولات WebServices ، لكي يستخدمها من مكان بعيد. هذا يقودنا للتالي: 1- كل Web services هي APIs والعكس غير صحيح. 2- قد تكون عندك APIs في دوال كثيرة، ولكنك تسمح فقط باخراج بعضها في WebServices ، وبعضها في WebServices أخرى، وبعضها تجعله محلي، وبعضها تربطه مع دوال أخرى خارجية. 3- Web Services تحتاج إلى اتصال انترنت للعمل عليها، ولكن الدوال التقليدية API لا يلزمها غالبا اتصال ، مثلا دوال الويندوز كحذف ملف. مصدر مميز