لغة التخاطب بين البرامج
ليس الإنسان فقط من يحتاج للغة ليتخاطب بها مع الآخرين ويتواصل. فالتواصل حتى على مستوى البرامج والتطبيقات أمر هام ويساعد على تقديم خدمات أكبر يستفيد منها مستخدمو هذه البرمجيات.
فلنفترض مثلا أن المستخدم يريد أن يحجز تذكرة سفر بين بلدين. وتوجد عدة خطوط طيران تربط بين هذين البلدين. عوضاً عن الذهاب الى موقع كل طيران على حدة ليستفسر عن مواعيدهم وأسعارهم. توجد مواقع لمكاتب سفريات مثلا تجمع لك معلومات كافة الخطوط الجوية التي تربط بين هذين المطارين في هذين البلدين وتعرضها لك. وتجد أن الأسعار والتواريخ محدثة تلقائياً بمجرد أن يقوم الموقع الإلكتروني الرسمي لأي طيران بتحديثها. ذلك لأن هناك “تواصل” بين المواقع الخدمية من هذا النوع وبين المواقع المغذية لها بالمعلومات.
مثال آخر على هذا التواصل هو المواقع أو التطبيقات الإخبارية كتطبيق “نبض” الواسع الشهرة بيننا. تقوم فكرة هذا التطبيق على جمع الأخبار من العديد من القنوات الإخبارية أو المواقع الشخصية أو التابعة لجهات مختلفة وتيارات. ويتيح للمستخدم اختيار مصادر الأخبار – السياسية، الرياضية، الاقتصادية، التقنية أم سواها – التي تهمه. ليقوم التطبيق بعرضها لك في مكان واحد دون الحاجة لزيارة كل المواقع التي تم اختيارها. فهذا التطبيق يحتاج الى أن “يتفاهم” و”يتفق” مع مصادر هذه الأخبار على “آلية” محددة وطرق معينة ليتمكن هو من قراءة الأخبار تلك ومن ثم عرضها بالطريقة المناسبة من خلال التطبيق.
هناك العديد من الطرق التي تتواصل بها التطبيقات والبرامج مع بعضها البعض. لعل أعمها هو ما يعرف بـ API. وهي مجموعة من الأوامر والبروتوكولات والأدوات التي تسهل عملية استخدام برنامج للبيانات أو الأوامر المطلوبة من نفس البرنامج أو من برامج أخرى. لسنا في صدد الحديث عن تفاصيل هذه التقنية.. إلا أنها تعتبر قناة للتواصل بين التطبيقات. وهي توفر مجموعة من التقنيات المتفرعة عنها تتيح للبرامج أن تتفاهم وتتواصل وتتبادل البيانات والمعلومات والخدمات. من ضمن هذه التقنيات RSS، XML، JSON وغيرها التي توفر البيانات بشكل مباشر لتستخدمها بقية البرامج دون عناء وبطريقة متعارف عليها برمجياً.
بعض البرامج مثلا تستخدم الحزم البرمجية للـAPI لتتواصل مع شبكات التواصل الاجتماعي الفيسبوك أو تويتر أو الجوجل. فتلك التطبيقات لا تطلب منك بيانات تفصيلية للتسجيل فيها.. تطلب فقط الإذن لها بالدخول بأحد حساباتك في المواقع الاجتماعية لتتمكن من خلالها بأخذ كافة المعلومات التي تريد من مواقع التواصل. وبعضها يستطيع أن ينشر بوستات جديدة من التطبيق مباشرة لحساباتك تلك عن طريق بيانات الAPI. وعليه لا بد من الحذر حين يطلب منك أحد التطبيقات الدخول بحسابك الخاص لمواقع التواصل الاجتماعي.
الـAPI تعتمد على أكواد وشيفرات برمجية. ولا بد من التطبيق أن يتفاهم مع كل برنامج بطريقة مختلفة مستخدما هذه الأكواد وملزماً بما يتيحه لها من صلاحيات. أي أن استخدام الAPI يتطلب من المبرمج فهم آلية البرنامج الآخر والأكواد الخاصة به ليتمكن بعدها من ارسال واستقبال بيانات من خلاله.
ولنضيف لمسات الذكاء -كطبيعة مقالاتي- على هذه التقنية،، فانه وبعد انتشار البرمجيات الذكية التي تستطيع استخدام اللغات الإنسانية -كالإنجليزية أو العربية- والتي يطلق عليها (bot) وتستطيع فهم لغاتنا والاجابة على أسئلتنا. فان هناك توجه الى أن تتفاهم حتى البرمجيات مع بعضها البعض عن طريق اللغات الإنسانية عوضاً عن الأكواد. فيكون التعامل معها أسهل بكثير جداً.
فعوضاً عن البحث عن هاشتاج البحرين لمعرفة أخبار البحرين في التطبيقات، بإمكانك أن تسأل ما هي أخبار البحرين. ليقوم التطبيق بالبحث عن آخر الأخبار عن البحرين من مصادر عديدة قد تحدد أنت ما هي المصادر التي تثق فيها ومن ثم يعطيك خلاصتها. أو أن تسأل أي خطوط الطيران تصلني للبلد الفلاني. فيبحث التطبيق مع المواقع الأخرى أيضا باللغات الإنسانية وليست بالأكواد والشفرات ويعطيك قائمة بخطوط الطيران ومواعيدها وأسعارها. الذكاء الاصطناعي ذكاء لا حدود له.